(57)【要約】【課題】データの書き込み及び読み出しのコマンドの切り替え時に要する余分なバスサイクルを削減して、処理性能を向上させることが可能な半導体記憶装置を提供すること。【解決手段】一実施の形態によれば、スタックメモリ１は、ベースチップ２と、ベースチップ２上にスタックされたメモリチップ３と、ベースチップ２とメモリチップ３との間に設けられたビア４２と、を備え、ベースチップ２は、外部と書き込みデータ及び読み出しデータの受け渡しを行う外部インタフェース回路２４と、外部から外部インタフェース回路２４を介して供給された書き込みデータを格納するレジスタＲＧＤ１を少なくとも有するレイトライト制御回路ＬＷ１と、を有し、メモリチップ３は、メモリセルアレイ３５１と、レジスタＲＧＤ１からビア４２を介して供給された書き込みデータを格納するレジスタＲＧＤ２を少なくとも有するレイトライト制御回路ＬＷ２と、を有する。【選択図】図１
2017123208.tif 000002
【特許請求の範囲】
【請求項１】
ベースチップと、
前記ベースチップ上にスタックされた第１メモリチップと、
前記ベースチップと前記第１メモリチップとの間に設けられ、読み出しデータ及び書き込みデータの伝送に用いられる第１貫通ビアと、を備え、
前記ベースチップは、
外部と書き込みデータ及び読み出しデータの受け渡しを行う外部インタフェース回路と、
外部から前記外部インタフェース回路を介して供給された書き込みデータを格納する第１レジスタを少なくとも有する第１レイトライト制御回路と、を有し、
前記第１メモリチップは、
複数のメモリセルが行列状に配置されたメモリセルアレイと、
前記第１レジスタから前記第１貫通ビアを介して供給された書き込みデータを格納する第２レジスタを少なくとも有し、前記第２レジスタから出力された書き込みデータを書き込み対象のメモリセルに書き込む第２レイトライト制御回路と、を有する、
半導体記憶装置。
【請求項２】
前記第１メモリチップは、
前記メモリセルアレイ及び前記第２レイトライト制御回路により構成される同一チャネルのメモリバンクを複数備えた、
請求項１に記載の半導体記憶装置。
【請求項３】
前記ベースチップ上にスタックされた第２メモリチップをさらに備え、
前記第１及び前記第２メモリチップは、前記メモリセルアレイ及び前記第２レイトライト制御回路により構成される同一チャネルのメモリバンクを複数備えた、
請求項１に記載の半導体記憶装置。
【請求項４】
前記第１レイトライト制御回路は、
パイプライン接続された複数の前記第１レジスタを備えた、
請求項１に記載の半導体記憶装置。
【請求項５】
前記第２レイトライト制御回路は、
パイプライン接続された複数の前記第２レジスタを備えた、
請求項１に記載の半導体記憶装置。
【請求項６】
前記第１レイトライト制御回路は、
前記第１レジスタの機能を含むキャッシュメモリである、
請求項１に記載の半導体記憶装置。
【請求項７】
前記第１レイトライト制御回路は、
前記第１レジスタに格納された書き込みデータに対応するアドレス信号と、外部から供給されたデータ読み出し用のアドレス信号と、が一致する場合には、前記第１レジスタに格納された書き込みデータを、読み出しデータとして出力する、
請求項１に記載の半導体記憶装置。
【請求項８】
前記第２レイトライト制御回路は、
前記第２レジスタに格納された書き込みデータに対応するアドレス信号と、外部から供給されたデータ読み出し用のアドレス信号と、が一致する場合には、前記第２レジスタに格納された書き込みデータを、読み出しデータとして出力する、
請求項７に記載の半導体記憶装置。
【請求項９】
前記第１レジスタに格納された書き込みデータに対応するアドレス信号と、外部から供給されたデータ読み出し用のアドレス信号と、が一致する場合、当該データ読み出し用のアドレス信号の前記メモリセルアレイへの供給を停止するゲーティング回路をさらに備えた、
請求項７に記載の半導体記憶装置。
【請求項１０】
前記ベースチップは、
書き込みデータに代わる演算値を生成するとともに、前記第１レジスタに格納された前記演算値と、書き戻し対象のメモリセルから読み出されたデータと、に基づいて所定の演算処理を実行する、演算装置をさらに備え、
前記演算装置による演算結果は、新たな書き込みデータとして前記第１レジスタに格納される、
請求項１に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関し、例えばデータの書き込み及び読み出しのコマンドの切り替えに要する余分なバスサイクルを削減することに適した半導体記憶装置に関する。
【背景技術】
【０００２】
一般的に、半導体記憶装置は、データのライトレイテンシを意図的に遅らせることにより、ライトレイテンシ及びリードレイテンシを同じ長さに揃えている。それにより、読み出されるデータと書き込まれるデータとが共通に伝搬するデータラインやインタフェース回路上における、データが伝搬しない期間（空きサイクル数）、を削減することができるため、データの書き込み及び読み出しのコマンドの切り替えに要するバスサイクル数（バスターンアラウンド期間）を小さくすることができる。その結果、半導体記憶装置は、処理性能を向上させることができる。
【０００３】
データのライトレイテンシを意図的に遅らせるレイトライト（ディレイドライト）に関する技術は、例えば、特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−６６５１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、近年では、プロセッサの処理性能の向上に伴って、半導体記憶装置の処理性能も向上させることが求められている。そこで、ベースチップ上に複数のメモリチップを積層（スタック）したうえで、複数のメモリセルに同時にアクセス可能に構成することで、処理性能を向上させた半導体記憶装置の開発が進んでいる。以下、このような構成の半導体記憶装置をスタックメモリと称す。
【０００６】
スタックメモリのベースチップには、ホストチップとの間でデータの受け渡しを行う外部インタフェース回路と、メモリチップとの間でデータの受け渡しを行う内部インタフェース回路とが、複数設けられている。ここで、インタフェース回路の増加を防ぐため、外部インタフェース回路及び内部インタフェース回路は、何れも、読み出しデータの伝送及び書き込みデータの伝送に共通に用いられている。
【０００７】
そのため、スタックメモリのメモリチップに対して単に特許文献１に開示されたレイトライトの構成を適用して、スタックメモリ全体におけるライトレイテンシ及びリードレイテンシを同じ長さに揃えただけでは、内部インタフェース回路における読み出しデータ及び書き込みデータの衝突を避けるためのコマンド間隔の調整が必要になる。そして、その調整が行われると、メモリチップ単体におけるライトレイテンシ及びリードレイテンシの長さが揃わなくなってしまう。その結果、バスターンアラウンド期間が大きくなってしまうという問題があった。
【０００８】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
一実施の形態によれば、半導体記憶装置は、ベースチップと、前記ベースチップ上にスタックされた第１メモリチップと、前記ベースチップと前記第１メモリチップとの間に設けられ、読み出しデータ及び書き込みデータの伝送に用いられる第１貫通ビアと、を備え、前記ベースチップは、外部と書き込みデータ及び読み出しデータの受け渡しを行う外部インタフェース回路と、外部から前記外部インタフェース回路を介して供給された書き込みデータを格納する第１レジスタを少なくとも有する第１レイトライト制御回路と、を有し、前記第１メモリチップは、複数のメモリセルが行列状に配置されたメモリセルアレイと、前記第１レジスタから前記第１貫通ビアを介して供給された書き込みデータを格納する第２レジスタを少なくとも有し、前記第２レジスタから出力された書き込みデータを書き込み対象のメモリセルに書き込む第２レイトライト制御回路と、を有する。
【発明の効果】
【００１０】
前記一実施の形態によれば、データの書き込み及び読み出しのコマンドの切り替え時に要する余分なバスサイクルを削減して、処理性能を向上させることが可能な半導体記憶装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかるスタックメモリの積層構造を模式的に示す図である。
【図２Ａ】図１に示すスタックメモリのベースチップ側の構成例を示すブロック図である。
【図２Ｂ】図１に示すスタックメモリのメモリチップ側の一部の構成例を示すブロック図である。
【図３】図１に示すスタックメモリの動作を示すタイミングチャートである。
【図４】実施の形態２にかかるスタックメモリの積層構造を模式的に示す図である。
【図５Ａ】図４に示すスタックメモリのベースチップ側の構成例を示すブロック図である。
【図５Ｂ】図４に示すスタックメモリのメモリチップ側の一部の構成例を示すブロック図である。
【図６】図４に示すスタックメモリの動作を示すタイミングチャートである。
【図７】図４に示すスタックメモリの変形例の積層構造を模式的に示す図である。
【図８】実施の形態３にかかるスタックメモリの積層構造を模式的に示す図である。
【図９Ａ】図８に示すスタックメモリのベースチップ側の構成例を示すブロック図である。
【図９Ｂ】図８に示すスタックメモリのメモリチップ側の一部の構成例を示すブロック図である。
【図１０】実施の形態４にかかるスタックメモリの積層構造を模式的に示す図である。
【図１１Ａ】図１０に示すスタックメモリのベースチップ側の構成例を示すブロック図である。
【図１１Ｂ】図１０に示すスタックメモリのメモリチップ側の一部の構成例を示すブロック図である。
【図１２】図１０に示すスタックメモリの動作を示すタイミングチャートである。
【図１３】実施の形態に至る前の構想にかかる半導体記憶装置の構成例を示すブロック図である。
【図１４】図１３に示す半導体記憶装置の動作を示すタイミングチャートである。
【図１５】実施の形態に至る前の構想にかかるスタックメモリの積層構造を模式的に示す図である。
【図１６】図１５に示すスタックメモリの一部の構成例を示すブロック図である。
【図１７】図１５に示すスタックメモリの動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【００１３】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１４】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１５】
＜発明者による事前検討＞
実施の形態１に係る半導体記憶装置の詳細について説明する前に、本発明者が事前検討した半導体記憶装置７について説明する。
【００１６】
（実施の形態に至る前の構想にかかる半導体記憶装置５０）
図１３は、実施の形態に至る前の構想に係る半導体記憶装置５０の構成例を示すブロック図である。図１４は、図１３に示す半導体記憶装置５０の動作を示すタイミングチャートである。
【００１７】
なお、本例では、各チャネルにおけるメモリバンクが４つ、レイトライト用のＦＩＦＯ段数が２段、バースト長が２サイクルであって、ダブルデータレート（ＤＤＲ）方式が採用されている。
【００１８】
また、本例では、ｔＲＣが同じバンクに連続アクセスするために必要な間隔を表し、ｔＲＲＤがリード後に異なるバンクでリードを行うために必要な間隔を表し、ｔＷＲＤがライト後に異なるバンクでリードを行うために必要な間隔を表し、ｔＲＷＤがリード後に異なるバンクでライトを行うために必要な間隔を表している。図１４の例では、ｔＲＣが４サイクル、ｔＲＲＤが１サイクル、ｔＷＲＤが１サイクル、ｔＲＷＤが２サイクルとなっている。
【００１９】
また、図１４において、Ｎは自然数であって同一バンクに対するライトコマンドの順番を表し、ＷＡ０（Ｎ）は、Ｂａｎｋ０に対するＮ回目のライトアドレスを表している。ＷＡ０（Ｎ＋１）は、Ｂａｎｋ０に対するＮ＋１回目のライトアドレスを表している。また、ＷＤ０（Ｎ）は、Ｂａｎｋ０に対するＮ回目のライトアドレスに対するライトデータを表している。ＷＤ０（Ｎ＋１）は、Ｂａｎｋ０に対するＮ＋１回目のライトアドレスに対するライトデータを表している。ＲＡ１、ＲＡ２、ＲＡ３は、それぞれＢａｎｋ１、Ｂａｎｋ２、Ｂａｎｋ３に対するリードアドレスを表している。ＲＤ１、ＲＤ２、ＲＤ３は、それぞれＲＡ１、ＲＡ２、ＲＡ３に対するリードデータを表している。
【００２０】
図１３に示すように、半導体記憶装置５０は、チップ７上に、インタフェース回路７１，７２と、メモリバンク７５＿０〜７５＿３（Ｂａｎｋ０〜３）と、バス７３，７４と、コマンドデコーダ（ＣＭＤ  ＤＥＣ）３６と、を備える。以下、各メモリバンク７５＿０〜７５＿３を単にメモリバンク７５とも称す。
【００２１】
インタフェース回路７２は、チップ７外に設けられた回路（例えばホストチップ）との間でデータＤＱの受け渡しを行う回路である。
【００２２】
具体的には、インタフェース回路７２は、チップ７外から供給されたライトデータＤＱを駆動する入力バッファ７２２と、入力バッファ７２２によって駆動されたライトデータＤＱをラッチするラッチ回路７２４と、メモリセルアレイ７５１から読み出されたリードデータＤＱをラッチするラッチ回路７２３と、ラッチ回路７２３によってラッチされたリードデータＤＱを駆動してチップ７外に出力する出力バッファ７２１と、を有する。
【００２３】
インタフェース回路７１は、例えばデータの書き込み及び読み出し時にチップ７外部から供給されるクロック信号ＣＬＫ、バンクアドレス信号ＢＡ、アドレス信号ＡＤＤ及びコマンド信号ＣＭＤを受け取る回路である。
【００２４】
具体的には、インタフェース回路７１は、チップ７外から供給されたクロック信号ＣＬＫを駆動する入力バッファ７１１と、チップ７外から供給されたバンクアドレス信号ＢＡを駆動する入力バッファ７１２と、入力バッファ７１２により駆動されたバンクアドレス信号ＢＡをラッチするラッチ回路７１５と、チップ７外から供給されたアドレス信号ＡＤＤを駆動する入力バッファ７１３と、入力バッファ７１３により駆動されたアドレス信号ＡＤＤをラッチするラッチ回路７１６と、チップ７外から供給されたコマンド信号ＣＭＤを駆動する入力バッファ７１４と、入力バッファ７１４により駆動されたコマンド信号ＣＭＤをラッチするラッチ回路７１７と、を有する。
【００２５】
アドレスバス７３は、インタフェース回路７１と、メモリバンク７５＿０〜７５＿３と、の間に設けられている。コマンドデコーダ７６は、インタフェース回路７１を介して受信したコマンド信号ＣＭＤをデコードする回路である。
【００２６】
データバス７４は、インタフェース回路７２と、メモリバンク７５＿０〜７５＿３と、の間に設けられている。データバス７４は、リードデータが伝搬するデータバス７４１と、ライトデータが伝搬するデータバス７４２と、により構成される。
【００２７】
各メモリバンク７５＿０〜７５＿３は、複数のメモリセルが行列上に配置されたメモリセルアレイ７５１と、アドレス信号をデコードするアドレスデコーダ７５２と、メモリセルから読み出されたデータを増幅して出力するアンプ７５３と、データの書き込みを意図的に遅延させるレイトライト制御回路ＬＷ７５と、を備える。
【００２８】
具体的には、レイトライト制御回路ＬＷ７５は、レジスタＲＧＡ１，ＲＧＡ２と、セレクタＳＬ２１と、レジスタＲＧ２１と、コンパレータＣＰ２１と、レジスタＲＧ２２と、レジスタＲＧＤ１，ＲＧＤ２と、セレクタＳＬ２２と、を有する。
【００２９】
レジスタＲＧＡ１は、データ書き込み時に外部から供給されたアドレス信号ＡＤＤを格納する。レジスタＲＧＡ２は、レジスタＲＧＡ１から出力されたアドレス信号ＡＤＤを格納する。つまり、データ書き込み時、アドレス信号ＡＤＤは、レジスタＲＧＡ１，ＲＧＡ２によって意図的に遅延させられる。
【００３０】
セレクタＳＬ２１は、データ書き込み時、レジスタＲＧＡ２から出力されたアドレス信号ＡＤＤを選択して出力し、データ読み出し時、アドレスバス７３を介して供給されたアドレス信号ＡＤＤを直接選択して出力する。レジスタＲＧ２１は、セレクタＳＬ２１から出力されたアドレス信号ＡＤＤを格納する。レジスタＲＧ２２は、コマンドデコーダ７６によりデコードされたコマンド信号ＣＭＤを格納する。
【００３１】
レジスタＲＧＤ１は、データ書き込み時に外部から供給されたデータＤＱを格納する。レジスタＲＧＤ２は、レジスタＲＧＤ１から出力されたデータＤＱを格納する。つまり、データ書き込み時に外部から供給されたデータＤＱは、レジスタＲＧＤ１，ＲＧＤ２によって遅延させられる。
【００３２】
メモリセルアレイ７５１では、データ書き込み時、アドレス信号ＡＤＤにより指定されたアドレスのメモリセルにデータが書き込まれ、データ読み出し時、アドレス信号ＡＤＤにより指定されたアドレスのメモリセルに記憶されたデータが読み出される。
【００３３】
ここで、データの書き込みをレジスタＲＧＡ１，ＲＧＡ２及びレジスタＲＧＤ１，ＲＧＤ２によって意図的に遅延させることにより（即ち、データの書き込みレイテンシを意図的に遅らせることにより）、データの書き込み及び読み出しレイテンシを揃えている（図１４を参照すると、ライトレイテンシｔＷＬ及びリードレイテンシｔＲＬを同じ長さに揃えている）。それにより、読み出し用データと書き込み用データとによって共用されるデータラインやインタフェース回路上における、データが伝搬しない期間（空きサイクル数）、を削減することができるため、データの書き込み及び読み出しコマンドの切り替えに要するバスサイクル数（バスターンアラウンド期間）を小さくすることができる。その結果、半導体記憶装置５０は、処理性能を向上させることができる。
【００３４】
コンパレータＣＰ２１は、アドレスバス７３を介して供給された読み出し用のアドレス信号ＡＤＤと、レジスタＲＧＡ１，ＲＧＡ２にそれぞれ格納された書き込み用のアドレス信号ＡＤＤと、を比較して、比較結果を出力する。
【００３５】
例えば、コンパレータＣＰ２１は、アドレスバス７３を介して供給された読み出し用のアドレス信号ＡＤＤと、レジスタＲＧＡ１に格納された書き込み用のアドレス信号ＡＤＤと、が一致する場合には、値“１”の比較結果を出力する。また、コンパレータＣＰ２１は、アドレスバス７３を介して供給された読み出し用のアドレス信号ＡＤＤと、レジスタＲＧＡ２に格納された書き込み用のアドレス信号ＡＤＤと、が一致する場合には、値“２”の比較結果を出力する。また、コンパレータＣＰ２１は、アドレスバス７３を介して供給された読み出し用のアドレス信号ＡＤＤと、レジスタＲＧＡ１，ＲＧＡ２にそれぞれ格納された書き込み用のアドレス信号ＡＤＤと、が一致しない場合には、値“０”の比較結果を出力する。
【００３６】
セレクタＳＬ２２は、コンパレータＣＰ２１の比較結果に基づいて、メモリセルアレイ７５１から読み出されたデータＤＱ、及び、レジスタＲＧＤ１，ＲＧＤ２にそれぞれ格納されたデータＤＱの何れかを選択して出力する。
【００３７】
例えば、セレクタＳＬ２２は、コンパレータＣＰ２１が値“０”の比較結果を出力する場合、メモリセルアレイ７５１から読み出されたデータＤＱを選択して出力する。また、セレクタＳＬ２２は、コンパレータＣＰ２１が値“１”の比較結果を出力する場合、レジスタＲＧＤ１に格納された、メモリセルアレイ７５１に書き込まれる前のデータＤＱを選択して出力する。また、セレクタＳＬ２２は、コンパレータＣＰ２１が値“２”の比較結果を出力する場合、レジスタＲＧＤ２に格納された、メモリセルアレイ７５１に書き込まれる前のデータＤＱを選択して出力する。
【００３８】
ここで、ライトコマンドが入力された後、ライトデータがメモリセルアレイ７５１に書き込まれる前に、同一アドレスのメモリセルに対するリードコマンドが入力される場合がある。この場合、メモリセルアレイ７５１に書き込まれる前のレジスタＲＧＤ１又はＲＧＤ２に格納されたデータＤＱがリードデータとして出力される。
【００３９】
具体的には、アドレスバス７３を介して供給された読み出し用のアドレス信号ＡＤＤと、レジスタＲＧＡ１に格納されたアドレス信号ＡＤＤと、が一致する場合、レジスタＲＧＡ１に対応するレジスタＲＧＤ１に格納されたデータＤＱがリードデータとして出力される。また、アドレスバス７３を介して供給された読み出し用のアドレス信号ＡＤＤと、レジスタＲＧＡ２に格納されたアドレス信号ＡＤＤと、が一致する場合、レジスタＲＧＡ２に対応するレジスタＲＧＤ２に格納されたデータＤＱがリードデータとして出力される。
【００４０】
ところで、近年では、プロセッサの処理性能の向上に伴って、半導体記憶装置の処理性能も向上させることが求められている。そのため、半導体記憶装置は、ホストチップとの間でデータの受け渡しを行うベースチップ上に複数のメモリチップを積層（スタック）したうえで、複数のメモリセルに同時にアクセス可能に構成することで、処理性能を向上させている。以下、このような構成の半導体記憶装置をスタックメモリと称す。
【００４１】
（実施の形態に至る前の構想に係るスタックメモリ６０）
図１５は、実施の形態に至る前の構想に係るスタックメモリ（半導体記憶装置）６０の積層構造を模式的に示す図である。図１６は、スタックメモリ６０の１チャネル分のみの構成例を示すブロック図である。図１７は、スタックメモリ６０の動作を示すタイミングチャートである。
【００４２】
図１５に示すように、スタックメモリ６０は、ホストチップ（不図示）と間でデータの受け渡しを行うベースチップ６と、ベースチップ６上に積層された複数のメモリチップ７と、を備える。本例では、ベースチップ６上に２つのメモリチップ７が積層されている。
【００４３】
なお、本例では、ｔＷＬがスタックメモリ６０全体のライトレイテンシを表し、ｔＲＬがスタックメモリ６０全体のリードレイテンシを表し、ｔＲＬｍｅｍがメモリチップ７単体のリードレイテンシを表し、ｔＷＬｍｅｍがメモリチップ７単体のライトレイテンシを表す。
【００４４】
各メモリチップ７上には、同一チャネルの４つのメモリバンク７５＿０〜７５＿３（Ｂａｎｋ０〜３）が行列状に配置されている。メモリバンク７５＿０，７５＿２とメモリバンク７５＿１，７５＿３との間には、メモリバンク７５＿０〜７５＿３によって共用されるアドレスバス７３及びデータバス７４が配線されている。また、アドレスバス７３とデータバス７４との間のメモリチップ７の中央付近には、インタフェース回路７１，７２が配置されている。
【００４５】
ベースチップ６上には、各メモリチップ７に対応して、外部インタフェース回路６３，６４、及び、内部インタフェース回路６１，６２が配置されている。
【００４６】
そして、各メモリチップ７上に配置されたインタフェース回路７１，７２と、ベースチップ６上に配置された内部インタフェース回路６１，６２と、の間には、シリコン貫通ビア（Through Silicon Via；以下、単にビアと称す）８１，８２が垂直に設けられている。
【００４７】
ここで、外部インタフェース回路６３，６４は、ホストチップ等の外部装置との物理的な距離を短くして消費電力を抑制する必要があるため、ベースチップ６の外周辺に沿って配置されている。また、内部インタフェース回路６１，６２は、メモリチップ７の中央付近に配置されたインタフェース回路７１，７２と垂直方向に対向配置されている必要があるため、ベースチップ６の中央付近に配置されている。そのため、インタフェース回路６１，６３間の信号線、及び、インタフェース回路６２，６４間の信号線は、何れも長くなっている。
【００４８】
続いて、各ブロックの具体的な構成例について図１６を用いて説明する。
図１６に示すように、ベースチップ６の外周辺近傍に設けられた外部インタフェース回路６４は、スタックメモリ６０外から供給されたライトデータＤＱを駆動する入力バッファ６４２と、入力バッファ６４２によって駆動されたライトデータＤＱをラッチするラッチ回路６４４と、リードデータＤＱをラッチするラッチ回路６４３と、ラッチ回路６４３によってラッチされたリードデータＤＱを駆動してスタックメモリ６０外に出力する出力バッファ６４１と、を有する。
【００４９】
また、ベースチップ６の外周辺近傍に設けられた外部インタフェース回路６３は、スタックメモリ６０外から供給されたクロック信号ＣＬＫを駆動する入力バッファ６３１と、バンクアドレス信号ＢＡを駆動する入力バッファ６３２と、入力バッファ６３２によって駆動されたバンクアドレス信号ＢＡをラッチするラッチ回路６３５と、アドレス信号ＡＤＤを駆動する入力バッファ６３３と、入力バッファ６３３によって駆動されたアドレス信号ＡＤＤをラッチするラッチ回路６３６と、コマンド信号ＣＭＤを駆動する入力バッファ６３４と、入力バッファ６３４によって駆動されたコマンド信号ＣＭＤをラッチするラッチ回路６３７と、を有する。
【００５０】
ベースチップ６の中央付近に設けられた内部インタフェース回路６２は、ラッチ回路６４４によってラッチされたライトデータＤＱをラッチするラッチ回路６２２と、ラッチ回路６２２によってラッチされたライトデータＤＱを駆動して、ビア８２を介してメモリチップ７に出力する出力バッファ６２４と、メモリチップ７からビア８２を介して供給されたリードデータＤＱを駆動する入力バッファ６２３と、入力バッファ６２３により駆動されたリードデータＤＱをラッチするラッチ回路６２１と、を有する。
【００５１】
また、ベースチップ６の中央付近に設けられた内部インタフェース回路６１は、入力バッファ６３１からのクロック信号ＣＬＫを駆動する出力バッファ６１４と、ラッチ回路６３５によってラッチされたバンクアドレス信号ＢＡをラッチするラッチ回路６１１と、ラッチ回路６１１によってラッチされたバンクアドレス信号ＢＡを駆動する出力バッファ６１５と、ラッチ回路６３６によってラッチされたアドレス信号ＡＤＤをラッチするラッチ回路６１２と、ラッチ回路６１２によってラッチされたアドレス信号ＡＤＤを駆動する出力バッファ６１６と、ラッチ回路６３７によってラッチされたコマンド信号ＣＭＤをラッチするラッチ回路６１３と、ラッチ回路６１３によってラッチされたコマンド信号ＣＭＤを駆動する出力バッファ６１７と、を有する。
【００５２】
出力バッファ６１４により駆動されたクロック信号ＣＬＫは、ビア８１に含まれるビア８１１を介して、メモリチップ７の入力バッファ７１１に供給される。出力バッファ６１５により駆動されたバンクアドレス信号ＢＡは、ビア８１に含まれるビア８１２を介して、メモリチップ７の入力バッファ７１２に供給される。出力バッファ６１６により駆動されたアドレス信号ＡＤＤは、ビア８１に含まれるビア８１３を介して、メモリチップ７の入力バッファ７１３に供給される。出力バッファ６１７により駆動されたコマンド信号ＣＭＤは、ビア８１に含まれるビア８１４を介して、メモリチップ７の入力バッファ７１４に供給される。
【００５３】
メモリチップ７の構成については、図１３に示すチップ７の構成と同様であるため、その説明を省略する。
【００５４】
上記したように、スタックメモリ６０のベースチップ６には、ホストチップとの間でデータの受け渡しを行う外部インタフェース回路６４と、メモリチップとの間でデータの受け渡しを行う内部インタフェース回路６２とが、複数設けられている。ここで、インタフェース回路の増加を防ぐため、外部インタフェース回路６４及び内部インタフェース回路６２は、何れも、読み出しデータの伝送及び書き込みデータの伝送に共通に用いられている。
【００５５】
そのため、スタックメモリ６０に対して単にメモリチップ７の構成を適用して、スタックメモリ６０全体における（即ち、外部インタフェース回路６４における）ライトレイテンシ及びリードレイテンシを同じ長さに揃えただけでは、内部インタフェース回路６２における読み出しデータ及び書き込みデータの衝突を避けるためのコマンド間隔の調整が必要になる。そして、その調整が行われると、メモリチップ７単体におけるライトレイテンシ及びリードレイテンシの長さが揃わなくなってしまう。その結果、バスターンアラウンド期間が大きくなってしまうという問題があった。
【００５６】
より具体的に説明すると、ベースチップ６上に配線されたインタフェース回路６２，６４間の長距離の信号線は、インタフェース回路６２，６４内のラッチ回路によってパイプライン化され、ベースチップ６上に配線されたインタフェース回路６１，６３間の長距離の信号線は、インタフェース回路６１，６３内のラッチ回路によってパイプライン化される。そのため、スタックメモリ６０全体のリードレイテンシｔＲＬは、メモリチップ７単体のリードレイテンシｔＲＬｍｅｍと比較して、大きな値となる。また、ベースチップ６上に設けられたデータ伝送用の内部インタフェース回路６２及びメモリチップ７上に設けられたインタフェース回路７２は、ベースチップ６上に設けられた外部インタフェース回路６４と同様に、書き込み用データと読み出し用データとによって共用されるコモンインタフェース回路である。
【００５７】
ここで、スタックメモリ６０は、処理性能を向上させるため、複数のメモリセルに同時にアクセス可能に構成されている。つまり、ベースチップ６上には、データ伝送用の外部インタフェース回路６４及び内部インタフェース回路６２が多数設けられている。そのため、回路規模が増大したり、消費電力が増大したりする可能性がある。そこで、少なくとも読み出し用データ及び書き込み用データの伝送に共通のインタフェース回路６２，６４，７２を用いることにより、インタフェース回路が増加し過ぎるのを防いでいる。
【００５８】
しかしながら、読み出し用データ及び書き込み用データの伝送に共通のインタフェース回路が用いられた場合、メモリチップ７上で発生するバスターンアラウンド期間だけでなく、ベースチップ６上で発生するバスターンアラウンド期間も、スタックメモリ６０全体のバスターンアラウンド期間に影響を与えることになる。以下、図１７のタイミングチャートを用いて具体的に説明する。
【００５９】
図１７のタイミングチャートを参照すると、スタックメモリ６０全体のリードレイテンシｔＲＬは、メモリチップ７単体のリードレイテンシｔＲＬｍｅｍよりも、ベースチップ６上のラッチ回路によるパイプライン化の影響分だけ長くなる。また、スタックメモリ６０全体のライトレイテンシｔＷＬは、各メモリチップ７に設けられたレイトライト制御回路ＬＷ７５によって、リードレイテンシｔＲＬと同じ長さになるように調整される。本例では、ライトレイテンシｔＷＬは、リードレイテンシｔＲＬと同じ長さである９サイクルになるように調整されている。
【００６０】
例えば、Ｂａｎｋ０に対するＮ番目のアドレス信号であるライトアドレスＷＡ０（Ｎ）が入力されると（時刻ｔ０）、Ｂａｎｋ０に対するＮ番目のデータＤＱであるライトデータＷＤ０（Ｎ）はその９サイクル後に入力される（時刻ｔ９）。そして、データＷＤ０（Ｎ）は、その次の第１０サイクルの期間中にビア８２を伝搬する（時刻ｔ１０〜ｔ１１）。
【００６１】
そのため、Ｂａｎｋ１に対するＮ番目のアドレス信号であるリードアドレスＲＡ１が入力されることによって読み出されるリードデータＲＤ１は、ライトデータＷＤ０（Ｎ）がビア８２を伝搬する期間より後（時刻ｔ１１以降）にビア８２を伝搬する必要がある。そこで、本例では、リードデータＲＤ１は、第１１サイクルの期間中にビア８２を伝搬している（時刻ｔ１１〜ｔ１２）。
【００６２】
ここで、リードレイテンシｔＲＬは９サイクルであるため、リードデータＲＤ１が第１１サイクルの期間中にビア８２を伝搬するためには、リードアドレスＲＡ１の入力は第４サイクル（時刻ｔ４）まで待つ必要がある。
【００６３】
そのため、スタックメモリ６０全体のｔＷＲＤは、最小で４サイクルとなり、メモリチップ７単体のｔＷＲＤｍｅｍの最小である１サイクルよりも長くなってしまう。その結果、スタックメモリ６０全体におけるバスターンアラウンド期間が長くなってしまうため、スタックメモリ６０全体の処理性能が劣化してしまうという問題があった。
【００６４】
仮に、ライトレイテンシｔＷＬの長さを６サイクルに短くして、リードアドレスＲＡ１の入力を第１サイクル（時刻ｔ１）で行えるようにした場合には、リードアドレスＲＡ３が入力されることで読み出されるリードデータＲＤ３がビア８２を伝搬する期間と、その後にライトアドレスＷＡ０（Ｎ＋１）が入力されることで書き込まれるライトデータＷＤ０（Ｎ＋１）がビア８２を伝搬する期間とが、重ならないように、ライトアドレスＷＡ０（Ｎ＋１）の入力を遅らせる必要がある。そのため、スタックメモリ６０全体のｔＲＷＤは、最小で４サイクルとなり、メモリチップ７単体のｔＲＷＤｍｅｍの最小である１サイクルよりも長くなってしまう。その結果、スタックメモリ６０全体におけるバスターンアラウンド期間が長くなってしまうため、スタックメモリ６０全体の処理性能が劣化してしまうという問題があった。
【００６５】
そこで、メモリチップ単体の場合と同様に、バスターンアラウンド期間を短くして、処理性能を向上させることができるように、本実施の形態にかかるスタックメモリ１が見出された。
【００６６】
（本実施の形態にかかるスタックメモリ１）
図１は、実施の形態１に係るスタックメモリ（半導体記憶装置）１の積層構造を模式的に示す図である。図２Ａは、スタックメモリ１のベースチップ側の構成例を示すブロック図である。図２Ｂは、スタックメモリ１のメモリチップ側の１チャネル分のみを示すブロック図である。図３は、スタックメモリ１の動作を示すタイミングチャートである。
【００６７】
なお、本実施の形態では、各チャネルにおけるメモリバンクが４つ、レイトライト用のＦＩＦＯ段数がメモリチップに１段及びベースチップに１段の合計２段、バースト長が２サイクルである場合を例に説明する。また、本実施の形態では、ダブルデータレート（ＤＤＲ）方式が採用されている場合を例に説明する。レイトライト用のＦＩＦＯ段数は、スタックメモリ１及びそれに搭載されたメモリチップ単体のそれぞれのレイテンシに応じて適宜変更可能である。
【００６８】
また、本実施の形態では、ｔＲＣが同じバンクに連続アクセスするために必要な間隔を表し、ｔＲＲＤがリード後に異なるバンクでリードを行うために必要な間隔を表し、ｔＷＲＤがライト後に異なるバンクでリードを行うために必要な間隔を表し、ｔＲＷＤがリード後に異なるバンクでライトを行うために必要な間隔を表している。図３の例では、ｔＲＣが４サイクル、ｔＲＲＤが１サイクル、ｔＷＲＤが１サイクル、ｔＲＷＤが２サイクルとなっている。
【００６９】
また、本実施の形態では、ｔＷＬがスタックメモリ１全体のライトレイテンシを表し、ｔＲＬがスタックメモリ１全体のリードレイテンシを表し、ｔＲＬがスタックメモリ１全体のリードレイテンシを表し、ｔＲＬｍｅｍがメモリチップ３単体のリードレイテンシを表し、ｔＷＬｍｅｍがメモリチップ３単体のライトレイテンシを表している。
【００７０】
また、図３において、Ｎは自然数であって同一バンクに対するライトコマンドの順番を表し、ＷＡ０（Ｎ）は、Ｂａｎｋ０に対するＮ回目のライトアドレスを表している。ＷＡ０（Ｎ＋１）は、Ｂａｎｋ０に対するＮ＋１回目のライトアドレスを表している。また、ＷＤ０（Ｎ）は、Ｂａｎｋ０に対するＮ回目のライトアドレスに対するライトデータを表している。ＷＤ０（Ｎ＋１）は、Ｂａｎｋ０に対するＮ＋１回目のライトアドレスに対するライトデータを表している。ＲＡ１、ＲＡ２、ＲＡ３は、それぞれＢａｎｋ１、Ｂａｎｋ２、Ｂａｎｋ３に対するリードアドレスを表している。ＲＤ１、ＲＤ２、ＲＤ３は、それぞれＲＡ１、ＲＡ２、ＲＡ３に対するリードデータを表している。
【００７１】
図１に示すように、スタックメモリ１は、ホストチップ（不図示）との間でデータの受け渡しを行うベースチップ２と、ベースチップ２上に積層された複数のメモリチップ３と、を備える。本例では、ベースチップ２上に２つのメモリチップ７が積層されている。
【００７２】
各メモリチップ３上には、同一チャネルの４つのメモリバンク３５＿０〜３５＿３（Ｂａｎｋ０〜３）が行列状に配置されている。メモリバンク３５＿０，３５＿２とメモリバンク３５＿１，３５＿３との間には、メモリバンク３５＿０〜３５＿３によって共用されるアドレスバス３３及びデータバス３４が配線されている。また、アドレスバス３３とデータバス３４との間のメモリチップ３の中央付近には、インタフェース回路３１，３２が配置されている。
【００７３】
ベースチップ２上には、各メモリチップ３に対応して、外部インタフェース回路２３，２４、内部インタフェース回路２１，２２、及び、第１のレイトライト制御回路ＬＷ１が設けられている。レイトライト制御回路ＬＷ１は、内部インタフェース回路２１，２２と、外部インタフェース回路２３，２４と、の間に設けられている。
【００７４】
各メモリチップ３上に配置されたインタフェース回路３１，３２と、ベースチップ２上に配置された内部インタフェース回路２１，２２と、の間には、シリコン貫通ビア（Through Silicon Via；以下、単にビアと称す）４１，４２が垂直に設けられている。
【００７５】
ここで、外部インタフェース回路２３，２４は、ホストチップ等の外部装置との物理的な距離を短くして消費電力を抑制する必要があるため、ベースチップ２の外周辺に沿って配置されている。また、内部インタフェース回路２１，２２は、メモリチップ３の中央付近に配置されたインタフェース回路３１，３２と垂直方向に対向配置されている必要があるため、ベースチップ２の中央付近に配置されている。そのため、インタフェース回路２１，２３間の信号線、及び、インタフェース回路２２，２４間の信号線は、何れも長くなる。
【００７６】
続いて、各ブロックの具体的な構成例について図２Ａ及び図２Ｂを用いて説明する。
まず、ベースチップ２側の構成例について図２Ａを用いて説明する。
図２Ａに示すように、ベースチップ２の外周辺近傍に設けられた外部インタフェース回路２４は、スタックメモリ１外から供給されたライトデータＤＱを駆動する入力バッファ２４２と、入力バッファ２４２によって駆動されたライトデータＤＱをラッチするラッチ回路２４４と、リードデータＤＱをラッチするラッチ回路２４３と、ラッチ回路２４３によってラッチされたリードデータＤＱを駆動してスタックメモリ１外に出力する出力バッファ２４１と、を有する。
【００７７】
また、ベースチップ２の外周辺近傍に設けられた外部インタフェース回路２３は、スタックメモリ１外から供給されたクロック信号ＣＬＫを駆動する入力バッファ２３１と、バンクアドレス信号ＢＡを駆動する入力バッファ２３２と、入力バッファ２３２によって駆動されたバンクアドレス信号ＢＡをラッチするラッチ回路２３５と、アドレス信号ＡＤＤを駆動する入力バッファ２３３と、入力バッファ２３３によって駆動されたアドレス信号ＡＤＤをラッチするラッチ回路２３６と、コマンド信号ＣＭＤを駆動する入力バッファ２３４と、入力バッファ２３４によって駆動されたコマンド信号ＣＭＤをラッチするラッチ回路２３７と、を有する。
【００７８】
ベースチップ２上に設けられたレイトライト制御回路ＬＷ１は、データの書き込みを意図的に遅延させる回路であって、レジスタＲＧＡ１と、セレクタＳＬ１１〜ＳＬ１６と、コンパレータＣＰ１１と、レイテンシ制御回路ＣＴ１１，ＣＴ１２と、レジスタＲＧＤ１と、を有する。なお、レジスタＲＧＡ１，ＲＧＤ１は、何れも同一チャネル内に設けられたメモリバンク数分設けられている。
【００７９】
レジスタＲＧＡ１は、データ書き込み時に外部からインタフェース回路２３を介して供給されたアドレス信号ＡＤＤを格納する。つまり、データ書き込み時、アドレス信号ＡＤＤは、まずレジスタＲＧＡ１によって意図的に遅延させられる。
【００８０】
セレクタＳＬ１１は、バンクアドレス信号ＢＡにより指定されたメモリバンク用のレジスタＲＧＡ１に格納されたアドレス信号ＡＤＤを選択して出力する。
【００８１】
セレクタＳＬ１３は、データ書き込み時、セレクタＳＬ１１により選択されたアドレス信号ＡＤＤを選択して出力し、データ読み出し時、外部からインタフェース回路２３を介して供給されたアドレス信号ＡＤＤを直接選択して出力する。
【００８２】
レジスタＲＧＤ１は、データ書き込み時に外部からインタフェース回路２４を介して供給されたデータＤＱを格納する。つまり、データ書き込み時、データＤＱは、まずレジスタＲＧＤ１によって意図的に遅延させられる。
【００８３】
レイテンシ制御回路ＣＴ１２は、コマンド信号ＣＭＤ及びバンクアドレス信号ＢＡが入力されてから所定サイクル数分経過した後に、当該コマンド信号ＣＭＤ及びバンクアドレス信号ＢＡに応じた切替信号Ｓ２を出力する。
【００８４】
セレクタＳＬ１５は、データ書き込み時、メモリバンク数分設けられたレジスタＲＧＤ１のうち、バンクアドレス信号ＢＡにより指定されたメモリバンク用のレジスタＲＧＤ１に格納されたデータＤＱを選択して出力する。ここで、レイトライト制御回路ＬＷ１は複数のメモリバンクによって共用されているため、セレクタＳＬ１５は、ライトレイテンシｔＷＬに応じたサイクル数分経過後に、書き込み用データの出力元の選択を切り替える必要がある。そこで、セレクタＳＬ１５は、レイテンシ制御回路ＣＴ１２からの切替信号Ｓ２により、ライトレイテンシｔＷＬに応じたサイクル数分経過後に、書き込み対象のバンクに対する書き込み用データに選択を切り替えている。
【００８５】
セレクタＳＬ１２は、メモリバンク数分設けられたレジスタＲＧＡ１のうち、バンクアドレス信号ＢＡにより指定されたメモリバンク用のレジスタＲＧＡ１に格納された書き込み用のアドレス信号ＡＤＤを選択して出力する。ここで、レイトライト制御回路ＬＷ１は複数のメモリバンクによって共用されているため、セレクタＳＬ１２は、リードレイテンシｔＲＬに応じたサイクル数分経過後に、読み出し用アドレスとの比較対象となる書き込み用アドレスの出力元の選択を切り替える必要がある。そこで、セレクタＳＬ１２は、レイテンシ制御回路ＣＴ１２からの切替信号Ｓ２により、リードレイテンシｔＲＬに応じたサイクル数分経過後に、読み出し用バンクアドレス信号が示すバンクと同じバンクの書き込み用アドレスに選択を切り替えている。
【００８６】
コンパレータＣＰ１１は、外部からインタフェース回路２３を介して供給された読み出し用のアドレス信号ＡＤＤと、セレクタＳＬ１２により選択された書き込み用のアドレス信号ＡＤＤ（即ち、レジスタＲＧＡ１に格納された同一メモリバンクに対する書き込み用のアドレス信号ＡＤＤ）と、を比較して、比較結果を出力する。
【００８７】
例えば、コンパレータＣＰ１１は、外部からインタフェース回路２３を介して供給された読み出し用のアドレス信号ＡＤＤと、レジスタＲＧＡ１に格納された同一メモリバンクに対する書き込み用のアドレス信号ＡＤＤと、が一致する場合には、値“１”の比較結果を出力し、一致しない場合には、値“０”の比較結果を出力する。
【００８８】
レイテンシ制御回路ＣＴ１１は、コンパレータＣＰ１１の比較結果が入力されてから所定サイクル数分経過した後に、当該比較結果に応じた切替信号Ｓ１を出力する。
【００８９】
セレクタＳＬ１４は、メモリバンク数分設けられたレジスタＲＧＤ１のうち、バンクアドレス信号ＢＡにより指定されたメモリバンク用のレジスタＲＧＤ１に格納された書き込み用のデータＤＱを選択して出力する。ここで、レイトライト制御回路ＬＷ１は複数のメモリバンクによって共用されているため、セレクタＳＬ１４は、リードレイテンシｔＲＬに応じたサイクル数分経過後に、読み出し用データの出力元の選択を切り替える必要がある。そこで、セレクタＳＬ１４は、レイテンシ制御回路ＣＴ１２からの切替信号Ｓ２により、リードレイテンシｔＲＬに応じたサイクル数分経過後に、読み出し用バンクアドレス信号が示すバンクと同じバンクの書き込み用データに選択を切り替えている。
【００９０】
セレクタＳＬ１６は、コンパレータＣＰ１１の比較結果に基づいて、メモリセルアレイ３５１から読み出されてインタフェース回路２２を介して供給されたデータＤＱ、及び、セレクタＳＬ１４により選択された書き込み用のデータＤＱ（即ち、レジスタＲＧＤ１に格納された同一メモリバンクに対する書き込み用のデータＤＱ）の何れかを選択して出力する。
【００９１】
例えば、セレクタＳＬ１６は、コンパレータＣＰ１１が値“０”の比較結果を出力する場合、メモリセルアレイ３５１から読み出されてインタフェース回路２２を介して供給されたデータＤＱを選択して出力し、コンパレータＣＰ１１が値“１”の比較結果を出力する場合、レジスタＲＧＤ１に格納された、メモリセルアレイ３５１に書き込まれる前のデータＤＱを選択して出力する。
【００９２】
すなわち、セレクタＳＬ１６は、リードレイテンシｔＲＬに応じたサイクル数分経過後に、読み出し用データの出力元の選択を切り替える必要がある。そこで、セレクタＳＬ１６は、レイテンシ制御回路ＣＴ１１からの切替信号Ｓ１により、リードレイテンシｔＲＬに応じたサイクル数分経過後に、読み出し用データの出力元の選択を切り替えている。
【００９３】
ベースチップ２の中央付近に設けられた内部インタフェース回路２２は、レイトライト制御回路ＬＷ１のセレクタＳＬ１５から出力されたライトデータＤＱをラッチするラッチ回路２２２と、ラッチ回路２２２によってラッチされたライトデータＤＱを駆動して、ビア４２を介してメモリチップ３に出力する出力バッファ２２４と、メモリチップ３からビア４２を介して供給されたリードデータＤＱを駆動する入力バッファ２２３と、入力バッファ２２３により駆動されたリードデータＤＱをラッチするラッチ回路２２１と、を有する。
【００９４】
また、ベースチップ２の中央付近に設けられた内部インタフェース回路２１は、入力バッファ２３１からのクロック信号ＣＬＫを駆動する出力バッファ２１４と、ラッチ回路２３５によってラッチされたバンクアドレス信号ＢＡをラッチするラッチ回路２１１と、ラッチ回路２１１によってラッチされたバンクアドレス信号ＢＡを駆動する出力バッファ２１５と、レイトライト制御回路ＬＷ１のセレクタＳＬ１３から出力されたアドレス信号ＡＤＤをラッチするラッチ回路２１２と、ラッチ回路２１２によってラッチされたアドレス信号ＡＤＤを駆動する出力バッファ２１６と、ラッチ回路２３７によってラッチされたコマンド信号ＣＭＤをラッチするラッチ回路２１３と、ラッチ回路２１３によってラッチされたコマンド信号ＣＭＤを駆動する出力バッファ２１７と、を有する。
【００９５】
出力バッファ２１４により駆動されたクロック信号ＣＬＫは、ビア４１に含まれるビア４１１を介して、メモリチップ３の入力バッファ３１１に供給される。出力バッファ２１５により駆動されたバンクアドレス信号ＢＡは、ビア４１に含まれるビア４１２を介して、メモリチップ３の入力バッファ３１２に供給される。出力バッファ２１６により駆動されたアドレス信号ＡＤＤは、ビア４１に含まれるビア４１３を介して、メモリチップ３の入力バッファ３１３に供給される。出力バッファ２１７により駆動されたコマンド信号ＣＭＤは、ビア４１に含まれるビア４１４を介して、メモリチップ３の入力バッファ３１４に供給される。
【００９６】
続いて、メモリチップ３側の構成例について図２Ｂを用いて説明する。
図２Ｂに示すように、インタフェース回路３２は、ビア４２を介して供給されたライトデータＤＱを駆動する入力バッファ３２２と、入力バッファ３２２によって駆動されたライトデータＤＱをラッチするラッチ回路３２４と、メモリセルアレイ３５１から読み出されたリードデータＤＱをラッチするラッチ回路３２３と、ラッチ回路３２３によってラッチされたリードデータＤＱを駆動してビア４２に出力する出力バッファ３２１と、を有する。
【００９７】
インタフェース回路３１は、ビア４１１を介して供給されたクロック信号ＣＬＫを駆動する入力バッファ３１１と、ビア４１２を介して供給されたバンクアドレス信号ＢＡを駆動する入力バッファ３１２と、入力バッファ３１２により駆動されたバンクアドレス信号ＢＡをラッチするラッチ回路３１５と、ビア４１３を介して供給されたアドレス信号ＡＤＤを駆動する入力バッファ３１３と、入力バッファ３１３によって駆動されたアドレス信号ＡＤＤをラッチするラッチ回路３１６と、ビア４１４を介して供給されたコマンド信号ＣＭＤを駆動する入力バッファ３１４と、入力バッファ３１４によって駆動されたコマンド信号ＣＭＤをラッチするラッチ回路３１７と、を有する。
【００９８】
アドレスバス３３は、インタフェース回路３１と、メモリバンク３５＿０〜３５＿３と、の間に設けられている。コマンドデコーダ３６は、インタフェース回路３１を介して受信したコマンド信号ＣＭＤをデコードする回路である。
【００９９】
データバス３４は、インタフェース回路３２と、メモリバンク３５＿０〜３５＿３と、の間に設けられている。データバス３４は、リードデータが伝搬するデータバス３４１と、ライトデータが伝搬するデータバス３４２と、により構成される。
【０１００】
各メモリバンク３５＿０〜３５＿３は、複数のメモリセルが行列上に配置されたメモリセルアレイ３５１と、アドレス信号をデコードするアドレスデコーダ３５２と、メモリセルから読み出されたデータを増幅して出力するアンプ３５３と、データの書き込みを意図的に遅延させる第２のレイトライト制御回路ＬＷ２と、を備える。
【０１０１】
具体的には、レイトライト制御回路ＬＷ２は、レジスタＲＧＡ２と、セレクタＳＬ２１と、レジスタＲＧ２１と、コンパレータＣＰ２１と、レジスタＲＧ２２と、レジスタＲＧＤ２と、セレクタＳＬ２２と、を有する。
【０１０２】
レジスタＲＧＡ２は、ベースチップ２においてレジスタＲＧＡ１から出力されたアドレス信号ＡＤＤを、インタフェース回路２１、ビア４１、インタフェース回路３１、及び、アドレスバス３３を介して受け取って格納する。つまり、データ書き込み時、アドレス信号ＡＤＤは、レジスタＲＧＡ１に加えてレジスタＲＧＡ２によっても意図的に遅延させられる。
【０１０３】
セレクタＳＬ２１は、データ書き込み時、レジスタＲＧＡ２から出力されたアドレス信号ＡＤＤを選択して出力し、データ読み出し時、アドレスバス３３を介して供給されたアドレス信号ＡＤＤを直接選択して出力する。レジスタＲＧ２１は、セレクタＳＬ２１から出力されたアドレス信号ＡＤＤを格納する。レジスタＲＧ２２は、コマンドデコーダ３６によってデコードされたコマンド信号ＣＭＤを格納する。
【０１０４】
レジスタＲＧＤ２は、ベースチップ２においてレジスタＲＧＤ１から出力されたデータＤＱを、インタフェース回路２２、ビア４２、インタフェース回路３２、及び、データバス３４２を介して受け取って格納する。つまり、データ書き込み時に外部から供給されたデータＤＱは、レジスタＲＧＤ１に加えてレジスタＲＧＤ２によっても遅延させられる。
【０１０５】
メモリセルアレイ３５１では、データ書き込み時、アドレス信号ＡＤＤにより指定されたアドレスのメモリセルにデータが書き込まれ、データ読み出し時、アドレス信号ＡＤＤにより指定されたアドレスのメモリセルに記憶されたデータが読み出される。
【０１０６】
ここで、データの書き込みをメモリチップ３上に配置されたレジスタＲＧＡ２，ＲＧＤ２によって意図的に遅延させることにより、メモリチップ３単体におけるライトレイテンシｔＷＬｍｅｍ及びリードレイテンシｔＲＬｍｅｍを同じ長さに揃えている。さらに、データの書き込みをベースチップ２に配置されたレジスタＲＧＡ１，ＲＧＤ１によっても意図的に遅延させることにより、スタックメモリ１全体におけるライトレイテンシｔＷＬ及びリードレイテンシｔＲＬを同じ長さに揃えている。このとき、バスターンアラウンド期間を長く調整しなくても、内部インタフェース回路における読み出しデータ及び書き込みデータの衝突は生じない。そのため、スタックメモリ１全体でのバスターンアラウンド期間を小さくすることができる。その結果、スタックメモリ１は、処理性能を向上させることができる。
【０１０７】
コンパレータＣＰ２１は、アドレスバス３３を介して供給された読み出し用のアドレス信号ＡＤＤと、レジスタＲＧＡ２に格納された書き込み用のアドレス信号ＡＤＤと、を比較して、比較結果を出力する。
【０１０８】
例えば、コンパレータＣＰ２１は、アドレスバス３３を介して供給された読み出し用のアドレス信号ＡＤＤと、レジスタＲＧＡ２に格納された書き込み用のアドレス信号ＡＤＤと、が一致する場合には、値“１”の比較結果を出力し、一致しない場合には、値“０”の比較結果を出力する。
【０１０９】
セレクタＳＬ２２は、コンパレータＣＰ２１の比較結果に基づいて、メモリセルアレイ３５１から読み出されたデータＤＱ、及び、レジスタＲＧＤ２に格納された書き込み用のデータＤＱの何れかを選択して出力する。
【０１１０】
例えば、セレクタＳＬ２２は、コンパレータＣＰ２１が値“０”の比較結果を出力する場合、メモリセルアレイ３５１から読み出されたデータＤＱを選択して出力し、コンパレータＣＰ２１が値“１”の比較結果を出力する場合、レジスタＲＧＤ２に格納された、メモリセルアレイ３５１に書き込まれる前のデータＤＱを選択して出力する。
【０１１１】
ここで、ライトコマンドが入力された後、ライトデータがメモリセルアレイ３５１に書き込まれる前に、同一アドレスのメモリセルに対するリードコマンドが入力される場合がある。この場合、メモリセルアレイ３５１に書き込まれる前のレジスタＲＧＤ１又はＲＧＤ２に格納されたデータＤＱがリードデータとして出力される。
【０１１２】
具体的には、ベースチップ２上に設けられたインタフェース回路２３を介して外部から供給されたデータ読み出し用のアドレス信号ＡＤＤと、ベースチップ２上のレジスタＲＧＡ１に格納されたアドレス信号ＡＤＤと、が一致する場合、レジスタＲＧＡ１に対応するレジスタＲＧＤ１に格納されたデータＤＱがリードデータとして出力される。また、アドレスバス３３を介して供給されたデータ読み出し用のアドレス信号ＡＤＤと、メモリチップ３上のレジスタＲＧＡ２に格納されたアドレス信号ＡＤＤと、が一致する場合、レジスタＲＧＡ２に対応するレジスタＲＧＤ２に格納されたデータＤＱがリードデータとして出力される。
【０１１３】
（スタックメモリ１の動作）
続いて、スタックメモリ１の動作を図３のタイミングチャートを用いて説明する。
図３に示すように、例えば、Ｂａｎｋ０に対してデータの書き込みを指示するコマンド信号ＣＭＤ及びライトアドレスＷＡ０（Ｎ）が入力されると（時刻ｔ０）、ライトアドレスＷＡ０（Ｎ）は、ベースチップ２に配置されたＢａｎｋ０用のレジスタＲＧＡ１に格納される（時刻ｔ１）。
【０１１４】
ここで、Ｂａｎｋ０用のレジスタＲＧＡ１に既に格納されていたライトアドレスＷＡ０（Ｎ−１）は、パイプライン処理により、ビア４１を介してメモリチップ３に転送され、Ｂａｎｋ０（メモリバンク３５＿０）用のレジスタＲＧＡ２に格納される（時刻ｔ３）。また、Ｂａｎｋ０用のレジスタＲＧＡ２に既に格納されていたライトアドレスＷＡ０（Ｎ−２）は、パイプライン処理により、後段のレジスタＲＧ２１に格納される（時刻ｔ３）。以降、ライトアドレスＷＡ０（Ｎ＋１）、ＷＡ０（Ｎ＋２）等についても同様のパイプライン処理が行われる。
【０１１５】
一方、ライトアドレスＷＡ０（Ｎ）が入力されると（時刻ｔ０）、ライトデータＷＤ０（Ｎ）はその９サイクル後に入力される（時刻ｔ９）。そして、その次のサイクルにおいて、ベースチップ２に配置されたＢａｎｋ０用のレジスタＲＧＤ１に格納される（時刻ｔ１０）。
【０１１６】
ここで、Ｂａｎｋ０用のレジスタＲＧＤ１に既に格納されていたライトデータＷＤ０（Ｎ−１）は、ライトデータＷＤ０（Ｎ）によって上書きされる前に、ビア４２を介してメモリチップ３に転送され（時刻ｔ６〜ｔ７）、Ｂａｎｋ０（メモリバンク３５＿０）用のレジスタＲＧＤ２に格納される（時刻ｔ８）。なお、Ｂａｎｋ０用のレジスタＲＧＤ２に既に格納されていたライトデータＷＤ０（Ｎ−２）は、１つ前のライトコマンドが入力されたときにメモリセルアレイ３５１に既に書き込まれているため、ライトデータＷＤ０（Ｎ−１）によって上書きされる。以降、ライトデータＷＤ０（Ｎ＋１）、ＷＤ０（Ｎ＋２）等についても同様のパイプライン処理が行われる。
【０１１７】
その後、例えば、Ｂａｎｋ０に対してデータの読み出しを指示するコマンド信号ＣＭＤ及びリードアドレスＲＡ０が入力されると（時刻ｔ１４）、リードアドレスＲＡ０と、ベースチップ２に配置されたＢａｎｋ０用のレジスタＲＧＡ１に格納されたライトアドレスと、が比較される（時刻ｔ１５）。
【０１１８】
これらが一致している場合には、リードコマンド入力後（時刻ｔ１４）、リードレイテンシｔＲＬ（９サイクル）経過後に、ベースチップ２に配置されたＢａｎｋ０用のレジスタＲＧＤ１に格納されたライトデータが、リードデータとして読み出される（時刻ｔ２３）。他方、これらが一致していない場合には、リードコマンド入力後（時刻ｔ１４）、リードレイテンシｔＲＬ（９サイクル）経過後に、メモリセルアレイ３５１からビア４２を介して読み出されたリードデータが読み出される（時刻ｔ２３）。
【０１１９】
なお、ベースチップ２に配置されたレイトライト制御回路ＬＷ１は、複数のメモリバンク３５＿０〜３５＿３によって共用されているため、リードアドレスＲＡ０と、ベースチップ２に配置されたＢａｎｋ０用のレジスタＲＧＡ１に格納されたライトアドレスと、の比較結果は、レイテンシ制御回路ＣＴ１１によってパイプライン処理される。つまり、比較結果は、リードレイテンシｔＲＬに応じたサイクル数（例えばリードレイテンシｔＲＬより１つ少ない８サイクル）経過後に、セレクタＳＬ１６に供給され（時刻ｔ２２）、それにより、リードデータの出力元の選択が切り替わる（時刻ｔ２３）。
【０１２０】
なお、ベースチップ２に配置されたレジスタＲＧＤ１に格納されているライトデータは、メモリチップ３に配置されたレジスタＲＧＤ２に格納されているライトデータよりも新しいデータである。したがって、リードアドレスＲＡ０が、レジスタＲＧＡ１に格納されているライトアドレス、及び、レジスタＲＧＡ２に格納されているライトアドレスの何れとも一致している場合には、レジスタＲＧＤ１に格納されているライトデータをリードデータとして用いればよい。
【０１２１】
このように、本実施の形態に係るスタックメモリ１は、各メモリチップ３上にレイトライト制御回路ＬＷ２を設けるだけでなく、ベースチップ２上にもレイトライト制御回路ＬＷ１を設けることにより、各メモリチップ３単体のライトレイテンシｔＷＬｍｅｍ及びリードレイテンシｔＲＬｍｅｍを同じ長さに揃え、かつ、スタックメモリ１全体におけるライトレイテンシｔＷＬ及びリードレイテンシｔＲＬを同じ長さに揃えている。このとき、バスターンアラウンド期間を長く調整しなくても、内部インタフェース回路における読み出しデータ及び書き込みデータの衝突は生じない。そのため、スタックメモリ１全体でのバスターンアラウンド期間を小さくすることができる。その結果、スタックメモリ１は、処理性能を向上させることができる。
【０１２２】
本実施の形態では、ベースチップ２上に２つのメモリチップ３がスタックされた場合を例に説明したが、これに限られず、ベースチップ２上に３つ以上のメモリチップ３がスタックされてもよい。
【０１２３】
また、本実施の形態では、ベースチップ２上に配置されたレイトライト制御回路ＬＷ１には、ライトデータを格納するレジスタＲＧＤ１が１段設けられ、各メモリチップ３のメモリバンク３５＿０〜３５＿３のそれぞれに配置されたレイトライト制御回路ＬＷ２には、ライトデータを格納するレジスタＲＧＤ２が１段設けられた場合を例に説明したが、これに限られない。パイプライン接続された２段以上のレジスタＲＧＤ１、及び、パイプライン接続された２段以上のレジスタＲＧＤ２が設けられてもよい。なお、レジスタＲＧＤ１，ＲＧＤ２の段数に応じて、レジスタＲＧＡ１，ＲＧＡ２の段数も増加させる必要がある。
【０１２４】
＜実施の形態２＞
図４は、実施の形態２に係るスタックメモリ１ａの積層構造を模式的に示す図である。図５Ａは、スタックメモリ１ａのベースチップ側の構成例を示すブロック図である。図５Ｂは、スタックメモリ１ａのメモリチップ側の１チャネル分のみを示すブロック図である。図６は、スタックメモリ１ａの動作を示すタイミングチャートである。
【０１２５】
スタックメモリ１ａは、スタックメモリ１と比較して、ベースチップ２上のレイトライト制御回路ＬＷ１と、アドレス信号等を伝送するためのビア４１と、の間に、各メモリップに対応して設けられたゲーティング回路（ＧＴ）２６をさらに備える。スタックメモリ１ａのその他の構成については、スタックメモリ１と同様であるため、その説明を省略する。
【０１２６】
既に述べたように、ベースチップ２に配置されたレジスタＲＧＤ１に格納されているライトデータは、メモリチップ３に配置されたレジスタＲＧＤ２に格納されているライトデータよりも新しいデータである。したがって、外部から供給されたリードアドレスが、レジスタＲＧＡ１に格納されているライトアドレスと一致している場合には、メモリチップ３上に配置された、レジスタＲＧＤ２に格納されたライトデータ、及び、メモリセルアレイから読み出されるデータ、を用いずに、レジスタＲＧＤ１に格納されているライトデータをリードデータとして用いればよい。
【０１２７】
そこで、ゲーティング回路２６は、外部から供給されたリードアドレスが、レジスタＲＧＡ１に格納されているライトアドレスと一致している場合には、メモリチップ３へのアクセスを停止させる。具体的には、メモリチップ３へのアドレス信号ＡＤＤ、コマンド信号ＣＭＤ等の供給を停止させる。それにより、メモリチップ３の動作を一時的に停止させることができるため、消費電力を低減することができる。
【０１２８】
図６のタイミングチャートを参照すると、例えば、Ｂａｎｋ０に対してデータの読み出しを指示するコマンド信号ＣＭＤ及びリードアドレスＲＡ０が入力されると（時刻ｔ１４）、リードアドレスＲＡ０と、ベースチップ２に配置されたＢａｎｋ０用のレジスタＲＧＡ１に格納されたライトアドレスと、が比較される（時刻ｔ１５）。
【０１２９】
これらが一致している場合には、リードコマンド入力後（時刻ｔ１４）、リードレイテンシｔＲＬ（９サイクル）経過後に、ベースチップ２に配置されたＢａｎｋ０用のレジスタＲＧＤ１に格納されたライトデータが、リードデータとして読み出される（時刻ｔ２３）。このとき、ゲーティング回路２６によって、メモリチップ３へのリードコマンド及びリードアドレスＲＡ０の供給は停止する。それにより、メモリチップ３の動作は一時的に停止するため（時刻ｔ１７〜ｔ２１）、消費電力を低減することができる
【０１３０】
なお、外部から供給されたリードアドレスが、レジスタＲＧＡ１に格納されているライトアドレスと一致しないが、レジスタＲＧＡ２に格納されているライトアドレスと一致する場合には、メモリチップ３のうちレイトライト制御回路ＬＷ２のみを動作させて、メモリセルアレイ３５１の動作を一時的に停止させてもよい。
【０１３１】
なお、ベースチップ２には、メモリプロセスに代えてロジックプロセスが採用されてもよい。それにより、高集積化が可能となる。この場合、図７に示すスタックメモリ１ｂのように、レイトライト制御回路ＬＷ１は、ライトアドレスを格納するレジスタＲＧＡ１及びライトデータを格納するＲＧＤ１の機能を含むキャッシュメモリ２７であってもよい。それにより、データ読み出し時のアドレスと、キャッシュメモリ２７に格納された複数のライトアドレスと、の一致する確率が高くなるため、メモリチップ３の動作を停止させてベースチップ２上のみで閉じた動作を行う確率が高くなり、その結果、消費電力の増大をさらに抑制することができる。
【０１３２】
＜実施の形態３＞
図８は、実施の形態３に係るスタックメモリ１ｃの積層構造を模式的に示す図である。図９Ａは、スタックメモリ１ｃのベースチップ側の構成例を示すブロック図である。図９Ｂは、スタックメモリ１ｃのメモリチップ側の１チャネル分のみを示すブロック図である。
【０１３３】
スタックメモリ１ｃでは、同一チャネルのメモリバンク３５＿０〜３５＿３が異なるメモリチップ３＿０，３＿１に分割して設けられている。
【０１３４】
具体的には、メモリチップ３＿０上には、メモリバンク３５＿０，３５＿１及びインタフェース回路３１＿０，３２＿０が設けられている。メモリチップ３＿１上には、メモリバンク３５＿２，３５＿３及びインタフェース回路３１＿１，３２＿１が設けられている。インタフェース回路３１＿０，３１＿１は、インタフェース回路３１に対応するものであって、何れもビア４１に接続されている。インタフェース回路３２＿０，３２＿１は、インタフェース回路３２に対応するものであって、何れもビア４２に接続されている。
【０１３５】
なお、スタックメモリ１ｃは、バス３３，３４を用いる代わりに、アドレス信号ＡＤＤの出力先のメモリバンクを選択するセレクタ３７、書き込みデータの出力先のメモリバンクを選択するセレクタ３９、及び、読み出しデータの出力元のメモリバンクを選択するセレクタ３８を用いている（図９Ｂ参照）。スタックメモリ１ｃのその他の構成については、スタックメモリ１と同様であるため、その説明を省略する。
【０１３６】
スタックメモリ１ｃでも、スタックメモリ１，１ａ等と同等の効果を奏することができる。さらに、スタックメモリ１ｃは、バス３３，３４を用いないため、回路規模及び消費電力の増大を抑制することができる。
【０１３７】
＜実施の形態４＞
図１０は、実施の形態４に係るスタックメモリ１ｄの積層構造を模式的に示す図である。図１１Ａは、スタックメモリ１ｄのベースチップ側の構成例を示すブロック図である。図１１Ｂは、スタックメモリ１ｄのメモリチップ側の１チャネル分のみを示すブロック図である。図１２は、スタックメモリ１ｄの動作を示すタイミングチャートである。
【０１３８】
スタックメモリ１ｄは、スタックメモリ１と比較して、ベースチップ２上に各メモリチップに対応して設けられた演算装置（ＡＬＵ）２８をさらに備える。それにより、スタックメモリ１ｄは、レイトライト制御回路ＬＷ１の本来の機能に加えて、リードモディファイライト機能を実現可能にしている。
【０１３９】
演算装置２８は、書き込みデータに代わる演算値を生成するとともに、レジスタＲＧＤ１に格納された当該演算値と、書き戻し対象のメモリセルから読み出されたデータと、に基づいて所定の演算処理を実行する。演算装置２８による演算結果は、新たな書き込みデータとしてレジスタＲＧＤ１に格納される。演算装置２８による演算内容としては、例えば、リードデータと入力演算値との加算、減算、排他的論理和等の演算、リードデータを入力演算値分だけ左シフト、右シフトする演算などがある。演算種類は、リードモディファイライトコマンド入力時におけるコマンド内容に基づいて選択したり、モードレジスタにより選択したりしてもよい。
【０１４０】
レイトライト制御回路ＬＷ１は、セレクタＳＬ１７と、コマンド生成回路ＧＮ１１と、をさらに備える。
【０１４１】
セレクタＳＬ１７は、外部から外部インタフェース回路２４を介して供給されたライトデータと、演算装置２８による演算結果と、の何れかを選択して出力する。具体的には、セレクタＳＬ１７は、コマンド信号ＣＭＤとしてリードモディファイライトコマンドが入力された場合、所定サイクル経過後に演算装置２８による演算結果を選択して出力し、それ以外の場合（即ち、通常動作の場合）には、外部から外部インタフェース回路２４を介して供給されたライトデータを選択して出力する。
【０１４２】
コマンド生成回路ＧＮ１１は、書き戻し対象のメモリセルに対するリードコマンドを自動生成する回路である。具体的には、コマンド生成回路ＧＮ１１は、コマンド信号ＣＭＤとしてリードモディファイライトコマンドが入力された場合、期間ｔＲＣ経過後に、書き戻し対象のメモリセルに対してリードコマンドを生成する。なお、リードモディファイライト動作は、リードとライトの動作の組み合わせであるため、期間ｔＲＣの２倍の時間をかけて行われる。
【０１４３】
図１２のタイミングチャートを参照すると、例えば、コマンド信号ＣＭＤとしてリードモディファイライトコマンド、及び、書き戻し対象のメモリセルのアドレスＲＭＷＡ０が入力されると（時刻ｔ１０）、書き戻し対象のメモリセルのアドレスＲＭＷＡ０がレジスタＲＧＡ１に格納される（時刻ｔ１１）。また、ライトレイテンシｔＷＬ経過後に、書き込みデータに代わる演算値ＲＭＷＤ０が入力され（時刻１９）、レジスタＲＧＤ１に格納される（時刻ｔ２０）。つまり、通常のデータ書き込み動作と同じ動作が実行される。
【０１４４】
また、リードモディファイライトコマンドが入力されてから、期間ｔＲＣ経過後に、書き戻し対象のメモリセルに対するリードコマンドが自動生成される（時刻ｔ１４）。それにより、書き戻し対象のメモリセルからデータＲＤ０が読み出される（時刻ｔ２１）。
【０１４５】
その後、演算装置２８により、レジスタＲＧＤ１に格納された演算値ＲＭＷＤ０と、書き戻し対象のメモリセルから読みだされたデータＲＤ０と、に基づく演算処理が実行される（時刻ｔ２２）。演算装置２８による演算結果は、新たな書き込みデータＣＲＭＷＤ０としてレジスタＲＧＤ１に書き込まれる（時刻ｔ２３）。
【０１４６】
その後、通常のデータ書き込み動作と同じ動作を経て、書き込みデータＣＲＭＷＤ０はメモリセルに書き戻される。
【０１４７】
なお、新たな書き込みデータＣＲＭＤ０がメモリセルに書き込まれる前に、当該メモリセルに対するリードコマンドが入力された場合には、当然ながら、書き込みデータＣＲＭＤ０を読み出しデータとして出力して良い。
【０１４８】
このように、スタックメモリ１ｄは、スタックメモリ１等と同等の効果を奏することができるとともに、最小限の追加回路を用いて、リードモディファイライト機能を実現することができる。
【０１４９】
以上のように、上記実施の形態１〜４に係るスタックメモリは、各メモリチップ上にレイトライト制御回路を設けるだけでなく、ベースチップ上にもレイトライト制御回路を設けることにより、各メモリチップ単体のライトレイテンシｔＷＬｍｅｍ及びリードレイテンシｔＲＬｍｅｍを同じ長さに揃え、かつ、スタックメモリ全体におけるライトレイテンシｔＷＬ及びリードレイテンシｔＲＬを同じ長さに揃えている。このとき、バスターンアラウンド期間を長く調整しなくても、内部インタフェース回路における読み出しデータ及び書き込みデータの衝突は生じない。そのため、スタックメモリ１全体でのバスターンアラウンド期間を小さくすることができる。その結果、スタックメモリ１は、処理性能を向上させることができる。
【０１５０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。実施の形態１〜４の構成の一部又は全部は、適宜、組み合わせて用いられることができる。
【０１５１】
例えば、上記の実施の形態に係る半導体記憶装置では、半導体基板、半導体層、拡散層（拡散領域）などの導電型（ｐ型もしくはｎ型）を反転させた構成としてもよい。そのため、ｎ型、及びｐ型の一方の導電型を第１の導電型とし、他方の導電型を第２の導電型とした場合、第１の導電型をｐ型、第２の導電型をｎ型とすることもできるし、反対に第１の導電型をｎ型、第２の導電型をｐ型とすることもできる。
【符号の説明】
【０１５２】
１  スタックメモリ
１ａ〜１ｄ  スタックメモリ
２  ベースチップ
３  メモリチップ
３＿０，３＿１  メモリチップ
２１，２２  内部インタフェース回路
２３，２４  外部インタフェース回路
２６  ゲーティング回路
２７  キャッシュメモリ
２８  演算装置
３１，３２  インタフェース回路
３３  アドレスバス
３４  データバス
３５＿０〜３５＿３  メモリバンク
３６  コマンドデコーダ
３７〜３９  セレクタ
４１，４２  シリコン貫通ビア
２１１〜２１３  ラッチ回路
２１４〜２１７  出力バッファ
２２１，２２２  ラッチ回路
２２３，２２４  出力バッファ
２３１〜２３４  入力バッファ
２３５〜２３７  ラッチ回路
２４１  出力バッファ
２４２  入力バッファ
２４３，２４４  ラッチ回路
３１１〜３１４  入力バッファ
３１５〜３１７  ラッチ回路
３２１  出力バッファ
３２２  入力バッファ
３２３，３２４  ラッチ回路
３４１  リードデータバス
３４２  ライトデータバス
３５１  メモリセルアレイ
３５２  アドレスデコーダ
３５３  アンプ
ＣＰ１１，ＣＰ２１  コンパレータ
ＣＴ１１，ＣＴ１２  レイテンシ制御回路
ＧＮ１１  コマンド生成回路
ＬＷ１  レイトライト制御回路
ＬＷ２  レイトライト制御回路
ＲＧＡ１，ＲＧＡ２  レジスタ
ＲＧＤ１，ＲＧＤ２  レジスタ
ＲＧ２１，ＲＧ２２  レジスタ
ＳＬ１１〜ＳＬ１７  セレクタ
ＳＬ２１，ＳＬ２２  セレクタ
【図１】
2017123208.tif 000003
【図２Ａ】
2017123208.tif 000004
【図２Ｂ】
2017123208.tif 000005
【図３】
2017123208.tif 000006
【図４】
2017123208.tif 000007
【図５Ａ】
2017123208.tif 000008
【図５Ｂ】
2017123208.tif 000009
【図６】
2017123208.tif 000010
【図７】
2017123208.tif 000011
【図８】
2017123208.tif 000012
【図９Ａ】
2017123208.tif 000013
【図９Ｂ】
2017123208.tif 000014
【図１０】
2017123208.tif 000015
【図１１Ａ】
2017123208.tif 000016
【図１１Ｂ】
2017123208.tif 000017
【図１２】
2017123208.tif 000018
【図１３】
2017123208.tif 000019
【図１４】
2017123208.tif 000020
【図１５】
2017123208.tif 000021
【図１６】
2017123208.tif 000022
【図１７】
2017123208.tif 000023