(57)【特許請求の範囲】
【請求項１】
複数のバンクを有する半導体記憶装置において、
前記複数のバンクを相互に接続する複数ビット幅を有するバスと、
前記複数のバンクの第１のバンクとの間で前記バスを用いてデータを転送する第１のデータ転送手段と、
前記複数のバンクの前記第１のバンクとは異なる第２のバンクとの間で前記バスを用いてデータを転送する第２のデータ転送手段と、
前記第１のデータ転送手段が前記バスの複数のビットの一部を用いてデータを転送し、前記第２のデータ転送手段が前記バスの複数のビットの前記第１のデータ転送手段が未使用のビットの一部または全部を用いてデータを転送する第１の転送モードと、前記第１または第２のデータ転送手段の何れかが前記バスの複数のビットの全部を用いてデータを転送する第２の転送モードとを、バースト転送されるデータの個数に応じて切り替える制御手段と、
を有することを特徴とする半導体記憶装置。
【請求項２】
前記第１または第２のデータ転送手段によるデータの転送中に、新たなコマンドの入力を禁止するコマンド入力禁止手段を更に有することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記第１のデータ転送手段は、前記バスの複数のビットの何れのビットを用いて前記第１のバンクのデータを転送するかを選択する第１のスイッチ素子群を有し、
前記第２のデータ転送手段は、前記バスの複数のビットの何れのビットを用いて前記第２のバンクのデータを転送するかを選択する第２のスイッチ素子群を有し、
前記第１の転送モードにおいて、前記第１および第２のスイッチ素子群の一方は、前記第１および第２のスイッチ素子群の他方のスイッチ素子群で選択されなかったビットを選択することを特徴とする請求項１記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体記憶装置に関し、特に、複数のバンクを具備し、単一のコマンドの入力により、所定のバンク内の複数のデータを連続してアクセスするバースト転送モードを有する半導体記憶装置に関する。
【背景技術】
【０００２】
半導体記憶装置のアクセスを高速化する技法のひとつにバンクインターリーブがある。
バンクインターリーブでは、メモリ全体を複数のバンクに分割して管理する。ＣＰＵがあるバンクへアクセスし始めたら、次にアクセスされる他のバンクへのアクセスを開始する。ＣＰＵによる最初のアクセスが終了する頃には、別のバンクがデータを既に転送できる状態になっているので、ＣＰＵは遅滞なくデータを転送することができる。
【０００３】
図１１は、従来におけるバンクインターリーブの動作を示すタイミングチャートであり、図１２は、そのようなバンクインターリーブを実現する回路の一例を示す図である。
ここで、図１２に示す、ＣＬＫ（Clock）入力端子１は、外部からＣＬＫ信号の入力を受ける。ＣＭＤ（Command）入力端子２は、外部からＣＭＤ信号の入力を受ける。ＡＤＤ（Address）入力端子３は、外部からＡＤＤ信号の入力を受ける。
【０００４】
ＣＬＫ入力回路４は、ＣＬＫ入力端子１から入力されたＣＬＫ信号を、ＣＭＤ入力回路５、ＡＤＤ入力回路６、および、バースト長カウンタ９へ供給する。
ＣＭＤ入力回路５は、ＣＭＤ入力端子２から入力されたＣＭＤ信号を、波形整形してＣＭＤデコーダ７に供給する。
【０００５】
ＡＤＤ入力回路６は、ＡＤＤ入力端子３から入力されたＡＤＤ信号を、波形整形してバースト長判定回路８、バーストアドレス発生回路１０、および、アドレス取り込み回路１１に供給する。
【０００６】
ＣＭＤデコーダ７は、ＣＭＤ信号をデコードし、ＲＤ（Read）コマンド、ＷＲ（Write）コマンド、および、ＮＯＰ（No Operation）コマンドを抽出し、バースト長カウンタ９およびアドレス取り込み回路１１に供給する。
【０００７】
バースト長判定回路８は、例えば、装置の起動時等において、バースト長を設定するためのコマンドが入力された場合には、そのコマンドを解析して、設定されたバースト長を判定する。
【０００８】
バースト長カウンタ９は、ＲＤコマンドまたはＷＲコマンドが入力され、バースト転送が開始された場合には、バーストアドレス発生回路１０をリセット（ＲＥＳＥＴ）するとともに、ＣＬＫ信号に応じてバースト長をカウントし、バーストアドレス発生回路１０に対してバーストアドレスをカウントアップ（ＵＰ）するように要求する。また、カウント値がバースト長と等しくなった場合には、バーストアドレスの発生を終了するように要求する。
【０００９】
アドレス取り込み回路１１は、ＣＭＤデコーダ７から供給されたＣＭＤを参照し、バースト転送開始時には、ＡＤＤ入力回路６から供給されるＡＤＤを選択して内部アドレスＩＡＤＤとして出力する。また、２ビット以降の転送については、バーストアドレス発生回路１０からの出力を選択し、内部アドレスＩＡＤＤとして出力する。
【００１０】
次に、図１１を参照して、以上の従来例の動作について説明する。
装置が起動された場合において、ＣＭＤ入力端子２に対してバースト長を設定するためのＭＲＳ（Mode Register Set）コマンドが入力された後、ＡＤＤ入力端子３に対して設定しようとするバースト長を示すデータが入力されると、ＣＭＤデコーダ７はバースト長の設定が要求されていることを認知し、バースト長判定回路８にその旨を通知する。
【００１１】
バースト長判定回路８は、ＡＤＤ入力回路６から供給されたデータを参照し、設定しようとするバースト長を判定する。例えば、バースト長として“４”が要求されている場合には、バースト長判定回路８はこれを了知し、バースト長カウンタ９に通知する。以上のような処理によりバースト長の設定が完了する。
【００１２】
このような状態において、図１１（Ａ）に示すＣＬＫ信号の第０番目の立ち上がりエッジで、所定のバンクについてのバースト転送を要求するＲＤ１コマンド（図１１（Ｂ）参照）がＣＭＤ入力端子２に入力されたとすると、ＣＭＤデコーダ７はＣＭＤ入力回路５を介してこの信号を取得し、ＲＤコマンドが入力されたことを了知し、バースト長カウンタ９およびアドレス取り込み回路１１に通知する。
【００１３】
バースト長カウンタ９は、バーストアドレス発生回路１０に対してバースト転送の要求があった旨を通知し、バースト転送を行う先頭アドレスを設定させる。
バーストアドレス発生回路１０は、バースト長カウンタ９からの要求に応じて、ＡＤＤ入力回路６からバースト転送の先頭アドレスを取得し、バースト長カウンタ９からのカウントアップ要求に応じてアドレスをカウントアップし、バーストアドレス（ＢＡＤＤ）として、アドレス取り込み回路１１に供給する。
【００１４】
アドレス取り込み回路１１は、バースト転送の先頭のアドレスについてはＡＤＤ入力回路６から直接取得し、内部アドレスＩＡＤＤとして出力する。また、２ビット以降のデータについては、バーストアドレス発生回路１０から出力されるＢＡＤＤを選択し、内部アドレスＩＡＤＤとして出力する。
【００１５】
以上のようにして生成された一連のアドレスからデータが読み出され、外部に連続して出力されることになる（図１１（Ｃ）参照）。
いまの例では、ＲＤ１コマンドにより、バースト転送が要求されているので、所定のアクセス時間が経過すると、図示せぬセルからデータＱ１１〜Ｑ１４が読み出され、出力されることになる。
【発明の概要】
【発明が解決しようとする課題】
【００１６】
ところで、以上に示す従来例においては、バースト転送中のインタラプトが許容されていた。即ち、バースト転送実行中に、他のコマンドが入力された場合には、最後のコマンドを優先的に実行するために、実行中のコマンドの実施を中止する構成となっていた。
【００１７】
具体的に説明すると、図１１に示すＲＤ２コマンドが入力されて、このコマンドに対するデータを転送中に、ＲＤ３コマンドが入力されたとすると、ＲＤ２コマンドに対応するデータＱ２２の転送が終了した時点で、インターリーブがなされて、ＲＤ３コマンドに対応するデータＱ３１の転送が開始される。
【００１８】
しかしながら、このようなインターリーブを許容するためには、バースト転送中においても、新たに入力されるコマンドに対するチェックを行う必要があり、また、バースト転送が要求された場合にはＡＤＤ入力回路６からのＡＤＤまたはバーストアドレス発生回路１０からのＢＡＤＤの何れかを選択する処理が必要になっていた。その結果、以上のような判断処理が必要になることから、高速動作に対するマージンが十分に確保できないという問題点があった。
【００１９】
また、半導体記憶装置は、設定可能な最大バースト長に応じたビット幅のデータバスを有することが一般的である。例えば、最大バースト長が４ビットである場合には、４ビットの幅のデータバスを有する場合が多い。
【００２０】
ところで、バースト長を４ビットに設定した場合には、４ビットのデータを送出するのに必要な時間（例えば、２ＣＬＫ）中にデータを転送すればよい。しかしながら、バースト長を２ビットに設定した場合には、２ビットのデータを送出するのに必要な時間（例えば、１ＣＬＫ）中にデータを転送しなければならない。従って、最低のバースト長が設定された場合には、動作のマージンの確保が困難であり、高速動作に適しないという問題点があった。
【００２１】
本発明はこのような点に鑑みてなされたものであり、高速動作を可能とする半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明では上記課題を解決するために、図１に示す、複数のバンク１０４を具備し、単一のコマンドの入力により、所定のバンク内の複数のデータを連続してアクセスするバースト転送モードを有する半導体記憶装置において、前記コマンドの入力を受けるコマンド入力手段１００と、前記コマンドに対応する所定のバンクを選択するバンク選択手段１０１と、前記バンク選択手段１０１によって選択されたバンクを対象としてバースト転送を実行するバースト転送手段１０２と、前記バースト転送手段１０２によるバースト転送中に、前記コマンド入力手段１００が新たなコマンドの入力を受けることを禁止するコマンド入力禁止手段１０３と、を有することを特徴とする半導体記憶装置が提供される。
【００２３】
ここで、コマンド入力手段１００は、コマンドの入力を受ける。バンク選択手段１０１は、コマンドに対応する所定のバンクを選択する。バースト転送手段１０２は、バンク選択手段１０１によって選択されたバンクを対象としてバースト転送を実行する。コマンド入力禁止手段１０３は、バースト転送手段１０２によるバースト転送中に、コマンド入力手段１００が新たなコマンドの入力を受けることを禁止する。
【００２４】
また、複数のバンクを有する半導体記憶装置において、前記複数のバンクを相互に接続する複数ビット幅を有するバスと、所定のバンクとの間で前記複数ビット幅を有するバスの一部を用いてデータを転送する第１のデータ転送手段と、他のバンクとの間で前記所定のバンクが未使用のビットの一部または全部を用いてデータを転送する第２のデータ転送手段と、を有することを特徴とする半導体記憶装置が提供される。
【００２５】
ここで、バスは、複数のバンクを相互に接続する複数ビットを有する。第１のデータ転送手段は、所定のバンクとの間で複数ビット幅を有するバスの一部を用いてデータを転送する。第２のデータ転送手段は、他のバンクとの間で第１のバンクが未使用のビットの一部または全部を用いてデータを転送する。
【発明の効果】
【００２６】
本発明では、複数のバンクを具備し、単一のコマンドの入力により、所定のバンク内の複数のデータを連続してアクセスするバースト転送モードを有する半導体記憶装置において、コマンドの入力を受けるコマンド入力手段と、コマンドに対応する所定のバンクを選択するバンク選択手段と、バンク選択手段によって選択されたバンクを対象としてバースト転送を実行するバースト転送手段と、バースト転送手段によるバースト転送が開始された場合には、コマンド入力手段が新たなコマンドの入力を受けることを禁止するコマンド入力禁止手段と、を設けるようにしたので、高速動作時においても安定な動作を実現することが可能になる。
【００２７】
また、複数のバンクを有する半導体記憶装置において、複数のバンクを相互に接続するｎビットの幅を有するバスと、所定のバンクとの間でｎビットの幅を有するバスの一部を用いてデータを転送する第１のデータ転送手段と、他のバンクとの間で第１のバンクが未使用のビットの一部または全部を用いてデータを転送する第２のデータ転送手段と、を設けるようにしたので、最大バースト長を下回るバースト長を設定した場合でも安定に動作することが可能になる。
【図面の簡単な説明】
【００２８】
【図１】本発明の動作原理を説明するための原理図である。
【図２】本発明の実施の形態の構成例を示す図である。
【図３】図２に示す制御部の構成例を示す図である。
【図４】図２に示すＩ／Ｏ回路３５の詳細な構成例を示す図である。
【図５】図２に示すＩ／Ｏ回路４５の詳細な構成例を示す図である。
【図６】図２に示す実施の形態の動作の一例を示すタイミングチャートである。
【図７】図４に示す回路の動作を説明するためのタイミングチャートである。
【図８】図５に示す回路の動作を説明するためのタイミングチャートである。
【図９】図２に示す実施の形態の他の動作の一例を示すタイミングチャートである。
【図１０】インタラプトを許容した場合における動作の一例を示す図である。
【図１１】図１２に示す従来例の動作を示すタイミングチャートである。
【図１２】従来のバンクインターリーブを実現する回路の一例を示す図である。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の動作原理を説明する原理図である。この図において、コマンド入力手段１００は、外部からコマンドの入力を受ける。
【００３０】
バンク選択手段１０１は、バンク群１０４の中から、コマンドに対応する所定のバンクを選択する。
バースト転送手段１０２は、バンク選択手段１０１によって選択されたバンクを対象としてバースト転送を実行する。
【００３１】
コマンド入力禁止手段１０３は、バースト転送手段１０２によるバースト転送が開始された場合には、コマンド入力手段１００が新たなコマンドの入力を受けることを禁止する。
【００３２】
バンク群１０４は、複数の記憶素子がマトリクス状に配置されたセル、行・列デコーダ、および、センスアンプ等によって構成されるバンクの集合体であり、バンク選択手段１０１によって選択されたバンクを対象としてバースト転送がなされる。
【００３３】
次に、以上の原理図の動作について説明する。
コマンド入力手段１００から、例えば、ＲＤコマンドが入力され、所定のバンクに対するバースト転送が要求されたとする。すると、バンク選択手段１０１は、該当するバンクをバンク群１０４から選択する。
【００３４】
バースト転送手段１０２は、バンク選択手段１０１によって選択されたバンクを対象としてバースト転送を実行する。即ち、所定のバンクから複数のデータを一括して読み出し、外部に対して出力する。
【００３５】
バースト転送手段１０２によるバースト転送が開始されると、コマンド入力禁止手段１０３は、コマンド入力手段１００に対してコマンドの入力を禁止させる。その結果、コマンド入力手段１００は、バースト転送が完了するまでは新たなコマンドの入力を行わないので、コマンドに対するデコード処理を省略することができる。その結果、動作マージンを確保することが可能になるので、高速動作時においても安定して動作させることが可能になる。
【００３６】
以上に説明したように、本発明の半導体記憶装置によれば、バースト転送中は、コマンドの入力を禁止するようにしたので、コマンドのデコード処理を省略することにより、動作マージンを確保し、高速動作時においても安定した動作を期待することができる。
【００３７】
次に、本発明の実施の形態について説明する。
図２は、本発明の実施の形態の構成例を示す図である。この図に示すように、本発明の半導体記憶装置は、制御部２０、バンクＡ３０、バンクＢ４０によって構成されている。また、バンクＡ３０は、セル３１、列デコーダ３２、行デコーダ３３、ＳＡ（Sense Amplifier）３４、および、Ｉ／Ｏ（Input Output）回路３５によって構成されている。また、バンクＢ４０も同様に、セル４１、列デコーダ４２、行デコーダ４３、ＳＡ４４、および、Ｉ／Ｏ回路４５によって構成されている。
【００３８】
制御部２０は、ＣＬＫ信号、ＣＭＤ信号、ＡＤＤ信号、および、ＤＡＴＡ信号等を入力し、装置の各部に供給するとともに、データを転送する際には、所定のバンクを選択し、選択したバンクからデータを読み出したり、または、書き込んだりする動作を実行する。
【００３９】
バンクＡ３０のセル３１は、マトリクス状に配置された記憶素子群から構成されており、入力されたデータを記憶する。
行デコーダ３３は、データを入出力する際に、行アドレスに基づいてセル３１の所定の行を指定する。
【００４０】
列デコーダ３２は、データを入出力する際に、列アドレスに基づいてセル３１の所定の列を指定する。
ＳＡ３４は、セル３１から読み出された信号を所定のゲインで増幅し、ディジタルレベルの信号に変換する。
【００４１】
Ｉ／Ｏ回路３５は、データの入出力に関する制御を行う。
バンクＢ４０も同様の構成とされているので、その説明は省略する。
図３は、図２に示す制御部２０の詳細な構成例を示す図である。
【００４２】
ここで、ＣＬＫ入力端子１は、外部からＣＬＫ信号の入力を受ける。ＣＭＤ入力端子２は、外部からＣＭＤ信号の入力を受ける。ＡＤＤ入力端子３は、外部からＡＤＤ信号の入力を受ける。
【００４３】
ＣＬＫ入力回路４は、ＣＬＫ入力端子１から入力されたＣＬＫ信号を、波形整形した後、ＣＭＤ入力回路５、ＡＤＤ入力回路６、および、バースト長カウンタ９へ供給する。
ＣＭＤ入力回路５は、ＣＭＤ入力端子２から入力されたＣＭＤ信号を、波形整形してＣＭＤデコーダ７に供給する。
【００４４】
ＡＤＤ入力回路６は、ＡＤＤ入力端子３から入力されたＡＤＤ信号を、波形整形してバースト長判定回路８に供給する。
ＣＭＤデコーダ７は、バースト長カウンタ９から供給されるｅｎａｂｌｅ信号が“Ｈ”の状態である場合には、ＣＭＤ入力回路５からＣＭＤ信号を取得してデコードし、ＲＤコマンド、および、ＷＲコマンドを抽出し、バースト長カウンタ９に供給する。なお、ｅｎａｂｌｅ信号が“Ｈ”の状態でない場合には、ＣＭＤ信号の取得は行わない。
【００４５】
バースト長判定回路８は、例えば、装置の起動時において、バースト長を設定するためのコマンドが入力された場合には、そのコマンドを解析して、設定されたバースト長を判定する。
【００４６】
バースト長カウンタ９は、ＲＤコマンドまたはＷＲコマンドが入力され、バースト転送が開始された場合には、バーストアドレスをリセット（ＲＥＳＥＴ）するように要求し、ＣＬＫ信号に同期してバースト長をカウントするとともに、バーストアドレス発生回路５０に対してバーストアドレスをカウントアップ（ＵＰ）するように要求する。また、バースト転送が開始された場合には、ｅｎａｂｌｅ信号を“Ｌ”の状態にし、新たなコマンドの取得を禁止する。
【００４７】
アドレス取り込み回路５１は、バーストアドレス発生回路５０から供給されたバーストアドレスＢＡＡＤを波形整形した後、内部アドレスＩＡＤＤとして出力する。
図４は、図２に示すＩ／Ｏ回路３５の構成例である。この図に示すように、Ｉ／Ｏ回路３５は、インバータ６０〜６５、ＮＯＲ素子６６、ＣＭＯＳスイッチ６７，６８、ＮＯＲ素子とインバータによって構成されるＯＲ素子７０〜７３、ＮＡＮＤ素子とインバータによって構成されるＡＮＤ素子７４〜７７、および、ＭＯＳスイッチ８０〜８７，９０〜９７によって構成されている。
【００４８】
ここで、インバータ６０は、バースト長が“４”である場合に“Ｈ”の状態になるＢＬ４信号を反転して、ＡＮＤ素子７４，７５に供給する。
ＮＯＲ素子６６は、ＢＬ４信号とＲＤ／ＷＲ信号の論理和を反転した結果を、インバータ６１、および、ＣＭＯＳスイッチ６７，６８に供給する。
【００４９】
インバータ６１は、ＮＯＲ素子６６の出力を反転してＣＭＯＳスイッチ６７，６８に供給する。
ＣＭＯＳスイッチ６７は、ＮＯＲ素子６６の出力が“Ｈ”である場合にはＯＮの状態になる。
【００５０】
インバータ６２は、ＣＭＯＳスイッチ６７の出力を反転してＣＭＯＳスイッチ６８に供給する。インバータ６３は、インバータ６２の出力を反転してインバータ６２の入力に帰還する。
【００５１】
ＣＭＯＳスイッチ６８は、ＮＯＲ素子６６の出力が“Ｌ”である場合にはＯＮの状態になる。
インバータ６４は、ＣＭＯＳスイッチ６８の出力を反転してＯＲ素子７０およびＡＮＤ素子７４に供給する。インバータ６５は、インバータ６４の出力を反転してインバータ６４の入力に帰還する。
【００５２】
ここで、インバータ６１〜６５およびＣＭＯＳスイッチ６７，６８は分周回路を構成しており、入力されたＲＤ／ＷＲ信号を１／２分周して出力信号Ｎ１としてする。インバータ６４は、分周信号を反転し、出力信号Ｎ２として出力する。
【００５３】
ＯＲ素子７０は、インバータ６４の出力と、ＢＬ４信号の論理和を演算して出力する。
ＯＲ素子７１は、ＢＬ４信号と、ＣＭＯＳスイッチ６８の出力の論理和を演算して出力する。
【００５４】
ＯＲ素子７２は、上位ビットまたは下位ビットを選択するためのＡ＃信号とＢＬ４信号との論理和を演算した結果を出力する。
ＯＲ素子７３は、上位ビットまたは下位ビットを選択するためのＮＡ＃（“Ｎ”は反転信号であることを意味する）信号とＢＬ４信号との論理和を演算した結果を出力する。
【００５５】
ＡＮＤ素子７４は、インバータ６０の出力と、インバータ６４の出力との論理積を演算して出力する。
ＡＮＤ素子７５は、ＣＭＯＳスイッチ６８の出力と、インバータ６０の出力の論理積を演算して出力する。
【００５６】
ＡＮＤ素子７６は、ＯＲ素子７２の出力と、バンクを選択するためのＮＢＡ＃信号との論理積を演算して出力する。
ＡＮＤ素子７７は、ＯＲ素子７３の出力と、バンクを選択するためのＮＢＡ＃信号との論理積を演算して出力する。
【００５７】
ＭＯＳスイッチ８０，８１は、ＯＲ素子７０の出力であるＳＷ１ａ信号が“Ｈ”の状態になった場合にＯＮの状態になり、ＤＢ＃１，ＤＢ＃２とセンスアンプ３４の出力ａ，ｂとをそれぞれ接続する。
【００５８】
ＭＯＳスイッチ８２，８３は、ＡＮＤ素子７４の出力であるＳＷ１ｃ信号が“Ｈ”の状態になった場合にＯＮの状態になり、ＤＢ＃１，ＤＢ＃２とセンスアンプ３４の出力ｃ，ｄとをそれぞれ接続する。
【００５９】
ＭＯＳスイッチ８４，８５は、ＡＮＤ素子７５の出力であるＳＷ３ａ信号が“Ｈ”の状態になった場合にＯＮの状態になり、ＤＢ＃３，ＤＢ＃４とセンスアンプ３４の出力ａ，ｂとをそれぞれ接続する。
【００６０】
ＭＯＳスイッチ８６，８７は、ＯＲ素子７１の出力であるＳＷ３ｃ信号が“Ｈ”の状態になった場合にＯＮの状態になり、ＤＢ＃３，ＤＢ＃４とセンスアンプ３４の出力ｃ，ｄとをそれぞれ接続する。
【００６１】
ＭＯＳスイッチ９０〜９３は、ＡＮＤ素子７６の出力が“Ｈ”の状態になった場合にＯＮの状態になり、ＭＯＳスイッチ８０，８４，８１，８５と、センスアンプ３４の出力ａ，ｂとをそれぞれ接続する。
【００６２】
ＭＯＳスイッチ９４〜９７は、ＡＮＤ素子７７の出力が“Ｈ”の状態になった場合にＯＮの状態になり、ＭＯＳスイッチ８２，８６，８３，８７と、センスアンプ３４の出力ｃ，ｄとをそれぞれ接続する。
【００６３】
図５は、図２に示すＩ／Ｏ回路４５の詳細な構成例を示す図である。なお、この図において、図４に示す場合と対応する部分には同一の符号を付してあるので、その説明は省略する。
【００６４】
Ｉ／Ｏ回路４５では、Ｉ／Ｏ回路３５に比較して、ＡＮＤ素子７６，７７に入力されるＮＢＡ＃信号がＢＡ＃信号に変更されている。
また、図の右下に記載されているセンスアンプの出力であるＱＡがＱＢに変更されている。
【００６５】
なお、その他の構成は図４の場合と同様である。
次に、以上の実施の形態の動作について説明する。
半導体記憶装置が起動され、ＣＭＤ入力端子２からバースト長を設定するためのモードレジスタセットコマンドが入力されると、ＣＭＤデコーダ７はバースト長の設定が要求されていることを検知し、バースト長判定回路８に通知する。
【００６６】
バースト長判定回路８は、ＡＤＤ入力端子３から入力されるバースト長を設定するためのデータを取得し、バースト長を判定する。例えば、バースト長として“２”が入力されたとすると、バースト長判定回路８はこれを了知し、バースト長カウンタ９に通知する。
【００６７】
以上の動作により、バースト長が設定されることになる。
次に、以上のような動作により、バースト長が“２”に設定された場合の詳細な動作について以下に説明する。
【００６８】
図６（Ａ）に示す第０番目のクロックの立ち上がりエッジにおいて、図６（Ｂ）に示す、バンクＢ４０からデータの読み出しを要求するＲＤＢコマンドがＣＭＤ入力端子２に供給されると、ＣＭＤデコーダ７は、ＣＭＤ入力回路５を介してこのＲＤＢコマンドを取り込み、デコードする。その結果、ＣＭＤデコーダ７は、バンクＢ４０からのデータの読み出しが要求されている旨を認知し、バースト長カウンタ９に通知する。
【００６９】
バースト長カウンタ９は、バーストアドレス発生回路５０に対してリセットＲＥＳＥＴ信号を供給する。その結果、バーストアドレス発生回路５０は、ＡＤＤ入力回路６から供給された、バースト転送の先頭を示すアドレスを取得し、ＢＡＤＤとして出力するとともに、バースト長カウンタ９がＣＬＫに同期して供給するＵＰ信号に同期して先に取り込んだアドレスをカウントアップし、２ビット以降のＢＡＤＤとして出力する。
【００７０】
アドレス取り込み回路５１は、バーストアドレス発生回路５０から供給されるＢＡＤＤを波形整形し、内部アドレスＩＡＤＤとして出力する。
アドレス取り込み回路５１から出力された内部アドレスＩＡＤＤは、制御部２０において、ＤＢ＃１〜ＤＢ＃４の選択に利用される。
【００７１】
なお、バースト長カウンタ９は、バースト転送中は、ＣＭＤデコーダ７に供給するｅｎａｂｌｅ信号を“Ｌ”の状態にする。ＣＭＤデコーダ７は、ｅｎａｂｌｅ信号が“Ｌ”の状態である場合には、ＣＭＤ入力回路５からの新たなコマンドの取得を保留するので、バースト転送が開始された場合には新たなコマンドの入力が禁止されることになる。
【００７２】
ところで、いまの例では、ＲＤＢに対応する動作であり、バンクＢ４０がデータの読み出しの対象として指定されているので、図８（Ｈ）に示すようにＢＡ＃信号は、“Ｈ”の状態になっており、図７（Ｈ）に示すようにＮＢＡ＃信号は、“Ｌ”の状態になっている。従って、図４に示すバンクＡ３０のＡＮＤ素子７６，７７の出力は、“Ｌ”の状態となるので、ＭＯＳスイッチ９０〜９７は全てＯＦＦの状態になり、ＤＢ＃１〜ＤＢ＃４への出力は遮断される。
【００７３】
一方、図５に示すバンクＢ４０のＩ／Ｏ回路４５では、ＢＬ４信号が“Ｌ”であるので、ＯＲ素子７２，７３の出力は、Ａ＃信号およびＮＡ＃信号に応じて“Ｈ”または“Ｌ”の状態になる。具体的には、Ａ＃信号が“Ｈ”である場合にはＯＲ素子７２の出力は“Ｈ”、ＯＲ素子７３の出力は“Ｌ”になる。また、Ａ＃信号が“Ｌ”の場合にはＯＲ素子７２の出力は“Ｌ”、ＯＲ素子７３の出力は“Ｈ”になる。
【００７４】
バンクＢ４０が選択されている場合、ＢＡ＃信号は前述のように“Ｈ”の状態であるので、図５に示すＡＮＤ素子７６，７７の出力であるＡＡ＃（図８（Ｉ）参照）およびＮＡＡ＃（図８（Ｊ）参照）は、ＯＲ素子７２，７３の出力に応じて“Ｈ”または“Ｌ”の状態になる。
【００７５】
いまの例では、図８（Ｊ）に示すようにＮＡＡ＃信号がＢＡ＃信号と同期して“Ｈ”の状態になるので、ＮＡＡ＃信号が“Ｈ”の状態になるタイミングで、ＭＯＳスイッチ９４〜９７がＯＮの状態になる。
【００７６】
図８（Ｇ）に示すように、図５に示す、ＳＷ３ａおよびＳＷ３ｃ信号は、Ｎ１信号（図８（Ｄ））から生成され、ＮＡＡ＃信号に同期して“Ｈ”の状態になることから、センスアンプ４４の出力ｃ，ｄがＤＢ＃３，４に接続されることになる。その結果、ＱＢ２１，ＱＢ２２がＤＢ＃３，ＤＢ＃４に対してそれぞれ送出される（図８（Ｋ），（Ｌ）参照）。
【００７７】
続いて、図６（Ａ）に示す第１番目のクロックの立ち上がりエッジにおいて、図６（Ｂ）に示す、バンクＡ３０からデータを読み出すことを要求するＲＤＡコマンドがＣＭＤ入力端子２に供給されると、ＣＭＤデコーダ７は、ＣＭＤ入力回路５を介してこのＲＤＡコマンドを取り込み、デコードする。その結果、ＣＭＤデコーダ７は、バンクＡ３０からのデータの読み出しが要求されている旨を認知し、バースト長カウンタ９に通知する。
【００７８】
バースト長カウンタ９は、バーストアドレス発生回路５０に対してリセットＲＥＳＥＴ信号を供給する。その結果、バーストアドレス発生回路５０は、ＡＤＤ入力回路６から供給された、バースト転送の先頭を示すアドレスを取得し、ＢＡＤＤとして出力するとともに、バースト長カウンタ９がＣＬＫに同期して供給するＵＰ信号に同期して先に取り込んだアドレスをカウントアップし、２ビット以降のＢＡＤＤとして出力する。
【００７９】
アドレス取り込み回路５１は、バーストアドレス発生回路５０から供給されるＢＡＤＤを波形整形し、内部アドレスＩＡＤＤとして出力する。
アドレス取り込み回路５１から出力された内部アドレスＩＡＤＤは、制御部２０において、ＤＢ＃１〜ＤＢ＃４の選択に利用される。
【００８０】
なお、前述の場合と同様に、バースト長カウンタ９は、バースト転送中は、ＣＭＤデコーダ７に供給するｅｎａｂｌｅ信号を“Ｌ”の状態にする。ＣＭＤデコーダ７は、ｅｎａｂｌｅ信号が“Ｌ”の状態である場合には、ＣＭＤ入力回路５からの新たなコマンドの取得を保留するので、バースト転送が開始された場合には新たなコマンドの入力が禁止されることになる。
【００８１】
ところで、いまの例では、ＲＤＡに対応する動作であり、バンクＡ３０がデータの読み出しの対象として指定されているので、図７（Ｈ）に示すようにＮＢＡ＃信号は、“Ｈ”の状態になっており、図８（Ｈ）に示すようにＢＡ＃信号は、“Ｌ”の状態になっている。従って、図４に示すバンクＢ４０のＡＮＤ素子７６，７７の出力は、“Ｌ”の状態となるので、ＭＯＳスイッチ９０〜９７は全てＯＦＦの状態になり、ＤＢ＃１〜ＤＢ＃４への出力は遮断される。
【００８２】
一方、図５に示すバンクＡ３０のＩ／Ｏ回路４５では、ＢＬ４信号が“Ｌ”であるので、ＯＲ素子７２，７３の出力は、Ａ＃信号およびＮＡ＃信号に応じて“Ｈ”または“Ｌ”の状態になる。具体的には、Ａ＃信号が“Ｈ”である場合にはＯＲ素子７２の出力は“Ｈ”、ＯＲ素子７３の出力は“Ｌ”になる。また、Ａ＃信号が“Ｌ”の場合にはＯＲ素子７２の出力は“Ｌ”、ＯＲ素子７３の出力は“Ｈ”になる。
【００８３】
バンクＡ３０が選択されている場合、ＮＢＡ＃信号は前述のように“Ｈ”の状態であるので、ＡＮＤ素子７６，７７の出力であるＡＡ＃信号（図７（Ｉ）参照）およびＮＡＡ＃信号（図７（Ｊ）参照）は、ＯＲ素子７２，７３の出力に応じて“Ｈ”または“Ｌ”の状態になる。
【００８４】
いまの例では、図７（Ｊ）に示すようにＡＡ＃信号がＮＢＡ＃信号と同期して“Ｈ”の状態になるので、ＡＡ＃信号が“Ｈ”の状態になるタイミングで、ＭＯＳスイッチ９４〜９７がＯＮの状態になる。
【００８５】
図７（Ｆ）に示すように、ＳＷ１ａおよびＳＷ１ｃ信号は、Ｎ２信号（図７（Ｅ））から生成され、ＡＡ＃信号に同期して“Ｈ”の状態になることから、センスアンプ３４の出力ａ，ｂがＤＢ＃１，２に接続されることになる。その結果、ＱＡ１１，ＱＡ１２がＤＢ＃１，ＤＢ＃２に対してそれぞれ送出される（図７（Ｋ），（Ｌ）参照）。
【００８６】
以上の動作をまとめると、図６に示すように、ＣＬＫ信号（図６（Ａ）参照）の立ち上がりエッジでＲＤＢ，ＲＤＡコマンドが入力されると、バーストアドレス発生回路５０によって対応するバーストアドレスが発生され、バンクＡ３０およびバンクＢ４０に供給される。このとき、各バンクにはＢＡ＃信号およびＮＢＡ＃信号によって何れのバンクが選択されているかが示されており、ＭＯＳスイッチ８０〜８７およびＭＯＳスイッチ９０〜９７によって所定の出力が選択され、図６（Ｃ）〜（Ｆ）に示すように、ＤＢ＃１〜ＤＢ＃４に対してデータが出力される。
【００８７】
このとき、ＤＢ＃１，ＤＢ＃２に出力されるデータと、ＤＢ＃３，ＤＢ＃４に出力されるデータとは、１クロック分だけずれを有しており、また、その際の出力周期は、２クロックの周期に等しいので、動作周波数を向上させた場合でも、動作のマージンを確保することができる。
【００８８】
更に、バースト長カウンタ９からのｅｎａｂｌｅ信号によってＣＭＤデコーダ７がバースト転送中に新たなコマンドをデコードすることが禁止されるので、デコードに必要な処理を省略することにより、高速動作時における動作マージンを確保することが可能になる。なお、それに付随して、ＣＭＤデコーダ７は、バースト長カウンタ９に対して、バースト転送中を示すＮＯＰを供給する必要がなくなる。
【００８９】
更にまた、最大バースト長以下に設定された場合（以上の例では、最大バースト長が“４”である場合にバースト長が“２”に設定された場合）に、データバス分割し、分割されたデータバスを交互に使用してデータを転送するようにしたので、各データが転送される際の時間を延長することが可能になるので、高速動作時におけるマージンを確保することが可能になる。
【００９０】
なお、以上の実施の形態では、バンクＡ３０がＤＢ＃１，２を占有し、バンクＢ４０がＤＢ＃３，４を占有する場合を例に挙げて説明したが、ＲＤコマンドの入力のタイミングによっては、バンクＡ３０がＤＢ＃３，４を占有し、バンクＢ４０がＤＢ＃１，２を占有する場合もあり得る。
【００９１】
次に、バースト長を“４”に設定した場合の動作について説明する。
半導体記憶装置が起動され、ＣＭＤ入力端子２からバースト長を設定するためのモードレジスタセットコマンドが入力されると、ＣＭＤデコーダ７はバースト長の設定が要求されていることを検知し、バースト長判定回路８に通知する。
【００９２】
バースト長判定回路８は、ＡＤＤ入力端子３から入力されるデータを取得し、バースト長を判定する。例えば、バースト長として“４”が設定されたとすると、バースト長判定回路８はこれを了知し、バースト長カウンタ９に通知する。
【００９３】
バースト長が“４”に設定された後、図９（Ａ）に示すＣＬＫ信号の第０番目の立ち上がりエッジにおいてＲＤＡコマンドが入力されると、ＣＭＤデコーダ７はこれを検知し、バースト長カウンタ９に通知する。
【００９４】
バースト長カウンタ９は、バーストアドレス発生回路５０に対してＲＥＳＥＴ信号を供給する。その結果、バーストアドレス発生回路５０は、ＡＤＤ入力回路６からバースト転送の先頭アドレスを取得してＢＡＤＤを発生し、アドレス取り込み回路５１を介してバンクＡ３０およびバンクＢ４０にそれぞれ供給する。
【００９５】
また、バースト長カウンタ９は、ＣＭＤデコーダ７に対して供給するｅｎａｂｌｅ信号を“Ｌ”の状態にするので、新たなコマンドに対するデコードが禁止される。
ところで、いまの例では、ＲＤＡコマンドに対応する動作であり、バンクＡ３０が選択されているので、図４に示すＮＢＡ＃信号が“Ｈ”の状態に、また、図５に示すＢＡ＃信号が“Ｌ”の状態になっている。その結果、図５に示すバンクＢ４０のＭＯＳスイッチ９０〜９７は全てＯＦＦの状態になるので、バンクＢ４０からの出力は停止される。
【００９６】
一方、図４に示すバンクＡ３０では、インバータ６０の出力が“Ｌ”であることから、ＡＮＤ素子７４，７５の出力は“Ｌ”の状態となり、ＢＬ４は“Ｈ”の状態になることから、ＯＲ素子７０，７１の出力は“Ｈ”の状態になる。従って、ＭＯＳスイッチ８０，８１，８６，８７がＯＮの状態になる。
【００９７】
このとき、ＯＲ素子７２，７３にはＢＬ４信号が供給されているのでこれらの出力は“Ｈ”の状態であり、また、ＮＢＡ＃信号が“Ｈ”の状態であることから、ＭＯＳスイッチ９０〜９７は全てＯＮの状態になる。
【００９８】
その結果、図９（Ｃ）〜（Ｆ）に示すように、ＱＡ１１〜ＱＡ１４がＤＢ＃１〜ＤＢ＃４に対してそれぞれ出力されることになる。
続いて、第２番目のＣＬＫ信号の立ち上がりエッジにおいてＲＤＢコマンドが入力されると、ＣＭＤデコーダ７はこれを検知し、バースト長カウンタ９に通知する。
【００９９】
バースト長カウンタ９は、バーストアドレス発生回路５０に対してＲＥＳＥＴ信号を供給する。その結果、バーストアドレス発生回路５０は、ＡＤＤ入力回路６からバースト転送の先頭アドレスを取得してＢＡＤＤを発生し、アドレス取り込み回路５１を介してバンクＡ３０およびバンクＢ４０にそれぞれ供給する。
【０１００】
いまの例では、ＲＤＢに対応する動作であり、バンクＢ４０が選択されているので、図４に示すＮＢＡ＃信号が“Ｌ”の状態に、また、図５に示すＢＡ＃信号が“Ｈ”の状態になっている。その結果、図４に示すバンクＢ４０のＭＯＳスイッチ９０〜９７は全てＯＦＦの状態になるので、バンクＡ３０からの出力は停止される。
【０１０１】
一方、図５に示すバンクＢ４０では、インバータ６０の出力が“Ｌ”であることから、ＡＮＤ素子７４，７５の出力は“Ｌ”の状態となり、ＢＬ４は“Ｈ”の状態であることから、ＯＲ素子７０，７１の出力は“Ｈ”の状態になる。従って、ＭＯＳスイッチ８０，８１，８６，８７がＯＮの状態になる。
【０１０２】
このとき、ＯＲ素子７２，７３にはＢＬ４信号が供給されており、これらの出力は“Ｈ”の状態であり、ＮＢＡ＃信号は“Ｈ”の状態であることから、ＭＯＳスイッチ９０〜９７は全てＯＮの状態になる。
【０１０３】
その結果、図９（Ｃ）〜（Ｆ）に示すように、ＱＡ１１〜ＱＡ１４がＤＢ＃１〜ＤＢ＃４に対してそれぞれ出力されることになる。
以上がバースト長が“４”に設定された場合の動作である。このように、バースト長が“４”に設定された場合には、所定のバンクがＢＡ＃およびＮＢＡ＃によって選択され、出力ａ〜ｄがＤＢ＃１〜ＤＢ＃４にそれぞれ出力されることになる。従って、従来の場合と同様の動作を実現することができる。
【０１０４】
ところで、以上の実施の形態では、バースト転送中は新たなコマンドの入力を禁止する場合（インタラプトを許容しない場合）の実施の形態について説明したが、インタラプトを許容した場合の動作について以下に説明する。
【０１０５】
図１０は、最大バースト長が“８”である半導体記憶装置において、バースト長を“４”に設定した場合であって、インタラプトを許容する場合の動作を説明する図である。
この図の例では、ＲＤ２コマンドによってＲＤ１コマンドをインタラプトしている。このように、インタラプトを許容すると、本来はＤＢ＃５〜ＤＢ＃８（図１０（Ｇ）〜（Ｊ）参照）に示すように４ＣＬＫ分の周期で動作するところを、ＤＢ＃１〜ＤＢ＃４（図１０（Ｃ）〜（Ｆ）参照）に示すように３ＣＬＫ分の周期で動作することになることから、動作マージンが厳しくなる方向に作用する。
【０１０６】
従って、本発明の実施の形態の効果をより発揮させるためには、インタラプトを許容しない仕様にすることが望ましいといえる。
なお、以上の実施の形態に示す回路はほんの一例であり、本発明がこのような回路にのみ限定されるものではないことはいうまでもない。
【０１０７】
また、以上の実施の形態では、最大バースト長が“４”の場合を例に挙げて説明したが、これ以外の場合でも本発明を適用可能であることはいうまでもない。
更にまた、以上の実施の形態では、インタラプトを禁止する手段を半導体記憶装置の内部に設けるようにしたが、外部に設けるようにしてもよい。その場合には、バースト転送中は、ＣＭＤ入力端子２に対するコマンドの供給を禁止するようにすれば、前述の場合と同様の効果を得ることが可能になる。
【符号の説明】
【０１０８】
１  ＣＬＫ入力端子
２  ＣＭＤ入力端子
３  ＡＤＤ入力端子
４  ＣＬＫ入力回路
５  ＣＭＤ入力回路
６  ＡＤＤ入力回路
７  ＣＭＤデコーダ
８  バースト長判定回路
９  バースト長カウンタ
１０  バーストアドレス発生回路
１１  アドレス取り込み回路
２０  制御部
３０  バンクＡ
３１  セル
３２  列デコーダ
３３  行デコーダ
３４  ＳＡ
３５  Ｉ／Ｏ回路
４０  バンクＢ
４１  セル
４２  列デコーダ
４３  行デコーダ
４４  ＳＡ
４５  Ｉ／Ｏ回路
５０  バーストアドレス発生回路
５１  アドレス取り込み回路
１００  コマンド入力手段
１０１  バンク選択手段
１０２  バースト転送手段
１０３  コマンド入力禁止手段
１０４  バンク群
【図１】
0005218635.tif 000002
【図２】
0005218635.tif 000003
【図３】
0005218635.tif 000004
【図４】
0005218635.tif 000005
【図５】
0005218635.tif 000006
【図６】
0005218635.tif 000007
【図７】
0005218635.tif 000008
【図８】
0005218635.tif 000009
【図９】
0005218635.tif 000010
【図１０】
0005218635.tif 000011
【図１１】
0005218635.tif 000012
【図１２】
0005218635.tif 000013