図1および図2は従来の半導体記憶装置の一構成例を示すブロック図であり、SDRAMの一例を概略的に示すものである。図1および図2において、参照符号111は入力バッファ、112はコマンドデコーダ、113はアドレスバッファ、114は入力バッファ・ラッチ、115はデータI/Oバッファ・レジスタ、116はコマンドラッチ、117および118はシリパラ変換器(シリアル−パラレル変換器)、119はパラシリ変換器(パラレル−シリアル変換器)、120はシフトレジスタ、そして、121は制御回路を示している。さらに、参照符号122はオシレータ(OSC)、123リフレッシュアドレスカウンタ、124はスイッチ、125はデータマスク回路、126はライトアンプ、127はセンスバッファ、128はアドレスレジスタ、そして、129はデータレジスタを示している。
入力バッファ111は、外部から供給されるクロックCLKをバッファリングして各回路へ供給するものであり、また、コマンドデコーダ112は、外部からのコマンドをデコードし、コマンドラッチ116およびシフトレジスタ120を介して制御回路121、入力バッファ・ラッチ114およびデータI/Oバッファ・レジスタ115へデコードされたコマンドを供給する。なお、シフトレジスタ120は、例えば、書き込みレイテンシ(Write Latency)が2以上の場合(書き込みレイテンシ≧2:例えば、後述する図4の場合)には必要であるが、書き込みレイテンシが0,1の場合(書き込みレイテンシ=0,1)には不要である。
制御回路121は、デコードされた読み出しおよび書き込みコマンド(READ, WRITE)に応じてメモリコア部の各メモリブロック103にイネーブル信号を供給して制御する。各メモリブロック103は、ロウアドレスに応じてメモリセル(メモリセルアレイ)132のワード線(WL)を制御するロウデコーダ131、コラムアドレスに応じてコラム(ビット線BL,/BL)を制御するコラムデコーダ133、および、読み出しおよび書き込み制御を行うセンスアンプ・ライトスイッチ134を備え、それぞれ制御回路121からのロウイネーブル、コラムイネーブル、および、リードイネーブル並びにライトイネーブルの各イネーブル信号により制御され、メモリセル132に対する読み出しおよび書き込み処理が行われる。
制御回路121の出力(リフレッシュ制御信号)は、リフレッシュアドレスカウンタ123およびアドレス切り換えスイッチ124へ供給され、アドレスバッファを介して供給される外部アドレスとリフレッシュ動作時の内部アドレス(オシレータ122を用いて生成されるリフレッシュアドレス)とを切り換えて通常動作(読み出しおよび書き込み動作)およびリフレッシュ動作の制御を行うようになっている。ここで、書き込みデータは、ライトアンプ126を介してメモリコア部(メモリブロック103)へ入力され、また、読み出しデータは、メモリコア部からセンスバッファ127を介して出力される。
データI/Oバッファ・レジスタ115は、外部から供給される書き込みデータおよびメモリセル132からの読み出しデータの入出力処理を行うものであり、書き込み時には、データのシリアル−パラレル変換を行うシリパラ変換器118を介して、書き込みデータDQ0〜DQnをライトアンプ126へ供給する。また、読み出し時には、データのパラレル−シリアル変換を行うパラシリ変換器119を介して、センスバッファ127からの読み出しデータがデータI/Oバッファ・レジスタ115に入力され、その読み出しデータが外部(外部データバス)へ出力される。ここで、マスク信号用のデータDMは、例えば、書き込み用データDQ0〜DQnと共に外部から供給され、入力バッファ・ラッチ114およびシリパラ変換器117を介してマスク信号MASKとしてデータマスク回路125へ供給される。これにより、対応する書き込みデータのマスク制御が行われる。なお、マスク信号MASKは、例えば、書き込みコマンド信号の一部としてアドレスコード等の手段により外部から与えられる場合もある。
ここで、後述する図5のように、例えば、ディレイドライト方式を適用する場合には、図1および図2の半導体記憶装置においては、書き込みアドレスを保持するアドレスレジスタ128および書き込み用のデータを保持するデータレジスタ129が必要になる。
図3〜図5は従来の半導体記憶装置の動作を説明するためのタイミング図であり、図3は読み出しレイテンシ=2で書き込みレイテンシ=0の一般的なSDRAMの動作を示し、図4は読み出しレイテンシ=書き込みレイテンシ=2のSDRAMの動作を示し、図5はディレイドライト方式を適用したSDRAMの動作を示している。
図3に示されるように、一般的なSDRAMは、例えば、読み出しレイテンシ=2、書き込みレイテンシ=0であるが、外部からの読み出しコマンド(COMMAND)であるREAD0およびREAD1が入力されると、それから2クロック後に読み出しデータQ00,Q01およびQ10,Q11が出力される。ここで、読み出しデータQ00,Q01は読み出しコマンドREAD0に対応し、また、読み出しデータQ10,Q11は読み出しコマンドREAD1に対応する。そして、読み出し処理(READ0,READ1)の後に、書き込み処理(WRITE A)を行う場合、書き込みレイテンシ=0なので、書き込みコマンド(WRITE A)と同時に書き込み用のデータDA0,DA1が供給される。
この図3に示すような一般的なSDRAMにおいては、読み出しコマンドREAD0,READ1により読み出されたデータQ00,Q01;Q10,Q11が出力された後に、外部から書き込み用のデータDA0,DA1が与えられるために、直前の読み出しコマンドREAD1を入力してから時間WT1だけ経過した後でないと書き込みコマンドWRITE Aを入力することができず、この時間WT1が無駄な時間となってデータの転送レート(データバスの使用効率)が低下するとになる。なお、書き込みコマンドWRITE AによりデータDA0,DA1が実際にメモリセルに書き込まれるのは、例えば、コマンドWRITEAから2クロック後になる。
図4に示されるように、読み出しレイテンシ=書き込みレイテンシ=2のSDRAMでは、書き込みコマンドWRITE Aを入力してから2クロック後に対応する書き込み用のデータDA0,DA1を供給すればよいため、すなわち、書き込み用のデータDA0から2クロック前に書き込みコマンドWRITE Aを入力することができるために、直前の読み出しコマンドREAD1と書き込みコマンドWRITE Aとの間の時間WT2を、図3のSDRAM(時間WT1)よりも大幅に短縮することができる。これは、例えば、書き込みコマンドが連続するような場合にはデータの転送レート(データバスの使用効率)を向上させることができるが、図4に示すように、書き込みコマンドWRITE Aの直後に、再び読み出しコマンドREAD2が入力する場合には、書き込みコマンドWRITE AによりデータDA0,DA1が取り込まれるのは図3の一般的なSDRAMと同じタイミングとなり、従って、次の読み出しコマンドREAD2により読み出したデータ(Q20,Q21)を出力するのも図3のSDRAMと同じタイミングとなって、データの転送レートの向上は望めない。
ここで、図4のSDRAMように、書き込みレイテンシ=2の場合には、書き込みコマンド(WRITE)を1クロック分シフトさせるシフトレジスタ(120)が必要なのは前述した通りである。なお、図4のように、読み出しレイテンシ=書き込みレイテンシ=2の場合もディレイドライト(Delayed Write, Late write)と呼ぶこともあるが、この場合には、後述の図5に示すSDRAMのように、レジスタ(アドレスレジスタ128およびデータレジスタ129)を設ける必要は無いものの、条件(例えば、読み出し処理と書き込み処理を交互に行うような場合)によっては、データの転送レートを向上させることはできない。
図5に示されるように、ディレイドライト方式を適用したSDRAMは、上述した図4と同様に、直前の読み出しコマンドREAD1と書き込みコマンドWRITE Aとの間を時間WT2とすることができる。このディレイドライト方式を適用したSDRAMは、書き込みコマンドWRITE Aに対応する書き込み用のデータDA0,DA1を次の書き込みコマンド(WRITE B)が入力するタイミングで書き込むものであり、従って、次の書き込みコマンド(WRITE B)が入力するまで、前の書き込みコマンドWRITE Aの書き込みデータDA0,DA1をレジスタ(データレジスタ129)に保持すると共に、その書き込みアドレスもレジスタ(アドレスレジスタ128)に保持しておく必要がある。
すなわち、ディレイドライト方式を適用したSDRAMは、そのSDRAM内に書き込み用のデータとそれに対応するアドレスを保持(記憶)するレジスタ(129,128)を備え、書き込みコマンド(WRITE A)が入力されたら、書き込みデータ(DA0,DA1)とアドレスを一時的に記憶しておき、読み出しコマンドが途切れた場合や次ぎの書き込みコマンド(WRITE B)が入力された場合に、各レジスタから書き込みデータ(DA0,DA1)とそのアドレスを取り出して書き込み処理を行うものである。これにより、書き込みコマンド(WRITE A)の直後に読み出しコマンド(READ2)を入力することが可能となり、データバスの使用効率を大幅に向上させることができる。
図6および図7は本発明に係る半導体記憶装置の第1実施例を示すブロック図であり、SDRAMの一例を概略的に示すものである。図6および図7において、参照符号11は入力バッファ、12はコマンドデコーダ、13はアドレスバッファ、14は入力バッファ・ラッチ、15はデータI/Oバッファ・レジスタ、17および18はシリパラ変換器(シリアル−パラレル変換器)、19はパラシリ変換器(パラレル−シリアル変換器)、20はシフトレジスタ、そして、21は制御回路を示している。また、参照符号22はオシレータ(OSC)、23リフレッシュアドレスカウンタ、24はスイッチ、27はセンスバッファ、29はデータレジスタ、41は読み出しコマンドラッチ、42は書き込みコマンドラッチ、43は遅延回路、44はアドレス比較器、そして、45はスイッチを示している。さらに、参照符号5はアドレスレジスタ、6はライトアンプ、7はデータセレケタ、3はメモリブロック(メモリコア部)、31はロウデコーダ、32はメモリセル(メモリセルアレイ)、33はコラムデコーダ、そして、34はセンスアンプ・ライトスイッチを示している。
入力バッファ11は、外部から供給されるクロックCLKをバッファリングして各回路へ供給するものであり、また、コマンドデコーダ12は、外部からのコマンドをデコードして読み出しコマンドおよび書き込みコマンドをそれぞれ読み出しコマンドラッチ41および書き込みコマンドラッチ42へ供給する。ここで、読み出しコマンドラッチ41の出力は制御回路21へ供給され、また、書き込みコマンドラッチ42の出力は制御回路21、シフトレジスタ20およびアドレスエジスタ5へ供給される。シフトレジスタ20の出力は、入力イネーブル信号として入力バッファ・ラッチ14およびデータI/Oバッファ・レジスタ15へ供給される。
制御回路21は、入力された読み出しおよび書き込みコマンドに応じてメモリコア部の各メモリブロックにイネーブル信号を供給して制御する。各メモリブロック3は、ロウアドレスに応じてメモリセル(メモリセルアレイ)32のワード線(WL)を制御するロウデコーダ31、コラムアドレスに応じてコラム(ビット線BL,/BL)を制御するコラムデコーダ33、および、読み出しおよび書き込み制御を行うセンスアンプ・ライトスイッチ34を備え、それぞれ制御回路21からのロウイネーブル、コラムイネーブル、および、リードイネーブル並びにライトイネーブルの各イネーブル信号により制御され、メモリセル32に対する読み出しおよび書き込み処理が行われる。
制御回路21の出力(リフレッシュ制御信号)は、リフレッシュアドレスカウンタ23およびアドレス切り換えスイッチ24へ供給され、アドレスバッファ13を介して供給される外部アドレスとリフレッシュ動作時の内部アドレス(オシレータ22を用いて生成されるリフレッシュアドレスカウンタ23の出力:リフレッシュアドレス)とを切り換えて通常動作(読み出しおよび書き込み動作)およびリフレッシュ動作の制御を行うようになっている。ここで、書き込みデータは、ライトアンプ(ラッチ)6を介してメモリコア部(ブロック3)へ入力され、また、読み出しデータは、メモリコア部からセンスバッファ27およびデータセレクタ7を介して出力される。なお、本第1実施例の特徴であるライトアンプ6の動作等に関しては後に詳述する。
データI/Oバッファ・レジスタ15は、外部から供給される書き込みデータおよびメモリセル32からの読み出しデータの入出力処理を行うものであり、書き込み時には、データのシリアル−パラレル変換を行うシリパラ変換器18を介して、書き込みデータDQ0〜DQnをライトアンプ6へ供給する。また、読み出し時には、データのパラレル−シリアル変換を行うパラシリ変換器19を介して、データセレクタ7からの読み出しデータがデータI/Oバッファ・レジスタ15に入力され、その読み出しデータが外部(外部データバス)へ出力される。ここで、マスク信号用のデータDMは、例えば、書き込み用データDQ0〜DQnと共に外部から供給され、入力バッファ・ラッチ14およびシリパラ変換器17を介してマスク信号MASKとしてライトアンプ6へ供給される。なお、マスク信号MASKは、例えば、書き込みコマンド信号の一部としてアドレスコード等の手段により外部から与えられる場合もある。
図6および図7に示されるように、本第1実施例においては、書き込みコマンドに対応して入力されたアドレスはアドレスレジスタ5に保持され、また、書き込みコマンドに対応して入力されたデータ(書き込みデータ)はライトアンプ6に送られてライトデータバスに保持される。なお、アドレスレジスタ5の手前に設けられた遅延回路43は、書き込みレイテンシの分だけアドレスのタイミングを遅らせてレジスタ5に入るようにするためのものである。また、書き込みコマンドは、シフトレジスタ20を介さないで制御回路21に入力され、また、入力バッファ・ラッチ14およびデータI/Oバッファ・レジスタ15に供給される入力イネーブル信号は、シフトレジスタ20を介して発生される。これは、書き込みコマンドが入力したら、メモリセル32への書き込みを、アドレスレジスタ5のアドレスおよびライトデータバス(WRITE DB)に保持されたデータにより直ちに実行し、その後に、次の書き込みデータの取り込みを行うためである。
ここで、以下の説明で頻出するマスク関係の信号について簡単に説明しておく。まず、マスク信号MASKは、書き込みデータDQ0〜DQnと一緒に外部から供給される信号DMから生成されるものであるが、前述したように、例えば、書き込みコマンドの一部として外部から供給することもできる。データ無効信号DIS1,DIS2は、制御回路21がライトアンプ6に対して書き込みデータの無効化を指示するための信号である。データ無効状態信号MASKX,MASKZは、マスク信号MASKおよびデータ無効信号DIS1,DIS2に基づいて書き込みデータを無効化するための信号である。ここで、データ無効状態信号MASKXとMASKZは相補信号で、データを無効化する場合は、MASKXが低レベル“L”でMASKZが高レベル“H”となる。
図8および図9は本発明の半導体記憶装置の第1実施例における動作の一例を説明するためのタイミング図であり、読み出し動作と書き込み動作が混在した場合の動作を示すものである。
図8および図9に示されるように、まず、外部から読み出しコマンドREAD0が入力されると、ビット線BL,/BLに対応するデータQ0が読み出され、この読み出しデータは、リードデータバスからセンスバッファ27およびデータセレクタ7を介して読み出しコモンデータバス(READ CDB)に伝えられ、パラシリ変換器19およびデータI/Oバッファ・レジスタ15を介して読み出しデータQ00,Q01として出力される。なお、本実施例では、読み出しレイテンシは2となっている。
そして、外部から読み出しコマンドREAD0,READ1に続いて(時間WT2の後に)書き込みコマンドWRITE Bが入力されると、アドレスレジスタ(5)およびライトデータバス(WRITE DB)に保持された『ADDRESS−A』および『DA0〜DA1』の情報(直前の書き込みコマンド(WRITE A:図示しない)によるもの)により、メモリセル(32)への書き込み(ビット線BL,/BL:DA)が行われる。そして、今回入力した書き込みコマンドWRITE Bに対応する書き込みデータ(DB0〜DB1)とマスク信号MASK(DMB0,DMB1)がライトアンプ6に転送されて保持される。
すなわち、外部からの書き込みデータ(DB0〜DB1)は、データI/Oバッファ・レジスタ15およびシリパラ変換器18を介して書き込みコモンデータバス(WRITE CDB)に伝えられてライトアンプ6へ供給される。また、外部からのマスク信号は、入力バッファ・ラッチ14およびシリパラ変換器17を介してマスクデータMASK(DMB0,DMB1)としてライトアンプ6に供給される。このとき、ライトアンプ6とコラムデコーダ33との間のライトデータバス(WRITE DB)にもそのデータが保持されることになる。なお、書き込みコマンドWRITE Bに対応するアドレス(ADDRESS−B)は、アドレスレジスタ5に格納される。
その後、図8および図9に示されるように、読み出しコマンドREAD2,READ3,READ4と続き、次に書き込みコマンドWRITE Cが入力されると、アドレスレジスタ5に保持されている直前の書き込みコマンドWRITEBに対応するアドレスADDRESS−Bと、ライトデータバス(WRITEDB)に保持されている直前の書き込みコマンドWRITE Bに対応する情報(書き込みデータDB0〜DB1およびマスクデータDMB0,DMB1)によりメモリセル32への書き込み(ビット線BL,/BL:DB)が行われる。なお、アドレスレジスタ5およびライトアンプ6等の具体的な回路例は、後に、図面を参照して詳述する。
図10および図11は本発明の半導体記憶装置の第1実施例における動作の他の例を説明するためのタイミング図であり、上述した図8および図9の動作において、書き込みコマンドWRITE Bにマスクがかかった場合を示すものである。
図10および図11に示されるように、書き込みコマンドWRITE Bにマスクがかかった場合には、例えば、マスク信号MASKが書き込みコマンドWRITE Bに対応する書き込みデータDB0,DB1が入力するタイミングで高レベル“H”となり、これを受けてデータ無効状態信号MASKZが高レベル“H”となり、書き込みデータDB0,DB1が無効化され、その結果、ライトデータバス(WRITE DB)は中間レベルを保持することになる。すなわち、次の書き込みコマンドWRITE Cが入力してもメモリセルに対する書き込みは行われず、ビット線BL,/BLには、アドレスADDRESS−Bに対応するメモリセル(32)が元々保持していたデータ(QB)が現れるだけで、書き込みデータDB0,DB1による書き替えは行われないことになる。なお、例えば、書き込みコマンドWRITE Bに対応する書き込みデータDB0およびDB1の場合に、各データDB0およびDB1に対してそれぞれマスク信号が与えられてマスク制御が行われる場合もある。
図12および図13は本発明の半導体記憶装置の第1実施例における動作のさらに他の例を説明するためのタイミング図であり、ライトデータバスおよびアドレスレジスタに未書き込みのデータおよびアドレスを保持しているときに、そのアドレスに対して読み出しコマンドが入力した場合を示すものである。
図12および図13に示されるように、書き込みコマンドWRITE Bに続いて読み出しコマンドREAD2,READ3が入り、その次に、読み出しコマンドREAD B(書き込みコマンドWRITE Bと同じアドレスに対する読み出しコマンド)が入ったとき、アドレス比較器44からは一致信号CIS(高レベル“H”のパルス)が出力され、データセレクタ7は、ライトアンプ6に保持されているデータをそのまま出力回路(パラシリ変換器19)に転送する。そして、ライトデータバス(WRITE DB)上に保持されたデータは、その後、次の書き込みコマンドWRITE Cが入力された時にメモリセル32へ書き込まれることになる。なお、書き込みデータがマスクされている場合には、ライトアンプ6からの無効情報(マスク情報)により、データセレクタ7は、メモリセル32からのデータ(センスバッファ27の出力)を選択して出力回路に転送することになる。また、書き込みデータ(DB0,DB1)の内の一部(DB1)だけがマスクされている場合には、そのマスクされたアドレスに対応するデータはメモリセル32から読み出したもの(QB1)を選択し、マスクされていないアドレスに対応するデータはライトアンプ6に保持されているもの(DB0)を選択し、出力回路(データI/Oバッファ・レジスタ15)からは、読み出しコマンドREAD Bに対してデータDB0,QB1が出力される場合もあり得る。
なお、各実施例の説明においては、実際の半導体記憶装置におけるバンクおよびブロックの概念は簡略化のために省略されているが、実際の半導体記憶装置(SDRAM)は、例えば、複数のバンク(例えば、4バンク)を備え、さらに、各バンクがそれぞれ複数のブロック(例えば、4または8ブロック)を含んで構成されている。
図14は本発明の半導体記憶装置に適用するセンスアンプ・ライトスイッチ(34)の一例を示す回路図である。この図14に示すセンスアンプ・ライトスイッチ34は、ダイレクトセンスアンプ方式と呼ばれるもので、例えば、高速動作が要求されるSDRAM等のメモリデバイスに適用されるものである。
図14に示されるように、センスアンプ・ライトスイッチ34は、pチャネル型MOSトランジスタ(pMOSトランジスタ)341〜350およびnチャネル型MOSトランジスタ(nMOSトランジスタ)351,352を備えて構成されている。
リード用センスアンプ34aは、コラム選択信号(CL)によりスイッチング制御されるトランジスタ342,343、および、ビット線BL,/BLがゲートに接続されたトランジスタ344,341により構成され、相補のビット線BL,/BLのレベルに応じてリードイネーブル(信号)から相補のリードデータバスへ流れる電流を制御するようになっている。
ライトスイッチ34bは、ライトイネーブル(信号)によりスイッチング制御されるトランジスタ346,347、および、ビット線BL,/BLがソースに接続されたトランジスタ345,348により構成されている。なお、トランジスタ345,348のゲートにはコラム選択信号が供給されている。そして、コラム選択信号およびライトイネーブルが高レベル“H”のときに、相補のライトデータバスのデータがビット線BL,/BLを介してメモリセルに書き込まれるようになっている。
センスアンプ34cは、トランジスタ349〜351により構成され、相補のビット線BL,/BLのレベル差を増幅するようになっている。なお、このセンスアンプには、相補のセンスアンプイネーブル(信号)が供給され、センスアンプの動作(活性化)を制御するようになっている。
すなわち、メモリセル(32)からビット線BL,/BLに出力されたデータの増幅は、センスアンプ34cで行われ、読み出し(READ)の場合には、リードイネーブルを低レベル“L”(選択状態)とし、コラム選択信号CLを高レベル“H”にして、リード用センスアンプ34aを介してリードデータバスへ読み出しデータを転送する。このとき、ライトイネーブルは低レベル“L”(非選択状態)とする。
書き込み(WRITE)の場合は、ライトイネーブルおよびコラム選択信号CLを高レベル“H”(選択状態)とし、さらに、リードイネーブルも高レベル“H”(非選択状態)とする。これにより、ライトデータバスの情報がライトスイッチ34bを介してビット線BL,/BLに転送される。
図14に示されるように、ダイレクトセンスアンプ方式のセンスアンプ・ライトスイッチ34では、メモリセルアレイ(32)上でリードデータバスとライトデータバスとが分離されており、ライトイネーブルを選択しない限りはライトデータバスの状態がリードデータバスに影響を与えることはない。また、ライトデータバスは、一度の書き込み動作で書き込むデータのビット数と同じ(または、それ以上の)本数だけ設けられているので、このライトデータバスに書き込み用データを保持しておけばよい。すなわち、ライトアンプ6によりライトデータバス(WRITE DB)に書き込みデータを保持しておけば、前述した本発明の第1実施例を適用することができることになる。
図15は本発明の半導体記憶装置に適用するアドレスレジスタの一例を示す回路図である。
図15に示されるように、アドレスレジスタ5は、複数の前段用フリップフロップ511〜51n、および、複数の後段用フリップフロップ521〜52nを備え、シフトレジスタ(遅延回路)43を介して供給されたアドレス(A0〜An)を保持する。すなわち、前段および後段の各フリップフロップ511〜51nおよび521〜52nのクロック端子には、書き込みコマンドラッチ42からの書き込みコマンドが供給され、書き込みコマンド(例えば、WRITE B)が入力されるとその書き込みコマンド(WRITE B)と共に入力されたアドレス(ADDRESS−B)を前段のフリップフロップ511〜51nに取り込んで保持(ラッチ)するようになっている。なお、前段のフリップフロップ511〜51nに保持されたアドレス(ADDRESS−B)は、ライトアンプ選択アドレスとしてライトアンプ6へ出力される。ここで、ライトアンプ選択アドレスは、入力された書き込みコマンド(WRITE B)に対応する書き込みデータ(DB0,DB1)を、どのライトアンプに保持するかを指定するための信号である。
さらに、次の書き込みコマンド(例えば、WRITE C)が入力されると、前段のフリップフロップ511〜51nに保持されていたアドレス(ADDRESS−B)は、後段のフリップフロップ521〜52nに取り込まれてアドレス比較器44へ供給される。このとき、前述したように、前段のフリップフロップ511〜51nには、入力された書き込みコマンド(WRITE C)に対応するアドレス(ADDRESS−C)が取り込まれる。
そして、アドレス比較器44において、例えば、読み出しコマンドに対応するアドレスが次の書き込みコマンドで書き込みを行うアドレスと一致するかどうか(図12および図13を参照して説明した内容)の判定が行われる。
図16は本発明の半導体記憶装置に適用するライトアンプ6の一例を示す回路図である。
図16に示されるように、ライトアンプ6は、データ転送部61、マスク情報ラッチ部62、出力部63、2つのインバータで構成されたデータラッチ64、プリチャージ部65、ナンドゲート66、および、インバータ67を備えて構成される。そして、図6および図7を参照して説明したように、書き込みデータおよびマスク信号(MASK)はライトアンプ6に供給され、ライトデータバス(WRITEDB:WDB,/WDB)上に保持される。
図16に示されるように、データ転送部61は、pMOSおよびnMOSトランジスタで構成されたトランスファゲート611,612およびインバータ613を備え、前述したアドレスレジスタ6(前段のフリップフロップ511〜51n)からのライトアンプ選択アドレスおよび制御回路21からのライトデータラッチ信号が入力されたナンドゲート66の出力によりトランスファゲート611および612の制御が行われるようになっている。すなわち、ライトアンプ選択アドレスおよびライトデータラッチ信号が共に高レベル“H”のときに、書き込みデータおよびマスク信号MASKがそれぞれデータラッチ64およびマスク情報ラッチ62へ供給されて保持(ラッチ)される。
マスク情報ラッチ62は、インバータ621〜623、ノアゲート624、および、nMOSトランジスタ625,626を備えて構成されている。ここで、インバータ621および622はラッチを構成し、データ転送部61からのマスク信号MASKを保持するようになっている。ラッチ(621,622)の出力は、インバータ623で反転されてノアゲート624に供給され、制御回路21からのデータ無効信号(DIS1)とのノア論理が取られ、新たなマスク信号MASKXとして出力部63へ供給される。トランジスタ625のゲートにはイニシャライズ信号が供給され、例えば、ライトアンプ6のデータを無効にするために、電源投入時に高レベル“H”のパルスを出力するようになっている。なお、トランジスタ625と並列に設けられたトランジスタ626は、前述した第1実施例および後述する第2並びに第3実施例では不要で、専ら後述する第4実施例に必要とされるものであり、該トランジスタ626のゲートにはさらなるデータ無効信号(DIS2)が供給されている。なお、データ無効信号DIS1は、通常、低レベル“L”となっており、これについては後に詳述する。また、データ無効信号DIS2は、後述の第4実施例の説明で詳述する。
ここで、例えば、SDRAMにおいて、リフレッシュコマンド(集中リフレッシュコマンド)が書き込みコマンドと一部共通の信号として供給される場合、すなわち、コマンドをシリアルに分割して供給する仕様で途中までリフレッシュコマンドか書き込みコマンドかが区別できない場合(途中までコードが同じ場合)には、例えば、ライトアンプ6に保持されたデータの書き込み動作をそのまま行ってしまった後、書き込みデータを無効にしもよい。すなわち、リフレッシュ動作中には、読み出しコマンドが入力することはないので、書き込み動作をそのまま行ってしまっても問題がない。従って、データ無効信号(DIS1,DIS2)は、リフレッシュ動作が行われた後に出力されるように構成することもできる。
出力部63は、pMOSトランジスタ631〜636、nMOSトランジスタ637〜643、および、インバータ644〜647を備えて構成される。マスク情報ラッチ62からのマスク信号MASKXはトランジスタ631,634および641のゲートに供給され、また、データラッチ64に保持された相補のデータはそれぞれトランジスタ637および639のゲートに入力される。なお、マスク信号MASKXは、インバータ67により反転されてマスク信号MASKZとしてプリチャージ部65へ供給されると共に、データセレクタ7へ供給される。また、データセレクタ7へ供給される書き込みデータ(書き込みデータ情報D,/D)は、インバータ644および646の出力から取り出されるようになっている。ここで、プリチャージ部65は、必ずしも設ける必要はない。
出力部63の出力は、それぞれ高電位電源Vddと低電位電源Vssとの間に設けられたトランジスタ635および642の接続ノード並びにトランジスタ636および643の接続ノードから取り出され、ライトデータバス(WDB,/WDB)に保持されたデータが現れるようになっている。すなわち、書き込みデータがマスク信号MASKによりマスクされている(MASK=高レベル“H”)と、MASKX=低レベル“L”となって、出力部63の出力トランジスタ(635,642;636,643)は4個ともオフになり、ライトデータバスWDB,/WDBは開放状態になる。ここで、プリチャージ部65を設けた場合には、マスク信号MASK(MASKZ)が高レベル“H”のとき、プリチャージ部65のnMOSトランジスタ651〜653は全てオンとなって、ライトデータバスWDBおよび/WDBは短絡されると共に、プリチャージ電圧Vpr(例えば、電源電圧の中間レベル:Vdd/2)にプリチャージされる。
従って、マスク信号MASK=高レベル“H”の場合、すなわち、書き込みデータをマスクする場合には、ライトデータバスWDB,/WDBは、開放状態或いは同じ電圧レベル状態(Vpr)となり、書き込み動作時にライトスイッチ(34b:トランジスタ345〜348)が動作してもセンスアンプを反転させることができないためメモリセル(32)への書き込みは行われない。
なお、上述したように、ライトアンプ6は、保持している書き込みデータの情報D,/D(および、マスク信号MASKZ)をデータセレクタ7へ出力するが、書き込みデータがマスクされている場合には、書き込みデータ情報D=/D=低レベル“L”となる。データセレクタ7では、書き込みデータ情報D=/D=低レベル“L”を検出すると、その書き込みデータがマスクされていることを認識する。
図16に示す回路例では、データセレクタ7へ供給する信号(D,/D)をライトデータバス(WDB,/WDB)とは別に生成するようになっているが、ライトデータバスWDB,/WDBを直接データセレクタ7に接続するように構成してもよい。さらに、書き込みデータの無効化には、例えば、マスク信号MASKZを用いることもできる。
データ無効信号DIS1は、リフレッシュ時にライトデータバスWDB,/WDBに保持されているデータを強制的に無効にするものである。ただし,書き込みデータおよびMASK情報は、ライトアンプ6内のラッチ(64,62)にそれぞれ保持されている。また、リフレッシュは、DRAMセル(メモリセル32)に対して行う必要があるが、ライトアンプ6のラッチ64に保持されている書き込みデータに関しては、スタティックに保持されているため、リフレッシュする必要はない。従って、リフレッシュ中は、データ無効信号DIS1=高レベル“H”とし、ライトデータバスWDB,/WDBに保持されているデータを無効とし、リフレッシュ動作中のメモリコア(メモリセル32)に影響を与えないようにしておく。そして、リフレッシュから復帰したら、データ無効信号DIS1=低レベル“L”として、ラッチ64および62に保持された書き込みデータおよびマスク情報に従って、ライトデータバスWDB,/WDBにデータが発生させる。ここで、リフレッシュが開始したら、まず、ライトデータバスWDB,/WDBに保持されているデータをそのままメモリセル(32)に書き込むように構成してもよい。この場合においても、書き込み後にデータ無効信号DIS1を発生し、データを無効にして余分な書き込みをしないように構成するのが好ましい。
図17は本発明の半導体記憶装置に適用するデータセレクタ7の一例を示す回路図である。
図17に示されるように、データセレクタ7は、ノアゲート71、ナンドゲート72、インバータ73,74、および、複数のスイッチ75を備えて構成される。ナンドゲート71には、上述したライトアンプ6からの書き込みデータ情報D,/Dが供給され、このデータ情報D=/D=低レベル“L”の時に、高レベル“H”を出力し、書き込みデータが無効(マスク)であることを検出するようになっている。従って、書き込みデータをマスクする場合には、ナンドゲート72には、インバータ73を介して低レベル“L”の信号が入力される。また、ナンドゲート72の他方の入力には、アドレス比較器44からの一致信号CISが供給されている。この一致信号CISは、アドレスが一致する場合、すなわち、ライトアンプ6に保持された書き込みデータのアドレスが読み出しアドレスに一致する場合に高レベル“H”となる信号である。従って、書き込みデータのマスクを行わない場合(インバータ73の出力が高レベル“H”)であって、ライトアンプ6に保持された書き込みデータのアドレスが読み出しアドレスに一致する場合(一致信号CISが高レベル“H”)には、ナンドゲート72の出力信号は低レベル“L”となり、インバータ74の出力信号は高レベル“H”となる。
各スイッチ75は、pMOSおよびnMOSトランジスタで構成されたトランスファゲート751および752を備え、それぞれライトアンプ6に保持されたデータ(書き込みデータ)またはメモリセル32(メモリコア部)からの読み出しデータのいずれかを選択して出力バッファ(パラシリ変換器19、データI/Oバッファ・レジスタ15)へ供給するようになっている。すなわち、ライトアンプ6に保持された書き込みデータのアドレスが読み出しアドレスに一致し、かつ、書き込みデータのマスクを行わない場合には、ライトアンプ6に保持された書き込みデータがそのまま読み出しデータとして出力されることになる。なお、ライトアンプ6に保持された書き込みデータのアドレスが読み出しアドレスに一致しない場合、および/または、書き込みデータのマスクを行う場合には、メモリセル(32)からの読み出しデータが選択されて出力されることになる。
ここで、図17に示すデータセレクタの回路例では、ナンドゲート71にデータ情報D,/Dを入力して書き込みデータのマスクを行うか否かを検出するようになっているが、例えば、マスク信号(MASKZ)をそのまま使用することもできる。
図18は本発明に係る半導体記憶装置の第1実施例における動作サイクルを説明するためのフローチャートである。
図18に示されるように、第1実施例の半導体記憶装置における動作が開始すると、まず、ステップST11において、外部からのコマンドを受信し、ステップST12に進んで、そのコマンドが読み出しコマンド(READ)か、または、書き込みコマンド(WRITE)かを判別する。外部からのコマンドが読み出しコマンド(READ)のとき、ステップST13に進んで、その読み出しコマンドのアドレスがライトアンプ(6)に保持されている書き込みデータのアドレスと一致するかどうかをアドレス比較器44により比較する。ステップST13でアドレスが一致すると判定される(一致信号CISが高レベル“H”)と、ステップST14に進んで、データが無効か否か(書き込みデータがマスクされているか否か)が判別され、データが有効(書き込みデータのマスクが行われていない:マスク信号MASKが低レベル“L”)ならば、ステップST15に進んで、ライトアンプ6に保持されているデータ(書き込みデータ)を読み出しコマンドに対応するアドレスのデータ(読み出しデータ)として出力する。
また、ステップST13で、読み出しコマンドのアドレスがライトアンプ(6)に保持されている書き込みデータのアドレスと一致しないと判別された場合、および、ステップST14で、データが無効(書き込みデータがマスクされている)と判別された場合には、ライトアンプ6に保持されているデータを選択せずに、実際にメモリセル(32)から読み出したデータを読み出しコマンドに対応する読み出しデータとして出力する。
次に、ステップST12において、外部からのコマンドが書き込みコマンド(WRITE)であると判別されると、ステップST17に進んで、データが無効(書き込みデータはマスクされているか)どうかが判別され、データが有効である(書き込みデータがマスクされていない)と判別された場合には、ステップST18において、アドレスレジスタ5に保持されているアドレス情報(直前の書き込みコマンドに対応したアドレス)に従って、ライトデータバスWDB,/WDBに保持されているデータ(ライトアンプ6にラッチされている書き込みデータ)をメモリセル(32)に書き込んでステップST19に進む。
また、ステップST17において、データが無効である(書き込みデータがマスクされている)と判別された場合には、ステップST19に進む。ステップST19では、入力されたアドレス(今回の書き込みデータに対応した書き込みアドレス)をアドレスレジスタ5に記憶(保持)し、また、入力されたデータ(今回の書き込みデータ)をライトデータバスWDB,/WDB(ライトアンプ6)に保持する。さらに、ステップST19において、マスク情報(マスク信号MASK)により、書き込みデータを有効にするか無効にするか(マスクするか否か)が行われる。
図19は図18に示す半導体記憶装置の動作サイクルを説明するための図である。
図19に示されるように、図18の動作サイクルは、時間的にオーバーラップさせることが可能であり、具体的に、例えば、書き込み処理(WRITE)においては、後半のステップST19を前半のステップST17およびST18とオーバーラップさせて処理することが可能である。
上述したように、本実施例の半導体記憶装置は、書き込み用のデータを保持するためのレジスタ(データレジスタ)を新たに設ける必要がなく、チップ面積およびコストの増大を抑えることができる。さらに、本実施例の半導体記憶装置は、書き込みデータがライトデータバス(WDB,/WDB)まで来ているので、書き込み時のデータ転送時間が短縮され、高速動作が可能となる。
図20および図21は本発明に係る半導体記憶装置の第2実施例を示すブロック図である。
図20および図21に示す本第2実施例の半導体記憶装置は、前述した図6および図7に示す第1実施例との比較から明らかなように、第1実施の半導体記憶装置に対してマスク回路8を設け、マスク信号(MASKZ)が高レベル“H”のとき(書き込みデータをマスクするとき)には、データの書き込みを行わないようにライトイネーブルを制御する(ライトイネーブルを出力しない)ようになっている。
すなわち、マスク回路8に対しては、ライトアンプ6からマスク信号MASKZが供給されると共に、第1実施例における制御回路21からのライトイネーブルも供給され、制御回路21からのライトイネーブル、および、ライトアンプ6からマスク信号MASKZにより、センスアンプ・ライトスイッチ34における書き込み動作を制御するようになっている。本第2実施例は、例えば、ライトデータバスWDB,/WDBの寄生容量が大きい場合に好ましく、より一層安全性の向上(データが誤って書き込まれてしまうのを防ぐこと)が可能である。さらに、本実施例のように、ライトイネーブルにより書き込みデータの無効制御を行うのは、半導体記憶装置のより一層の高速動作に対しても好ましいものである。
図22および図23は本発明に係る半導体記憶装置の第3実施例を示すブロック図である。
図22および図23に示す本第3実施例の半導体記憶装置は、上述の図20および図21に示す第2実施例におけるマスク回路8を変形してマスク回路8’としたものである。すなわち、本第3実施例において、マスク回路8’は、第1実施例における制御回路21からのコラムイネーブル、および、ライトアンプ6からマスク信号MASKZにより、コラムデコーダ33を制御するようになっている。従って、書き込みデータがマスクされているとき(マスク信号MASKZが高レベル“H”のとき)は、マスク回路8’からコラムイネーブルが出力されず、ライトデータバスWDB,/WDBがビット線BL,/BLに接続されないようになっている。本第3実施例も上述の第2実施例と同様に、例えば、ライトデータバスWDB,/WDBの寄生容量が大きい場合に好ましいものである。なお、第2および第3実施例の他の構成は、第1実施例と同様なので、その説明は省略する。
図24および図25は本発明に係る半導体記憶装置の第4実施例を示すブロック図であり、図26および図27は本発明の半導体記憶装置の第4実施例における動作の一例を説明するためのタイミング図である。
図24および図25に示す本第4実施例の半導体記憶装置は、上述の図22および図23に示す第3実施例におけるデータセレクタ7を不要としたものである。なお、本第4実施例において、ライトアンプ6には、制御回路21から第2のデータ無効信号(DIS2)が供給されるようになっている。
すなわち、本第4実施例は、図26および図27と図12および図13との比較から明らかなように、書き込みコマンドWRITE Bに続いて読み出しコマンドREAD2,READ3が入り、その次に、読み出しコマンドREAD B(書き込みコマンドWRITE Bと同じアドレスに対する読み出しコマンド)が入ったとき、アドレス比較器44から一致信号CISが発生(高レベル“H”のパルスが発生)し、この一致信号CISが制御回路21に入力される。制御回路21は、一致信号CISを受けてライトイネーブルを出力し、ライトアンプ6に保持されているデータはビット線BL,/BLに転送され、メモリセル32への書き込みが行われる。さらに、この書き込みデータ(読み出しコマンドREAD Bに対応するデータ)は、そのままリードデータバスRDB,/RDBにも転送され、センスバッファ27、パラシリ変換器19およびデータI/Oバッファ・レジスタ15を介して出力される。
従って、本第4実施例では、ライトイネーブルおよびリードイネーブルが両方とも出力され、メモリセルへの書き込み処理と読み出し処理とが同時に行われることになる。そして、メモリセル32への書き込みが終了したら、制御回路21はデータ無効信号DIS2(パルス信号)を発生しデータを無効化する。ここで、データ無効信号DIS2は、例えば、図16に示すライトアンプのマスク情報ラッチ62におけるトランジスタ626のゲート信号として供給され、上述のデータの無効化(マスク処理)が行われる。
なお、書き込みデータがマスクされている場合には、前述した第3の実施例と同様に、マスク回路8’によりライトイネーブルを発生しなければよい。また、読み出しコマンドREAD Bの後に、書き込みコマンドWRITE Cが入ったときには、ライトデータバスWDB,/WDB(ライトアンプ6)に保持されているデータの書き込みは前の読み出しコマンドREAD Bが入力された時に行われており、また、その書き込みデータは無効化されているので、メモリセル32への書き込み動作は行われない。
図28は本発明に係る半導体記憶装置の第4実施例における動作サイクルを説明するためのフローチャートである。
図28に示すフローチャートは、前述した図18のフローチャートにおいて、ステップST15が除かれ、その代わりにステップST21およびST22の処理が行われるようになっている。
すなわち、ステップST14において、データが有効(書き込みデータのマスクが行われていない:マスク信号MASKが低レベル“L”)と判別されると、ステップST21に進んで、ライトデータバスWDB,/WDBに保持されているデータ(ライトアンプ6にラッチされている書き込みデータ)をメモリセル(32)に書き込み、同時に、その書き込みデータがリードデータバスRDB,/RDBを介してセンスバッファ27に取り込まれ、パラシリ変換器19およびデータI/Oバッファ・レジスタ15を介して出力される。
さらに、ステップST22に進んで、制御回路21からのデータ無効信号DIS2を受けて、ライトデータバスWDB,/WDBに保持されているデータを無効にする。ここで、図28の動作サイクルは、時間的にオーバーラップさせることが可能であり、具体的に、例えば、書き込み処理(WRITE)においては、後半のステップST19を前半のステップST17およびST18とオーバーラップさせ、また、読み出し処理(READ)においては、後半のステップST22を前半のステップST13,ST14,ST16およびST21とオーバーラップさせて処理することが可能である。なお、図28における他のステップは、前述した図18と同様であり、その説明は省略する。
以上の実施例では、半導体記憶装置をSDRAMとして説明したが、本発明は、SDRAMに限定されるものではなく、例えば、DDR方式のDRAMやダイレクトラムバスDRAM、さらには、DRAM以外のSRAM等の様々な半導体記憶装置であってもよい。