(57)【要約】【課題】パイプライン動作を行う場合に半導体メモリに対するアクセスにおける使い勝手を向上させる。【解決手段】各メモリコアＭＥＭが、複数のメモリバンクＢＡＮＫ０〜３に共通に設けられたアドレスバスＡＢＵＳ及びリードライトバスＲＷＢＵＳと、コマンドデコーダ２１３からの制御信号に基づいて、アドレスバス上のアドレス情報を取り込むアドレス遅延回路２２２と、データ読出し動作時はリードライトバス上に読み出すべきデータを一時保持するデータ出力ラッチ２３７と、データ書込み動作時はリードライトバス上の書き込むべきデータを一時保持するデータ入力ラッチ２３８とを備え、各メモリバンクに対する各一回のデータ読出し又は書込みアクセスを順次行う一連のデータアクセスを一サイクルとして当該サイクルが繰り返し実行されるように複数のメモリバンクに対するデータアクセスがパイプライン化されている。【選択図】図１１
2011141928.tif 000002
【特許請求の範囲】
【請求項１】
単一の半導体基板上に複数のメモリコアを備え、これらメモリコアの夫々は、複数のメモリバンク、複数のコマンド端子、複数のアドレス端子、複数のデータ端子、前記複数のコマンド端子から供給されるコマンドをデコードして各種の制御信号を発生するコマンドデコーダ、前記複数のアドレス端子からのアドレス情報が転送されると共に前記複数のメモリバンクに対して共通に設けられたアドレスバス、ならびにデータ読出し動作時は前記複数のデータ端子に出力されるべきデータが転送される一方データ書込み動作時は前記複数のデータ端子から取り込まれたデータが転送される共に前記複数のメモリバンクに対して共通に設けられたデータリード／ライトバスを具備して、各メモリコアに対するデータのリード／ライト動作を互いに独立して行える半導体装置であって、
前記複数のメモリバンクの夫々は、複数のメモリセルを有するメモリアレイを備えると共に、前記コマンドデコーダからの前記制御信号に基づく制御の下で、前記アドレスバス上のアドレス情報を取り込むアドレスバッファと、前記データ読出し動作時は前記データリード／ライトバス上に読み出すべきデータを一時的に保持するデータ出力バッファと、前記データ書込み動作時は前記データリード／ライトバス上の書き込むべきデータを一時的に保持するデータ入力バッファと、前記アドレスバッファに取り込まれたアドレス情報に応答して選択したメモリセルに対するアクセスを行うと共に、前記データ読出し動作時は前記読み出すべきデータを前記選択したメモリセルから前記データ出力バッファに供給する一方前記データ書込み時は前記書き込むべきデータを前記選択したメモリセルに前記データ入力バッファから供給するアクセス回路とを備え、
前記複数のメモリバンクのそれぞれに対する一回ずつのデータ読出しまたは書込みアクセスを順次行う一連のデータアクセスを一サイクルとして当該サイクルが繰り返し実行されるように、前記複数のメモリバンクに対するデータアクセスがパイプライン化されている、
半導体装置。
【請求項２】
前記複数のメモリバンクの夫々は、前記一サイクルにおける所定のメモリバンクへのデータアクセスが前記データ読出しアクセスであって、その次の前記一サイクルにおける前記所定のメモリバンクへのデータアクセスが前記データ書込みアクセスの場合、前記データ読出しアクセスに基づき読み出されたデータを一時的にストアして、前記データ書込みアクセスに基づき前記複数のデータ端子を介する前記データリード／ライトバスへの書き込むべきデータの転送を許可する遅延バッファをさらに備える請求項１記載の半導体装置。
【請求項３】
メモリアレイを有してなる複数のバンクから、前記各バンクに対して共通に設けられたリードライトバスを用い、リードコマンドに応じてリードデータを出力する際に、同一バンクに対する次のコマンドがライトコマンドの場合には当該リードデータを、前記リードライトバス上のリードデータを前記バンク毎に保持し、遅延させて出力する遅延バッファに保持させ、当該ライトコマンドが対象とするライトデータを前記リードライトバス上に出力させるパイプライン制御回路を備えることを特徴とする半導体装置。
【請求項４】
前記リードライトバスが、パイプライン動作において前記各バンクに時分割で接続される
ことを特徴とする請求項３に記載の半導体装置。
【請求項５】
前記各バンクは所定のクロック信号の一定サイクル毎に前記リードライトバスに対して接続されるものである
ことを特徴とする請求項４に記載の半導体装置。
【請求項６】
前記各バンクに接続されたアドレスバス上でのリードアドレスの転送をライトレイテンシ分遅延させるアドレス遅延回路を備える
ことを特徴とする請求項５に記載の半導体装置。
【請求項７】
リード前アドレスセットアップ時間が、ライト前アドレスセットアップ時間と同一バンクにアクセスする場合の待機時間とを合わせた時間である
ことを特徴とする請求項６に記載の半導体装置。
【請求項８】
前記パイプライン制御回路が、前記各バンクに対するリード又はライトの各コマンドの入力を交互に記憶する１対のコマンドレジスタを有し、前記遅延バッファが前記リードデータを保持しているか否かを示す信号と前記１対のコマンドレジスタの記憶内容とに応じて、前記遅延バッファの動作を制御するものである
ことを特徴とする請求項７に記載の半導体装置。
【請求項９】
前記パイプライン制御回路が、前記各バンクへのコマンド入力からの経過時間を前記クロック信号を基準として表す複数の制御信号と、前記遅延バッファが前記リードデータを保持しているか否かを示す信号と、前記１対のコマンドレジスタの記憶内容を表す制御信号との論理演算結果を用いて、前記遅延バッファの動作を制御するものである
ことを特徴とする請求項８に記載の半導体装置。
【請求項１０】
前記リードライトバスが前記クロック信号の前半と後半でライトデータの転送とリードデータの転送を行う
ことを特徴とする請求項９に記載の半導体装置。
【請求項１１】
前記複数のバンクが、メモリコアを複数備えたメモリチップにおける前記各メモリコアに含まれたものであって、
そのメモリチップと、
そのメモリチップと積層されたものであって、ＣＰＵコアを複数備えたＣＰＵチップと
を備えて構成されていることを特徴とする請求項１０に記載の半導体装置。
【請求項１２】
前記コマンド及び前記アドレスを入力するコマンドアドレス入力回路、前記アドレスバス、前記各バンク、前記リードライトバス、及び前記リードライトバス上にデータを入出力するデータ入出力回路が、前記クロック信号によって制御されるラッチ回路によってそれぞれ分離されている
ことを特徴とする請求項１１に記載の半導体装置。
【請求項１３】
前記リードライトバスと前記データ入出力回路との間を分離する前記ラッチ回路が、前記バンク毎の前記遅延バッファと、前記リードデータを保持する出力ラッチと、前記ライトデータを保持する入力ラッチとから構成されている
ことを特徴とする請求項１２に記載の半導体装置。
【請求項１４】
前記各バンクに対して前記アドレスバスを介して行アドレスと列アドレスとが同時に供給される
ことを特徴とする請求項１３に記載の半導体装置。
【請求項１５】
前記リードライトバスと前記データ入出力回路との間にマルチプレクサとデマルチプレクサとが設けられている
ことを特徴とする請求項１４に記載の半導体装置。
【請求項１６】
前記クロック信号よりも短い周期のリードライトクロック信号に同期して前記メモリコアと前記ＣＰＵコア間でデータが入出力される
ことを特徴とする請求項１５に記載の半導体装置。
【請求項１７】
前記メモリコアと前記ＣＰＵコアとが、同数であり、かつ前記各チップ上の互いに対応する位置に配置されている
ことを特徴とする請求項１６に記載の半導体装置。
【請求項１８】
メモリアレイを有してなる複数のバンクから、前記各バンクに対して共通に設けられたリードライトバスを用い、リードコマンドに応じてリードデータを出力する際に、
同一バンクに対する次のコマンドがライトコマンドの場合には当該リードデータを、前記リードライトバス上のリードデータを前記バンク毎に保持し、遅延させて出力する遅延バッファに保持させ、
パイプライン制御回路によって、当該ライトコマンドが対象とするライトデータを前記リードライトバス上に出力させる
ことを特徴とする半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メニイコアＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等と積層されるＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）として用いて好適な半導体装置及びその制御方法に関する。
【背景技術】
【０００２】
非特許文献１では、ＤＲＡＭをＣＰＵと３Ｄ積層（３次元積層）してキャッシュとして利用するため、ＤＲＡＭのアレイを分割して高速化する技術が提案されている。
【０００３】
また、非特許文献２では、３Ｄ積層等に適したＤＲＡＭ動作サイクルの向上方法として、２Ｔ（ｔｗｏ−ｔｒａｎｓｉｓｔｏｒ）方式のＤＲＡＭを利用したパイプライン動作が提案されている。この非特許文献２に記載されているＤＲＡＭマクロは、８個の独立動作２５６Ｋｂ（ビット）アレイを用いた２Ｍｂマクロとして構成されている。ここで、ＤＲＡＭマクロとは、ＤＲＡＭの回路機能を他の回路機能と組み合わせ可能な形でまとめた機能ブロックである。また、Ｉ／Ｏ（入力／出力）は８×６４×２＝１Ｋ構成であり、１アレイ構成は行１２８×列４×６４ＩＯ×８バンクとなっている。ランダムサイクルは、４ｎｓ＝８クロックであり、８バンクで、２バンクずつ４段のパイプライン動作となっている。また、リード・ライト分離バスが用いられている。
【０００４】
上記構成では、パイプライン動作が８バンク・４段パイプラインで行われ、アドレスバスでの衝突をさけるためにリードは全バンク同一アドレスとされ、ライトは各バンク独立アドレスとされている。さらに、図２３のタイミングチャートに示すように、各バンクにおけるリード動作はコマンド（Ｒ）を受けて即実行されるが（図２３（ａ））、ライト動作はコマンド（Ｗ）を受けてから８サイクル待って実行されるようになっている（図２３（ｂ））。また、リードでは、パイプライン各段が１サイクルずれて起動され、パイプラインを充填するため各段から２サイクルずつデータが出力されるようになっている。
【０００５】
なお、図２３（ａ）に示すリードのタイミングチャートでは、動作クロックの０〜１３サイクルにおける、アドレス、コマンドを表すコントロール（Ｃｏｎｔｒｏｌ）、入力データ（Ｄｉｎ）、出力データ（Ｄｏｕｔ）、及び各バンク（Ｂａｎｋ０〜７）へのアクセスタイミングを示している。ここで、Ａ０はバンク０〜７に対する読み出しアドレスであり、Ｄ０〜Ｄ７はバンク０〜７からの読み出しデータを表している。また、図２３（ｂ）に示すライトのタイミングチャートでは、動作クロックの０〜１７サイクルにおける、アドレス、コントロール（Ｃｏｎｔｒｏｌ）、入力データ（Ｄｉｎ）、出力データ（Ｄｏｕｔ）、及び各バンク（Ｂａｎｋ０〜７）へのアクセスタイミングを示している。また、Ａ０〜Ａ７はバンク０〜７に対する書き込みアドレスであり、Ｄ０〜Ｄ７はバンク０〜７への書き込みデータを表している。
【０００６】
図２３（ａ）に示すようにリードでは、全バンクに対して共通アドレスＡ０が入力され、バンク０〜７からその順にデータＤ０〜Ｄ７が読み出されるようになっている。他方、図２３（ｂ）に示すようにライトでは、バンクごとに個別のアドレスが入力されるようになっている。ただし、バンク０〜７のアクセスは、バンク７、バンク５、バンク３、バンク１、バンク６、バンク４、バンク２、バンク０の順で行われるようになっている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ａ．Ｖｉｇｎｏｎ，Ｓ．Ｃｏｓｅｍａｎｓ，Ｗ．Ｄｅｈａｅｎｅ，Ｐ．Ｍａｒｃｈａｌ  ａｎｄ  Ｍ．Ｆａｃｃｈｉｎｉ，“Ａ  ｎｏｖｅｌ  ＤＲＡＭ  ａｒｃｈｉｔｅｃｔｕｒｅ  ａｓ  ａ  ｌｏｗ  ｌｅａｋａｇｅ  ａｌｔｅｒｎａｔｉｖｅ  ｆｏｒ  ＳＲＡＭ  ｃａｃｈｅｓ  ｉｎ  ａ  ３Ｄ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ｃｏｎｔｅｘｔ．”  Ｄｅｓｉｇｎ，  Ａｕｔｏｍａｔｉｏｎ  ＆  Ｔｅｓｔ  ｉｎ  Ｅｕｒｏｐｅ  Ｃｏｎｆｅｒｅｎｃｅ  ＆  Ｅｘｈｉｂｉｔｉｏｎ，  ２００９．  ＤＡＴＥ  ’０９．  ２０−２４  Ａｐｒｉｌ  ２００９，ｐｐ．９２９−９３３
【非特許文献２】ＳＯＭＡＳＥＫＨＡＲ  Ｄｉｎｅｓｈ，ＹＥ  Ｙｉｂｉｎ，ＡＳＥＲＯＮ  Ｐａｏｌｏ，ＬＵ  Ｓｈｉｈ‐Ｌｉｅｎ，ＫＨＥＬＬＡＨ  Ｍｕｈａｍｍａｄ，ＨＯＷＡＲＤ  Ｊａｓｏｎ，ＲＵＨＬ  Ｇｒｅｇ，ＫＡＲＮＩＫ  Ｔａｎａｙ，ＢＯＲＫＡＲ  Ｓｈｅｋｈａｒ，ＤＥ  Ｖｉｖｅｋ，ＫＥＳＨＡＶＡＲＺＩ  Ａｌｉ，“２ＧＨｚ  ２Ｍｂ  ２Ｔ  Ｇａｉｎ−Ｃｅｌｌ  Ｍｅｍｏｒｙ  Ｍａｃｒｏ  Ｗｉｔｈ  １２８ＧＢ／ｓ  Ｂａｎｄｗｉｄｔｈ  ｉｎ  ａ  ６５ｎｍ  Ｌｏｇｉｃ  Ｐｒｏｃｅｓｓ，”  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ  Ｃｏｎｆｅｒｅｎｃｅ  ２００８（ＩＳＳＣＣ  ２００８），ＳＥＳＳＩＯＮ  １４，ＥＭＢＥＤＤＥＤ  ＆  ＧＲＡＰＨＯＣＳ  ＤＲＡＭｓ／１４．３，Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ，ｐｐ．２７４−２７５，Ｆｅｂ．５，２００８
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述の図２３に示したような構成では、リードでは全バンクに対してアドレスが共通となるとともに、リードとライトでアドレスの入れ方が異なるため、使い勝手が悪いという課題がある。また、データの入出力の順序が異なるので、使いにくいという課題もある。さらに、リードの直後にライトが行われると、データバスにおけるデータの衝突を回避するため、ライトの処理を、読み出しデータが出力された後に行う必要があり、パイプラインの処理にバブルが発生することになる。このため、システムの実効データレート（平均データレート）が落ちてしまうという課題がある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、単一の半導体基板上に複数のメモリコアを備え、これらメモリコアの夫々は、複数のメモリバンク、複数のコマンド端子、複数のアドレス端子、複数のデータ端子、複数のコマンド端子から供給されるコマンドをデコードして各種の制御信号を発生するコマンドデコーダ、複数のアドレス端子からのアドレス情報が転送されると共に複数のメモリバンクに対して共通に設けられたアドレスバス、ならびにデータ読出し動作時は複数のデータ端子に出力されるべきデータが転送される一方データ書込み動作時は複数のデータ端子から取り込まれたデータが転送される共に複数のメモリバンクに対して共通に設けられたデータリード／ライトバスを具備して、各メモリコアに対するデータのリード／ライト動作を互いに独立して行える半導体装置であって、複数のメモリバンクの夫々は、複数のメモリセルを有するメモリアレイを備えると共に、コマンドデコーダからの制御信号に基づく制御の下で、アドレスバス上のアドレス情報を取り込むアドレスバッファ（アドレス遅延バッファ）と、データ読出し動作時はデータリード／ライトバス上に読み出すべきデータを一時的に保持するデータ出力バッファと、データ書込み動作時はデータリード／ライトバス上の書き込むべきデータを一時的に保持するデータ入力バッファと、アドレスバッファに取り込まれたアドレス情報に応答して選択したメモリセルに対するアクセスを行うと共に、データ読出し動作時は読み出すべきデータを選択したメモリセルからデータ出力バッファに供給する一方データ書込み時は書き込むべきデータを選択したメモリセルにデータ入力バッファから供給するアクセス回路とを備え、複数のメモリバンクのそれぞれに対する一回ずつのデータ読出しまたは書込みアクセスを順次行う一連のデータアクセスを一サイクルとして当該サイクルが繰り返し実行されるように、複数のメモリバンクに対するデータアクセスがパイプライン化されている、半導体装置である。
【発明の効果】
【００１０】
本発明の半導体装置では、一の半導体基板上に設けられた複数のメモリコアの夫々が、複数のメモリバンクと、複数のメモリバンクに対して共通に設けられたアドレスバス及びデータリード／ライトバスと、コマンドデコーダからの制御信号に基づく制御の下で、アドレスバス上のアドレス情報を取り込むアドレスバッファ（アドレス遅延バッファ）と、データ読出し動作時はデータリード／ライトバス上に読み出すべきデータを一時的に保持するデータ出力バッファと、データ書込み動作時はデータリード／ライトバス上の書き込むべきデータを一時的に保持するデータ入力バッファとを備えている。この構成によれば、各バッファの制御によって、アドレス情報と入出力データとをメモリバンク毎に独立して取り込み及び保持させることができる。したがって、リード及びライト時のアドレスを容易にメモリバンク毎に独立して制御することができる。また、複数のメモリバンクのそれぞれに対する一回ずつのデータ読出しまたは書込みアクセスを順次行う一連のデータアクセスを一サイクルとして当該サイクルが繰り返し実行されるように、複数のメモリバンクに対するデータアクセスをパイプライン化させているので、リードとライトの順序の制御を任意に行いやすくなる。また、各メモリコアに対するデータのリード／ライト動作は互いに独立して行うことができるので、システムの実効データレートを容易に高めることができる。よって、従来に比べ、半導体メモリに対するアクセスにおける使い勝手と実効データレートを容易に向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態の構成を示す模式図である。
【図２】図１の半導体装置１０におけるＤＲＡＭチップ１とＳｏＣチップ２との間のデータ伝送動作を示すタイミングチャートである。
【図３】図１のＤＲＡＭチップ１の構成例を模式的に示す平面図である。
【図４】図３のＤＲＡＭコアＭＥＭ０〜１５の構成例をＤＲＡＭコアＭＥＭとして模式的に示す平面図である。
【図５】図４のＤＲＡＭコアＭＥＭにおけるピン配列を示す説明図である。
【図６】図４のＤＲＡＭコアＭＥＭにおけるリードライトバス（データバス）及びアドレスバスの配置を模式的に示す平面図である。
【図７】図４のＤＲＡＭコアＭＥＭにおける基本回路構成を示すブロック図である。
【図８】図１のＳｏＣチップ２の構成例を模式的に示す平面図である。
【図９】図８のＣＰＵ１〜１５の構成例をＣＰＵコアＣＰＵとして模式的に示す平面図である。
【図１０】図７に示す構成の動作タイミングの一例を示すタイミングチャートである。
【図１１】図４のＤＲＡＭコアＭＥＭにおけるアドレス・データパス部分の基本構成の一例を示すブロック図である。
【図１２】図１１に示す構成の動作タイミングの一例（マイクロ命令（１）、ライト時データ衝突無し）を示すタイミングチャートである。
【図１３】図１２と同一タイミングでのバンク３に対するライト動作を示すタイミングチャートである。
【図１４】図１１に示す構成の動作タイミングの他の例（マイクロ命令（２）、ライト時データ衝突有り）を示すタイミングチャートである。
【図１５】図１１に示す構成におけるコマンド・アドレスバス部分の構成及び動作を説明するための図である。
【図１６】図１１に示す構成においてリード動作に関連する回路部分の構成及び動作を説明するための図である。
【図１７】図１１に示す構成においてライト動作に関連する回路部分の構成及び動作を説明するための図である。
【図１８】図１１に示す遅延バッファ２６１〜２６４（図１８では遅延バッファ６２１として示す）の構成及び動作を説明するための図である。
【図１９】図１１に示すパイプライン制御回路２１４の構成及び動作を説明するための図である。
【図２０】図１９のパイプライン制御回路２１４の動作波形の一例（リードライト衝突無し）を示すタイミングチャートである。
【図２１】図２２とあわせて、図１９のパイプライン制御回路２１４の動作波形の他の例（リードライト衝突有り）を示すタイミングチャートである。
【図２２】図２１とあわせて、図１９のパイプライン制御回路２１４の動作波形の他の例（リードライト衝突有り）を示すタイミングチャートである。
【図２３】本発明の背景技術における動作例を示すタイミングチャートである。
【図２４】第二のパイプライン制御回路を示す図である。
【図２５】第二のパイプライン制御回路にデータフラッシュ信号を入力した場合の動作波形を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を参照して説明する。図１は、本発明の実施形態としての半導体装置１０の構成を示す模式図である。図１（ａ）は半導体装置１０の断面構造を模式的に示す側面図、図１（ｂ）は図１（ａ）のＤＲＡＭチップ１−１〜１−３の１つ（ＤＲＡＭチップ１として示している）とＳｏＣチップ２間の信号接続関係を模式的に示す斜視図である。なお、各図において同一の構成には同一の符号を用いている。
【００１３】
図１（ａ）に示す本実施形態の半導体装置１０は、メニイコア構成のＤＲＡＭチップ（ＤＲＡＭ  Ｃｈｉｐ）１−１〜１−３を、メニイコア構成のＳｏｃチップ（ＳｏＣ  ＣｈｉｐあるいはＣＰＵチップ）２上に積層した構造を有している。この場合、ＤＲＡＭチップ１−１〜１−３とＳｏＣチップ２とは、各チップ内の入出力回路（３次元入出力回路）３ＤＩＯＣ間を貫通ビア（ＶＩＡ）を用いて接続することで、電気的に接続されている。ＤＲＡＭチップ１−１〜１−３及びＳｏＣ２間に接続される信号線等の入出力端子となるＩ／Ｏピン（入出力ピン）は、ＤＲＡＭチップ１−１〜１−３及びＳｏＣチップ２内の入出力回路３ＤＩＯＣ内に配置することが可能である。したがって、Ｉ／Ｏピンは、ＤＲＡＭチップ１−１〜１−３及びＳｏＣチップ２のコア毎に１００ピン以上設けることができる。また、ＤＲＡＭチップ１−１〜１−３及びＳｏＣチップ２間は、インターポーザ（ＩＴＰ）をはさむだけで積層されていて、距離も近く、伝送周波数を高めることができる。したがって、このような積層構造とすることで、ＳｏＣチップ２内のＣＰＵコアとＤＲＡＭチップ１−１〜１−３内のＤＲＡＭコア間のデータ伝送レートを向上させることができる。なお、この場合、ＳｏＣチップ２は、基板ＰＣＢ上にはんだ付けされ、基板ＰＣＢにははんだバンプＥＸＢが形成されている。
【００１４】
なお、図１（ｂ）に示すように、本実施形態では、ＤＲＡＭチップ１（ＤＲＡＭチップ１−１〜１−３に対応）に１６個のＤＲＡＭコアＭＥＭ０〜１５が４×４の二次元配列で搭載されている。また、ＳｏＣチップ２には、１６個のＣＰＵコアＣＰＵ０〜１５が４×４の二次元配列で搭載されている。また、ＤＲＡＭコアＭＥＭ０〜１５とＣＰＵコアＣＰＵ０〜１５は、同数であり、かつ各チップ上の垂直方向で互いに対応する位置に配置され、３次元入出力（入出力線・入出力ピン（入出力端子）の両者を含む構成）３ＤＩＯ０〜１５で互いに接続されている。
【００１５】
図２は、図１の半導体装置１０におけるＤＲＡＭチップ１とＳｏＣチップ２との間のデータ伝送を示すタイミングチャートである。図２は、周期２ｎｓ（ナノ秒）のクロックＣＬＫに同期して動作する各入出力３ＤＩＯ０〜１５の波形の一例を示している。本実施形態では、メニイコア構成のＤＲＡＭチップ１においてＩ／Ｏ線及びピン（３ＤＩＯ）数を増加できるため、コマンド（ＣＯＭ）・アドレス（ＡＤＤ）・データ（ＤＡＴＡ）の各入出力（すなわち複数のコマンド端子、複数のアドレス端子、複数のデータ端子）をそれぞれのＤＲＡＭコアＭＥＭ０〜１５に対して独立に割り当てている。
【００１６】
したがって、図１（ｂ）の半導体装置１０では、各ＤＲＡＭコアＭＥＭ０〜１５は他のコアの動作状態に影響されず、リード（ＲＥＡＤ）、ライト（ＷＲＩＴＥ）などのコマンドを各コアで独立して実行可能である。そのため、他のコアとの干渉が起こらず、実効的なデータ伝送速度を容易に高めることができる。また、アドレスは、行・列ノンマルチで同時に入力し、アレイ動作終了後、プリチャージを行うようにしている。各コアは３２ビットプリフェッチ動作し、クロックＣＬＫの１６分の１のサイクルのクロックＲＷＣＬＫ（リードライトクロック）のＨレベルとＬレベルに同期して、ＤＲＡＭコアＭＥＭ０〜１５とＣＰＵコアＣＰＵ０〜１５間でデータが入出力されるようになっている。
【００１７】
図２に示す例では、クロックＣＬＫの０番目で、ＤＲＡＭコアＭＥＭ０とＣＰＵコアＣＰＵ０間の入出力３ＤＩＯ０によって、ＣＰＵコアＣＰＵ０からＤＲＡＭコアＭＥＭ０へリードコマンド（読み出しコマンド）とリードアドレス（読み出しアドレス）が入力されている。また、ＤＲＡＭコアＭＥＭ１とＣＰＵコアＣＰＵ１間の入出力３ＤＩＯ１によって、ＣＰＵコアＣＰＵ１からＤＲＡＭコアＭＥＭ１へライトコマンド（書き込みコマンド）とライトアドレス（書き込みアドレス）が入力されている。
【００１８】
次に、１番目のクロックＣＬＫで、ＣＰＵコアＣＰＵ１からＤＲＡＭコアＭＥＭ１へライトデータ（ＤＢ）が入力されている。また、ＤＲＡＭコアＭＥＭ１５とＣＰＵコアＣＰＵ１５間の入出力３ＤＩＯ１５によって、ＣＰＵコアＣＰＵ１５からＤＲＡＭコアＭＥＭ１５へライトコマンドとライトアドレスが入力されている。次に、２番目のクロックＣＬＫで、ＣＰＵコアＣＰＵ１５からＤＲＡＭコアＭＥＭ１５へライトデータ（ＤＢ）が入力されている。
【００１９】
また、５番目のクロックＣＬＫで、入出力３ＤＩＯ０によって、ＤＲＡＭコアＭＥＭ０からＣＰＵコアＣＰＵ０へリードデータ（ＤＢ）が出力されている。なお、上述したように、ライトデータ及びリードデータ（ＤＡＴＡ）は、クロックＣＬＫの２ｎｓ周期の１６分の１の０．１２５ｎｓ周期のクロックＲＷＣＬＫのＨレベルとＬレベルに同期して入出力されるようになっている。
【００２０】
図３は、図１（ｂ）のＤＲＡＭチップ１の構成例を模式的に示す平面図である。本実施形態のメニイコア構成では、ＤＲＡＭチップ１のチップ全体が１６個のＤＲＡＭコアＭＥＭ０〜１５から構成されている。各コア内にはコマンドアドレス入力回路ＣＡと、データ入出力回路ＤＱが配置されている。また、ＤＲＡＭチップ１の周辺部には、共通回路ＣＯＭＣが配置されている。この共通回路ＣＯＭＣには、電源回路、クロック制御回路、ヒューズ等が配置されている。なお、各コアのデータ入出力回路ＤＱと、共通回路ＣＯＭＣとが、図１（ａ）の入出力回路３ＤＩＯＣに対応している。
【００２１】
本実施形態のＤＲＡＭコアＭＥＭ０〜１５は、コア自体のサイズが、従来の汎用ＤＲＡＭよりも大幅に小さくなっており、高速動作が可能である。本実施形態のＤＲＡＭチップ１は、例えば、チップ全体で４Ｇｂ、１ＴＢ／ｓを出すために、各コアが６４ＧＢ／ｓのデータを入出力するように構成されている。
【００２２】
図４は、図３のＤＲＡＭコアＭＥＭ０〜１５の構成例を模式的に示す平面図である。ただし、図４では、図３のＤＲＡＭコアＭＥＭ０〜１５を、ＤＲＡＭコアＭＥＭとして示している。また、図５は、図４のＤＲＡＭコアＭＥＭのデータ（ＤＡＴＡ）、アドレス（ＡＤＤ）及びコマンド（ＣＯＭ）用の入出力ピン３ＤＩＯの配列を示している。
【００２３】
図４に示すＤＲＡＭコアＭＥＭは、４個のバンクＢＡＮＫ０〜３に分割されている。各バンクには、カラムデコーダＸＤＥＣ、ロウデコーダＹＤＥＣ、リードライト回路ＲＷＣ、プリデコーダＰＤ等が配置されている。また、各メモリアレイＡＲＹに対応するように、センスアンプアレイＳＡＡ及びサブワードドライバアレイＳＷＤＡが配置されている。
【００２４】
また、図４において、複数の入出力ピン３ＤＩＯのうち、データ（ＤＡＴＡ）用のものは、図に向かって横方向に、０〜４３の番号が付けられた４４個が２段（Ａ及びＢ）分、配置されている。また、アドレス（ＡＤＤ）及びコマンド（ＣＯＭ）の入出力ピン３ＤＩＯは、Ｃ段として４４個、配置されている。これらのデータ（ＤＡＴＡ）、アドレス（ＡＤＤ）及びコマンド（ＣＯＭ）の各入出力ピン３ＤＩＯの配列は、図５に示す通りである。
【００２５】
データ（ＤＡＴＡ）用の入出力ピン３ＤＩＯでは、データ入出力信号ＤＱ０Ｔ／Ｂ〜ＤＱ３１Ｔ／Ｂが入出力される。また、データ入出力信号ＤＱ０Ｔ／Ｂ〜ＤＱ３１Ｔ／Ｂ用の複数の入出力ピン３ＤＩＯ間には、複数のデータ用の電源ＶＤＤＱ及びＶＳＳＱが分散して配置されている。また、アドレス（ＡＤＤ）用の入出力ピン３ＤＩＯでは、バンクアドレス信号ＢＡ０、ＢＡ１と、アドレス信号Ａ０〜Ａ２０が入力される。このバンクアドレス信号ＢＡ０及びＢＡ１によってアクセス先のバンクＢＡＮＫ０〜３が選択される。また、コマンド（ＣＯＭ）用の入出力ピン３ＤＩＯでは、負論理のチップセレクト信号ＣＳＢ、ロウアドレスストローブ信号ＲＡＳＢ、カラムアドレスストローブ信号ＣＡＳＢ、ライトイネーブル信号ＷＥＢ、リセット信号ＲＥＳＥＴＢ等のコマンド信号が入力される。これらのコマンド信号の組み合わせによってリードコマンドやライトコマンドが発行される。
【００２６】
また、図４に示すように、ＤＲＡＭコアＭＥＭでは、電源ピンＰＷＲがコア周辺部に配置されている。現状のレベルでは、貫通ビアＶＩＡのピッチは５０μｍ程度であり、一列に４０ピン程度配置することができる。このように構成されたＤＲＡＭコアＭＥＭでは、例えば、各バンクＢＡＮＫ０〜３が８ｎｓサイクルで動作し、４バンクが２ｎｓごとにインターリーブ動作する。
【００２７】
図６は、図４のＤＲＡＭコアＭＥＭにおけるデータバス及びアドレスバスの配置を模式的に示す平面図である。ＤＲＡＭコアＭＥＭでは、データ用の３２組の入出力ピン（データ入出力信号ＤＱ０Ｔ／Ｂ〜ＤＱ３１Ｔ／Ｂ用の入出力ピン３ＤＩＯ）が、３２対１のマルチプレクサＭＵＸを介して、１０２４組のリードライトバスＲＷＢＵＳに接続される。メモリアレイＡＲＹからは２ｎｓサイクルで１０２４ビット読み出され、１６Ｇｂｐｓの伝送速度が確保される。リードライトバスＲＷＢＵＳはＤＲＡＭコアＭＥＭ上を配線され、各バンクＢＡＮＫ０〜３のリードライト回路ＲＷＣに接続される。コマンド（ＣＯＭ）及びアドレス（ＡＤＤ）用の入出力ピン３ＤＩＯから入力された信号は、コマンドアドレス入力回路ＣＡに入力され、アドレスバスＡＢＵＳを介して、各バンクＢＡＮＫ０〜３のプリデコーダＰＤに接続される。この構成によれば、バンク内動作とバス伝送が分離され、高速化を図ることができる。また、各バンクＢＡＮＫ０〜３に対してはアドレスバスＡＢＵＳを介して行アドレスと列アドレスとが同時に供給されるようになっている。
【００２８】
図７は、図４のＤＲＡＭコアＭＥＭにおける基本回路構成を示すブロック図である。アドレス及びデータのアクセスパスを、コマンドアドレス入力回路ＣＡ、アドレスバスＡＢＵＳ、バンクＢＡＮＫ０〜３、リードライトバスＲＷＢＵＳ、データ入出力回路ＤＱからなる４段のパイプラインで構成し、クロック信号によって制御されるラッチ回路Ｌ（１０１〜１０４、１０６〜１０９）で各段を分離し、パイプライン動作により動作周波数を向上させている。コマンドアドレス入力回路ＣＡの出力は、ラッチ回路Ｌ（１０５）を介してアドレスバスＡＢＵＳに接続され、アドレスバスＡＢＵＳがバンク毎に設けられた４組のラッチ回路Ｌ（１０１〜１０４）のいずれかを介して各バンクＢＡＮＫ０〜３に接続されている。また、各バンクＢＡＮＫ０〜３は、パイプライン動作においてバンク毎に設けられた４組のラッチ回路Ｌ（１０６〜１０９）のいずれかを介して時分割でクロック信号の一定サイクル毎にリードライトバスＲＷＢＵＳに接続されている。そして、リードライトバスＲＷＢＵＳは、ラッチ回路Ｌ（１１０）又は遅延バッファＢＵＦを介してデータ入出力回路ＤＱに接続されている。この遅延バッファＢＵＦは、ライト動作の場合に、それ以前のリードコマンドに従って読み出されたリードデータを保持するために使用される。
【００２９】
図８は、図１のＳｏＣチップ２の構成例を模式的に示す平面図である。ＳｏＣチップ２もＤＲＡＭチップ１と同様に１６個のＣＰＵコアＣＰＵ０〜１５から構成されている。また、ＣＰＵコアＣＰＵ０〜１５に複数の内部バスＩＢＵＳが配置されている。ＣＰＵコアＣＰＵ０〜１５の周辺には、電源回路、クロック制御回路などの共通回路ＣＯＭＣが配置されている。各ＣＰＵコアＣＰＵ０〜１５内に配置されているコマンドアドレス入力回路ＣＡと、データ入出力回路ＤＱの配置位置を、対応するＤＲＡＭコアＭＥＭ０〜１５のものと一致させることによって、ＤＲＡＭコアＭＥＭ０〜１５とＣＰＵコアＣＰＵ０〜１５でＩ／Ｏピンの位置を一致させている。これにより、貫通ビアＶＩＡの距離が短縮され、高速動作が可能になっている。ただし、ＤＲＡＭコアＭＥＭ０〜１５の大きさと、ＣＰＵコアＣＰＵ０〜１５の大きさが異なる場合はインターポーザによって貫通ビアＶＩＡの位置をずらして接続する。この場合、動作速度は劣化するが、各チップのレイアウトを一致させる必要が無くなり、チップサイズを低減できるため、コストを低減可能である。
【００３０】
図９は、図８のＣＰＵコアＣＰＵ１〜１５の構成例を模式的に示す平面図である。ただし、図９では、図８のＣＰＵコアＣＰＵ１〜１５を、ＣＰＵコアＣＰＵとして示している。ＣＰＵコアＣＰＵは、さらに内部コアＣＯＲＥ０〜３に分割され、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）０〜３が配置されている。ＣＰＵコアＣＰＵにおいて、ＤＲＡＭコアＭＥＭに接続されるＤＱ用、アドレス（ＡＤＤ）用、及び、コマンド（ＣＯＭ）用の各入出力ピン３ＤＩＯは、図５に示すとおり配置されている。ＣＰＵコアＣＰＵからＤＲＡＭコアＭＥＭに電源を供給するための電源ピンＰＷＲはコア周辺部に配置されている。貫通ＶＩＡのピッチは例えば５０μｍ程度であり、一列に４０ピン程度配置可能である。また、ＤＲＡＭコアＭＥＭとＣＰＵコアＣＰＵでピンの位置を一致させることによって、貫通ビアＶＩＡの距離が短縮され、高速動作が可能になっている。
【００３１】
図１０は、図７の回路の動作タイミングの一例を示すタイミングチャートである。周期２ｎｓのクロックＣＬＫの０〜２１サイクルにおける、コマンドアドレス入力回路ＣＡへの入力信号（ＣＡ）、アドレスバスＡＢＵＳ上の信号（ＡＢＵＳ）、バンクＢＡＮＫ０〜３内の信号（ＢＡＮＫ０〜３）、リードライトバスＲＷＢＵＳ上の信号（ＲＷＢＵＳ）、及び、データ入出力回路ＤＱの入出力信号（ＤＱ）を示している。Ｒ０〜Ｒ３は、バンクＢＡＮＫ０〜３に対するリードコマンド、リードアドレス、リードデータ等の信号に対応している。Ｗ０は、バンクＢＡＮＫ０へのライトコマンド、ライトアドレス、ライトデータ等の信号に対応している。そして、ＤＲ０は、バンクＢＡＮＫ０への遅延リード（ＤＲ）として、データ入出力回路ＤＱからの出力データ（リードデータ）が通常よりも遅延して出力される場合のリードコマンド、リードアドレス、リードデータ等を表している。
【００３２】
本実施形態のＤＲＡＭコアＭＥＭにおいては、バンクＢＡＮＫ０〜３の４バンクを順番に２ｎｓ毎（＝ＣＬＫの１サイクル毎）にパイプライン動作（すなわちバンクインターリーブ）させている。本実施形態では、リード又はライトが、バンク０〜３の順番で、すなわち、バンク０→１→２→３→０→１→２→３→０→…の順番で行われるようになっている。この場合、各バンクは、最速、４×２ｎｓ毎（４ＣＬＫサイクル毎）にリード又はライトされることになる。すなわち、各バンクは最速、８ｎｓサイクル（＝クロック信号ＣＬＫの４サイクル）で１回のリード又はライト動作を実行する。本実施形態では、この８ｎｓを２ｎｓ毎の４スロットに分け、最初のスロットをバンク０に、２番目のスロットをバンク１に、３番目のスロットをバンク２に、そして、最後のスロットをバンク３に、それぞれ割り当てている。
【００３３】
リードライトバスＲＷＢＵＳは、１ｎｓサイクル（＝ＣＬＫの半サイクル）での動作が可能とされ、前半がライト、後半がリードに割り当てられている。ライトレイテンシ（ライトコマンドの入力後にライトデータを入力するまでの時間）は１サイクル（＝ＣＬＫの１サイクル＝２ｎｓ）である。また、通常の（すなわち遅延リードが行われない場合の）リードレイテンシ（リードコマンドの入力後にリードデータが出力されるまでの時間）は５サイクル（＝ＣＬＫの５サイクル＝１０ｎｓ）である。また、リード時のアレイ起動に（すなわちアドレスバスＡＢＵＳにアドレスが入力されてからそのアドレスのメモリアレイにアクセスを開始するまでに）ライトレイテンシ分の１サイクル（＝ＣＬＫの１サイクル＝２ｎｓ）の遅延を追加している。
【００３４】
また、同一バンクにおいて、リードの次にライトが入った場合、前のリードを遅延リード（ＤＲ）として扱い、遅延リードとされたリードデータ（ＤＲ）を、ライト後に出力するようにしている。そのため、入出力回路ＤＱの入力には、遅延バッファＢＵＦを持たせておき、ライトデータが入力された場合にはそれ以前に同一バンクから読み出されたデータをバッファに保持するようにしている。上述したようにライトレイテンシは１ＣＬＫサイクル、通常のリードレイテンシは５ＣＬＫサイクルであり、パイプライン動作の１サイクルが４ＣＬＫサイクルであることから、通常のリードレイテンシを用いた場合には、同一バンクに対するリードのスロットの次のスロットにライトが入ると、リードデータが出力されるスロットと、ライトデータが入力されるスロットとが一致し、入出力回路ＤＱの入出力ＤＱにおいてデータの衝突が発生してしまうことになる。そこで、本実施形態では、リードの次のスロットにライトが入った場合には、リードデータを遅延バッファＢＵＦに保持させ、リードデータの出力を遅延させ、入出力回路ＤＱをライト用に使用できるようにしている。また、次にリードが入力されたスロットで遅延バッファＢＵＦに保持させている前のリードのデータが出力されるようにしている。これによって、各バンクに対する割り当てスロットの位置を変化させることなく、バンク間のデータの衝突なしにバンク０→１→２→３→０→…と一定の順番で各バンクに対するアクセスを行うことが可能となっている。したがって本実施形態によれば、リード・ライトの切り替え時にバブルを発生することなく、実効データレートを向上させることができる。
【００３５】
以下、図１０に示した動作例について詳細に説明する。図１０の例では、コマンドアドレス入力回路ＣＡに対して、クロックＣＬＫ＝０で、バンク０に対するリードコマンド及びリードアドレス（Ｒ０）が入力される。次のクロックＣＬＫ＝１で、コマンドアドレス入力回路ＣＡに対して、バンク１に対するリードコマンド及びリードアドレス（Ｒ１）が入力される。そして、コマンドアドレス入力回路ＣＡに対して、以後、クロックＣＬＫ＝２で、バンク２に対するリードコマンド及びリードアドレス（Ｒ２）が、クロックＣＬＫ＝３で、バンク３に対するリードコマンド及びリードアドレス（Ｒ３）が、クロックＣＬＫ＝４で、バンク０に対するリードコマンド及びリードアドレス（ＤＲ０）が、それぞれ入力される。ここで、Ｒ０とＤＲ０は、入力されるリードコマンド及びリードアドレスの仕様は同一であるが、リードレイテンシが異なるため標記を異ならせている。
【００３６】
図１０の動作例では、コマンドアドレス入力回路ＣＡに対して、クロックＣＬＫ＝０でＲ０が入力され、その次のスロット（クロックＣＬＫ＝４）ではバンク０に対するリードコマンド及びリードアドレス（ＤＲ０）が入力され、さらにその次のスロット（クロックＣＬＫ＝８）でバンク０に対するライトドコマンド及びライトアドレス（Ｗ０）が入力されている。そのため、クロックＣＬＫ＝０のリードコマンドＲ０に対しては通常のリードレイテンシ５ＣＬＫを用い、クロックＣＬＫ＝５で入出力ＤＱからリードデータＲ０を出力することが可能である。一方、クロックＣＬＫ＝４のリードコマンドＤＲ０については当初、ＣＰＵからは通常のリードコマンドとして受け付けるが、次のＣＬＫ＝８でのバンク０への命令がライトＷ０であるために、遅延リードＤＲ０としてＤＲＡＭ内で処理される。ＣＬＫ＝４のリードコマンドに基づくリードデータＤＲ０については、通常のリードレイテンシ５ＣＬＫを用いて出力すると、クロックＣＬＫ＝９で入出力ＤＱからリードデータＤＲ０が出力されることとなるが、クロックＣＬＫ＝８のライトコマンドＷ０のライトデータＷ０もライトレイテンシ１ＣＬＫのクロックＣＬＫ＝９で入出力ＤＱから入力されることとなるので、データの衝突が発生してしまうことになる。そこで、この例では、クロックＣＬＫ＝４のリードコマンドに対しては（ＣＬＫ＝１２でリードコマンドＲ０が入力されているので）リードレイテンシを９ＣＬＫとして、クロックＣＬＫ＝１３で入出力ＤＱからリードデータＤＲ０を出力させている。つまり、クロックＣＬＫ＝４のリードが通常のリードレイテンシよりも大きなレイテンシを持つ遅延リードＤＲ０として処理されているのである。
【００３７】
なお、コマンドアドレス入力回路ＣＡに対しては、クロックＣＬＫ＝５で、バンク１に対するリードコマンド及びリードアドレス（Ｒ１）が、クロックＣＬＫ＝６で、バンク２に対するリードコマンド及びリードアドレス（Ｒ２）が、クロックＣＬＫ＝７で、バンク３に対するリードコマンド及びリードアドレス（Ｒ３）が、そして、上記のように、クロックＣＬＫ＝８で、バンク０に対するライトコマンド及びライトアドレス（Ｗ０）が、それぞれ入力される。以降、同様に、クロックＣＬＫ＝９〜１５で、順に、Ｒ１、Ｒ２、Ｒ３、Ｒ０、Ｒ１、Ｒ２及びＲ３が入力される。
【００３８】
アドレスバスＡＢＵＳ上には、コマンドアドレス入力回路ＣＡへの入力アドレスが１ＣＬＫサイクル分ずれて、Ｒ０（ＣＬＫ＝１）、Ｒ１、Ｒ２、Ｒ３、ＤＲ０、Ｒ１、Ｒ２、Ｒ３、Ｗ０、Ｒ１、Ｒ２、Ｒ３、Ｒ０、Ｒ１、Ｒ２、Ｒ３（ＣＬＫ＝１６）と出力される。
【００３９】
バンクＢＡＮＫ０では、クロックＣＬＫ＝２の後半〜６の前半においてクロックＣＬＫ＝０でコマンドアドレス入力回路ＣＡに入力されたＲ０に基づくリード動作が行われる。また、クロックＣＬＫ＝６の後半〜１０の前半においてクロックＣＬＫ＝４でコマンドアドレス入力回路ＣＡに入力されたＤＲ０に基づくリード動作が行われる。クロックＣＬＫ＝１０の後半〜１４の前半においてクロックＣＬＫ＝８でコマンドアドレス入力回路ＣＡに入力されたＷ０とクロックＣＬＫ＝９でデータ入出力回路ＤＱに入力されたＷ０とに基づくライト動作が行われる。そして、クロックＣＬＫ＝１４の後半〜１８の前半においてクロックＣＬＫ＝１２でコマンドアドレス入力回路ＣＡに入力されたＲ０に基づくリード動作が行われる。
【００４０】
バンクＢＡＮＫ１では、クロックＣＬＫ＝３の後半〜７の前半においてクロックＣＬＫ＝１でコマンドアドレス入力回路ＣＡに入力されたＲ１に基づくリード動作が行われる。クロックＣＬＫ＝７の後半〜１１の前半においてクロックＣＬＫ＝５でコマンドアドレス入力回路ＣＡに入力されたＲ１に基づくリード動作が行われる。クロックＣＬＫ＝１１の後半〜１５の前半においてクロックＣＬＫ＝９でコマンドアドレス入力回路ＣＡに入力されたＲ１に基づくリード動作が行われる。そして、クロックＣＬＫ＝１５の後半〜１９の前半においてクロックＣＬＫ＝１３でコマンドアドレス入力回路ＣＡに入力されたＲ１に基づくリード動作が行われる。
【００４１】
バンクＢＡＮＫ２では、クロックＣＬＫ＝４の後半〜８の前半においてクロックＣＬＫ＝２でコマンドアドレス入力回路ＣＡに入力されたＲ２に基づくリード動作が行われる。クロックＣＬＫ＝８の後半〜１２の前半においてクロックＣＬＫ＝６でコマンドアドレス入力回路ＣＡに入力されたＲ２に基づくリード動作が行われる。クロックＣＬＫ＝１２の後半〜１６の前半においてクロックＣＬＫ＝１０でコマンドアドレス入力回路ＣＡに入力されたＲ２に基づくリード動作が行われる。そして、クロックＣＬＫ＝１６の後半〜２０の前半においてクロックＣＬＫ＝１４でコマンドアドレス入力回路ＣＡに入力されたＲ２に基づくリード動作が行われる。
【００４２】
バンクＢＡＮＫ３では、クロックＣＬＫ＝５の後半〜９の前半においてクロックＣＬＫ＝３でコマンドアドレス入力回路ＣＡに入力されたＲ３に基づくリード動作が行われる。クロックＣＬＫ＝９の後半〜１３の前半においてクロックＣＬＫ＝７でコマンドアドレス入力回路ＣＡに入力されたＲ３に基づくリード動作が行われる。クロックＣＬＫ＝１３の後半〜１７の前半においてクロックＣＬＫ＝１１でコマンドアドレス入力回路ＣＡに入力されたＲ３に基づくリード動作が行われる。そして、クロックＣＬＫ＝１７の後半〜２１の前半においてクロックＣＬＫ＝１５でコマンドアドレス入力回路ＣＡに入力されたＲ３に基づくリード動作が行われる。
【００４３】
リードライトバスＲＷＢＵＳでは、クロックＣＬＫ＝４の後半においてバンクＢＡＮＫ０から読み出されたデータＲ０が伝送される。クロックＣＬＫ＝５の後半においてバンクＢＡＮＫ１から読み出されたデータＲ１が伝送される。クロックＣＬＫ＝６の後半においてバンクＢＡＮＫ２から読み出されたデータＲ２が伝送される。クロックＣＬＫ＝７の後半においてバンクＢＡＮＫ３から読み出されたデータＲ３が伝送される。クロックＣＬＫ＝８の後半においてバンクＢＡＮＫ０から読み出されたデータＤＲ０が伝送される。クロックＣＬＫ＝９の後半においてバンクＢＡＮＫ１から読み出されたデータＲ１が伝送される。クロックＣＬＫ＝１０の前半においてクロックＣＬＫ＝９でデータ入出力回路ＤＱに入力されたデータＷ１が伝送される。クロックＣＬＫ＝１０の後半においてバンクＢＡＮＫ２から読み出されたデータＲ２が伝送される。クロックＣＬＫ＝１１の後半においてバンクＢＡＮＫ３から読み出されたデータＲ３が伝送される。そして、クロックＣＬＫ＝１３〜１９の各後半においてバンクＢＡＮＫ１〜３及び０〜３から読み出されたデータＲ１〜３及び０〜３が伝送される。
【００４４】
データ入出力回路ＤＱの入出力からは、クロックＣＬＫ５においてＣＬＫ４の後半でリードライトバスＲＷＢＵＳ上に出力されたデータＲ０が出力される（ＣＰＵコアＣＰＵ側へ出力される（以下、同様））。クロックＣＬＫ６においてＣＬＫ５の後半でリードライトバスＲＷＢＵＳ上に出力されたデータＲ１が出力される。クロックＣＬＫ７においてＣＬＫ６の後半でリードライトバスＲＷＢＵＳ上に出力されたデータＲ２が出力される。クロックＣＬＫ８においてＣＬＫ７の後半でリードライトバスＲＷＢＵＳ上に出力されたデータＲ３が出力される。クロックＣＬＫ９において、ＣＬＫ＝８でＣＰＵコアＣＰＵからコマンドアドレス入力回路ＣＡに入力されたライトコマンドＷ０が書き込み対象とするライトデータＷ０が入力される。クロックＣＬＫ１０においてＣＬＫ９の後半でリードライトバスＲＷＢＵＳ上に出力されたデータＲ１が出力される。クロックＣＬＫ１１においてＣＬＫ１０の後半でリードライトバスＲＷＢＵＳ上に出力されたデータＲ２が出力される。クロックＣＬＫ１２においてＣＬＫ１１の後半でリードライトバスＲＷＢＵＳ上に出力されたデータＲ３が出力される。クロックＣＬＫ１３においてＣＬＫ８の後半でリードライトバスＲＷＢＵＳ上に出力され、遅延バッファＢＵＦに保持されていたデータＤＲ０が出力される。続いて、クロックＣＬＫ＝１４〜２０においてクロックＣＬＫ＝１３〜１９の各後半においてリードライトバスＲＷＢＵＳ上に出力されたデータＲ１〜３及び０〜３が出力される。
【００４５】
図１０に示した例では、コマンドアドレス入力回路ＣＡに対して、クロックＣＬＫ＝４でバンク０に対するリードコマンド（ＤＲ０）が入力され、その後、クロックＣＬＫ＝８でバンク０に対するライトコマンド（Ｗ０）が入力されているのに対して、データ入出力回路ＤＱの入出力からは、クロックＣＬＫ＝９でバンク０に対するライトデータ（Ｗ０）が入力され、その後、クロックＣＬＫ＝１３でバンク０からのリードデータ（ＤＲ０）が出力されている。このように、本実施形態では、同一バンクに対してリードの次のスロットでライトが指示された場合には、入出力ＤＱ上のデータの入出力が、ライトデータの後にリードデータという順に逆転されることになる。
【００４６】
なお、図１０に示す例における通常時のｔＡＲ（リード前アドレスセットアップ時間）は１０ｎｓ（５ＣＬＫ）、ｔＡＷ（ライト前アドレスセットアップ時間）は２ｎｓ（１ＣＬＫ）、そして、ｔＲＣ（ロウ・サイクル・レイテンシ；同一バンクにアクセスする場合の待機時間）は８ｎｓ（４ＣＬＫ）である。また、ｔＡＲが、ｔＡＷとｔＲＣを合わせた時間に設定されている。また、データ入出力回路ＤＱで各クロックＣＬＫに入出力されるデータＲ０〜３、ＤＲ０、Ｗ０は、図２を参照して説明した３２ビット分のデータである。
【００４７】
図１１は、図４のＤＲＡＭコアＭＥＭにおけるアドレス・データパス部分の基本構成の一例を示すブロック図である。図１１に示す構成において、コマンドアドレス入力回路２１１が図７のコマンドアドレス入力回路ＣＡに対応し、データ入出力回路２７３が図７のデータ入出力回路ＤＱに対応し、遅延バッファ０〜３（ＤＢ０〜３）２６１〜２６４が図７の遅延バッファＢＵＦに対応している。また、クロック境界を鎖線で示している。
【００４８】
図１１のコマンドアドレス入力回路２１１は、コマンドアドレスレジスタ２１２を介して、コマンドデコーダ２１３に接続されるとともに、アドレスバスＡＢＵＳ（２１５）を介してバンク０〜３（ＢＡＮＫ０〜３）内のアドレス遅延回路２２２に接続されている。コマンドデコーダ２１３の出力は、パイプライン制御回路２１４に入力されている。パイプライン制御回路２１４からは、コマンドデコーダ２１３の出力に基づいた各ブロックに対するマイクロ命令が発行される。本実施形態では、マイクロ命令が各動作の半クロック前に送信されるようになっている。
【００４９】
各バンク０〜３（ＢＡＮＫ０〜３）には、メモリアレイ２２１、アドレス遅延回路２２２、リードライト回路２２３がそれぞれ設けられている。この場合、メモリアレイ２２１には、アドレス遅延回路２２２に接続されたロウデコーダ・カラムデコーダ（ＸＤＥＣ・ＹＤＥＣ）２３１、ロウデコーダ・カラムデコーダ２３１に接続されているロウアドレス線ＡＸ及びカラムアドレス線ＡＹ（これらをまとめてＡＸ・ＡＹ２３２とする）、メインアンプ（ＭＡ）２３３、ライトドライバ（ＷＤ）２３４、それらに接続されたメインＩＯ線（ＭＩＯ）２３５、メインＩＯ線２３５に接続されたグローバルセンスアンプ（ＧＳＡ）２３６等が設けられている。リードライト回路２２３は、データ出力ラッチ２３７とデータ入力ラッチ２３８とを有している。データ出力ラッチ２３７は、メモリアレイ２２１内のメインアンプ２３３の出力をラッチして、各バンク０〜３に対して共通に設けられているリードライトバス２４１上に出力する。データ入力ラッチ２３８は、リードライトバス２４１を介して入力されたデータをラッチして、メモリアレイ２２１内のワード線ドライバ２３４に対して出力する。アドレス遅延回路２２２は、各バンク０〜３（ＢＡＮＫ０〜３）に接続されたアドレスバスＡＢＵＳ２１５上でのリードアドレスの転送をライトレイテンシ分遅延させる回路である。
【００５０】
データラッチ回路２５１は、遅延バッファ０〜３（２６１〜２６４）、出力ラッチ２６５及び入力ラッチ２６６を有して構成されている。遅延バッファ０〜３（２６１〜２６４）は、各バンク０〜３に対応して複数設けられていて、リードライトバス２４１を介して入力された遅延リードデータ（例えば図１０の遅延リードデータＤＲ０）を保持し、出力タイミングを遅延してデータを出力する。出力ラッチ２６５は、リードライトバス２４１を介して入力された通常のリードデータ（例えば図１０のリードデータＲ０）を保持し、出力する。入力ラッチ２６６は、３２対１デマルチプレクサ（３２：１ＤＭＵＸ）２７２から入力されたライトデータ（例えば図１０のライトデータＷ０）を保持し、リードライトバス２４１へ出力する。
【００５１】
遅延バッファ０〜３（２６１〜２６４）又は出力ラッチ２６５から出力されたデータは、３２対１マルチプレクサ（３２：１ＭＵＸ）２７１に入力され、この３２対１マルチプレクサ２７１によって３２本の信号線上の信号から１本の信号線上の信号へと変換され、データ入出力回路（ＤＱ）２７３に入力される。３２対１デマルチプレクサ２７２は、データ入出力回路２７３から出力されたデータを１本の信号から３２本の信号へと変換し、入力ラッチ２６６に出力する。
【００５２】
図１１に示す各回路ブロックは、パイプライン制御回路２１４からクロックＣＬＫの半クロック毎にマイクロ命令を受け取って動作する。図１１では、各回路ブロックに対するマイクロ命令（動作コマンド）による動作状態を角括弧“［  ］”でくくって示した。メモリアレイ２２１に対してリード（Ｒ）又はライト（Ｗ）の動作が設定されている。アドレス遅延回路２２２に対してはアドレス信号の入力（Ｉ）、保持、又は出力（Ｏ）の動作が設定されている。データ出力ラッチ２３７に対してはリード（ＲＤ）又は出力がハイインピーダンス（ＨＺ）状態であるという動作が設定されている。データ入力ラッチ２３８に対してはライト（ＷＴ）又はハイインピーダンス（ＨＺ）の動作が設定されている。リードライトバス２４１に対してはデータのリード（Ｒ）（＝リードデータの伝送）、ライト（Ｗ）（＝ライトデータの伝送）、又はハイインピーダンス（ＨＺ）の動作が設定されている。
【００５３】
遅延バッファ０〜３（２６１〜２６４）に対しては入力（ＤＢＩ）、出力（ＤＢＯ）又はハイインピーダンス（ＨＺ）の動作が設定されている。出力ラッチ２６５に対してはリードデータの出力（ＲＤＯ）又はハイインピーダンス（ＨＺ）の動作が設定されている。入力ラッチ２６６に対してはライトデータの出力（ＷＴＯ）又はハイインピーダンス（ＨＺ）の動作が設定されている。３２対１マルチプレクサ２７１に対してはリードデータの出力（Ｒ）又はハイインピーダンス（ＨＺ）の動作が設定されている。３２対１デマルチプレクサ２７２に対してはライトデータの出力（Ｗ）又はハイインピーダンス（ＨＺ）の動作が設定されている。データ入出力回路２７３に対してはリードデータの出力（Ｒ）、ライトデータの入力（Ｗ）又はハイインピーダンス（ＨＺ）の動作が設定されている。
【００５４】
図１２は、図１１の構成の動作タイミングの一例（マイクロ命令（１）、ライト時データ衝突無し）を示すタイミングチャートである。図１２では、半周期１ｎｓ（周期２ｎｓ）のクロックＣＬＫの０〜１０サイクルにおける、コマンドアドレス入力回路２１１への入力信号（ＣＡ）、コマンドデコーダ２１３への入力信号（ＣＤ）、アドレスバス２１５上の信号（ＡＢＵＳ）、バンク０（ＢＡＮＫ０）のアドレス遅延回路２２２の動作状態（ＡＤ）、バンク０のメモリアレイ２２１の動作状態（ＡＲ）、バンク０のデータ出力ラッチ２３７の動作状態（ＲＤ）、バンク０のデータ入力ラッチ２３８の動作状態（ＷＴ）、リードライトバス２４１上の信号（ＲＷＢＵＳ）、出力ラッチ２６５の出力信号（ＲＤＯ）、入力ラッチ２６６の出力信号（ＷＴＯ）、遅延バッファ０（２６１）の動作状態（ＤＢ０）、３２対１マルチプレクサ２７１の出力信号（ＭＵＸ）、３２対１デマルチプレクサ２７２の出力信号（ＤＭＵＸ）、及び、データ入出力回路２７３の入出力信号（ＤＱ）が示されている。なお、Ｒ０〜Ｒ２は、バンク０〜２に対するリードコマンド、リードアドレス、リードデータ等の信号又はその信号による回路動作を示している。Ｗ３は、バンク３へのライトコマンド、ライトアドレス、ライトデータ等の信号又はその信号による回路動作を示している。また、記号Ｒ、Ｗ、Ｉ、Ｏ、保持は、それぞれリード動作、ライト動作、入力動作、出力動作、保持動作の各動作状態を表している。また、Ｒ０〜Ｒ２、Ｗ３等の記号が示されていない時間は、ハイインピーダンスの動作状態が設定されている回路では動作状態がハイインピーダンスとなっている。
【００５５】
図１２に示す例では、コマンドアドレス入力回路２１１の入力信号（ＣＡ）が、クロックＣＬＫ＝０でＲ０、ＣＬＫ＝１でＲ１、ＣＬＫ＝２でＲ２、ＣＬＫ＝３でＷ３、ＣＬＫ＝４でＲ０となっている。また、データ入出力回路２７３の入出力信号（ＤＱ）がクロックＣＬＫ＝４でＷ３となっている。クロックＣＬＫ＝０の前半でコマンドアドレス入力回路２１１（ＣＡ）に入力されたＲ０は、矢印で示すように、クロックＣＬＫ＝０の後半でそのコマンドがコマンドデコーダ２１３（ＣＤ）へ入力され、クロックＣＬＫ＝１の前半でそのアドレスがアドレスバス２１５（ＡＢＵＳ）に出力される。さらに、このＲ０のアドレスは、バンク０のアドレス遅延回路２２２（ＡＤ）にクロックＣＬＫ＝１の後半で入力され、１ＣＬＫ分遅延されて、クロックＣＬＫ＝２の後半でアドレス遅延回路２２２（ＡＤ）からロウデコーダ・カラムデコーダ２３１に対して出力される。また、アドレス遅延回路２２２（ＡＤ）の出力は、クロックＣＬＫ＝２の後半からクロックＣＬＫ＝５の前半まで保持される。
【００５６】
バンク０のメモリアレイ２２１（ＡＲ）は、クロックＣＬＫ＝２の後半からクロックＣＬＫ＝６の前半までリードに伴うセンス、リフレッシュ等の一連の動作を行い、データ出力ラッチ２３７（ＲＤ）は、クロックＣＬＫ＝４の前半でメインアンプ２３３から出力されたリードデータを取り込んで、クロックＣＬＫ＝４の後半でリードライトバス２４１（ＲＷＢＵＳ）に出力する。クロックＣＬＫ＝４の後半でリードライトバス２４１（ＲＷＢＵＳ）に送信されたＲ０のリードデータは、クロックＣＬＫ＝４の後半で出力ラッチ２６５（ＲＤＯ）に取り込まれ、クロックＣＬＫ＝５の前半で３２対１マルチプレクサ２７１に対して出力される。３２対１マルチプレクサ２７１（ＭＵＸ）は、クロックＣＬＫ＝５において、クロックＣＬＫ＝５の前半で出力ラッチ２６５から出力されたＲ０のリードデータをクロックＣＬＫの１６分の１のサイクルのクロックＲＷＣＬＫのＨレベルとＬレベルに同期した信号に変換してデータ入出力回路２７３へ出力する。データ入出力回路２７３（ＤＱ）は、クロックＣＬＫ＝５で３２対１マルチプレクサ２７１から出力されたリードデータＲ０をＣＰＵコアＣＰＵに対して出力する。
【００５７】
図１２に示す例では、バンク０に対するクロックＣＬＫ＝０のコマンドＲ０とクロックＣＬＫ＝４のコマンドＲ０とがともにリードなので、データ入出力回路２７３の入出力ＤＱにおいてデータ衝突無しで通常のリードレイテンシによる読み出し動作が行われている。
【００５８】
図１３は、図１２のタイミングチャートのバンク０における動作の部分をバンク３に代えて示すタイミングチャートである。すなわち、図１２のバンク０のアドレス遅延回路２２２の動作状態（ＡＤ）、バンク０のメモリアレイ２２１の動作状態（ＡＲ）、バンク０のデータ出力ラッチ２３７の動作状態（ＲＤ）、及びバンク０のデータ入力ラッチ２３８の動作状態（ＷＴ）に代えて、同一タイミングにおける、バンク３（ＢＡＮＫ３）のアドレス遅延回路２２２の動作状態（ＡＤ）、バンク３のメモリアレイ２２１の動作状態（ＡＲ）、バンク３のデータ出力ラッチ２３７の動作状態（ＲＤ）、及びバンク３のデータ入力ラッチ２３８の動作状態（ＷＴ）を示している。
【００５９】
図１３に示す例では、クロックＣＬＫ＝３の前半でコマンドアドレス入力回路２１１（ＣＡ）に入力されたＷ３が、矢印で示すように、クロックＣＬＫ＝３の後半でそのコマンドがコマンドデコーダ２１３（ＣＤ）へ入力され、クロックＣＬＫ＝４の前半でそのアドレスがアドレスバス２１５（ＡＢＵＳ）に出力される。さらに、このＷ３のアドレスは、バンク３のアドレス遅延回路２２２（ＡＤ）にクロックＣＬＫ＝４の後半で入力され、１ＣＬＫ分遅延されて、クロックＣＬＫ＝５の後半でアドレス遅延回路２２２（ＡＤ）からロウデコーダ・カラムデコーダ２３１に対して出力される。また、アドレス遅延回路２２２（ＡＤ）の出力は、クロックＣＬＫ＝５の後半からクロックＣＬＫ＝８の前半まで保持される。
【００６０】
他方、クロックＣＬＫ＝４でデータ入出力回路２７３（ＤＱ）に入力されたライトデータＷ３は、３２対１デマルチプレクサ２７２（ＤＭＵＸ）に入力され、そこで１本の信号から３２本の信号へと変換され、入力ラッチ２６６へ出力される。入力ラッチ２６６（ＷＴＯ）は、クロックＣＬＫ＝４の後半で３２対１デマルチプレクサ２７２（ＤＭＵＸ）の出力Ｗ３を取り込んで、クロックＣＬＫ＝５の前半でリードライトバス２４１（ＲＷＢＵＳ）に出力する。バンク３のデータ入力ラッチ２３８（ＷＴ）は、クロックＣＬＫ＝５の前半でリードライトバス２４１（ＲＷＢＵＳ）上のライトデータＷ３を取り込んで、クロックＣＬＫ＝５の後半でワード線ドライバ２３４へ出力する。
【００６１】
次に、バンク３のメモリアレイ２２１（ＡＲ）は、クロックＣＬＫ＝５の後半からクロックＣＬＫ＝９の前半までライトに伴う一連の動作を行う。バンク３のメモリアレイ２２１（ＡＲ）には、クロックＣＬＫ＝７においてＣＬＫ＝４でデータ入出力回路２７３（ＤＱ）に入力されたライトデータＷ３の書き込み（Ｗ）が行われる。
【００６２】
次に、図１４を参照して、図１１の構成の動作タイミングの他の例（マイクロ命令（２）、ライト時データ衝突有り）について説明する。図１４では、図１２と同様のバンク０の動作タイミング等を含む各部の動作タイミングが示されている。図１４において、Ｒ０〜Ｒ２は、バンク０〜２に対するリードコマンド、リードアドレス、リードデータ等の信号又はその信号による回路動作を示している。Ｗ０及びＷ３は、バンク０及び３へのライトコマンド、ライトアドレス、ライトデータ等の信号又はその信号による回路動作を示している。また、記号Ｒ、Ｗ、Ｉ、Ｏ、保持は、それぞれリード動作、ライト動作、入力動作、出力動作、保持動作の各動作状態を表している。また、記号ＩＮ及びＯＵＴは、それぞれ遅延バッファ０（２６１）における入力及び出力を表している。また、Ｒ０〜Ｒ２、Ｗ０、Ｗ３、ＩＮ、ＯＵＴ等の記号が示されていない時間は、ハイインピーダンスの動作状態が設定されている回路では動作状態がハイインピーダンスとなっている。
【００６３】
図１４に示す例では、コマンドアドレス入力回路２１１の入力信号（ＣＡ）が、クロックＣＬＫ＝０でＲ０、ＣＬＫ＝１でＲ１、ＣＬＫ＝２でＲ２、ＣＬＫ＝３でＷ３、ＣＬＫ＝４でＷ０、クロックＣＬＫ＝８でＲ０となっている。また、データ入出力回路２７３の入出力信号（ＤＱ）がクロックＣＬＫ＝４でＷ３、クロックＣＬＫ＝５でＷ０となっている。クロックＣＬＫ＝０の前半でコマンドアドレス入力回路２１１（ＣＡ）に入力されたＲ０は、矢印で示すように、クロックＣＬＫ＝０の後半でそのコマンドがコマンドデコーダ２１３（ＣＤ）へ入力され、クロックＣＬＫ＝１の前半でそのアドレスがアドレスバス２１５（ＡＢＵＳ）に出力される。さらに、このＲ０のアドレスは、バンク０のアドレス遅延回路２２２（ＡＤ）にクロックＣＬＫ＝１の後半で入力され、１ＣＬＫ分遅延されて、クロックＣＬＫ＝２の後半でアドレス遅延回路２２２（ＡＤ）からロウデコーダ・カラムデコーダ２３１に対して出力される。また、アドレス遅延回路２２２（ＡＤ）の出力は、クロックＣＬＫ＝２の後半からクロックＣＬＫ＝５の前半まで保持される。
【００６４】
バンク０のメモリアレイ２２１（ＡＲ）は、クロックＣＬＫ＝２の後半からクロックＣＬＫ＝６の前半までリードに伴う一連の動作を行い、データ出力ラッチ２３７（ＲＤ）は、クロックＣＬＫ＝４の前半でメインアンプ２３３から出力されたリードデータを取り込んで、クロックＣＬＫ＝４の後半でリードライトバス２４１（ＲＷＢＵＳ）に出力する。クロックＣＬＫ＝４の後半でリードライトバス２４１（ＲＷＢＵＳ）に送信されたＲ０のリードデータは、この場合、クロックＣＬＫ＝４でバンク０へのライトコマンドＷ０が入力されているので、クロックＣＬＫ＝４の後半では出力ラッチ２６５（ＲＤＯ）にではなく、遅延バッファ０（２６１）（ＤＢ０）に入力される。
【００６５】
また、クロックＣＬＫ＝４の前半でコマンドアドレス入力回路２１１（ＣＡ）に入力されたＷ０は、クロックＣＬＫ＝４の後半でそのコマンドがコマンドデコーダ２１３（ＣＤ）へ入力され、クロックＣＬＫ＝５の前半でそのアドレスがアドレスバス２１５（ＡＢＵＳ）に出力される。さらに、このＷ０のアドレスは、バンク０のアドレス遅延回路２２２（ＡＤ）にクロックＣＬＫ＝５の後半で入力され、１ＣＬＫ分遅延されて、クロックＣＬＫ＝６の後半でアドレス遅延回路２２２（ＡＤ）からロウデコーダ・カラムデコーダ２３１に対して出力される。また、アドレス遅延回路２２２（ＡＤ）の出力は、クロックＣＬＫ＝６の後半からクロックＣＬＫ＝９の前半まで保持される。
【００６６】
他方、クロックＣＬＫ＝５でデータ入出力回路２７３（ＤＱ）に入力されたライトデータＷ０は、３２対１デマルチプレクサ２７２（ＤＭＵＸ）に入力され、そこで１本の信号から３２本の信号へと変換され、入力ラッチ２６６へ出力される。入力ラッチ２６６（ＷＴＯ）は、クロックＣＬＫ＝５の後半で３２対１デマルチプレクサ２７２（ＤＭＵＸ）の出力Ｗ０を取り込んで、クロックＣＬＫ＝６の前半でリードライトバス２４１（ＲＷＢＵＳ）に出力する。バンク０のデータ入力ラッチ２３８（ＷＴ）は、クロックＣＬＫ＝６の前半でリードライトバス２４１（ＲＷＢＵＳ）上のライトデータＷ０を取り込んで、クロックＣＬＫ＝６の後半でワード線ドライバ２３４へ出力する。
【００６７】
次に、バンク０のメモリアレイ２２１（ＡＲ）は、クロックＣＬＫ＝６の後半からクロックＣＬＫ＝１０の前半までライトに伴う一連の動作を行う。バンク０のメモリアレイ２２１（ＡＲ）では、クロックＣＬＫ＝８においてＣＬＫ＝５でデータ入出力回路２７３（ＤＱ）に入力されたライトデータＷ０の書き込み（Ｗ）が行われる。
【００６８】
また、クロックＣＬＫ＝８の前半では、コマンドアドレス入力回路２１１（ＣＡ）にＲ０が入力されているので、遅延バッファ０（２６１）（ＤＢ０）が、クロックＣＬＫ＝９の前半において、クロックＣＬＫ＝４の後半で入力して保持していたリードデータＲ０を、３２対１マルチプレクサ２７１に対して出力する。３２対１マルチプレクサ２７１（ＭＵＸ）は、クロックＣＬＫ＝９において、クロックＣＬＫ＝９の前半で遅延バッファ０（２６１）から出力されたＲ０のリードデータをクロックＣＬＫの１６分の１のサイクルのクロックＲＷＣＬＫのＨレベルとＬレベルに同期した信号に変換してデータ入出力回路２７３へ出力する。データ入出力回路２７３（ＤＱ）は、クロックＣＬＫ＝９で３２対１マルチプレクサ２７１から出力されたリードデータＲ０を出力する。
【００６９】
このように、図１４に示す例では、パイプライン制御回路２１４による制御動作として、クロックＣＬＫ＝４でバンク０にライトＷ０が入力されると（ステップ［１］）、バンク０の前動作がチェックされる（ステップ［２］）。この場合、前動作がリードなので前動作が遅延リードに決定される。次に、ステップ［１］でバンク０にライトＷ０が入力された半サイクル後に、遅延バッファ０（２６１）ＤＢ０が入力（ＩＮ）に制御される（ステップ［３］）。このとき、出力ラッチ２６５（ＲＤＯ）はハイインピーダンス状態に制御される。その後、ライトＷ０によるライト動作が行われる。次に、クロックＣＬＫ＝８で、次のバンク０リードＲ０が入力されると（ステップ［４］）、その半サイクル後に遅延バッファ０（２６１）（ＤＢ０）が出力（ＯＵＴ）に制御される（ステップ［５］）。
【００７０】
もし続けて、クロックＣＬＫ＝８でもバンク０にライトＷ０が入力された場合は、遅延バッファ０（２６１）内のデータは保持されたままとなり、ライトＷ０の動作が行われる。すなわち、遅延バッファ０（２６１）内のデータは次のバンク０のコマンドがリードＲ０になるまで保持され、リードコマンドが投入された半サイクル後に遅延バッファから出力されることになる。すなわち、同一のバンクに対して、リード命令が発生された直後に、ライト命令が長時間連続する場合、リード命令の出力が長時間待たされることになる。これに対応して、次のような命令発行シーケンスを行うと、これを防ぐことができる。
【００７１】
第一の方法として、ＣＰＵまたはコントローラが特定のバンクにリード命令に続けて、連続ライトを行うことが分かっている場合には、そのバンクに対して一回、命令を投入せず（ＮＯＰ）、前の読み出しデータの出力を行う。図１０において、ＣＬＫ＝０でリード命令Ｒ０が入ったあとに、ＣＬＫ＝４で命令が投入されず、ＣＬＫ＝８でライトが投入される場合に相当する。ＣＬＫ＝５でリードデータ０が出力されたあと、ＣＬＫ＝６の後半からＣＬＫ１０の前半までバンク０は動作しないため、ＣＬＫ＝８でライトが投入されても、遅延バッファにはデータがたまらず、ライトを連続してもデータが保持されたままになることはない。
【００７２】
第二の方法として、遅延バッファにデータが入った後に、ライトが続いた場合に対応して、ＤＲＡＭコアにデータフラッシュコマンドＤＦを追加する。本コマンドを投入すると、メモリアレイの動作を行わず、遅延バッファ内のデータがレイテンシ１で出力される。動作については、図１０において、ＣＬＫ＝１２でリードコマンドＲ０の代わりに、データフラッシュコマンドＤＦ０を入力する。この場合、ＣＬＫ＝１３でアドレスバスＡＢＵＳ，ＣＬＫ＝１４の後半からＣＬＫ１８の前半までバンク０が動作せずに、ＣＬＫ＝１３で遅延リードデータＤＲ０が出力される。またＣＬＫ＝１７でデータは出力されないため、ＣＬＫ＝１６から通常の連続ライトを再開することができる。
【００７３】
次に、図１５を参照して、図１１に示す構成におけるコマンド・アドレスバス部分の構成及び動作について説明する。図１５（ａ）は、図１１のコマンドアドレスレジスタ２１２内のアドレスバス（ＡＢＵＳ）２１５への信号出力用の回路に対応する回路ブロック３０１と、図１１のアドレス遅延回路２２２に対応する回路ブロック３２１とを示すブロック図である。図１５（ｂ）は、回路ブロック３０１及び回路ブロック３２１の動作を説明するためのタイミングチャートである。
【００７４】
回路ブロック３０１は、図１１のコマンドアドレス入力回路２１１から入力された複数ビットのコマンドアドレス信号ＣＡ（すなわちコマンド信号及びアドレス信号）を入力とする複数ビット用のフリップフロップ３１１と、フリップフロップ３１１の複数ビットの出力を入力とする組み合わせ論理回路３１２と、論理回路３１２の複数ビットの出力を入力とする複数ビット用のフリップフロップ３１３とから構成されている。このフリップフロップ３１３の出力が、アドレスバスＡＢＵＳ２１５へ出力される。この場合、フリップフロップ３１１は、クロックＣＬＫの立ち下がりで入力信号をラッチし、フリップフロップ３１３は、クロックＣＬＫの立ち上がりで入力信号をラッチする。なお、複数ビット用のフリップフロップとは、クロック入力を共通として複数ビットのデータのそれぞれを入力する複数のフリップフロップを組み合わせた回路である。また、特に説明を行わない場合、各フリップフロップは、Ｄ型フリップフロップとして構成されている。論理回路３１２はバンクアドレスをデコードし、どのバンクを活性化するかを決定する機能、コマンドをデコードし、後に示すパイプライン制御回路を起動するための回路を有する。
【００７５】
回路ブロック３２１は、フリップフロップ３３１、複数ビット用のフリップフロップ３３２、ラッチ回路３３３及び複数ビット用のインバータ３３４とを有して構成されている。ここで、複数ビット用のインバータとは、各ビットに対応する複数のインバータを組み合わせた回路である。フリップフロップ３３１は、クロックＣＬＫの立ち下がりで入力命令ＡＩ〈ｎ〉をラッチし、信号ＩＣＫ〈ｎ〉として出力する。ここで、「〈ｎ〉」のｎは、バンク０〜３の番号０〜３のいずれかを表している。フリップフロップ３３２は、信号ＩＣＫ〈ｎ〉の立ち上がりでアドレスバスＡＢＵＳ２１５上の複数ビットの信号をラッチし、それを反転した複数ビットの信号ＡＤ〈ｎ〉として出力する。ラッチ回路３３３の出力ＡＣＫ〈ｎ〉は、クロックＣＬＫの立ち下がりで活性化命令ＡＣＴ〈ｎ〉がＨレベルである場合にＨレベルにセットされ、４ＣＬＫ後にＬレベルにクリアされる。
【００７６】
インバータ３３４は、信号ＡＣＫ〈ｎ〉がＨレベルの場合に、複数ビットの信号ＡＤ〈ｎ〉を入力して反転し、複数ビットの信号ＡＤＯとして出力する。また、信号ＡＣＫ〈ｎ〉がＬレベルの場合にはインバータ３３４の出力はハイインピーダンス状態となる。この信号ＡＤＯは、図１１のロウデコーダ・カラムデコーダ（ＸＤＥＣ・ＹＤＥＣ）２３１へ入力される信号である。また、入力命令ＡＩ〈ｎ〉と活性化命令ＡＣＴ〈ｎ〉は、図１１のパイプライン制御回路２１４からバンク毎に１ＣＬＫ期間入力される信号である。入力命令ＡＩ〈ｎ〉は、アドレスバスＡＢＵＳ２１５上の信号を回路ブロック３２１（図１１のアドレス遅延回路２２２）へ入力して保持させるための制御信号である。活性化命令ＡＣＴ〈ｎ〉はその保持した信号を回路ブロック３２１から出力させることで、図１１のＡＸ・ＡＹ２３２を活性化させるための制御信号である。
【００７７】
図１５（ｂ）のタイミングチャートは、上から順に、クロックＣＬＫ、コマンドアドレス信号・チップセレクト信号ＣＡ−ＣＳ、チップセレクト入力信号ＣＳＩ、アドレスバス信号ＡＢＵＳ、入力命令ＡＩ〈ｎ〉、信号ＩＣＫ〈ｎ〉、信号ＡＤ〈ｎ〉、活性化命令ＡＣＴ〈ｎ〉、信号ＡＣＫ〈ｎ〉、及び信号ＡＤＯの波形をそれぞれ示している。また、「ＨＺ」は出力がハイインピーダンス状態となっていることを表している。この場合、クロックＣＬＫ＝０でコマンドアドレス信号・チップセレクト信号ＣＡ−ＣＳ及びチップセレクト入力信号ＣＳＩが入力され、その１ＣＬＫ後のクロックＣＬＫ＝１で入力命令ＡＩ〈ｎ〉が入力され、そのさらに１ＣＬＫ後のクロックＣＬＫ＝２で活性化命令ＡＣＴ〈ｎ〉が入力されている。
【００７８】
クロックＣＬＫ＝０の立ち上がりで入力されたコマンドアドレス信号ＣＡは、クロックＣＬＫ＝０の立ち下がりでフリップフロップ３１１によってラッチされ（不図示）、論理回路３１２で所定の論理演算がなされた後、次のクロックＣＬＫ＝１の立ち上がりでフリップフロップ３１３にラッチされ、アドレスバスＡＢＵＳ２１５上に送信される。
【００７９】
クロックＣＬＫ＝１の立ち下がりでは、バンク入力命令ＡＩ〈ｎ〉の入力（Ｈレベルへの変化。以下、同様）を受けて、フリップフロップ３３１の出力ＩＣＫ〈ｎ〉がＨレベルとなる。ＩＣＫ〈ｎ〉の立ち上がりで、フリップフロップ３３２によってアドレスバスＡＢＵＳ２１５上の信号がラッチされ、反転されて、信号ＡＤ〈ｎ〉として出力される。このフリップフロップ３３２の出力は、次にバンク入力命令ＡＩ〈ｎ〉が入力されるまで保持される。
【００８０】
クロックＣＬＫ＝２の立ち下がりでは、活性化命令ＡＣＴ〈ｎ〉の入力を受けて、ラッチ回路３３３の出力ＡＣＫ〈ｎ〉がＨレベルとなる。信号ＡＣＫ〈ｎ〉がＨレベルになると、インバータ３３４から、信号ＡＤ〈ｎ〉を反転した信号ＡＤＯが出力される。
【００８１】
次に、図１６を参照して、図１１に示す構成においてリード動作に関連する回路部分の構成及び動作について説明する。図１６（ａ）は、図１１のデータ出力ラッチ２３７に対応する回路ブロック４０１と、図１１の出力ラッチ２６５に対応する回路ブロック４３１とを示すブロック図である。図１６（ｂ）は、回路ブロック４１１及び回路ブロック４３１の動作を説明するためのタイミングチャートである。
【００８２】
回路ブロック４０１は、図１１のメインアンプ２３３から出力されたメインアンプ出力ＭＡＯ〈ｎ〉を入力し、反転して出力する複数ビット用のフリップフロップ４１１と、フリップフロップ４１１の複数ビットの反転出力を入力して反転する複数ビット用のインバータ４１３と、リード命令ＲＤ〈ｎ〉を入力として信号ＲＣＫ〈ｎ〉を出力するリセット機能付きフリップフロップ４１２とから構成されている。このインバータ４１３の出力が、リードライトバスＲＷＢＵＳ２４１へ出力される。この場合、フリップフロップ４１１とフリップフロップ４１２は、クロックＣＬＫの立ち下がりで入力信号をラッチする。インバータ４１３は、フリップフロップ４１２から出力された信号ＲＣＫ〈ｎ〉がＨレベルとなった場合に、フリップフロップ４１１の反転出力を反転した複数ビットの信号を出力する。
【００８３】
なお、フリップフロップ４１２は、図１６（ａ）で矩形で囲んで示したように、クロックＣＬＫがＬレベルでオンするスイッチ４２１と、互いに入力と出力、出力と入力を接続した１組のインバータ４２２及び４２３からなるラッチ回路と、クロックＣＬＫがＨレベルでインバータ４２２の出力をＨレベルにプルアップするトランジスタ４２４と、インバータ４２２の出力を反転するインバータ４２５とから構成されている。この構成によれば、クロックＣＬＫがＬレベルでスイッチ４２１がオンとなり、入力信号（Ｄ入力）が反転されてラッチされ、インバータ４２５でさらに反転されて出力される。一方、クロックＣＬＫがＨレベルになると、スイッチ４２１がオフになるとともにトランジスタ４２４がオンするのでインバータ４２２の出力がＨレベルに設定され、インバータ４２５の出力（Ｑ出力）がＬレベルにリセットされる。この構成で、フリップフロップ４１２は、クロックＣＬＫの立ち下がりでリード命令ＲＤ〈ｎ〉をラッチして信号ＲＣＫ〈ｎ〉として出力し、クロックＣＬＫの立ち上がりで信号ＲＣＫ〈ｎ〉をＬレベルにリセットする。
【００８４】
回路ブロック４３１は、複数ビット用のフリップフロップ４４１と、フリップフロップ４４２と、複数ビット用のインバータ４４３とを有して構成されている。フリップフロップ４４１は、クロックＣＬＫの立ち上がりでリードライトバスＲＷＢＵＳ２４１上の複数ビットの信号をラッチし、それを反転して複数ビットの信号として出力する。フリップフロップ４４２は、クロックＣＬＫの立ち上がりでリード命令ＲＤＯをラッチし、信号ＲＣＫＯとして出力する。インバータ４４３は、フリップフロップ４４１の反転出力を入力して反転し、信号ＲＣＫＯがＨレベルとなった場合に複数ビットの信号ＭＵＸＩを出力する。この信号ＭＵＸＩは、図１１の３２対１マルチプレクサ２７１へ入力される信号である。また、リード命令ＲＤ〈ｎ〉とリード命令ＲＤＯは、図１１のパイプライン制御回路２１４から１ＣＬＫ期間入力される信号である。リード命令ＲＤ〈ｎ〉は、フリップフロップ４１１に保持されたリードデータをリードライトバスＲＷＢＵＳ２４１上に出力させるための制御信号である。リード命令ＲＤＯは、フリップフロップ４４１に保持されたリードデータをインバータ４４３を介して図１１の３２対１マルチプレクサ２７１に出力させるための制御信号である。
【００８５】
図１６（ｂ）のタイミングチャートは、上から順に、クロックＣＬＫ、メインアンプ出力ＭＡＯ〈ｎ〉、リード命令ＲＤ〈ｎ〉、信号ＲＣＫ〈ｎ〉、リードライトバス信号ＲＷＢＵＳ、リード命令ＲＤＯ、信号ＲＣＫＯ、及び信号ＭＵＸＩの動作状態又は波形をそれぞれ示している。この場合、クロックＣＬＫ＝１の前半までに図１１のメインアンプ２３３によるセンス動作が終了し、クロックＣＬＫ＝１の前半でメインアンプ２３３の出力が確定することとしている。また、メインアンプ２３３の動作に合わせて、クロックＣＬＫ＝１の立ち上がりでリード命令ＲＤ〈ｎ〉が入力され、その半ＣＬＫ後のクロックＣＬＫ＝１の立ち下がりでリード命令ＲＤＯが入力されるようになっている。
【００８６】
クロックＣＬＫ＝１の立ち下がりでは、リード命令ＲＤ〈ｎ〉の入力を受けて、フリップフロップ４１２の出力ＲＣＫ〈ｎ〉がＨレベルとなる。信号ＲＣＫ〈ｎ〉がＨレベルになると、フリップフロップ４１１の反転出力を反転した信号がインバータ４１３から出力される。このとき、インバータ４１３からリードライトバスＲＷＢＵＳ２４１へは、フリップフロップ４１１によってクロックＣＬＫ＝１の立ち下がりでラッチされた図１１のメインアンプ２３３の出力信号が出力される。信号ＲＣＫ〈ｎ〉は、半クロック後のクロックＣＬＫ＝２の立ち上がりでクリアされてＬレベルとなるので、インバータ４１３の出力は、このときハイインピーダンス状態となる。
【００８７】
クロックＣＬＫ＝２の立ち上がりでは、リード命令ＲＤＯの入力を受けて、フリップフロップ４４２の出力ＲＣＫＯがＨレベルとなる。信号ＲＣＫＯがＨレベルになると、フリップフロップ４４１の反転出力を反転した信号がインバータ４４３から出力される。このとき、インバータ４４３から３２対１マルチプレクサ２７１へは、フリップフロップ４４１によってクロックＣＬＫ＝２の立ち上がりでリードライトバスＲＷＢＵＳ２４１上の信号をラッチした信号が出力される。信号ＲＣＫＯは、クロックＣＬＫ＝３の立ち上がりでＬレベルとなるので、インバータ４４３の出力は、このときハイインピーダンス状態となる。
【００８８】
次に、図１７を参照して、図１１に示す構成においてライト動作に関連する回路部分の構成及び動作について説明する。図１７（ａ）は、図１１の入力ラッチ２６６に対応する回路ブロック５０１と、図１１のデータ入力ラッチ２３８に対応する回路ブロック５２１とを示すブロック図である。図１７（ｂ）は、回路ブロック５０１及び回路ブロック５２１の動作を説明するためのタイミングチャートである。
【００８９】
回路ブロック５０１は、図１１の３２対１デマルチプレクサ２７２から出力されたＤＭＵＸＯ信号を入力とする複数ビット用のフリップフロップ５１１と、フリップフロップ５１１の複数ビットの反転出力を入力とする複数ビット用のインバータ５１３と、ライト命令ＷＴＯを入力として信号ＷＣＫＯを出力するリセット機能付きのフリップフロップ５１２とから構成されている。このインバータ５１３の出力が、リードライトバスＲＷＢＵＳ２４１に接続される。この場合、フリップフロップ５１１とフリップフロップ５１２は、クロックＣＬＫの立ち上がりで入力信号をラッチする。インバータ５１３は、フリップフロップ５１１の反転出力信号を入力して反転し、フリップフロップ５１２から出力された信号ＷＣＫＯがＨレベルとなった場合に複数ビットの信号を出力する。なお、フリップフロップ５１２は、図１６（ａ）に示すフリップフロップ４１２と同一の構成である。
【００９０】
回路ブロック５２１は、複数ビット用のフリップフロップ５３１と、フリップフロップ５３２と、複数ビット用のインバータ５３３とを有して構成されている。フリップフロップ５３１は、クロックＣＬＫの立ち下がりでリードライトバスＲＷＢＵＳ２４１上の複数ビットの信号をラッチし、それを反転して複数ビットの信号として出力する。フリップフロップ５３２は、クロックＣＬＫの立ち下がりでライト命令ＷＴ〈ｎ〉をラッチし、信号ＷＣＫ〈ｎ〉として出力する。インバータ５２１は、フリップフロップ５３１の反転出力を入力して反転し、信号ＷＣＫ〈ｎ〉がＨレベルとなった場合に複数ビットの信号ＷＤＩ〈ｎ〉を出力する。この信号ＷＤＩ〈ｎ〉は、図１１のワード線ドライバ（ＷＤ）２３４へ入力される信号である。また、ライト命令ＷＴＯとライト命令ＷＴ〈ｎ〉は、図１１のパイプライン制御回路２１４から１ＣＬＫ期間、入力される信号である。このライト命令ＷＴＯは、フリップフロップ５１１に保持されたライトデータをリードライトバスＲＷＢＵＳ２４１上に出力させるための制御信号である。ライト命令ＷＴ〈ｎ〉は、フリップフロップ５３１に保持されたライトデータをインバータ５３３を介して図１１のワード線ドライバ２３４に出力させるための制御信号である。
【００９１】
図１７（ｂ）のタイミングチャートは、上から順に、クロックＣＬＫ、３２対１デマルチプレクサ２７２の出力ＤＭＵＸＯ、ライト命令ＷＴＯ、信号ＷＣＫＯ、リードライトバス信号ＲＷＢＵＳ、ライト命令ＷＴ〈ｎ〉、信号ＷＣＫ〈ｎ〉、及び信号ＷＤＩ〈ｎ〉の動作状態又は波形をそれぞれ示している。この場合、クロックＣＬＫ＝０で信号ＤＭＵＸＯとして３２対１デマルチプレクサ２７２からライトデータが入力されることとしている。また、クロックＣＬＫ＝０の立ち下がりでライト命令ＷＴＯが入力され、その半ＣＬＫ後のクロックＣＬＫ＝１の立ち上がりでライト命令ＷＴ〈ｎ〉が入力されるようになっている。
【００９２】
クロックＣＬＫ＝１の立ち上がりでは、ライト命令ＷＴＯの入力を受けて、フリップフロップ５１２の出力ＷＣＫＯがＨレベルとなる。信号ＷＣＫＯがＨレベルになると、フリップフロップ５１１の反転出力を反転した信号がインバータ５１３から出力される。このとき、インバータ５１３からリードライトバスＲＷＢＵＳ２４１へは、フリップフロップ５１１によってクロックＣＬＫ＝１の立ち上がりでラッチされた３２対１デマルチプレクサ２７２の出力信号が出力される。信号ＷＣＫＯは、半クロック後のクロックＣＬＫ＝１の立ち下がりでクリアされてＬレベルとなるので、インバータ５１３の出力は、このときハイインピーダンス状態となる。
【００９３】
クロックＣＬＫ＝１の立ち下がりでは、ライト命令ＷＴ〈ｎ〉の入力を受けて、フリップフロップ５３２の出力ＷＣＫ〈ｎ〉がＨレベルとなる。信号ＷＣＫ〈ｎ〉がＨレベルになると、フリップフロップ５３１の反転出力を反転した信号がインバータ５３３から出力される。このとき、インバータ５３３からワード線ドライバ２３４へは、フリップフロップ５３１によってクロックＣＬＫ＝１の立ち下がりでリードライトバスＲＷＢＵＳ２４１上の信号をラッチした信号が出力される。信号ＷＣＫ〈ｎ〉は、クロックＣＬＫ＝２の立ち下がりでＬレベルとなるので、インバータ５３３の出力は、このときハイインピーダンス状態となる。
【００９４】
次に、図１８を参照して、図１１に示す遅延バッファ０〜３（２６１〜２６４）（ただし図１８では遅延バッファ６２１として示す）の構成及び動作について説明する。なお、図１６に示したものと同一の構成には同一の符号を用い、説明を省略する。
【００９５】
図１７（ａ）は、図１１のデータ出力ラッチ２３７に対応する回路ブロック４０１（図１６の回路ブロック４０１と同一構成）と、図１１の遅延バッファ０〜３（２６１〜２６４）に対応する回路ブロック６２１とを示すブロック図である。図１７（ｂ）は、回路ブロック６２１の動作を説明するためのタイミングチャートである。
【００９６】
回路ブロック６２１は、複数ビット用のフリップフロップ６３１と、フリップフロップ６３２及び６３３と、複数ビット用のインバータ６３４とを有して構成されている。フリップフロップ６３２は、クロックＣＬＫの立ち上がりで入力命令ＤＢＩ〈ｎ〉をラッチし、信号ＩＣＫ〈ｎ〉として出力する。フリップフロップ６３１は、信号ＩＣＫ〈ｎ〉の立ち上がりでリードライトバスＲＷＢＵＳ２４１上の複数ビットの信号をラッチし、それを反転して、複数ビットの信号ＢＤ〈ｎ〉として出力する。フリップフロップ６３３は、クロックＣＬＫの立ち上がりで出力命令ＤＢＯ〈ｎ〉をラッチし、信号ＯＣＫ〈ｎ〉として出力する。インバータ６３４は、複数ビットの信号ＢＤ〈ｎ〉を入力して反転し、信号ＯＣＫ〈ｎ〉がＨレベルとなった場合に複数ビットの信号ＭＵＸＩを出力する。この信号ＭＵＸＩは、図１１の３２対１マルチプレクサ２７１へ入力される信号である。また、入力命令ＤＢＩ〈ｎ〉及び出力命令ＤＢＯ〈ｎ〉は、図１１のパイプライン制御回路２１４からバンク毎に１ＣＬＫ期間入力される信号である。入力命令ＤＢＩ〈ｎ〉は、リードライトバスＲＷＢＵＳ２４１上のリードデータをフリップフロップ６３１にラッチさせるための制御信号である。出力命令ＤＢＯ〈ｎ〉は、フリップフロップ６３１に保持されたリードデータをインバータ６３４を介して図１１の３２対１マルチプレクサ２７１に出力させるための制御信号である。
【００９７】
図１８（ｂ）のタイミングチャートは、上から順に、クロックＣＬＫ、リードライトバス信号ＲＷＢＵＳ、入力命令ＤＢＩ〈ｎ〉、信号ＩＣＫ〈ｎ〉、信号ＢＤ〈ｎ〉、出力命令ＤＢＯ〈ｎ〉、信号ＯＣＫ〈ｎ〉、及び信号ＭＵＸＩの動作状態又は波形をそれぞれ示している。この場合、クロックＣＬＫ＝０の後半でリードライトバスＲＷＢＵＳ２４１上にインバータ４１３からリードデータが出力されていることとする。また、クロックＣＬＫ＝０の立ち下がりで入力命令ＤＢＩ〈ｎ〉が入力され、クロックＣＬＫ＝２の立ち下がりで出力命令ＤＢＯ〈ｎ〉が入力されることとしている。
【００９８】
クロックＣＬＫ＝１の立ち上がりでは、入力命令ＤＢＩ〈ｎ〉の入力を受けて、フリップフロップ６３２の出力ＩＣＫ〈ｎ〉がＨレベルとなる。信号ＩＣＫ〈ｎ〉がＨレベルになると、フリップフロップ６３１によってリードライトバスＲＷＢＵＳ２４１上の信号がラッチされ、それを反転した出力信号が信号ＢＤ〈ｎ〉として出力される。この信号ＢＤ〈ｎ〉は、次に、出力ＩＣＫ〈ｎ〉がＨレベルになるまで同一値で保持される。
【００９９】
クロックＣＬＫ＝３の立ち上がりでは、出力命令ＤＢＯ〈ｎ〉の入力を受けて、フリップフロップ６３３の出力ＯＣＫ〈ｎ〉がＨレベルとなる。信号ＯＣＫ〈ｎ〉がＨレベルになると、信号ＢＤ〈ｎ〉を反転した信号がインバータ６３４から出力される。信号ＯＣＫ〈ｎ〉は、１クロック後のクロックＣＬＫ＝４の立ち上がりでＬレベルとなるので、インバータ６３４の出力は、このときハイインピーダンス状態となる。
【０１００】
次に、図１９〜図２２を参照して図１１に示すパイプライン制御回路２１４の構成及び動作について説明する。なお、図１９は、パイプライン制御回路２１４におけるバンク０に対応する部分を示したものであり、パイプライン制御回路２１４には他にバンク１〜３に対応する独立した同様の制御回路が備えられている。図１９に示すバンク０用の構成は、フリップフロップ７１１〜７１６と、フリップフロップ７２１〜７２４からなるシフトレジスタ１（７３３）と、同様の構成のシフトレジスタ２（７３４）と、コマンドレジスタ１（７３１）と、コマンドレジスタ２（７３２）と、バッファフラグレジスタ７４１と、２入力アンド回路７５１〜７５４と、２入力アンド回路７６１〜７６６と、２入力アンド回路７７１〜７７８と、２入力アンド回路７８１〜７８８と、２入力アンド回路７９１〜７９６とを備えて構成されている。以下、２入力アンド回路を単にアンド回路と表記する。
【０１０１】
シフトレジスタ１（７３３）に含まれるフリップフロップ７１１〜７１６は、クロックＣＬＫの立ち下がりで入力信号をラッチする互いに直列に接続された６個のフリップフロップである。フリップフロップ７１１の入力には、バンクアドレス信号ＢＡ〈０〉が入力される。フリップフロップ７２１〜７２４は、クロックＣＬＫの立ち上がりで入力信号をラッチする互いに直列に接続された４個のフリップフロップである。フリップフロップ７２１の入力には、バンクアドレス信号ＢＡ〈０〉が入力される。バンクアドレス信号ＢＡ〈０〉は、バンク０に対するリード又はライトコマンドが入力された場合にクロックＣＬＫの立ち上がりでＨレベルとなり、１クロック期間Ｈレベルを維持する信号である。したがって、フリップフロップ７１１の出力信号ｔａ０．５はバンクアドレス信号ＢＡ〈０〉がＨレベルとなった次のクロックＣＬＫの立ち下がり時にＨレベルとなって、それから１クロック期間Ｈレベルとなる。１ＣＬＫ期間を１Ｔ、半クロック期間を０．５Ｔとして表すとすると、バンクアドレス信号ＢＡ〈０〉（図２０〜図２２ではバンク〈０〉信号と表記する）がＨレベルとなった時刻を基準（Ｔ０）としてフリップフロップ７１１の出力信号ｔａ０．５はＴ０．５でＨレベルになる信号である。同様に、フリップフロップ７１２、７１５、７１６の出力ｔａ１．５、ｔａ４．５、ｔａ５．５は、図２１に示すように、それぞれＴ１．５、Ｔ４．５、Ｔ５．５でＨレベルとなり、１クロック期間後にＬレベルとなる。他方、フリップフロップ７２１〜７２４は、クロックＣＬＫの立ち上がりで入力信号をラッチするので、フリップフロップ７２１〜７２４の出力ｔａ１、ｔａ２、ｔａ３、ｔａ４は、図２１に示すように、それぞれＴ１、Ｔ２、Ｔ３、Ｔ４でＨレベルとなり、１クロック期間後にＬレベルとなる。シフトレジスタ２（７３４）も同様の動作を行い、出力ｔｂ１、ｔｂ１．５、ｔｂ２、ｔｂ３、ｔｂ４、ｔｂ４．５、ｔｂ５．５はシフトレジスタ２（７３４）にバンクアドレスＢＡ＜０＞が入力されてＴ１、Ｔ１．５、Ｔ２、Ｔ３、Ｔ４、Ｔ４．５、Ｔ５．５後にＨレベルとなり、  １クロック期間後にＬレベルとなる。
【０１０２】
コマンドレジスタ１（７３１）とコマンドレジスタ２（７３２）は、バンク０に対してリード（ＲＥＡＤ）又はライト（ＷＲＩＴＥ）が発行された場合に、各コマンドに対応した複数種類の制御信号を保持し、出力する回路である。コマンドレジスタ１（７３１）によって保持・出力される複数種類の制御信号には、信号Ｒ１、信号Ｗ１、信号ＤＲ１及び信号ＢＲ１がある。また、コマンドレジスタ２（７３２）によって保持・出力される複数種類の制御信号には、信号Ｒ２、信号Ｗ２、信号ＤＲ２及び信号ＢＲ２がある。ただし、この信号Ｒ１と信号Ｒ２は、図１０等のタイミングチャートで各バンクに対するリード又はライト動作を説明する際にコマンド信号、アドレス信号、データ信号や動作状態を表す記号として用いた記号Ｒ１、Ｒ２に対応するものではない。また、コマンドレジスタ１（７３１）とコマンドレジスタ２（７３２）は、バンク０に対するリード（ＲＥＡＤ）又はライト（ＷＲＩＴＥ）コマンドに対して、交互に選択されて（すなわちパイプライン動作の１スロット置きに）使用されるようになっている。同様に、シフトレジスタ１（７３３）とシフトレジスタ２（７３４）もバンク０に対するリード（ＲＥＡＤ）又はライト（ＷＲＩＴＥ）コマンドに対して、交互に選択される。この交互の選択は、例えば１ビットのフラグレジスタを用意し、バンクアドレス信号ＢＡ〈０〉がＨレベルになる毎にフラグの値を反転させる。そして、このフラグの値がＨレベルの場合にコマンドレジスタ１（７３１）を選択し、Ｌレベルの場合にコマンドレジスタ２（７３２）を選択することができる。ただし、これは一例であって他の方法であってもよい。
【０１０３】
コマンドレジスタ１（７３１）とコマンドレジスタ２（７３２）には、バンク０に対してリードコマンドが発行されたことを示すＲＥＡＤ信号と、バンク０に対してライトコマンドが発行されたことを示すＷＲＩＴＥ信号とが共通に入力される。また、コマンドレジスタ１（７３１）には、Ｒ１クリア・ＤＲ１セット信号、ＢＲ１セット信号等の信号が入力される。また、コマンドレジスタ２（７３２）には、Ｒ２クリア・ＤＲ２セット信号、ＢＲ２セット信号等の信号が入力される。
【０１０４】
信号Ｒ１は、ＲＥＡＤ信号が入力された時にセットされ、アンド回路７９１の出力であるＲ１クリア信号が入力された時か又はアンド回路７５１の出力であるＲ１クリア・ＤＲ１セット信号が入力された時にクリアされる。ここで、セットは信号レベルをＨレベルに、クリアはＬレベルにすることである（以下、同様）。信号Ｗ１は、ＷＲＩＴＥ信号が入力された時にセットされ、アンド回路７７５の出力であるＷ１クリア信号が入力された時にクリアされる。信号ＤＲ１は、アンド回路７５１の出力であるＲ１クリア・ＤＲ１セット信号が入力された時にセットされ、アンド回路７９２の出力であるＤＲ１クリア信号が入力された時にクリアされる。そして、信号ＢＲ１は、アンド回路７５３の出力であるＢＲ１セット信号が入力された時にセットされ、アンド回路７９３の出力であるＢＲ１・ＢＦクリア信号が入力された時にクリアされる。
【０１０５】
信号Ｒ２は、ＲＥＡＤ信号が入力された時にセットされ、アンド回路７９４の出力であるＲ２クリア信号が入力された時か又はアンド回路７５２の出力であるＲ２クリア・ＤＲ２セット信号が入力された時にクリアされる。信号Ｗ２は、ＷＲＩＴＥ信号が入力された時にセットされ、アンド回路７７６の出力であるＷ２クリア信号が入力された時にクリアされる。信号ＤＲ２は、アンド回路７５２の出力であるＲ２クリア・ＤＲ２セット信号が入力された時にセットされ、アンド回路７９５の出力であるＤＲ２クリア信号が入力された時にクリアされる。そして、信号ＢＲ２は、アンド回路７５４の出力であるＢＲ２セット信号が入力された時にセットされ、アンド回路７９６の出力であるＢＲ２・ＢＦクリア信号が入力された時にクリアされる。
【０１０６】
Ｒ１クリア・ＤＲ１セット信号を出力するアンド回路７５１には、信号Ｒ１と信号Ｗ２が入力される。つまり、信号Ｒ１がＨレベルかつ信号Ｗ２がＨレベルの場合に、Ｒ１クリア・ＤＲ１セット信号が出力される（Ｈレベルとなる。以下、同様）。また、Ｒ２クリア・ＤＲ２セット信号を出力するアンド回路７５２には、信号Ｒ２と信号Ｗ１が入力される。つまり、信号Ｒ２がＨレベルかつ信号Ｗ１がＨレベルの場合に、Ｒ２クリア・ＤＲ２セット信号が出力される（Ｈレベルとなる）。
【０１０７】
ＢＲ１セット信号を出力するアンド回路７５３には、信号Ｒ２とバッファフラグレジスタ７４１の出力信号ＢＦが入力される。したがって、信号Ｒ２がＨレベルかつ信号ＢＦがＨレベルの場合に、ＢＲ１セット信号が出力される。このバッファフラグレジスタ７４１は、図１８の遅延バッファ６２１（すなわち図１１の遅延バッファ０（２６１））にリードデータが入力され、それが保持された状態であることを示す出力信号ＢＦ（Ｈレベル）をアンド回路７５３及び７５４に対して出力する回路である。この信号ＢＦは、アンド回路７８４の出力であるＤＢＩ・ＢＦセット信号が入力された時又はアンド回路７８７の出力であるＤＢＩ・ＢＦセット信号が入力された時にセットされ、アンド回路７９３の出力であるＢＲ１・ＢＦクリア信号が入力された時又はアンド回路７９６の出力であるＢＲ２・ＢＦクリア信号が入力された時にクリアされる。
【０１０８】
また、ＢＲ２セット信号を出力するアンド回路７５４には、信号Ｒ１と信号ＢＦが入力される。したがって、信号Ｒ１がＨレベルかつ信号ＢＦがＨレベルの場合、ＢＲ２セット信号が出力される。
【０１０９】
また、アンド回路７６１、７６２は、各一方の入力が信号ｔａ１に接続され、他方の入力が信号Ｒ１、信号Ｗ１に接続されている。アンド回路７６３、７６４は、各一方の入力が信号ｔｂ１に接続され、他方の入力が信号Ｒ２、信号Ｗ２に接続されている。このアンド回路７６１〜７６４の出力が信号ＡＩ（図１５の入力命令ＡＩ〈ｎ〉（ただしｎ＝０）に対応する信号）となる。ただし、正確には、アンド回路７６１〜７６４の４つの出力ＡＩの論理和をとった信号が、図１５の入力命令ＡＩ〈ｎ〉（ただしｎ＝０）に対応する信号となる（以下、同様）。
【０１１０】
また、アンド回路７６５は、一方の入力が信号ｔａ１．５に接続され、他方の入力が信号Ｗ１に接続されている。アンド回路７６６は、一方の入力が信号ｔｂ１．５に接続され、他方の入力が信号Ｗ２に接続されている。このアンド回路７６５及び７６６の出力が信号ＷＴＯ（図１７のライト命令ＷＴＯに対応する信号）となる。
【０１１１】
また、アンド回路７７１は、一方の入力が信号ｔａ２に接続され、他方の入力が信号Ｒ１に接続されている。アンド回路７７３は、一方の入力が信号ｔｂ２に接続され、他方の入力が信号Ｒ２に接続されている。このアンド回路７７１及び７７３の出力が信号ＡＣＴ（図１５の活性化命令ＡＣＴ〈ｎ〉（ただしｎ＝０）に対応する信号）となる。また、アンド回路７７２は、一方の入力が信号ｔａ２に接続され、他方の入力が信号Ｗ１に接続されている。アンド回路７７４は、一方の入力が信号ｔｂ２に接続され、他方の入力が信号Ｗ２に接続されている。このアンド回路７７２及び７７４の出力（信号ＡＣＴ・ＷＴ）が信号ＡＣＴ（図１５の活性化命令ＡＣＴ〈ｎ〉（ただしｎ＝０）に対応する信号）及び信号ＷＴ（図１７のライト命令ＷＴ〈ｎ〉（ただしｎ＝０）に対応する信号）となる。
【０１１２】
また、信号Ｗ１クリア又はＷ２クリアを出力するアンド回路７７５又は７７６は、各一方の入力が信号ｔａ３又は信号ｔｂ３に接続され、他方の入力が信号Ｗ１又は信号Ｗ２に接続されている。
【０１１３】
また、アンド回路７８１の入力は、信号ｔａ４、信号Ｒ１に接続されている。アンド回路７８２の入力は、信号ｔｂ４、信号Ｒ２に接続されている。また、アンド回路７７７の入力は、信号ｔａ４、信号ＤＲ１に接続されている。アンド回路７７８の入力は信号ｔｂ４、信号ＤＲ２に接続されている。このアンド回路７８１、７８２、７７７及び７７８の出力が信号ＲＤとなる。このＲＤ信号は、図１６及び図１８のリード命令ＲＤ〈ｎ〉（ただしｎ＝０）に対応する信号である。
【０１１４】
また、アンド回路７８３の入力は、信号ｔａ４．５、信号Ｒ１に接続されている。アンド回路７８６の入力は、信号ｔｂ４．５、信号Ｒ２に接続されている。このアンド回路７８３及び７８６の出力が信号ＲＤＯ（図１６のリード命令ＲＤＯに対応する信号）となる。また、信号ＤＢＩ・ＢＦセットを出力するアンド回路７８４及び７８７は、各一方の入力が信号ｔａ４．５または信号ｔｂ４．５に接続され、他方の入力が信号ＤＲ１又は信号ＤＲ２に接続されている。この信号ＤＢＩ・ＢＦセットは、バッファフラグレジスタ７４１に入力される信号であるとともに、図１８の入力命令ＤＢＩ〈ｎ〉（ただしｎ＝０）に対応する信号でもある。また、アンド回路７８５及び７８８は、各一方の入力が信号ｔａ４．５または信号ｔｂ４．５に接続され、他方の入力が信号ＢＲ１又は信号ＢＲ２に接続されている。このアンド回路７８５及び７８８の出力が信号ＤＢＯ（図１８の出力命令ＤＢＯ〈ｎ〉（ただしｎ＝０）に対応する信号）となる。
【０１１５】
また、信号Ｒ１クリアを出力するアンド回路７９１の入力は、信号ｔａ５．５、信号Ｒ１に接続されている。信号Ｒ２クリアを出力するアンド回路７９４の入力は、信号ｔｂ５．５、信号Ｒ２に接続されている。また、信号ＤＲ１クリア又はＤＲ２クリアを出力するアンド回路７９２又は７９５は、各一方の入力が信号ｔａ５．５または信号ｔｂ５．５に接続され、他方の入力が信号ＤＲ１又は信号ＤＲ２に接続されている。また、信号ＢＲ１・ＢＦクリア又はＢＲ２・ＢＦクリアを出力するアンド回路７９３又は７９６は、各一方の入力が信号ｔａ５．５または信号ｔｂ５．５に接続され、他方の入力が信号ＢＲ１又は信号ＢＲ２に接続されている。
【０１１６】
図２０（ａ）は、バンク０に対するリードコマンド発行時の図１９のパイプライン制御回路の動作波形の一例（リードライト衝突無し）を示すタイミングチャートである。図２０（ａ）では、上から順に、クロックＣＬＫ、バンク〈０〉に対するリードコマンド（ＲＥＡＤ）、信号Ｒ１、信号ＡＩ、信号ＡＣＴ、信号ＲＤ、及び信号ＲＤＯの波形（あるいは動作状態）を示している。図２０では、Ｔ０をリードコマンド（ＲＥＡＤ）が発行されたクロックＣＬＫの立ち上がり時刻として、１ＣＬＫを１Ｔ、その半分を０．５Ｔとして、Ｔ０からＴ６までの信号変化を示している。Ｔ０でバンク〈０〉に対するリードコマンド（ＲＥＡＤ）が入力されると、ＲＥＡＤ信号が１Ｔ期間Ｈレベルとなるので、コマンドレジスタ１（７３１）から出力される信号Ｒ１がセットされ、Ｈレベルとなる。この信号Ｒ１は、Ｔ５．５でアンド回路７９１から信号Ｒ１クリアが出力されることで、Ｌレベルにクリアされる。また、信号Ｒ１がＨレベルとなることで、アンド回路７６１からＴ１〜Ｔ２の期間、信号ＡＩが出力される。また、同様に、アンド回路７７１からＴ２〜Ｔ３の期間、信号ＡＣＴが出力される。また、同様に、アンド回路７８１の出力の信号ＲＤセットがＨレベルとなるので（かつ、その後、Ｔ５でフリップフロップ７２５の出力（信号ＲＤクリア）がＨレベルとなるので）、ＲＤ信号発生回路８０１からＴ４〜Ｔ５の期間、信号ＲＤが出力される。また、同様に、アンド回路７８３からＴ４．５〜Ｔ５．５の期間、信号ＲＤＯが出力される。
【０１１７】
図２０（ｂ）は、バンク０に対するライトコマンド発行時の図１９のパイプライン制御回路の動作波形の一例（リードライト衝突無し）を示すタイミングチャートである。図２０（ｂ）では、上から順に、クロックＣＬＫ、バンク〈０〉に対するライトコマンド（ＷＲＩＴＥ）、信号Ｗ１、信号ＡＩ、信号ＡＣＴ、信号ＷＴＯ、及び信号ＷＴの波形（あるいは動作状態）を示している。Ｔ０でバンク〈０〉に対するライトコマンド（ＷＲＩＴＥ）が入力されると、ＷＲＩＴＥ信号が１Ｔ期間Ｈレベルとなるので、コマンドレジスタ１（７３１）から出力される信号Ｗ１がセットされ、Ｈレベルとなる。この信号Ｗ１は、Ｔ３でアンド回路７７５から信号Ｗ１クリアが出力されることで、Ｌレベルにクリアされる。また、信号Ｗ１がＨレベルとなることで、アンド回路７６２からＴ１〜Ｔ２の期間、信号ＡＩが出力される。また、同様に、アンド回路７６５からＴ１．５〜Ｔ２．５の期間、信号ＷＴＯが出力される。また、同様に、アンド回路７７２からＴ２〜Ｔ３の期間、信号ＡＣＴ・ＷＴ（図２０（ｂ）、図２２では信号ＡＣＴと信号ＷＴに分けて示す）が出力される。
【０１１８】
図２１及び図２２は、バンク０に対して、リードコマンド、ライトコマンド及びリードコマンドが連続して発行された場合の図１９のパイプライン制御回路の動作波形の例（リードライト衝突有り）を示すタイミングチャートである。図２１と図２２は同一時刻における波形変化を２つの図に分けて示している。図２１では、上から順に、クロックＣＬＫ、バンク〈０〉に対するコマンド、ｔａ１、ｔａ１．５、ｔａ２、ｔａ３、ｔａ４、ｔａ４．５、ｔａ５．５、ｔｂ１、ｔｂ１．５、ｔｂ２、ｔｂ３、ｔｂ４、ｔｂ４．５、ｔｂ５．５の出力波形（あるいは動作状態）を示している。図２２では、上から順に、クロックＣＬＫ、バンク〈０〉に対するコマンド、信号Ｒ１、信号ＡＩ、信号ＡＣＴ、信号ＲＤ、信号ＲＤＯ、信号ＤＲ１、信号ＢＲ２、信号ＢＦ、信号ＤＢＩ、信号ＤＢＯ、信号Ｗ２、信号ＷＴＯ、及び信号ＷＴの波形（あるいは動作状態）を示している。これらのうち、同一のクロックＣＬＫとバンク〈０〉に対するコマンドとが、両図に示されている。図２１及び図２２に示す例では、バンク〈０〉に対して、Ｔ０〜Ｔ１でリードコマンド（ＲＥＡＤ）が発行され、次のスロットであるＴ４〜Ｔ５でライトコマンド（ＷＲＩＴＥ）が発行され、その次のスロットであるＴ８〜Ｔ９でリードコマンド（ＲＥＡＤ）が発行されることとしている。
【０１１９】
また、この場合、Ｔ０〜Ｔ１のリードコマンドに基づくＲＥＡＤ信号がコマンドレジスタ１（７３１）に入力され（受け付けられ）、Ｔ４〜Ｔ５のライトコマンドに基づくＷＲＩＴＥ信号がコマンドレジスタ２（７３２）に入力され、そして、Ｔ８〜Ｔ９のリードコマンドに基づくＲＥＡＤ信号がコマンドレジスタ１（７３１）に入力されている。
【０１２０】
図２１及び図２２では、Ｔ０を１回目のリードコマンド（ＲＥＡＤ）が発行されるクロックＣＬＫの立ち上がり時刻として、１ＣＬＫを１Ｔ、その半分を０．５Ｔとして、Ｔ０からＴ１１までの信号変化を示している。信号ｔａ１はＴ１、Ｔ９でＨとなる（期間は１Ｔ。以下、同様）。信号ｔａ１．５はＴ１．５、Ｔ９．５でＨとなる。信号ｔａ２はＴ２、Ｔ１０でＨとなる。信号ｔａ３はＴ３でＨとなる。信号ｔａ４はＴ４でＨとなる。信号ｔａ４．５はＴ４．５でＨとなる。信号ｔａ５．５はＴ５．５でＨとなる。信号ｔｂ１．５はＴ５．５でＨとなる。信号ｔｂ２はＴ６でＨとなる。信号ｔｂ３はＴ７でＨとなる。信号ｔｂ４はＴ８でＨとなる。信号ｔｂ４．５はＴ８．５でＨとなる。信号ｔｂ５．５はＴ９．５でＨとなる。
【０１２１】
Ｔ０〜Ｔ１でバンク〈０〉に対する１回目のリードコマンド（ＲＥＡＤ）が入力されると、ＲＥＡＤ信号が１Ｔ期間Ｈレベルとなるので、Ｔ０でコマンドレジスタ１（７３１）から出力される信号Ｒ１がＨレベルとなる。
【０１２２】
次に、Ｔ１では、信号Ｒ１がＨレベルなので、アンド回路７６１から１Ｔ期間、信号ＡＩが出力される。
【０１２３】
次に、Ｔ２では、信号Ｒ１がＨレベルなので、アンド回路７７１から１Ｔ期間、信号ＡＣＴが出力される。
【０１２４】
その後、Ｔ４〜Ｔ５でバンク〈０〉に対するライトコマンド（ＷＲＩＴＥ）が入力されると、ＷＲＩＴＥ信号が１Ｔ期間Ｈレベルとなるので、コマンドレジスタ２（７３２）から出力される信号Ｗ２がＨレベルとなる。また、Ｔ４では、信号Ｒ１がＨレベルなので、アンド回路７８１から、Ｔ４〜Ｔ５の期間、信号ＲＤが出力される。
【０１２５】
また、Ｔ４で信号Ｗ２がＨレベルになると、信号Ｒ１がＨレベルなので、アンド回路７５１からＲ１クリア・ＤＲ１セット信号が出力される。このＲ１クリア・ＤＲ１セット信号はコマンドレジスタ１（７３１）に入力され、それに応じて、コマンドレジスタ１（７３１）の出力である信号Ｒ１がクリアされてＬレベルになるとともに、信号ＤＲ１がセットされてＨレベルとなる。
【０１２６】
次に、Ｔ４．５では、信号ＤＲ１がＨレベルなので、アンド回路７８４からＤＢＩ・ＢＦセット信号が１Ｔ期間出力される。ＤＢＩ・ＢＦセット信号は、バッファフラグレジスタ７４１に入力され、バッファフラグレジスタ７４１の出力信号ＢＦがセットされてＨレベルとなる。
【０１２７】
次に、Ｔ５では、信号Ｗ２がＨレベルなので、アンド回路７６４から１Ｔ期間、信号ＡＩが出力される。また、信号Ｒ１がＨレベルなので、ＡＮＤ回路７９１から信号ＤＲ１クリアが出力される。このＤＲ１クリア信号はコマンドレジスタ１（７３１）に入力され、それに応じて、コマンドレジスタ１（７３１）の出力である信号ＤＲ１がクリアされてＬレベルになる。
【０１２８】
次に、Ｔ５．５では、信号Ｗ２がＨレベルなので、アンド回路７６６から１Ｔ期間、信号ＷＴＯが出力される。
【０１２９】
次に、Ｔ６では、信号Ｗ２がＨレベルなので、アンド回路７７４から１Ｔ期間、信号ＡＣＴ・ＷＴが出力される。この信号ＡＣＴ・ＷＴは、信号ＡＣＴ及び信号ＷＴとして用いられるものであるから、図２２では、信号ＡＣＴと信号ＷＴが共にＴ６〜Ｔ７の期間、Ｈレベルとなっている。
【０１３０】
次に、Ｔ７では、信号Ｗ２がＨレベルなので、アンド回路７７６から信号Ｗ２クリアが出力される。このＷ２クリア信号はコマンドレジスタ２（７３２）に入力され、それに応じて、コマンドレジスタ２（７３２）の出力である信号Ｗ２がクリアされてＬレベルとなる。
【０１３１】
次に、Ｔ８では、Ｔ８〜Ｔ９でバンク〈０〉に対する２回目のリードコマンド（ＲＥＡＤ）が入力されるので、ＲＥＡＤ信号が１Ｔ期間Ｈレベルとなり、コマンドレジスタ１（７３１）から出力される信号Ｒ１がＨレベルとなる。
【０１３２】
次に、Ｔ８．５では、信号ＢＲ２がＨレベルであり、フリップフロップ７１５から１Ｔ期間、Ｈレベルの信号が出力されるので、アンド回路７８８から信号ＤＢＯが１Ｔ期間、出力される。
【０１３３】
次に、Ｔ９では、信号Ｒ１がＨレベルなので、アンド回路７６１から１Ｔ期間、信号ＡＩが出力される。また、フリップフロップ７２５から１Ｔ期間、Ｈレベルの信号が出力されるので、アンド回路７９６から信号ＢＲ２・ＢＦクリア信号が出力される。このＢＲ２・ＢＦクリア信号は、バッファフラグレジスタ７４１に入力され、バッファフラグレジスタ７４１の出力信号ＢＦがクリアされてＬレベルとなる。また、ＢＲ２・ＢＦクリア信号は、コマンドレジスタ２（７３２）に入力され、それに応じて、コマンドレジスタ２（７３２）の出力である信号ＢＲ２がクリアされてＬレベルとなる。
【０１３４】
次に、Ｔ１０では、信号Ｒ１がＨレベルなので、アンド回路７７１から１Ｔ期間、信号ＡＣＴが出力される。
【０１３５】
さらに、図２４に、データフラッシュコマンド機能を追加した第二のパイプライン制御回路を示す。図２４に示すパイプライン制御回路２１４ａは、図１９のパイプライン制御回路２１４に対して、データフラッシュコマンド機能に係る一部の構成の機能を追加するとともに、構成を追加した回路である。図２４のパイプライン制御回路２１４ａは、図１９のパイプライン制御回路２１４に対し、コマンドレジスタ１（７３１）に機能を追加したコマンドレジスタ１（７３１ａ）と、コマンドレジスタ２（７３２）に機能を追加したコマンドレジスタ２（７３２ａ）とを有するとともに、アンド回路７６７〜７７０を追加して有している。なお、図２４では、それらの構成と、シフトレジスタ１（７３３）及びシフトレジスタ２（７３４）とを除き、図１９に示した他の部分の図示を省略している。
【０１３６】
信号ＤＦ１は、ＤＦ信号が入力された時にセットされ、アンド回路７６９の出力であるＤＦ１クリア信号が入力された時にクリアされる。信号ＤＦ２は、ＤＦ信号が入力された時にセットされ、アンド回路７６９の出力であるＤＦ２クリア信号が入力された時にクリアされる。図１９と同様に、コマンドレジスタ１、２はコマンドが入力される毎に交互に活性化され、ＤＦ信号が入力されるとＤＦ１またはＤＦ２のどちらかがセットされる。
ＤＦ１とシフトレジスタ１の出力ｔａ０．５をアンド回路７６７に入力し、ＤＢＯ信号を出力する。また、ＤＦ２とシフトレジスタ１の出力ｔｂ０．５をアンド回路７６８に入力し、ＤＢＯ信号を出力する。ＤＢＯ信号は遅延バッファのデータを出力する信号である。ＤＦ１とシフトレジスタ１の出力ｔａ１．５をアンド回路７６９に入力し、ＤＦ１・ＢＦクリア信号を出力する。また、ＤＦ２とシフトレジスタ２の出力ｔｂ１．５をアンド回路７７０に入力し、ＤＦ２・ＢＦクリア信号を出力する。
【０１３７】
図２５は、バンク０に対するデータフラッシュコマンドＤＦ発行時の図２４のパイプライン制御回路２１４ａの動作波形を示すタイミングチャートである。上から順に、クロックＣＬＫ、バンク〈０〉に対するデータフラッシュコマンドＤＦ、信号ＤＦ１、信号ＡＩ、信号ＡＣＴ、信号ＲＤ、信号ＲＤＯ及び信号ＤＢＯの波形（あるいは動作状態）を示している。図２５では、Ｔ０でバンク〈０〉に対するデータフラッシュコマンドＤＦが入力されると、ＤＦ信号が１Ｔ期間Ｈレベルとなるので、コマンドレジスタ１（７３１ａ）から出力される信号ＤＦ１がセットされ、Ｈレベルとなる。この信号ＤＦ１は、Ｔ１．５でアンド回路７６９から信号ＤＦ１クリアが出力されることで、Ｌレベルにクリアされる。また、信号ＤＦ１がＨレベルとなることで、アンド回路７６７からＴ０．５〜Ｔ１．５の期間、信号ＤＢＯが出力される。これにより、レイテンシ１で遅延バッファ内のデータが、チップ外に出力される。なお、この期間、リードコマンドで出力された信号ＡＩ、ＡＣＴ、ＲＤ、ＲＤＯは出力されない。
【０１３８】
本実施形態によれば、図１０に示すように、リードレイテンシｔＡＲ＝ライトレイテンシｔＡＷ＋バンク動作サイクルｔＲＣとされているので、各バンクがｔＲＣの周期でリードとライトの処理をすきま無く行うことができる。
【０１３９】
また、図１に示すようなメニイコアＣＰＵでは独立した複数のＣＰＵコアが計算を行っているので、一般に、メモリに対するランダムアクセスの頻度が上昇する。したがって、リード→ライトの切替え回数も増加すると考えられる。従来例ではそのたびにバブルが発生し、平均的なデータ転送レートが低下することになっていた。これに対し、本発明では、パイプライン化によってクロックサイクルを短縮するとともに、バブルの発生を抑え、データ転送レートの低下を防ぐことができる。
【０１４０】
なお、本発明の実施の形態は、上記のものに限定されず、ＤＡＲＭチップ１が備えるＤＲＡＭコアＭＥＭの数を増減させたり、ＳｏＣチップ２が備えるＣＰＵコアＣＰＵの数を増減させたり、ＤＲＡＭコアＭＥＭにおけるバンク数を増減させたりすること等の変更が適宜可能である。
【０１４１】
また、本発明の態様は次のようにとらえることができる。
【０１４２】
本発明の第１の態様は、単一の半導体基板（ＤＲＡＭチップ１）上に複数のメモリコア（ＤＲＡＭコアＭＥＭ０〜１５）を備え、これらメモリコアの夫々は、複数のメモリバンク（バンクＢＡＮＫ０〜３）、複数のコマンド端子、複数のアドレス端子、複数のデータ端子、複数のコマンド端子から供給されるコマンドをデコードして各種の制御信号を発生するコマンドデコーダ（コマンドデコーダ２１３）、複数のアドレス端子からのアドレス情報が転送されると共に複数のメモリバンクに対して共通に設けられたアドレスバス（アドレスバスＡＢＵＳ）、ならびにデータ読出し動作時は複数のデータ端子に出力されるべきデータが転送される一方データ書込み動作時は複数のデータ端子から取り込まれたデータが転送される共に複数のメモリバンクに対して共通に設けられたデータリード／ライトバス（リードライトバスＲＷＢＵＳ）を具備して、各メモリコアに対するデータのリード／ライト動作を互いに独立して行える半導体装置であって、複数のメモリバンクの夫々は、複数のメモリセルを有するメモリアレイ（メモリアレイＡＲＹ（２２１））を備えると共に、コマンドデコーダからの制御信号に基づく制御の下で、アドレスバス上のアドレス情報を取り込むアドレスバッファ（アドレス遅延バッファ）（アドレス遅延回路２２２）と、データ読出し動作時はデータリード／ライトバス上に読み出すべきデータを一時的に保持するデータ出力バッファ（データ出力ラッチ２３７）と、データ書込み動作時はデータリード／ライトバス上の書き込むべきデータを一時的に保持するデータ入力バッファ（データ入力ラッチ２３８）と、アドレスバッファに取り込まれたアドレス情報に応答して選択したメモリセルに対するアクセスを行うと共に、データ読出し動作時は読み出すべきデータを選択したメモリセルからデータ出力バッファに供給する一方データ書込み時は書き込むべきデータを選択したメモリセルにデータ入力バッファから供給するアクセス回路（ロウデコーダ・カラムデコーダ２３１、メインアンプ（ＭＡ）２３３、ライトドライバ（ＷＤ）２３４等）とを備え、複数のメモリバンクのそれぞれに対する一回ずつのデータ読出しまたは書込みアクセスを順次行う一連のデータアクセスを一サイクルとして当該サイクルが繰り返し実行されるように、複数のメモリバンクに対するデータアクセスがパイプライン化されていることを特徴とする。
【０１４３】
この半導体装置では、一の半導体基板上に設けられた複数のメモリコアの夫々が、複数のメモリバンクと、複数のメモリバンクに対して共通に設けられたアドレスバス及びデータリード／ライトバスと、コマンドデコーダからの制御信号に基づく制御の下で、アドレスバス上のアドレス情報を取り込むアドレスバッファ（アドレス遅延バッファ）と、データ読出し動作時はデータリード／ライトバス上に読み出すべきデータを一時的に保持するデータ出力バッファと、データ書込み動作時はデータリード／ライトバス上の書き込むべきデータを一時的に保持するデータ入力バッファとを備えている。この構成によれば、各バッファの制御によって、アドレス情報と入出力データとをメモリバンク毎に独立して取り込み及び保持させることができるので、リード及びライト時のアドレスを容易にメモリバンク毎に独立して制御することができる。また、複数のメモリバンクのそれぞれに対する一回ずつのデータ読出しまたは書込みアクセスを順次行う一連のデータアクセスを一サイクルとして当該サイクルが繰り返し実行されるように、複数のメモリバンクに対するデータアクセスをパイプライン化させているので、リードとライトの順序の制御を任意に行いやすくなる。また、各メモリコアに対するデータのリード／ライト動作は互いに独立して行うことができるので、システムの実効データレートを容易に高めることができる。
【０１４４】
第２の態様は、複数のメモリバンクの夫々は、一サイクルにおける所定のメモリバンクへのデータアクセスがデータ読出しアクセスであって、その次の一サイクルにおける所定のメモリバンクへのデータアクセスがデータ書込みアクセスの場合、データ読出しアクセスに基づき読み出されたデータを一時的にストアして、データ書込みアクセスに基づき複数のデータ端子を介するデータリード／ライトバスへの書き込むべきデータの転送を許可する遅延バッファ（遅延バッファ０〜３（２６１〜２６４））をさらに備えることを特徴とする。
【０１４５】
第３の態様は、メモリアレイ２２１を有してなる複数のバンクＢＡＮＫ０〜３から、各バンクに対して共通に設けられたリードライトバスＲＷＢＵＳ２４１を用い、リードコマンドに応じてリードデータを出力する際に、同一バンクに対する次のコマンドがライトコマンドの場合には当該リードデータを、リードライトバスＲＷＢＵＳ２４１上のリードデータをバンク毎に保持し、遅延させて出力する遅延バッファ２６１〜２６４に保持させ、当該ライトコマンドが対象とするライトデータをリードライトバスＲＷＢＵＳ２４１上に出力させるパイプライン制御回路２１４を備えることを特徴とする半導体装置である。
【０１４６】
第４の態様は、リードライトバスＲＷＢＵＳ２４１が、パイプライン動作において各バンクに時分割で接続されることを特徴とする。
【０１４７】
第５の態様は、各バンクＢＡＮＫ０〜３は所定のクロック信号ＣＬＫの一定サイクル毎（４ＣＬＫサイクル毎）にリードライトバスＲＷＢＵＳ２４１に対して接続されるものであることを特徴とする。
【０１４８】
第６の態様は、各バンク０〜３（ＢＡＮＫ０〜３）に接続されたアドレスバスＡＢＵＳ２１５上でのリードアドレスの転送をライトレイテンシ分遅延させるアドレス遅延回路２２２を備えることを特徴とする。
【０１４９】
第７の態様は、リード前アドレスセットアップ時間ｔＡＲが、ライト前アドレスセットアップ時間ｔＡＷと同一バンクにアクセスする場合の待機時間ｔＲＣとを合わせた時間であることを特徴とする。
【０１５０】
第８の態様は、パイプライン制御回路２１４が、各バンクＢＡＮＫ０〜３に対するリード又はライトの各コマンドの入力を交互に記憶する１対のコマンドレジスタ１（７３１）及び２（７３２）を有し、遅延バッファ２６１〜２６４がリードデータを保持しているか否かを示す信号ＢＦと１対のコマンドレジスタ１（７３１）及び２（７３２）の記憶内容（信号Ｒ１、Ｗ１、ＤＲ１、ＢＲ１、Ｒ２、Ｗ２、ＤＲ２、ＢＲ２）とに応じて、遅延バッファ２６１〜２６４の動作を制御するものであることを特徴とする。
【０１５１】
第９の態様は、パイプライン制御回路２１４が、各バンクＢＡＮＫ０〜３へのコマンド入力からの経過時間をクロック信号ＣＬＫを基準として表す複数の制御信号（フリップフロップ７１１〜７１５及び７２１〜７２５の各出力信号）と、遅延バッファ２６１〜２６４がリードデータを保持しているか否かを示す信号ＢＦと、１対のコマンドレジスタ１（７３１）及び２（７３２）の記憶内容を表す制御信号（信号Ｒ１、Ｗ１、ＤＲ１、ＢＲ１、Ｒ２、Ｗ２、ＤＲ２、ＢＲ２）とのアンド回路７５１等を用いた論理演算結果（論理積演算結果）を用いて、遅延バッファ２６１〜２６４の動作を制御するものであることを特徴とする。
【０１５２】
第１０の態様は、リードライトバスＲＷＢＵＳ２４１がクロック信号ＣＬＫの前半と後半でライトデータの転送とリードデータの転送を行うことを特徴とする。
【０１５３】
第１１の態様は、複数のバンクＢＡＮＫ０〜３が、メモリコア（ＤＲＡＭコアＭＥＭ）を複数備えたメモリチップ（ＤＲＡＭチップ１）における各メモリコア（ＤＲＡＭコアＭＥＭ０〜１５）に含まれたものであって、そのメモリチップ（ＤＲＡＭチップ１）と、そのメモリチップと積層されたものであって、ＣＰＵコア（ＣＰＵコアＣＰＵ）を複数備えたＣＰＵチップ（ＳｏＣチップ１）とを備えて構成されていることを特徴とする。
【０１５４】
第１２の態様は、コマンド及びアドレスを入力するコマンドアドレス入力回路２１１、アドレスバスＡＢＵＳ２１５、各バンクＢＡＮＫ０〜３、リードライトバスＲＷＢＵＳ２４１、及びリードライトバス上にデータを入出力するデータ入出力回路ＤＱ２７３が、クロック信号ＣＬＫによって制御されるラッチ回路Ｌ１０１〜１１０によってそれぞれ分離されていることを特徴とする。
【０１５５】
第１３の態様は、リードライトバスＲＷＢＵＳ２４１とデータ入出力回路ＤＱ２７３との間を分離するラッチ回路（データラッチ回路２５１）が、バンク毎の遅延バッファ２６１〜２６４と、リードデータを保持する出力ラッチ２６５と、ライトデータを保持する入力ラッチ２６６とから構成されていることを特徴とする。
【０１５６】
第１４の態様は、各バンクＢＡＮＫ０〜３に対してアドレスバスＡＢＵＳ２１５を介して行アドレスと列アドレスとが同時に供給されることを特徴とする。
【０１５７】
第１５の態様は、リードライトバスＲＷＢＵＳ２４１とデータ入出力回路２７３との間に３２対１マルチプレクサ２７１と３２対１デマルチプレクサ２７２とが設けられていることを特徴とする。
【０１５８】
第１６の態様は、クロック信号ＣＬＫよりも短い周期のリードライトクロック信号ＲＷＣＬＫに同期してメモリコアとＣＰＵコア間（ＤＲＡＭコアＭＥＭ０〜１５とＣＰＵコアＣＰＵ０〜１５間）でデータが入出力されることを特徴とする。
【０１５９】
第１７の態様は、メモリコアとＣＰＵコア（ＤＲＡＭコアＭＥＭ０〜１５とＣＰＵコアＣＰＵ０〜１５）とが、同数であり、かつ各チップ上の互いに対応する位置に配置されていることを特徴とする。
【０１６０】
本発明の第２〜第１６の態様によれば、ライトコマンドが入力された場合に遅延バッファを用いてリードデータを保持させ、遅延させて出力することができるので、パイプライン動作を行わせる場合に、リードコマンドとライトコマンド及びリードデータとライトデータを衝突させずにバンク毎に割り当てられた一定の周期で入出力することが可能となる。よって、従来に比べ、半導体メモリに対するアクセスにおける使い勝手と実効データレートを容易に向上させることができる。
【符号の説明】
【０１６１】
１…ＤＲＡＭチップ
２…ＳｏＣチップ
ＭＥＭ０〜１５、ＭＥＭ…ＤＲＡＭコア
ＣＰＵ０〜１５、ＣＰＵ…ＣＰＵコア
ＢＡＮＫ０〜３…バンク０〜３
１０１〜１１０…ラッチ回路
ＣＡ、２１１…コマンドアドレス入力回路
２１２…コマンドアドレスレジスタ
２１３…コマンドデコーダ
２１４、２１４ａ…パイプライン制御回路
ＡＢＵＳ、２１５…アドレスバス
２２１…メモリアレイ
２２２…アドレス遅延回路
２２３…リードライト回路
２３７…データ出力ラッチ
２３８…データ入力ラッチ
ＲＷＢＵＳ、２４１…リードライトバス
２５１…データラッチ回路
ＢＵＦ…遅延バッファ
２６１〜２６４…遅延バッファ０〜３
２６５…出力ラッチ
２６６…入力ラッチ
２７１…３２対１マルチプレクサ
２７２…３２対１デマルチプレクサ
２７３…データ入出力回路
７３１、７３１ａ…コマンドレジスタ１
７３２、７３２ａ…コマンドレジスタ２
７４１…バッファフラグレジスタ
７５１〜７５４…２入力アンド回路
【図１】
2011141928.tif 000003
【図２】
2011141928.tif 000004
【図３】
2011141928.tif 000005
【図４】
2011141928.tif 000006
【図５】
2011141928.tif 000007
【図６】
2011141928.tif 000008
【図７】
2011141928.tif 000009
【図８】
2011141928.tif 000010
【図９】
2011141928.tif 000011
【図１０】
2011141928.tif 000012
【図１１】
2011141928.tif 000013
【図１２】
2011141928.tif 000014
【図１３】
2011141928.tif 000015
【図１４】
2011141928.tif 000016
【図１５】
2011141928.tif 000017
【図１６】
2011141928.tif 000018
【図１７】
2011141928.tif 000019
【図１８】
2011141928.tif 000020
【図１９】
2011141928.tif 000021
【図２０】
2011141928.tif 000022
【図２１】
2011141928.tif 000023
【図２２】
2011141928.tif 000024
【図２３】
2011141928.tif 000025
【図２４】
2011141928.tif 000026
【図２５】
2011141928.tif 000027