(57)【特許請求の範囲】
【請求項１】
同一のアドレスが割り当てられ、書き込みコマンドに応答して同一のデータが書き込まれる複数のメモリバンクと、
読み出しコマンドに応答して前記メモリバンクのいずれかを順次選択し、
前記読み出しコマンド後の書き込みコマンドに応答して前記メモリバンクのうち前記読み出しコマンドで選択されていないメモリバンクより選択を開始し、順次時間をずらして前記メモリバンクを選択するバンク選択回路と、
前記書き込みコマンドに対応して供給される書き込みデータを保持するデータレジスタと、
前記書き込みコマンドに対応して供給される書き込みアドレスを保持するアドレスレジスタと、
読み出し動作時に、前記読み出しコマンドに対応して供給される読み出しアドレスと前記アドレスレジスタに保持された前記書き込みアドレスとを比較し、両アドレスが同じときに一致信号を出力するアドレス比較回路と、
前記一致信号を受けて、前記データレジスタに保持されている前記書き込みデータを読み出しデータとして出力するデータ切替回路と、を備え、
前記書き込みコマンドに応答して、前記データレジスタに保持された前回の書き込みコマンドに対応する前記書き込みデータが、前記メモリバンクに書き込まれ、
前記データレジスタと、前記アドレスレジスタは、複数の書き込みコマンドに対応する書き込みデータと書き込みアドレスとを格納し、
前記書き込みコマンドに応答して、前記データレジスタに保持された複数の書き込みデータが、前記メモリバンクに書き込まれ、
所定の前記メモリバンクからデータを読み出そうとするときに、当該メモリバンクが書き込み動作中である場合には、他のメモリバンクからデータを読み出すことを特徴とする半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体記憶装置の動作サイクル時間を短縮する技術に関する。
【０００２】
【従来の技術】
書き込み動作時に複数のメモリバンクに同一のデータを書き込み、読み出し動作時に順次異なるメモリバンクからデータを読み出すことで、読み出し動作におけるランダムアクセス時間を短縮する半導体記憶装置が、特開平２−９４１９４号公報および特開平７−１９２４５８号公報に開示されている。
【０００３】
図１３は、この種の半導体記憶装置のうち、クロック同期式の半導体記憶装置の動作を示している。半導体記憶装置は、同一のデータを保持する４つのメモリバンクＢＡＮＫ０−ＢＡＮＫ３を有している。図１３では、複数の読み出しサイクルの間に書き込みサイクルが挿入される例について説明する。
【０００４】
まず、読み出しコマンドＲＤ１−ＲＤ６がクロック信号ＣＬＫに同期して順次供給される（図１３（ａ））。読み出しコマンドＲＤ１−ＲＤ６に応答して４つのメモリバンクＢＡＮＫ０−ＢＡＮＫ３が交互に動作し（図１３（ｂ））、読み出しデータＱ１−Ｑ６が連続して出力される（図１３（ｃ））。この例では、各メモリバンクＢＡＮＫ０−ＢＡＮＫ３の読み出し動作期間は、４クロックサイクルである。しかし、これらメモリバンクＢＡＮＫ０−ＢＡＮＫ３は、並列に動作するため、読み出しサイクルは、１クロックサイクルになる。
【０００５】
読み出しコマンドＲＤ６の後に書き込みコマンドＷＲ７が供給される（図１３（ｄ））。書き込みコマンドＷＲ７に応答する書き込み動作は、全てのメモリバンクＢＡＮＫ０−ＢＡＮＫ３に対して同時に実行される。このため、書き込みコマンドＷＲ７は、全てのメモリバンクＢＡＮＫ０−ＢＡＮＫ３がアイドル状態になった後に供給される。この例では、メモリバンクＢＡＮＫ１の動作完了に合わせて書き込みコマンドＷＲ７を供給する必要がある。したがって、読み出しコマンドＲＤ６の供給から書き込みコマンドＷＲ７の供給までのＲＥＡＤ−ＷＲＩＴＥ間隔（タイミング仕様）は、メモリバンクＢＡＮＫ１の動作期間と同じ４クロックサイクルになる。
【０００６】
書き込みコマンドＷＲ７に応答する書き込み動作は、４つのメモリバンクＢＡＮＫ０−ＢＡＮＫ３に対して同時に実行される。メモリバンクＢＡＮＫ０−ＢＡＮＫ３には、同じ書き込みデータＤ７が書き込まれる（図１３（ｅ））。４つのメモリバンクＢＡＮＫ０−ＢＡＮＫ３に同じ書き込みデータＤ７が同時に書き込まれるため、書き込みサイクルは、メモリバンクＢＡＮＫ０−ＢＡＮＫ３の書き込み動作期間である４クロックサイクルになる。
【０００７】
この後、読み出しコマンドＲＤ８−ＲＤ１１が順次供給される（図１３（ｆ））。そして、上述と同様に、４つのメモリバンクＢＡＮＫ０−ＢＡＮＫ３が交互に動作し（図１３（ｇ））、読み出しデータＱ８−Ｑ１１が連続して出力される（図１３（ｈ））。
【０００８】
【発明が解決しようとする課題】
ところで、書き込み動作は、上述したように全てのメモリバンクＢＡＮＫ０−ＢＡＮＫ３に対して同時に実行される。このため、読み出しサイクル中に書き込みサイクルが挿入される場合、全てのメモリバンクＢＡＮＫ０−ＢＡＮＫ３の読み出し動作の完了を待って書き込みコマンドＷＲ７を供給する必要があった。このため、読み出しコマンドＲＤ６の供給後、書き込みコマンドＷＲ７を供給するまでには、４クロックサイクルを待たなくてはならなかった。さらに、読み出しコマンドＲＤ６から次の読み出しコマンドＲＤ８までの間隔（ＲＥＡＤ−ＲＥＡＤコマンド間隔）は、最後に読み出し動作を実行するメモリバンクＢＡＮＫ１の動作期間と書き込み動作の動作期間との和だけ必要であった。
【０００９】
この結果、特に、読み出しサイクルと書き込みサイクルがランダムに発生する場合、データ転送レート（データバスの占有率）が低下するという問題があった。
【００１０】
本発明の目的は、半導体記憶装置を動作サイクル時間を短縮することにある。特に、ランダムアクセス時のコマンド供給間隔を短くすることで、入出力データの転送レートを向上することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、以下のような半導体記憶装置が提供される。この半導体記憶装置は、同一のアドレスが割り当てられ、書き込みコマンドに応答して同一のデータが書き込まれる複数のメモリバンクと、読み出しコマンドに応答して前記メモリバンクのいずれかを順次選択し、前記読み出しコマンド後の書き込みコマンドに応答して前記メモリバンクのうち前記読み出しコマンドで選択されていないメモリバンクより選択を開始し、順次時間をずらして前記メモリバンクを選択するバンク選択回路と、前記書き込みコマンドに対応して供給される書き込みデータを保持するデータレジスタと、前記書き込みコマンドに対応して供給される書き込みアドレスを保持するアドレスレジスタと、読み出し動作時に、前記読み出しコマンドに対応して供給される読み出しアドレスと前記アドレスレジスタに保持された前記書き込みアドレスとを比較し、両アドレスが同じときに一致信号を出力するアドレス比較回路と、前記一致信号を受けて、前記データレジスタに保持されている前記書き込みデータを読み出しデータとして出力するデータ切替回路と、を備え、前記書き込みコマンドに応答して、前記データレジスタに保持された前回の書き込みコマンドに対応する前記書き込みデータが、前記メモリバンクに書き込まれ、前記データレジスタと、前記アドレスレジスタは、複数の書き込みコマンドに対応する書き込みデータと書き込みアドレスとを格納し、前記書き込みコマンドに応答して、前記データレジスタに保持された複数の書き込みデータが、前記メモリバンクに書き込まれ、所定の前記メモリバンクからデータを読み出そうとするときに、当該メモリバンクが書き込み動作中である場合には、他のメモリバンクからデータを読み出す。
【００２４】
【発明の実施の形態】
以下、本発明の実施形態を図面を用いて説明する。
図１は、本発明の半導体記憶装置の第１の実施形態を示している。図中、太線で示した信号線は、複数本で構成されていることを示している。
【００２５】
この半導体記憶装置は、シリコン基板上にＣＭＯＳプロセスを使用してクロック同期式のＤＲＡＭとして形成されている。ＤＲＡＭは、クロックバッファ１０、コマンドデコーダ１２、アドレスバッファ１４、データバッファ１６、書き込みタイミング生成回路１８、バンク選択回路２０、書き込みデータレジスタ２２、および４つのメモリバンクＢＡＮＫ０−ＢＡＮＫ３を有している。
【００２６】
クロックバッファ１０は、クロック端子を介して外部からクロック信号ＣＬＫを受け、受けた信号を内部クロック信号ＩＣＬＫとして出力している。内部クロック信号ＩＣＬＫは、図示しない回路にも供給されている。
【００２７】
コマンドデコーダ１２は、コマンド端子を介して外部からコマンド信号ＣＭＤを受け、受けた信号をデコードし、読み出しコマンド信号ＲＥＡＤ１および書き込みコマンド信号ＷＲＩＴＥ１として出力している。コマンドデコーダ１２は、図示した以外にも、リフレッシュコマンド信号等を出力する。
【００２８】
アドレスバッファ１４は、アドレス端子を介して外部からアドレス信号ＡＤＤを受け、受けた信号を内部アドレス信号ＩＡＤＤとして出力している。データバッファ１６は、データ端子を介して外部からデータ信号（書き込みデータ）ＤＱを受け、受けた信号を書き込みデータレジスタ２２に出力している。また、データバッファ１６は、メモリバンクＢＡＮＫ０−ＢＡＮＫ３から読み出される内部データ信号（読み出しデータ）ＩＤＱを受け、受けた信号をデータ端子を介してデータ信号ＤＱとして出力している。書き込みデータレジスタ２２は、書き込みデータをラッチし、ラッチしたデータを内部データ信号ＩＤＱ（ラッチデータ信号ＬＤＡＴＡ）として出力している。
【００２９】
書き込みタイミング生成回路１８は、書き込みコマンド信号ＷＲＩＴＥ１および内部クロック信号ＩＣＬＫを受け、内部クロック信号ＩＣＬＫに同期して書き込みコマンド信号（書き込みタイミング信号）ＷＲＩＴＥ２を出力している。書き込みコマンド信号ＷＲＩＴＥ２は、後述するように１回の書き込みコマンド信号ＷＲＩＴＥ１に応答して４回連続して生成される。
【００３０】
バンク選択回路２０は、読み出しコマンド信号ＲＥＡＤ１および書き込みコマンド信号ＷＲＩＴＥ２の活性化に同期して、バンク選択信号ＢＫＳＥＬ０−ＢＫＳＥＬ３のいずれかを活性化する。
【００３１】
メモリバンクＢＡＮＫ０−ＢＡＮＫ３は、同じアドレスが割り当てられており、例えばそれぞれ１６Ｍビットの記憶容量を有している。このため、書き込みコマンドに対応して供給された書き込みデータＤＱは、後述するように、全てのメモリバンクＢＡＮＫ０−ＢＡＮＫ３に書き込まれる。すなわち、本ＤＲＡＭは、６４Ｍビットの総記憶容量を有するが、１６Ｍビットのメモリとして使用される。
【００３２】
また、特に図示していないが、メモリバンクＢＡＮＫ０−ＢＡＮＫ３は、ワード線およびビット線に接続された複数のメモリセル、ビット線上に伝達されたデータを増幅するセンスアンプ、ビット線とデータバス線とを接続する列スイッチ、行デコーダ、および列デコーダを有している。行デコーダは、上位のアドレス信号ＡＤＤに応じてセンスアンプを活性化するとともに、ワード線を選択する。列デコーダは、下位のアドレス信号ＡＤＤに応じて列スイッチを選択する。
【００３３】
この実施形態では、上位および下位のアドレス信号ＡＤＤは、読み出しコマンドおよび書き込みコマンドとともにＤＲＡＭに入力される。メモリバンクＢＡＮＫ０−ＢＡＮＫ３は、それぞれ独立に動作し、動作後のビット線のプリチャージは、自身の制御により自動的に実行する。
【００３４】
図２は、図１に示したバンク選択回路２０の詳細を示している。バンク選択回路２０は、ＯＲゲート２０ａおよびシフトレジスタ２０ｂを有している。ＯＲゲート２０ａは、読み出しコマンド信号ＲＥＡＤ１および書き込みコマンド信号ＷＲＩＴＥ２のＯＲ論理を、シフト信号ＳＦＴとして出力している。シフトレジスタ２０ｂは、直列に接続された４つの記憶段Ｓ０−Ｓ３を有している。
【００３５】
記憶段Ｓ０−Ｓ３は、それぞれバンク選択信号ＢＫＳＥＬ０−ＢＫＳＥＬ３を出力している。記憶段Ｓ３の出力（ＢＫＳＥＬ３）は、記憶段Ｓ０の入力に帰還されている。記憶段Ｓ０−Ｓ３は、シフト信号ＳＦＴに同期して動作し、保持している値を次段に出力する。
【００３６】
シフトレジスタ２０ｂは、電源の投入後にバンク選択信号ＢＫＳＥＬ０のみが高レベルを出力するようにイニシャライズされる。その後、シフトレジスタ２０ｂは、読み出しコマンド信号ＲＥＡＤ１または書き込みコマンド信号ＷＲＩＴＥ２が活性化される都度、シフト動作し、バンク選択信号ＢＫＳＥＬ１、ＢＫＳＥＬ２、ＢＫＳＥＬ３、ＢＫＳＥＬ０、．．．を順次高レベルに変化させる。バンク選択信号ＢＫＳＥＬ０−ＢＫＳＥＬ３の活性化により、メモリバンクＢＡＮＫ０−ＢＡＮＫ３がそれぞれ動作可能な状態にされる。
【００３７】
図３は、上述したＤＲＡＭの動作を示している。図３では、読み出しコマンドＲＤ１−ＲＤ６が連続して供給された後、書き込みコマンドＷＲ７が供給され、さらに読み出しコマンドＲＤ８−ＲＤ１１が供給される例について説明する。各コマンドは、クロック信号ＣＬＫの立ち上がりエッジに同期して取り込まれる。
【００３８】
まず、図１に示したコマンドデコーダ１２は、読み出しコマンドＲＤ１を受けて、読み出しコマンド信号ＲＥＡＤ１を活性化する（図３（ａ））。バンク選択回路２０は、読み出しコマンド信号ＲＥＡＤ１に同期してバンク選択信号ＢＫＳＥＬ０を活性化する（図３（ｂ））。この後、バンク選択信号ＢＫＳＥＬ０に応答して、メモリバンクＢＡＮＫ０が活性化される（図３（ｃ））。
【００３９】
メモリバンクＢＡＮＫ０は、上位のアドレス信号ＡＤＤ（図示せず）に応じてワード線を選択し、センスアンプを活性化する。ワード線の選択によりメモリセルからビット線にデータが読み出され、読み出されたデータがセンスアンプにより増幅される。さらに、メモリバンクＢＡＮＫ０は、下位のアドレス信号ＡＤＤに応じて列スイッチを選択し、センスアンプにより増幅された読み出しデータをデータバス線に伝達する。
【００４０】
そして、メモリセルから読み出された読み出しデータＱ１は、読み出しコマンドＲＤ１の供給から２番目のクロック信号ＣＬＫの立ち上がりエッジに同期して出力される（図３（ｄ））。すなわち、読み出しコマンドＲＤ１の供給から読み出しデータＱ１の出力までのクロック数である読み出しレイテインシは、"２"になる。
【００４１】
その後、メモリバンクＢＡＮＫ０は、センスアンプ、行デコーダ、および列デコーダを非活性化し、ビット線を参照電圧に設定するプリチャージ動作を実行し、読み出しコマンドＲＤ１の受信から４クロックサイクル後に読み出し動作を完了する（図３（ｅ））。
【００４２】
次に、読み出しコマンドＲＤ２に応答して読み出しコマンド信号ＲＥＡＤ１が再び活性化される（図３（ｆ））。バンク選択回路２０のシフトレジスタ２０ｂは、読み出しコマンド信号ＲＥＡＤ１に同期してシフト動作し、バンク選択信号ＢＫＳＥＬ０を非活性化し、バンク選択信号ＢＫＳＥＬ１を活性化する（図３（ｇ））。その後、バンク選択信号ＢＫＳＥＬ１に応答してメモリバンクＢＡＮＫ１が活性化される。メモリバンクＢＡＮＫ１は、上述したメモリバンクＢＡＮＫ０と同様に読み出し動作を実行し、読み出しデータＱ２を出力する（図３（ｈ））。
【００４３】
この後、上述と同様に、読み出しコマンドＲＤ３−ＲＤ６に応答してバンク選択信号ＢＫＳＥＬ２、ＢＫＳＥＬ３、ＢＫＳＥＬ０、ＢＫＳＥＬ１が順次活性化され（図３（ｉ））、メモリバンクＢＡＮＫ２、ＢＡＮＫ３、ＢＡＮＫ０、ＢＡＮＫ１が順次読み出し動作を実行する（図３（ｊ））。
【００４４】
このように、読み出し動作は、４つのメモリバンクＢＡＮＫ０−ＢＡＮＫ３が、互いに重複しながら１クロックサイクルずつずれて実行される。１つのメモリバンクＢＡＮＫの動作期間は、４クロックサイクルであるが、４つのメモリバンクＢＡＮＫ０−ＢＡＮＫ３がそれぞれ独立に動作するため、１回の読み出しコマンドＲＤに必要な読み出し動作時間（読み出しコマンドＲＤの供給間隔）である読み出しサイクルは、１クロックサイクルになる。
【００４５】
読み出しコマンドＲＤ６の供給から２クロック後に、書き込みコマンドＷＲ７が供給される（図３（ｋ））。従来と異なり、メモリバンクＢＡＮＫの一部（この例ではＢＡＮＫ５、６）は、書き込みコマンドＷＲ７が供給されたときに読み出し動作を実行している。このように、一部のメモリバンクＢＡＮＫが動作中に、アイドル状態のメモリバンクＢＡＮＫに対する書き込み動作を開始することで、読み出しコマンドＲＤ６の供給から書き込みコマンドＷＲ７の供給までのＲＥＡＤ−ＷＲＩＴＥ間隔（タイミング仕様）は、２クロックサイクルになる。これは、図１３に示した従来よりも２クロックサイクル短縮されている。より詳細には、ＲＥＡＤ−ＷＲＩＴＥ間隔は、書き込みレイテインシが"２"のとき（後述）、データバス線およびデータ端子の競合が避けられるタイミングに設定されている。
【００４６】
コマンドデコーダ１２は、書き込みコマンドＷＲ７を受けて、書き込みコマンド信号ＷＲＩＴＥ１を４クロックサイクルの間活性化する（図３（ｌ））。書き込みタイミング生成回路１８は、書き込みコマンド信号ＷＲＩＴＥ１が活性化されている期間、クロック信号ＣＬＫ（内部クロック信号ＩＣＬＫ）に同期して書き込みコマンド信号（書き込みタイミング信号）ＷＲＩＴＥ２を生成する（図３（ｍ））。すなわち、書き込みコマンド信号ＷＲＩＴＥ２は、メモリバンクＢＡＮＫ０−ＢＡＮＫ３の数に対応して４回連続して活性化される。バンク選択回路２０は、書き込みコマンド信号ＷＲＩＴＥ２に同期してバンク選択信号ＢＫＳＥＬ２、ＢＫＳＥＬ３、ＢＫＳＥＬ０、ＢＫＳＥＬ１を順次活性化する（図３（ｎ））。そして、バンク選択信号ＢＫＳＥＬ２、ＢＫＳＥＬ３、ＢＫＳＥＬ０、ＢＫＳＥＬ１に応答してメモリバンクＢＡＮＫ２、ＢＡＮＫ３、ＢＡＮＫ０、ＢＡＮＫ１が、順次活性化される（図３（ｏ））。
【００４７】
バンク選択回路２０のＯＲゲート２０ａは、読み出しコマンド信号ＲＥＡＤ１および書き込みコマンド信号ＷＲＩＴＥ２に同期してシフト信号ＳＦＴを出力する。シフトレジスタ２０ｂは、シフト信号ＳＦＴに同期してシフト動作し、バンク選択信号ＢＫＳＥＬ０−ＢＫＳＥＬ３を順次活性化する。換言すれば、シフトレジスタ２０ｂは、読み出しコマンドおよび書き込みコマンドにかかわらずシフト動作して、バンク選択信号ＢＫＳＥＬ０−ＢＫＳＥＬ３を順次活性化し、読み出し動作または書き込み動作を実行するメモリバンクＢＡＮＫ０−ＢＡＮＫ３を、順次切り替える。このように、ＯＲゲート２０ａおよびシフトレジスタ２０ｂで構成される簡易なバンク選択回路２０を形成することで、ＲＥＡＤ−ＷＲＩＴＥ間隔を従来に比べ大幅に短縮できる。
【００４８】
書き込みコマンドＷＲ７の供給から２クロック後に書き込みデータＤ７が供給される（図３（ｐ））。すなわち、書き込みコマンドＷＲ７の供給から書き込みデータＤ７の供給までのクロック数である書き込みレイテインシは、"２"になる。書き込みデータレジスタ２２は、データバッファ１６を介して書き込みデータＤ７を取り込み、取り込んだ信号をラッチデータ信号ＬＤＡＴＡとして保持する（図３（ｑ））。
【００４９】
そして、メモリバンクＢＡＮＫ２、ＢＡＮＫ３、ＢＡＮＫ０、ＢＡＮＫ１が順次動作し、書き込みデータレジスタ２２に保持されたラッチデータ信号ＬＤＡＴＡがメモリセルに書き込まれる。すなわち、全てのメモリバンクＢＡＮＫ０−ＢＡＮＫ３に同一の書き込みデータＤ７が書き込まれる。
【００５０】
最初に書き込み動作を実行するメモリバンクＢＡＮＫ２は、書き込みコマンドＷＲ７の供給から４クロック目にアイドル状態になる。このため、メモリバンクＢＡＮＫ０−ＢＡＮＫ３の書き込み動作がずれて実行されるにもかかわらず、書き込みコマンドＷＲ７の供給から４クロック後に、読み出しコマンドＲＤ８を供給できる（図３（ｒ））。すなわち、１回の書き込みコマンドＷＲに必要な書き込みサイクルは、従来と同じ４クロックサイクルになる。
【００５１】
読み出しコマンドＲＤ８に応答してメモリバンクＢＡＮＫ２が動作し、読み出しデータＱ８が出力される（図３（ｓ））。その後、読み出しコマンドＲＤ９−ＲＤ１１が順次供給され、上述したように、メモリバンクＢＡＮＫ３、ＢＡＮＫ０、ＢＡＮＫ１が順次読み出し動作を実行し、読み出しデータＱ９−Ｑ１１が出力される（図３（ｔ））。
【００５２】
以上、本実施形態では、書き込みタイミング生成回路１８は、１回の書き込みコマンドＷＲに応答してメモリバンクＢＡＮＫ０−ＢＡＮＫ３の数に対応する回数だけ書き込みコマンド信号（書き込みタイミング信号）ＷＲＩＴＥ２を連続して生成した。バンク選択回路２０は、書き込み動作時に、書き込みタイミング信号ＷＲＩＴＥ２に同期して、バンク選択信号ＢＫＳＥＬ０−ＢＫＳＥＬ３を順次活性化した。このため、１回の書き込みコマンドＷＲに応答して、全てのメモリバンクＢＡＮＫ０−ＢＡＮＫ３に対する書き込み動作を、開始タイミングをずらしながら容易に実行できる。
【００５３】
全てのメモリバンクＢＡＮＫ０−ＢＡＮＫ３がアイドル状態になるのを待つことなく書き込み動作を開始できるため、読み出しコマンドＲＤの供給から書き込みコマンドＷＲの供給までの間隔を短縮できる。また、書き込みコマンドＷＲを挟んで読み出しコマンドＲＤが供給されるとき、読み出しコマンドＲＤの供給間隔を従来に比べ短縮でき、所定時間当たりのコマンドの供給数を増加することができる。従来に比べ、データ信号の頻繁に入出力できるため、データの転送レート（データバスの占有率）を向上できる。この結果、ＤＲＡＭが搭載されるシステムの性能を向上できる。
【００５４】
バンク選択回路２０を簡易なシフトレジスタ２０ｂにより構成したので、ＤＲＡＭのチップサイズを増大することなく、データの転送レートを向上できる。
図４は、本発明の半導体記憶装置の第２の実施形態を示している。第１の実施形態で説明した回路・信号と同一の回路・信号については、同一の符号を付し、これらについては、詳細な説明を省略する。
【００５５】
この実施形態は、第１の実施形態にレイトライト機能が追加されている。レイトライト機能とは、書き込みコマンドに対応して供給される書き込みデータを次の書き込みコマンドの供給時にメモリセルに書き込む機能である。レイトライト機能により、読み出しデータと書き込みデータとが競合するタイミングを減らせるため、データバスの使用効率が向上する。レイトライト機能のために、第１の実施形態に対して、遅延回路２４、書き込みレジスタ２６、アドレス切換回路２８、アドレス比較回路３０、データ切換回路３２、および転送ゲート３４が追加されている。その他の構成は、第１の実施形態とほぼ同一である。
【００５６】
遅延回路２４は、書き込みコマンド信号ＷＲＩＴＥ１を書き込みレイテインシ（この実施形態では"３"）に対応する時間だけ遅延させ、遅延させた信号を書き込みレジスタ２６に出力している。書き込みレジスタ２６は、遅延された書き込みコマンド信号ＷＲＩＴＥ１に同期して動作するアドレスレジスタ２６ａおよびデータレジスタ２６ｂを有している。アドレスレジスタ２６ａは、アドレス信号ＡＤＤ（内部アドレス信号ＩＡＤＤ）を保持し、保持した信号をラッチアドレス信号ＬＡＤＤとして出力する。データレジスタ２６ｂは、データ信号ＤＱ（書き込みデータ）を保持し、保持した信号をラッチデータ信号ＬＤＡＴＡとして出力する。
【００５７】
アドレス切換回路２８は、書き込みコマンド信号ＷＲＩＴＥ１が低レベルのときに内部アドレス信号ＩＡＤＤを選択し、書き込みコマンド信号ＷＲＩＴＥ１が高レベルのときにラッチアドレス信号ＬＡＤＤを選択する。このため、メモリバンクＢＡＮＫ０−ＢＡＮＫ３は、書き込み動作時にラッチアドレス信号ＬＡＤＤに応じて動作し、読み出し動作時に外部からのアドレス信号ＡＤＤに応じて動作する。
【００５８】
アドレス比較回路３０は、内部アドレス信号ＩＡＤＤとラッチアドレス信号ＬＡＤＤが同じときに、一致信号ＣＯＩＮを活性化（高レベル）する。アドレス比較回路３０により、書き込みアドレスが、書き込み動作を未だ実行していないメモリセルに対するものかどうかが判定される。
【００５９】
データ切換回路３２は、一致信号ＣＯＩＮが高レベルのときにラッチデータ信号ＬＤＡＴＡを選択し、選択した信号を読み出しデータとして出力し、一致信号ＣＯＩＮが低レベルのときにメモリバンクＢＡＮＫから読み出される内部データ信号ＤＱ（読み出しデータ）を選択し、選択信号を読み出しデータとして出力する。
【００６０】
転送ゲート３４は、書き込みコマンド信号ＷＲＩＴＥ１の高レベル時にラッチデータ信号ＬＤＡＴＡを内部データ信号（書き込みデータ）ＤＱとしてメモリバンクＢＡＮＫ０−ＢＡＮＫ３に伝達する。すなわち、書き込み動作は、データレジスタ２６ｂに保持されているラッチデータ信号ＬＤＡＴＡを使用して実行される。
【００６１】
図５は、上述したＤＲＡＭの動作を示している。図５では、第１の実施形態と同様に、読み出しコマンドＲＤ１−ＲＤ６が連続して供給された後、書き込みコマンドＷＲ７が供給され、さらに読み出しコマンドＲＤ８−ＲＤ１１が供給される例について説明する。読み出しコマンドＲＤ１−ＲＤ６に対応する読み出し動作は、図３と同じであるため、説明を省略する。
【００６２】
この実施形態のＤＲＡＭは、上述したようにレイトライト機能を有している。このため、書き込みコマンドＷＲ７の供給タイミングは、書き込みデータＤ７の供給タイミングに依存することなく設定できる。したがって、書き込みコマンドＷＲ７は、読み出しコマンドＲＤ６の供給後の次のクロック信号ＣＬＫに同期して供給できる。すなわち、この実施形態では、読み出しコマンドＲＤ６の供給から書き込みコマンドＷＲ７の供給までのＲＥＡＤ−ＷＲＩＴＥ間隔（タイミング仕様）は、１クロックサイクルになる。読み出しサイクルおよび書き込みサイクルは、第１の実施形態と同様にそれぞれ、１クロックサイクルおよび４クロックサイクルである。
【００６３】
図において、書き込みコマンド信号ＷＲＩＴＥ１は、書き込みコマンドＷＲ７に応答して４クロックサイクルの間活性化される（図５（ａ））。書き込みコマンド信号ＷＲＩＴＥ２は、書き込みコマンド信号ＷＲＩＴＥ１の活性化に対応して、４回連続して活性化される（図５（ｂ））。
【００６４】
転送ゲート３４は、書き込みコマンド信号ＷＲＩＴＥ１が活性化されている期間、ラッチデータ信号ＬＤＡＴＡをメモリバンクＢＡＮＫ０−ＢＡＮＫ３に伝達する。この例では、前回の書き込みコマンドに対応して供給された書き込みデータＤ０が、書き込みコマンドＷＲ７に同期して、全てのメモリバンクＢＡＮＫ０−ＢＡＮＫ３に順次書き込まれる（図５（ｃ））。
【００６５】
書き込みコマンドＷＲ７の供給から３クロック後に書き込みデータＤ７が供給される（図５（ｄ））。すなわち、書き込みレイテインシは、"３"に設定されている。書き込みレジスタ２６は、遅延された書き込みコマンド信号ＷＲＩＴＥ１に同期してアドレス信号および書き込みデータＤ７をラッチする（図５（ｅ））。書き込みレジスタ２６にラッチされた書き込みデータＤ７は、次の書き込みコマンドに応答してメモリバンクＢＡＮＫ０−ＢＡＮＫ３に書き込まれる（図示せず）。
【００６６】
書き込みコマンドＷＲ７の供給から４クロック後に、読み出しコマンドＲＤ８−ＲＤ１１が順次供給される（図５（ｆ））。読み出しコマンドＲＤ８−ＲＤ１１に応答してメモリバンクＢＡＮＫ２、ＢＡＮＫ３、ＢＡＮＫ０、ＢＡＮＫ１が順次読み出し動作を実行する。ここで、読み出しコマンドＲＤ９とともに供給されたアドレス信号ＡＤＤ（図示せず）が、アドレスレジスタ２６ａに保持されているラッチアドレス信号ＬＡＤＤと同じであるとする。
【００６７】
アドレス比較回路３０は、読み出しコマンドＲＤ９とともに供給されたアドレス信号ＡＤＤがラッチアドレス信号ＬＡＤＤと同じであることを検出し、一致信号ＣＯＩＮを活性化する（図５（ｇ））。すなわち、読み出しコマンドＲＤ９により読み出すべきデータは、未だメモリバンクＢＡＮＫ０−ＢＡＮＫ３に書き込まれていないと判断される。データ切換回路３２は、一致信号ＣＯＩＮの活性化を受けてデータレジスタ２６ｂに保持されているラッチデータ信号ＬＤＡＴＡ（書き込みデータＤ７）を読み出しデータとして出力する（図５（ｈ））。読み出しコマンドＲＤ８、ＲＤ１０、ＲＤ１１に対応する読み出し動作は、第１の実施形態と同様に実行される。
【００６８】
この実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、書き込みコマンドＷＲに対応して供給される書き込みアドレスおよび書き込みデータを保持する書き込みレジスタ２６、およびアドレス切替回路２８、転送ゲート３４を形成したので、書き込みコマンドに対応して供給された書き込みデータを、次の書き込みコマンドの供給時にメモリセルに書き込むことができる（レイトライト機能）。レイトライト機能により、読み出しデータと書き込みデータとが競合する組み合わせを減らせるため、データバスの使用効率をさらに向上できる。また、書き込みコマンドＷＲの供給タイミングを、書き込みデータの供給タイミングに依存することなく設定できる。この結果、データの転送レートをさらに向上できる。
【００６９】
アドレス比較回路３０、データ切替回路３２により、読み出しコマンドＲＤに応答して読み出すべきデータが、未だメモリバンクＢＡＮＫ０−ＢＡＮＫ３に書き込まれていない場合にも、正しい読み出しデータを確実に出力できる。
【００７０】
図６は、本発明の半導体記憶装置の第３の実施形態を示している。第１の実施形態で説明した回路・信号と同一の回路・信号については、同一の符号を付し、これらについては、詳細な説明を省略する。
【００７１】
この実施形態は、第１の実施形態から、書き込みタイミング生成回路１８が除外され、また、アドレスバッファ４０、ブロック選択デコーダ４２、アドレス比較回路＆アドレスレジスタ３２および書き込みデータレジスタ３３が追加され、また、メモリバンクＢＡＮＫ０−ＢＡＮＫ３がブロックＡ−ブロックＤにそれぞれ分割されている。更に、バンク選択回路２０の構成が一部異なっている。
【００７２】
バンク選択回路２０は、読み出し用と書き込み用のシフトレジスタ（バンク選択回路２０の２０ｂと同様のシフトレジスタ）を有している。また、読み出し用のレジスタには、バンクが書き込み中か否かを示す信号（書き込み動作中、“Ｈ”の状態になる信号でバンク毎に具備されている。）が入力されており、読み出しコマンドが入力された場合に対象となるメモリバンクをシフトする動作を行い、シフト後のメモリバンクが書き込み動作中であった場合には、更にもう一度シフトさせる動作を行う。そして、書き込み中でないメモリバンクがアクティブになるまでシフト動作を継続する。
【００７３】
一方、書き込みコマンドが入力された場合は、同様にシフトレジスタをシフトし、該当するバンクが読み出し動作中の場合、その動作の完了を待って書き込み動作を実行する。
【００７４】
アドレスバッファ４０は、アドレス端子を介して外部からアドレス信号ＡＤＤを受け、ブロック選択デコーダ４２に出力している。なお、アドレスバッファ１４にはメモリバンクＢＡＮＫ０−ＢＡＮＫ３を選択するためのアドレス信号Ａ０−Ａｎが入力され、アドレスバッファ４０にはメモリブロックＡ−Ｄを選択するためのアドレス信号Ｐ０−Ｐｎが入力される。
【００７５】
ブロック選択デコーダ４２は、アドレスバッファ４０から出力された信号に応じて、各メモリバンクＢＡＮＫ０−３から所定のメモリブロックＡ−Ｄを選択する。
【００７６】
アドレス比較回路＆アドレスレジスタ４４は、書き込みデータレジスタ４６と同一の個数だけ設けられ、現在書き込み中またはこれから書き込もうとするアドレスを保持しており、読み出し要求がなされた場合には、読み出し対象となっているアドレスと、レジスタに格納されているアドレスとを比較し、一致する場合にはアドレス一致情報を書き込みデータレジスタ４６に出力する。
【００７７】
書き込みデータレジスタ４６は、ブロック単位で設けられており、それぞれのブロックに対する書き込みデータをラッチして一時的に格納し、一定量のデータが格納された場合には、各バンクに対して出力する。また、書き込みデータレジスタ４６は、メモリセルに書き込む前のデータに対して読み出しコマンドが発行された場合には、該当するデータを読み出してデータバッファ１６に供給する。
【００７８】
図７は、書き込みデータレジスタ４６の詳細な図である。この図に示すように、書き込みデータレジスタ４６は、ブロックＡ−ブロックＤにそれぞれ対応する書き込みデータレジスタブロックＡ用６０ａ−書き込みデータレジスタブロックＤ用６０ｄ、書き込みデータレジスタブロックＡ用６１ａ−書き込みデータレジスタブロックＤ用６１ｄ、書き込みデータレジスタブロックＡ用６２ａ−書き込みデータレジスタブロックＤ用６２ｄならびにレイテインシカウンタ６３によって構成されている。
【００７９】
書き込みデータレジスタブロックＡ用６０ａは、データバッファ１６から供給された書き込みデータをレイテインシカウンタ６３からのポインタ信号に応じてラッチし、書き込みデータレジスタブロックＡ用６１ａに対して出力する。書き込みデータレジスタブロックＢ用６０ｂ−書き込みデータレジスタブロックＤ用６０ｄも同様の動作を行う。
【００８０】
一方、書き込みデータレジスタブロックＡ用６１ａは、書き込みデータレジスタブロックＡ用６０ａから出力された書き込みデータをラッチし、書き込みデータレジスタブロックＡ用６２ａに出力する。書き込みデータレジスタブロックＢ用６１ｂ−書き込みデータレジスタブロックＤ用６１ｄも同様の動作を行う。
【００８１】
また、書き込みデータレジスタブロックＡ用６２ａは、書き込みデータレジスタブロックＡ用６１ａから出力された書き込みデータをラッチし、各バンクに対して出力する。書き込みデータレジスタブロックＢ用６２ｂ−書き込みデータレジスタブロックＤ用６２ｄも同様の動作を行う。
【００８２】
なお、以下では、個別に特定して説明する以外は、「ブロック〜用」の表記を省略し、書き込みデータレジスタ６０ａ−６０ｄおよび書き込みデータレジスタ６１ａ−６１ｄと略記することにする。
【００８３】
レイテインシカウンタ６３は、アドレスバッファ１４，４０から入力されたアドレス信号を、ライトレイテインシに応じたサイクルだけ遅延して出力する。
次に、以上の実施形態の動作について説明する。
【００８４】
図８は、アドレス信号Ａ０−Ａｎおよびアドレス信号Ｐ０，Ｐ１と、ブロックＡ−Ｄの関係を示す図である。この図に示すように、第３の実施形態では、各メモリバンクＢＡＮＫ０−３は、ブロックＡ−Ｄの４つのブロックに分割されており、それぞれのブロックが同一のアドレスを有している。アドレス信号Ａ０−Ａｎは、各ブロックの所定の記憶領域を指定するための信号である。一方、アドレス信号Ｐ０，Ｐ１は、図８の上に示すように、ブロックＡ−Ｄのいずれかを選択するために使用される。例えば、Ｐ０，Ｐ１が双方ともに“Ｌ”である場合には、ブロックＡが選択される。
【００８５】
図９は、本発明の実施形態の動作を説明するタイミングチャートである。この図を参照して、以下に本実施形態の動作を説明する。図９では、読み出しコマンドＲＤ１−ＲＤ４が連続して供給された後、書き込みコマンドＷＲｉ，ＷＲｊが供給され、続いて、読み出しコマンドＲＤ５，ＲＤ６が供給され、書き込みコマンドＷＲｋが供給され、読み出しコマンドＲＤ７−ＲＤ９が供給され、最後に書き込みコマンドＷＲｌ，ＷＲｍが供給される例について説明する。なお、読み出しコマンドＲＤ１−ＲＤ４が入力される前には、８個の書き込みコマンドが入力され、それぞれの書き込みコマンドに対応するデータＤａ−Ｄｄがレジスタ６１ａ−６１ｄに、また、データＤｅ−Ｄｈがレジスタ６０ａ−６０ｄに格納された状態であるとする。図９では、書き込みデータレジスタ６２ａ−６２ｄをレジスタ１（Ａ）−（Ｄ）と表記し、また、書き込みデータレジスタ６１ａ−６１ｄをレジスタ２（Ａ）−（Ｄ）と表記し、さらに、レジスタ６０ａ−６０ｄをレジスタ３（Ａ）−（Ｄ）と表記している。
【００８６】
なお、読み出しコマンドＲＤ１−ＲＤ４に対応する読み出し動作は、図３と同じであるため、説明を省略する。
この実施形態のＤＲＡＭは、図４の場合と同様にレイトライト機能を有している。このため、書き込みコマンドＷＲｉの供給タイミングは、書き込みデータＤｉの供給タイミングに依存することなく設定できる。したがって、書き込みコマンドＷＲｉは、読み出しコマンドＲＤ４の供給後の次のクロック信号ＣＬＫに同期して供給できる（図９（ａ））。すなわち、この実施形態では、読み出しコマンドＲＤ４の供給から書き込みコマンドＷＲｉの供給までのＲＥＡＤ−ＷＲＩＴＥコマンド間隔（タイミング仕様）は、１クロックサイクルになる。なお、読み出しサイクルは、第１および第２の実施形態と同様に１クロックサイクルである。なお、読み出しコマンドＲＤ４が入力された時点では、バンク選択回路２０の読み出し用シフトレジスタと書き込み用シフトレジスタはともにメモリバンクＢＡＮＫ３を選択しているものとする。
【００８７】
書き込みコマンドＷＲｉが入力されると、バンク選択回路２０は、書き込み用のシフトレジスタをインクリメントするので、メモリバンクＢＡＮＫ０を選択する。このとき、レジスタ６１ａ−６１ｄには全てデータが格納されているので、レジスタ６１ａ−６１ｄに格納されているデータは、レジスタ６２ａ−６２ｄに移動される（図９（ｂ））。
【００８８】
一方、データレジスタ６０ａ−６０ｄに格納されているデータも同様にして、データレジスタ６１ａ−６１ｄに移動される。
レジスタ６２ａ−６２ｄに移動されたデータは、メモリバンクＢＡＮＫ０のそれぞれのブロックＡ−Ｄに対して書き込まれる（図９（ｄ））。また、書き込みコマンドＷＲｊに対応する書き込みデータＤｉは、レジスタ６０ｂに格納される（図９（ｅ））。
【００８９】
続いて、書き込みコマンドＷＲｊが入力されると（図９（ｆ））、バンク選択回路２０は、書き込み用シフトレジスタをインクリメントするので、メモリバンクＢＡＮＫ１が選択され、レジスタ６２ａ−６２ｄに格納されているデータがブロックＡ−Ｄにそれぞれ書き込まれる（図９（ｇ））。また、書き込みコマンドＷＲｊに対応する書き込みデータＤｊは、レジスタ６０ｃに格納される（図９（ｈ））。
【００９０】
続いて、読み出しコマンドＲＤ５が入力されると（図９（ｉ））、このとき、バンク選択回路２０の読み出し用シフトレジスタの値がインクリメントされて“０”になる。しかし、メモリバンクＢＡＮＫ０は現在書き書き込み動作中であるので、読み出し用シフトレジスタが再度インクリメントされ“１”となる。しかし、メモリバンクＢＡＮＫ１も現在書き込み動作中であることから、読み出し用シフトレジスタが再度インクリメントされ、書き込み動作中でないメモリバンクＢＡＮＫ２からデータが読み出される（図９（ｊ））。
【００９１】
続いて、読み出しコマンドＲＤ６が入力されると（図９（ｋ））、バンク選択回路２０の読み出し用シフトレジスタの値がインクリメントされて“３”になるので、メモリバンクＢＡＮＫ３からデータが読み出されることになる（図９（ｌ））。
【００９２】
続いて、書き込みコマンドＷＲｋが入力されると（図９（ｍ））、バンク選択回路２０の書き込み用シフトレジスタの値がインクリメントされて“２”になるが、メモリバンクＢＡＮＫ２は読み出しコマンドＲＤ５に対応する読み出し動作中であることから、読み出し動作が終了するのを待って書き込み動作を実行する（図９（ｎ））。
【００９３】
続いて、読み出しコマンドＲＤ７が入力されると（図９（ｏ））、バンク選択回路２０の読み出し用シフトレジスタの値がインクリメントされて“０”になるので、メモリバンクＢＡＮＫ０からデータが読み出されることになる（図９（ｐ））。
【００９４】
次に、読み出しコマンドＲＤ８が入力されると（図９（ｑ））、バンク選択回路２０の読み出し用シフトレジスタの値がインクリメントされて“１”になるので、メモリバンクＢＡＮＫ１からデータが読み出されることになる（図９（ｒ））。
【００９５】
次に、読み出しコマンドＲＤ９が入力されると（図９（ｓ））、バンク選択回路２０の読み出し用シフトレジスタの値がインクリメントされて“２”になるが、メモリバンクＢＡＮＫ２はＷＲｋに対応する書き込み動作中であるので、読み出し用シフトレジタの値を再度インクリメントし、メモリバンクＢＡＮＫ３からデータを読み出す（図９（ｔ））。
【００９６】
続いて、書き込みコマンドＷＲｌが入力されると（図９（ｕ））、バンク選択回路２０の書き込み用シフトレジスタの値がインクリメントされて“３”になるが、メモリバンクＢＡＮＫ３は読み出しコマンドＲＤ９に対応する読み出し動作中であることから、読み出し動作が終了するのを待って書き込み動作を実行する（図９（ｖ））。
【００９７】
続いて、書き込みコマンドＷＲｍが入力されると（図９（ｗ））、レジスタ６１ａ−６１ｄに格納されているデータは、レジスタ６２ａ−６２ｄに移動される（図９（ｘ））。
【００９８】
一方、データレジスタ６０ａ−６０ｄに格納されているデータも同様にして、データレジスタ６１ａ−６１ｄに移動される（図９（ｙ））。
レジスタ６２ａ−６２ｄに移動されたデータは、メモリバンクＢＡＮＫ０のそれぞれのブロックＡ−Ｄに対して書き込まれる（図９（ｚ））。
【００９９】
図１０は、第３の実施の形態におけるアドレス信号Ｐ０，Ｐ１と、ブロックとの関係を示す図である。図１０（Ａ）は、書き込みコマンドとともに入力されるアドレス（Ａ０−Ａｎ）が４回とも全て同一の場合（＃○○○の場合）を示す図である。このように、４回のアドレスが全て同一である場合には、各ブロックの対応する領域にそれぞれ格納され、これらは個別のデータとして独立して読み出しまたは書き込みすることが可能になる。
【０１００】
また、図１０（Ｂ）は、４回のアドレスが同一でない場合（＃○○○、＃○×△、＃□△○、＃○×□の場合）の例である。この場合には、データは各ブロックの異なる場所に格納されることになる。
【０１０１】
以上に説明したように、この実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。
さらに、この実施形態では、全てのメモリセルに書き込みデータを書き込むまでの間（４ライトコマンドの間）、書き込みデータをレジスタに保持し、アドレスを比較することで、メモリセルに書き込まれていない書き込みデータについては、レジスタから読み出し、書き込まれている場合には、メモリセルから読み出しを行うようにしたので、ＷＲＩＴＥ−ＲＥＡＤコマンド間隔を短縮することが可能になる。
【０１０２】
なお、このような方法だけでは、書き込みデータはレジスタに溜まり続けてしまい、問題が生じる。そこで、複数のアドレスデータ（本実施形態では４コマンド分）を一括して書き込むことで、そのような問題を解消した。つまり、１回の書き込みコマンドで、直前のライトコマンドまでに格納している４コマンド分のデータを書き込むことができるようにしている。
【０１０３】
次に、本発明の第４の実施形態の構成例について説明する。図１１は、本発明の第４の実施形態の構成例を示す図である。第３の実施形態で説明した回路・信号と同一の回路・信号については、同一の符号を付し、これらについては、詳細な説明を省略する。
【０１０４】
この実施形態では、第３の実施形態のアドレスバッファ４０およびブロック選択デコーダ４２がポインタバッファ５０およびブロック選択デコーダ５２に置換されている。それ以外の構成は、第３の実施形態の場合と同様である。
【０１０５】
ポインタバッファ５０は、アドレス信号Ｐ０，Ｐ１をアドレスとしてではなく、ポインタとして入力し、ブロック選択デコーダ５２に出力する。ブロック選択デコーダ５２は、ポインタバッファ５０から供給されたアドレス信号Ｐ０，Ｐ１をデコードし、該当するブロックを選択する信号を生成し、各バンクメモリへ供給する。
【０１０６】
次に、以上の実施形態の動作を説明する。図１２は、第４の実施形態のポインタとアドレスとの関係を示す図である。
本発明の第４の実施形態では、ポインタは、書き込むブロックを示すためのものであり、図１２の上に示すように、アドレス信号Ｐ０，Ｐ１の状態により、ブロックＡ−Ｄのいずれかひとつを選択する。この実施形態では、ポインタは書き込むブロックを指定するためのもので、第３の実施形態のようにアドレスを指定するものではない。
【０１０７】
従って、図１２（Ａ）に示すように、入力されるアドレスが４回とも全て同一である場合には、各ブロックの同一のアドレスに格納される。即ち、同一アドレスに４つの格納場所が存在している状態となる。
【０１０８】
一方、４回のアドレスが異なる場合には、図１２（Ｂ）に示すように、各ブロックの異なるアドレスに格納されることになる。
なお、読み出し時においては、ポインタをインクリメントする必要はなく、ランダムなアドレス信号を入力することができるので、ランダムアクセスが可能になる。
【０１０９】
なお、これ以外の動作は、第３の実施形態と同様であるので、その説明は省略する。
この実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。
【０１１０】
また、この実施の形態においても、上述した第３の実施形態と同様に、ＷＲＩＴＥ−ＲＥＡＤコマンド間隔およびＷＲＩＴＥ−ＷＲＩＴＥコマンド間隔も短縮することができるという効果を得る。
【０１１１】
さらに、アドレス信号Ｐ０，Ｐ１をポインタとして使用するようにしたので、第３の実施の形態とは異なり、ランダムアクセスが可能になる。すなわち、メモリバンクに書き込む際には、アドレス信号Ｐ０，Ｐ１をインクリメントしてブロックＡ−Ｄの全てに書き込む必要があるので、Ｐ０，Ｐ１についてもアドレス空間に含めてしまうと、データの書き込みの際にも、この部分がインクリメントされる方法でしか書き込みができなくなってしまう。しかしながら、第４の実施形態では、アドレス空間としてではなく、ポインタとして使用することから、上述のような制限をうけることなく、ランダムにデータを書き込むことが可能になる。
【０１１２】
なお、上述した実施形態では、本発明をクロック同期式のＤＲＡＭに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明をクロック同期式のＳＲＡＭに適用してもよい。ＳＲＡＭは、元々ランダムアクセス性に優れているが、本発明の適用により、さらにデータ転送レートを向上できる。
【０１１３】
上述した実施形態では、本発明を読み出しコマンドおよび書き込みコマンドに応答して読み出し動作および書き込み動作を実行するＤＲＡＭに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明をアクティブコマンドによりメモリバンクを活性化し、その後供給される読み出しコマンドおよび書き込みコマンドに応答して読み出し動作および書き込み動作を実行するＤＲＡＭに適用してもよい。
【０１１４】
上述した第３および第４の実施形態では、一度に書き込むデータが４の場合を例に挙げて説明した。本発明はかかる実施形態に限定されるものではない。例えば、２，３または５以上の場合にも本発明を適用することが可能である。
【０１１５】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【０１１６】
【発明の効果】
所定時間当たりのコマンドの供給数を増加することができる。従来に比べ、データ信号を頻繁に入出力できるため、データの転送レート（データバスの占有率）を向上できる。この結果、半導体記憶装置が搭載されるシステムの性能を向上できる。
【０１１８】
読み出しデータと書き込みデータとが競合する組み合わせを減らせるため、データバスの使用効率が向上する。さらに、書き込みコマンドの供給タイミングを、書き込みデータの供給タイミングに依存することなく設定できる。この結果、データの転送レート（データバスの占有率）をさらに向上できる。
【０１１９】
レイトライト機能を有する場合に、読み出しコマンドにより読み出すべきデータが、未だメモリバンクに書き込まれていない場合にも、正しい読み出しデータを確実に出力できる。
【０１２０】
ＷＲＩＴＥ−ＲＥＡＤ間隔を短縮するとともに、アドレスレジスタおよびデータレジスタがあふれることを防止することができる。
【０１２２】
読み出そうとするブロックが書き込み動作中である場合には、他のブロックから読み出すようにしたので、データを迅速に読み出すことが可能になる。
【図面の簡単な説明】
【図１】第１の実施形態を示すブロック図である。
【図２】図１に示したバンク選択回路の詳細を示すブロック図である。
【図３】第１の実施形態の動作を示すタイミング図である。
【図４】第２の実施形態を示すブロック図である。
【図５】第２の実施形態の動作を示すタイミング図である。
【図６】第３の実施形態を示すブロック図である。
【図７】図６に示した書き込みデータレジスタの詳細を示すブロック図である。
【図８】アドレス信号と、メモリブロックの関係を示す図である。
【図９】第３の実施形態の動作を示すタイミング図である。
【図１０】第３の実施の形態におけるアドレス信号Ｐ０，Ｐ１と、ブロックとの関係を示す図である。
【図１１】第４の実施形態の動作を示すタイミング図である。
【図１２】第４の実施の形態におけるアドレス信号Ｐ０，Ｐ１と、ブロックとの関係を示す図である。
【図１３】従来の半導体記憶装置の動作を示すタイミング図である。
【符号の説明】
１０  クロックバッファ
１２  コマンドデコーダ
１４  アドレスバッファ
１６  データバッファ
１８  書き込みタイミング生成回路
２０  バンク選択回路
２０ａ  ＯＲゲート
２０ｂ  シフトレジスタ
２２  書き込みデータレジスタ
２４  遅延回路
２６  書き込みレジスタ
２６ａ  アドレスレジスタ
２６ｂ  データレジスタ
２８  アドレス切換回路
３０  アドレス比較回路
３２  データ切換回路
３４  転送ゲート
４０  アドレスバッファ
４２  ブロック選択デコーダ
４４  アドレス比較回路＆アドレスレジスタ
４６  書き込みデータレジスタ
５０  ポインタバッファ
５２  ブロック選択デコーダ
６０ａ−６０ｄ  書き込みデータレジスタ
６１ａ−６１ｄ  書き込みデータレジスタ
６２ａ−６２ｄ  書き込みデータレジスタ
６３  レイテインシカウンタ
ＡＤＤ  アドレス信号
ＢＡＮＫ０−ＢＡＮＫ３  メモリバンク
ＢＫＳＥＬ０−ＢＫＳＥＬ３  バンク選択信号
ＣＬＫ  クロック信号
ＣＭＤ  コマンド信号
ＤＱ  データ信号
ＩＡＤＤ  内部アドレス信号
ＩＣＬＫ  内部クロック信号
ＣＯＩＮ  一致信号
ＩＤＱ  内部データ信号
ＬＡＤＤ  ラッチアドレス信号
ＬＤＡＴＡ  ラッチデータ信号
ＲＥＡＤ１  読み出しコマンド信号
ＷＲＩＴＥ１  書き込みコマンド信号
ＷＲＩＴＥ２  書き込みコマンド信号（書き込みタイミング信号）
【図１】
0004197880.tif 000002
【図２】
0004197880.tif 000003
【図３】
0004197880.tif 000004
【図４】
0004197880.tif 000005
【図５】
0004197880.tif 000006
【図６】
0004197880.tif 000007
【図７】
0004197880.tif 000008
【図８】
0004197880.tif 000009
【図９】
0004197880.tif 000010
【図１０】
0004197880.tif 000011
【図１１】
0004197880.tif 000012
【図１２】
0004197880.tif 000013
【図１３】
0004197880.tif 000014