(57)【要約】【課題】チップ識別子の設定のために共通化すべき半導体チップの配線数を削減する。【解決手段】シフトレジスタ部３１０は、上側電極２１１を介して上層のチップから入力したデータをシフトして下層のチップに出力する。チップ識別子演算部３２０は、シフトレジスタ部３１０が前段の入力データをシフト出力したタイミングで新たなチップ識別子を演算する。チップ識別子演算部３２０は、最上層のシフトレジスタ部に入力される固定値でシフトレジスタ部３１０が埋められたタイミングでチップ識別子の演算を停止する。チップ識別子保持部３４０は、クロックＣＬＫに同期してチップ識別子演算部３２０が演算したチップ識別子を保持する。チップ識別子演算部３２０の演算動作の停止後においてチップ識別子保持部３４０により保持している値がチップ識別子となる。【選択図】図２
2012033627.tif 000002
【特許請求の範囲】
【請求項１】
上層と下層のうちの所定の一方の層に対して前段半導体装置が積層されている場合に前記前段半導体装置から出力されるビット列が入力される入力端子と、
当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、
前記半導体装置識別子を利用して演算を行い、その演算結果に応じて前記半導体装置識別子保持部によって保持される前記半導体装置識別子を更新する半導体装置識別子演算部と、
前記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて前記半導体装置識別子演算部によって実行される前記半導体装置識別子の更新を制御する制御部と、
前記制御部に保持されたビット列を他方の層に対して積層される後段半導体装置に出力する出力端子と
を具備する半導体装置。
【請求項２】
前記制御部は、前記保持したデータに応じて、前記半導体装置識別子の更新の実行の可否を制御する請求項１記載の半導体装置。
【請求項３】
前記制御部は、前記保持したデータの値が所定の禁止指示値である場合には前記半導体装置識別子の更新を禁止し、前記保持したデータの値が前記禁止指示値ではない場合には前記半導体装置識別子の更新を許可する請求項２記載の半導体装置。
【請求項４】
前記制御部は、入力される半導体装置に関連した所定の情報内容を示す半導体装置関連データのビット列を保持しながら順次シフトし、保持していた前記半導体装置関連データ全体をシフトアウトしたタイミングに応じて前記半導体装置識別子の更新を実行させる請求項１記載の半導体装置。
【請求項５】
前記制御部は、固定長による前記半導体装置関連データのビット長に応じたシフト回数がカウントされたタイミングに応じて前記半導体装置識別子の更新を実行させる請求項４記載の半導体装置。
【請求項６】
前記半導体装置関連データは、任意のデータ長による実データ部とデータ長を示す固定長によるデータ長部から成り、
前記制御部は、保持した前記データ長部が示すビット長のビット列をシフトアウトしたタイミングに応じて前記半導体装置識別子の更新を実行させる
請求項４記載の半導体装置。
【請求項７】
前記制御部は、前記半導体装置識別子に一定値を加算した前記演算結果に応じて前記半導体装置識別子の更新を実行させる請求項１記載の半導体装置。
【請求項８】
前記制御部は、前記保持したデータと前記半導体装置識別子とを利用した前記演算結果に応じて前記半導体装置識別子の更新を実行させる請求項１記載の半導体装置。
【請求項９】
前記制御部は、前記半導体装置識別子に加算すべき加算値データを前記入力端子から入力して保持し、当該保持した加算値データの値と前記半導体装置識別子とを加算した前記演算結果に応じて前記半導体装置識別子の更新を実行させる請求項８記載の半導体装置。
【請求項１０】
前記加算値データの値は、対応する半導体装置が具備する記憶部の数を示す請求項９記載の半導体装置。
【請求項１１】
前記入力端子からのビット列の入力がない場合に前記制御部に対して固定値によるビットを入力する固定値入力部をさらに具備し、前記禁止指示値は、前記保持されているデータの各ビットが前記固定値であるときの値である請求項３記載の半導体装置。
【請求項１２】
前記固定値入力部は、正の電源電圧の信号線と前記制御部の入力との間に挿入されるプルアップ抵抗である請求項１１記載の半導体装置。
【請求項１３】
前記固定値入力部は、グランドの信号線と前記制御部の入力との間に挿入されるプルダウン抵抗である請求項１１記載の半導体装置。
【請求項１４】
積層される２以上の半導体装置と、これらの積層された半導体装置に対してさらに積層される記憶装置とを具備する積層半導体装置であって、
前記半導体装置は、
上層または下層のうちの一方の層に対して積層される他の半導体装置の出力端子と接続されることで、当該接続された出力端子から出力されるビット列を入力する入力端子と、
当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、
前記半導体装置識別子を利用した演算結果に応じて前記半導体装置識別子保持部によって保持される前記半導体装置識別子を更新する半導体装置識別子演算部と、
前記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて前記半導体装置識別子演算部によって実行される前記半導体装置識別子の更新を制御し、前記入力端子から半導体装置に関連した所定の情報内容を示す半導体装置関連データのビット列が入力される制御部と、
他方の層に対して積層されるさらに他の半導体装置の入力端子と接続されることで、当該接続された入力端子に対して前記制御部に保持されたビット列を出力する出力端子とを備え、
前記記憶装置は、
積層される前記半導体装置における最終段の半導体装置の前記出力端子から出力されるビット列を入力して、当該入力したビット列における半導体装置関連データを記憶する半導体装置関連データ記憶部を備える
積層半導体装置。
【請求項１５】
積層される２以上の半導体装置を具備する積層半導体装置であって、
前記半導体装置は、
上層または下層のうちの一方の層に対して積層される半導体装置の出力端子と接続されることで、当該接続された出力端子から出力されるビット列を入力する入力端子と、
当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、
前記半導体装置識別子を利用した演算結果に応じて前記半導体装置識別子保持部によって保持される前記半導体装置識別子を更新する半導体装置識別子演算部と、
前記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて前記半導体装置識別子演算部によって実行される前記半導体装置識別子の更新を制御するとともに、初期値として半導体装置に関連した所定の情報内容を示す半導体装置関連データを保持する制御部と、
他方の層に対して積層される半導体装置の入力端子と接続されることで、当該接続された入力端子に対して前記制御部に保持されたビット列を出力する出力端子とを備える
積層半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に、積層半導体装置において積層後に半導体識別子が設定される半導体装置、および、このような半導体装置を積層して構成される積層半導体装置に関する。
【背景技術】
【０００２】
集積半導体装置として、半導体チップを積層して三次元的に実装した積層半導体装置が知られている。このような積層半導体装置において積層される半導体チップは、例えばバスなどのような共通配線により相互に接続される構成を採る。なお、このような共通配線については、ここではグローバル配線とも称することにする。
【０００３】
上記のようにグローバル配線を採用する場合、ロジックなどによる制御はグローバル配線を介して複数の半導体チップに同時に伝送される。したがって、１つの半導体チップに対して選択的にアクセスするためには、積層半導体装置ごとに、ロジックなどから出力される信号が自己を対象とするものであるか否かを認識できるようにする必要がある。これにより、半導体チップは、自分宛の信号に応じて動作することができる。また、自分宛の信号でない場合には、その信号に応答しないようにすることができる。
【０００４】
そこで、半導体チップを選択的に制御することを可能とするために、積層される半導体チップごとにチップ識別子を割り当てるという手法が知られている。これにより、例えばチップ識別子を指定することによって特定の半導体チップのみを制御するという仕組みを容易に構築することができる。
【０００５】
上記のチップ識別子の割り当てに関して、１つ目の従来技術として、半導体チップ内の不揮発性メモリ、または、これに相当する部位にチップ識別子を保持させるというものが知られている（例えば、特許文献１および特許文献２参照。）。
【０００６】
また、２つ目として、パッケージ組み立ての際に所定の複数の端子を電源またはグランドに配線することによりチップ識別子を設定する従来技術が知られている（例えば、特許文献３参照。）。
【０００７】
また、３つ目として、半導体チップごとの形状のばらつきや、所定の特性のばらつきに応じてチップ識別子を設定する従来技術が知られている（例えば、特許文献４乃至６参照。）。
【０００８】
また、４つ目として、半導体チップごとに設けたインクリメント回路を順次直列に接続するという従来技術が知られている。（例えば、特許文献７参照。）。この従来技術では、積層された半導体チップごとに、順次、「０」からインクリメントされるチップ識別子を自動で設定していくことができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−１１００８６号公報（図３）
【特許文献２】特開平７−２８３３７５号公報（図２）
【特許文献３】特開２００５−２５８６４号公報（図３）
【特許文献４】特開２００６−１９０８４０号公報（図２）
【特許文献５】特開２００９−１４７０８８号公報（図１）
【特許文献６】特開２００５−１２２８２３号公報（図３）
【特許文献７】特開２００７−１５７２６６号公報（図２）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、上述の１つ目および２つ目の従来技術では、チップ識別子の設定のために、製造工程において半導体チップごとにデータの書込みや配線を行う必要がある。また、３つ目の従来技術は、内部の回路によって自動でチップ識別子を設定可能な技術も含まれてはいるものの、製造ばらつきという不確定要因に応じてチップ識別子が決まることから、半導体チップ間で異なるチップ識別子が必ず設定される保証はない。また、半導体チップに対して連続した番号によるチップ識別子を割り当てていくことはできない。このため、例えばコントローラによって各半導体チップのチップ識別子を読み出すための回路を追加する必要があり、回路構成が煩雑化する。
【００１１】
４つ目の従来技術であれば、製造工程においてチップ識別子を設定するための工程は必要ない。また、半導体チップに対して、連続番号によるチップ識別子を確実に割り当てることができる。しかし、４つ目の従来技術では、インクリメント回路間で、少なくとも、割り当てるべきチップ識別子の最大値を表現することのできるビット数に応じた本数の配線が必要になる。これらの配線は、半導体チップの層間において行われることになる。したがって、半導体チップごとに、上記の配線に対応する接合端子の数および位置を共通化することが必要になる。これについては、例えば積層されるチップが、同じプロセスにより製造された同一構造のものである場合には対応することが可能である。しかし、半導体チップのそれぞれが異なる構造を有する場合、チップ識別子の設定に対応して複数の配線を共通させようとすると、他の配線との位置関係の設定などを十分に考慮しなければならないなど、対応が難しくなる。この問題は、積層すべき半導体チップ数の増加に応じてインクリメント回路間における配線数が増加するほど顕著なものとなる。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、積層半導体装置において積層される半導体装置ごとにチップ識別子を割り当てるに際して、チップ識別子の設定に対応して共通化すべき半導体チップ間の配線数を削減することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、上層と下層のうちの所定の一方の層に対して前段半導体装置が積層されている場合に上記前段半導体装置から出力されるビット列が入力される入力端子と、当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、上記半導体装置識別子を利用して演算を行い、その演算結果に応じて上記半導体装置識別子保持部によって保持される上記半導体装置識別子を更新する半導体装置識別子演算部と、上記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて上記半導体装置識別子演算部によって実行される上記半導体装置識別子の更新を制御する制御部と、上記制御部に保持されたビット列を他方の層に対して積層される後段半導体装置に出力する出力端子とを具備する半導体装置である。これにより、半導体装置識別子の設定に際して半導体装置識別子の更新を制御するために制御部が保持すべきデータのビット列を、端子接続を介して後段の半導体装置の制御部に伝達するという作用をもたらす。
【００１４】
また、この第１の側面において、上記制御部は、上記保持したデータに応じて、上記半導体装置識別子の更新の実行の可否を制御してもよい。これにより、しかるべき半導体装置識別子の値に更新されたタイミングで以降の更新を停止させることによって、半導体装置識別子を確定させるという作用をもたらす。
【００１５】
また、この第１の側面において、上記制御部は、上記保持したデータの値が所定の禁止指示値である場合には上記半導体装置識別子の更新を禁止し、上記保持したデータの値が上記禁止指示値ではない場合には上記半導体装置識別子の更新を許可するようにしてもよい。これにより、制御部に所定値データを保持させることによって上記半導体装置識別子の更新を禁止させるという作用をもたらす。
【００１６】
また、この第１の側面において、上記制御部は、入力される半導体装置に関連した所定の情報内容を示す半導体装置関連データのビット列を保持しながら順次シフトし、保持していた上記半導体装置関連データ全体をシフトアウトしたタイミングに応じて上記半導体装置識別子の更新を実行させるようにしてもよい。これにより、制御部が半導体装置関連データを保持することに応じて半導体装置識別子を更新するとともに、保持した半導体装置関連データを後段の半導体装置に伝達するという作用をもたらす。
【００１７】
また、この第１の側面において、上記制御部は、固定長による上記半導体装置関連データのビット長に応じたシフト回数がカウントされたタイミングに応じて上記半導体装置識別子の更新を実行させてもよい。これにより、固定長の半導体装置関連データ全体のビット列をシフトアウトさせたタイミングごとに半導体装置識別子の更新を実行させるという作用をもたらす。
【００１８】
また、この第１の側面において、上記半導体装置関連データは、任意のデータ長による実データ部とデータ長を示す固定長によるデータ長部から成り、上記制御部は、保持した上記データ長部が示すビット長のビット列をシフトアウトしたタイミングに応じて上記半導体装置識別子の更新を実行させてもよい。これにより、制御部が可変長の半導体装置関連データ全体を順次シフトアウトさせたタイミングごとに半導体装置識別子の更新を実行させるという作用をもたらす。
【００１９】
また、この第１の側面において、上記制御部は、上記半導体装置識別子に一定値を加算した上記演算結果に応じて上記半導体装置識別子の更新を実行させてもよい。これにより、積層された半導体装置ごとに一定間隔の値による半導体装置識別子を設定するという作用をもたらす。
【００２０】
また、この第１の側面において、上記制御部は、上記保持したデータと上記半導体装置識別子とを利用した上記演算結果に応じて上記半導体装置識別子の更新を実行させてもよい。これにより、積層された半導体装置ごとに一定間隔の値によらない半導体装置識別子を設定するという作用をもたらす。
【００２１】
また、この第１の側面において、上記制御部は、上記半導体装置識別子に加算すべき加算値データを上記入力端子から入力して保持し、当該保持した加算値データの値と上記半導体装置識別子とを加算した上記演算結果に応じて上記半導体装置識別子の更新を実行させてもよい。これにより、積層された半導体装置ごとに加算値データを順次積算した値による半導体装置識別子を設定するという作用をもたらす。
【００２２】
また、この第１の側面において、上記加算値データの値は、対応する半導体装置が具備する記憶部の数を示してもよい。これにより、半導体装置識別子として、積層された半導体装置ごとが備える記憶部に対応するオフセットアドレスを設定するという作用をもたらす。
【００２３】
また、この第１の側面において、上記入力端子からのビット列の入力がない場合に上記制御部に対して固定値によるビットを入力する固定値入力部をさらに具備し、上記禁止指示値は、上記保持されているデータの各ビットが上記固定値であるときの値としてもよい。これにより、所定の固定値のビット列の禁止指示値によって半導体装置識別子の更新を停止させるという作用をもたらす。
【００２４】
また、この第１の側面において、上記固定値入力部は、正の電源電圧の信号線と上記制御部の入力との間に挿入されるプルアップ抵抗としてもよい。これにより、「１」のビットの配列による禁止指示値を生成するという作用をもたらす。
【００２５】
また、この第１の側面において、上記固定値入力部は、グランドの信号線と上記制御部の入力との間に挿入されるプルダウン抵抗としてもよい。これにより、「０」のビットの配列による禁止指示値を生成するという作用をもたらす。
【００２６】
また、本発明の第２の側面は、積層される２以上の半導体装置と、これらの積層された半導体装置に対してさらに積層される記憶装置とを具備する積層半導体装置であって、上記半導体装置は、上層または下層のうちの一方の層に対して積層される他の半導体装置の出力端子と接続されることで、当該接続された出力端子から出力されるビット列を入力する入力端子と、当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、上記半導体装置識別子を利用した演算結果に応じて上記半導体装置識別子保持部によって保持される上記半導体装置識別子を更新する半導体装置識別子演算部と、上記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて上記半導体装置識別子演算部によって実行される上記半導体装置識別子の更新を制御し、上記入力端子から半導体装置に関連した所定の情報内容を示す半導体装置関連データのビット列が入力される制御部と、他方の層に対して積層されるさらに他の半導体装置の入力端子と接続されることで、当該接続された入力端子に対して上記制御部に保持されたビット列を出力する出力端子とを備え、上記記憶装置は、積層される上記半導体装置における最終段の半導体装置の上記出力端子から出力されるビット列を入力して、当該入力したビット列における半導体装置関連データを記憶する半導体装置関連データ記憶部を備える積層半導体装置である。これにより、積層された半導体装置ごとに半導体装置識別子を設定するとともに、半導体装置関連データを積層構造における最後段の記憶装置に記憶させるという作用をもたらす。
【００２７】
また、本発明の第２の側面は、積層される２以上の半導体装置を具備する積層半導体装置であって、上記半導体装置は、上層または下層のうちの一方の層に対して積層される半導体装置の出力端子と接続されることで、当該接続された出力端子から出力されるビット列を入力する入力端子と、当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、上記半導体装置識別子を利用した演算結果に応じて上記半導体装置識別子保持部によって保持される上記半導体装置識別子を更新する半導体装置識別子演算部と、上記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて上記半導体装置識別子演算部によって実行される上記半導体装置識別子の更新を制御するとともに、初期値として半導体装置に関連した所定の情報内容を示す半導体装置関連データを保持する制御部と、他方の層に対して積層される半導体装置の入力端子と接続されることで、当該接続された入力端子に対して上記制御部に保持されたビット列を出力する出力端子とを備える積層半導体装置である。これにより、積層された半導体装置ごとに半導体装置識別子を設定するとともに、半導体装置識別子の更新制御のために制御部が保持するデータのビット列を、端子接続を介して後段の半導体装置の制御部に伝達するという作用をもたらす。
【発明の効果】
【００２８】
本発明によれば、チップ識別子の設定のために共通化すべき半導体チップの配線数が１つにまで削減されるという優れた効果を奏し得る。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態における積層半導体装置１００の構造例を示す図である。
【図２】本発明の第１の実施の形態におけるチップ識別子設定部３００の構成例を示す図である。
【図３】本発明の第１の実施の形態におけるチップ識別子設定部３００の他の構成例を示す図である。
【図４】本発明の第１の実施の形態におけるチップ識別子設定部３００の動作例をタイミングチャートにより示す図である。
【図５】本発明の第１の実施の形態におけるチップ識別子設定部３００の具体的な構成例を示す図である。
【図６】本発明の第２の実施の形態におけるチップ識別子設定部３００の構成例を示す図である。
【図７】本発明の第２の実施の形態におけるチップ識別子設定部３００の動作例をタイミングチャートにより示す図である。
【図８】本発明の第３の実施の形態におけるチップ識別子設定部３００の構成例を示す図である。
【図９】本発明の第３の実施の形態におけるチップ識別子設定部３００の動作例をタイミングチャートにより示す図である。
【図１０】本発明の第３の実施の形態におけるメモリ選択部２２０−２の構成例を示す図である。
【図１１】本発明の第４の実施の形態におけるチップ識別子設定部３００の構成例を示す図である。
【図１２】本発明の第４の実施の形態におけるチップ識別子設定部３００の動作例をタイミングチャートにより示す図である。
【図１３】本発明の第４の実施の形態においてメモリ４２０に保持されるチップ関連データ５００を示す図である。
【発明を実施するための形態】
【００３０】
以下、本発明を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（チップ識別子の設定：「１」から昇順でチップ識別子を設定する例）
２．第２の実施の形態（チップ識別子の設定：チップ識別子の設定とともにチップごとの情報を外部に出力する例）
３．第３の実施の形態（チップ識別子の設定：チップ識別子としてチップごとにおけるメモリプレーンのオフセットアドレスを設定する例）
４．第４の実施の形態（チップ識別子の設定：チップ識別子の設定とともに、チップごとに可変長の情報を外部に出力する例）
【００３１】
＜１．第１の実施の形態＞
［積層半導体装置の全体構成］
図１は、本発明の実施の形態における積層半導体装置１００の構成例を示している。この図に示す積層半導体装置１００は、上層から下層にかけてチップ２００−１、２００−２、２００−３、２００−４およびベースチップ４００が積層された構造となっている。チップ２００−１乃至４は、それぞれが所定の機能を有する半導体チップである。なお、これらのチップ２００−１乃至４は、特に同一の構造を有するものではなく、例えば、それぞれが有する機能に応じて異なる構造を有している。
【００３２】
ベースチップ４００は、積層半導体装置１００の最下層において配置される。上層側のチップ２００−１乃至４を制御するための信号は、例えばこのベースチップ４００から出力され、チップ層間における所定の配線を経由して、チップ２００−１乃至４に対して伝達されるようになっている。なお、ベースチップ４００の実際としては、例えばロジックや配線基板であるインターポーザ等を想定することができる。
【００３３】
本発明の実施の形態のチップ２００−１乃至４は、それぞれ、内部にチップ識別子設定部３００−１乃至４を備える。チップ識別子設定部３００は、対応するチップ２００に割り当てるべきチップ識別子を自動で設定して保持する部位である。なお、チップ識別子は、特許請求の範囲に記載の半導体識別子の一例である。
【００３４】
チップ識別子設定部３００−１は、図示するように、チップ２００−１の上面および下面に形成された上側電極２１１−１および下側電極２１２−１と接続される。同様にして、チップ識別子設定部３００−２乃至４は、それぞれ、チップ２００−２乃至４の上面および下面に形成された上側電極２１１−２乃至４、および、下側電極２１２−２乃至４と接続される。
【００３５】
そして、チップ２００−１乃至４における各層間において、下側電極２１２と上側電極２１１同士が接合される。これにより、チップ識別子設定部３００−１乃至４は、層間接続を介して、順次直列となる関係により接続される。
【００３６】
なお、ここでは図示しないが、ベースチップ４００においてさらにチップ識別子設定部を設け、チップ２００−４の下側電極２１２−４とベースチップ４００の上側電極４１１との接合を介して、チップ識別子設定部３００−４と直列に接続してもよい。
【００３７】
［チップ識別子設定部の構成例］
図２は、本発明の第１の実施の形態におけるチップ識別子設定部３００の構成例を示している。この図に示すチップ識別子設定部３００は、シフトレジスタ部３１０、チップ識別子演算部３２０、チップ識別子保持部３４０、および、プルアップ抵抗Ｒｐｕを備える。
【００３８】
シフトレジスタ部３１０は、上側電極２１１から入力されるデータを入力してクロックＣＬＫに同期したタイミングでシフトさせて出力する部位である。この図に示すシフトレジスタ部３１０は、１つのフリップフロップにより構成している。すなわち、１ビットのシフトレジスタとして構成されている。シフトレジスタ部３１０の出力は、チップ識別子演算部３２０と下側電極２１２とに対して供給される。シフトレジスタ部３１０は、特許請求の範囲に記載の制御部の一例である。
【００３９】
シフトレジスタ部３１０の入力端子と電源電圧ＶＤＤとの間にはプルアップ抵抗Ｒｐｕが挿入される。この図に示すチップ識別子設定部３００が最上層のチップ２００におけるものである場合、上側電極２１１はオープンとなりデータは入力されない。そこで、プルアップ抵抗Ｒｐｕによりシフトレジスタ部３１０の入力端子を電源電圧ＶＤＤで固定することにより、シフトレジスタ部３１０に対して「１」に相当する信号が固定的に入力されるようにする。プルアップ抵抗Ｒｐｕは、特許請求の範囲に記載の固定値入力部の一例である。
【００４０】
チップ識別子演算部３２０は、シフトレジスタ部３１０の出力に応じて、チップ識別子として設定されるべき値を所定の演算により算出する部位である。チップ識別子演算部３２０は、特許請求の範囲に記載の半導体装置識別子演算部の一例である。
【００４１】
チップ識別子保持部３４０は、上記チップ識別子演算部３２０により算出された値を入力して、クロックＣＬＫに同期したタイミングで保持する部位である。チップ識別子保持部３４０は、上記のように保持した値を、チップ識別子設定部３００により設定したチップ識別子ＩＤとして出力する。なお、チップ識別子演算部３２０およびチップ識別子保持部３４０は、それぞれ、リセット信号ＲＳＴにより保持している値をリセットするようにされている。チップ識別子保持部３４０は、特許請求の範囲に記載の半導体装置識別子保持部の一例である。
【００４２】
チップ２００は、例えばベースチップ４００側からチップ識別子ＩＤが指定されたことに応じて、この指定されたチップ識別子ＩＤと上記設定されたチップ識別子ＩＤの値とを比較し、一致していれば、ベースチップ４００側からの制御に応じた動作を実行する。これに対して、両者が一致していなければ、チップ２００は、ベースチップ４００側からの制御に応じた動作を実行しない。このように、チップ２００の各々に個別のチップ識別子ＩＤが設定されることで、チップ２００の各々は、自己に対する制御には応答し、それ以外のチップに対する制御には応答しないように動作することができる。
【００４３】
図３は、チップ２００−１乃至３の積層構造から、チップ識別子設定部３００−１乃至３を抜き出して示している。なお、図１においては、チップ２００−１乃至４の４つのチップが示されていた。しかし、図３では、図示およびその説明を分かりやすくすることの便宜上、チップ２００−１乃至３およびベースチップ４００により積層半導体装置１００が構成される場合を想定することとしている。これに対応して、図３においては、チップ識別子設定部３００−１乃至３のみを示す。
【００４４】
本発明の第１の実施の形態において、チップ識別子設定部３００−１乃至３は、それぞれ図２に示した構造を共通に有する。そのうえで、チップ識別子設定部３００−１とチップ識別子設定部３００−２は、互いの下側電極２１２−１と上側電極２１１−２との接合を介して接続される。同様にして、チップ識別子設定部３００−２とチップ識別子設定部３００−３は、互いの下側電極２１２−２と上側電極２１１−３との接合を介して接続される。
【００４５】
また、本発明の第１の実施の形態においては、チップ識別子演算部３２０を、加算器３３０により構成するものとしている。加算器３３０は、シフトレジスタ部３１０の出力が「０」のときに、チップ識別子保持部３４０が出力している値をインクリメントする部位である。すなわち、この場合のチップ識別子ＩＤの値に対して、一定値として「１」を加算するように構成される。なお、加算器３３０の具体構成例については、チップ識別子保持部３４０の具体構成例とともに、図５により後述する。
【００４６】
［チップ識別子の設定動作例］
図４のタイミングチャートは、上記図３に示したチップ識別子設定部３００−１乃至３によるチップ識別子ＩＤの設定動作を示している。
【００４７】
まず、時刻ｔ０以前においては、リセット信号ＲＳＴが「Ｌ」となっている。シフトレジスタ部３１０−１乃至３は、それぞれ、「Ｌ」のリセット信号ＲＳＴに応じて、その出力データＱ１、Ｑ２およびＱ３を「０」に初期化する。同様に、チップ識別子保持部３４０−１乃至３も、「Ｌ」のリセット信号ＲＳＴに応じて、その出力であるチップ識別子ＩＤ１、ＩＤ２およびＩＤ３を「０」に初期化する。
【００４８】
次に時刻ｔ０に至ってリセット信号ＲＳＴが「Ｈ」となると、以降、シフトレジスタ部３１０−１乃至３は、入力データをシフトする動作が有効な状態となる。ただし、時刻ｔ０から時刻ｔ１に至るまでの期間は、クロックＣＬＫが入力されていないために、時刻ｔ１に至るまで、出力データＱ１、Ｑ２およびＱ３は時刻ｔ０以前と同じ「０」である。同様に、チップ識別子ＩＤ１、ＩＤ２およびＩＤ３も時刻ｔ０以前と同じ「０」である。また、時刻ｔ１以前においては、チップ識別子ＩＤ１、ＩＤ２およびＩＤ３が「０」であることに応じて、加算器３３０−１乃至３は、それぞれ「０」をインクリメントして「１」を出力している状態にある。
【００４９】
次に、時刻ｔ１に至ってクロックＣＬＫの入力が開始されてそのエッジが立ち上がったとする。このとき、シフトレジスタ部３１０−１の入力端子には、プルアップ抵抗Ｒｐｕにより電源電圧ＶＤＤの電位に固定されていることで「１」が入力されている。これにより、シフトレジスタ部３１０−１の出力データＱ１は、時刻ｔ１においてクロックＣＬＫに同期して「１」に反転する。
【００５０】
また、時刻ｔ１においてクロックＣＬＫが立ち上がることにより、チップ識別子保持部３４０−１乃至３は、それぞれ、加算器３３０−１乃至３から出力されている「１」を入力して新たなチップ識別子ＩＤ１、ＩＤ２およびＩＤ３として保持する。これにより、図４の時刻ｔ１として示すように、チップ識別子ＩＤ１、ＩＤ２およびＩＤ３は、何れも「０」から「１」に変化する。
【００５１】
また、時刻ｔ１においてシフトレジスタ部３１０−１の出力データＱ１が「１」となったことに応じて、加算器３３０−１は以降のインクリメントの動作を停止する。これにより、チップ識別子保持部３４０−１は、時刻ｔ１以降において、「１」のチップ識別子ＩＤ１を保持し続ける。
【００５２】
時刻ｔ１以降、シフトレジスタ部３１０−２の入力端子には、シフトレジスタ部３１０−１からの「１」の出力データＱ１が印加されている。このため、時刻ｔ２として示す次のクロックＣＬＫの立ち上がりタイミングにおいて、シフトレジスタ部３１０−２は、出力データＱ２を「０」から「１」に反転させる。
【００５３】
また、加算器３３０−２は、時刻ｔ１において「１」となったチップ識別子ＩＤ２をインクリメントした「２」を出力している。このため、時刻ｔ２のクロックＣＬＫの立ち上がりに応じて、チップ識別子保持部３４０−２は、加算器３３０−２が出力している「２」を保持してチップ識別子ＩＤ２として出力する。また、加算器３３０−２は、時刻ｔ２以降においてシフトレジスタ部３１０−２の出力データＱ２が「１」となることに応じて、以降のチップ識別子ＩＤ２のインクリメントを停止する。これにより、時刻ｔ２以降において、チップ識別子保持部３４０−２は、「２」のチップ識別子ＩＤ２を保持し続ける。
【００５４】
次に、時刻ｔ３として示すさらに次のクロックＣＬＫの立ち上がりタイミングでは、シフトレジスタ部３１０−３の出力データＱ３が「０」から「１」となる。また、加算器３３０−３は、時刻ｔ２のタイミングで「２」となったチップ識別子ＩＤ３をインクリメントして「３」を出力していたため、時刻ｔ３においてチップ識別子保持部３４０−２は、「３」のチップ識別子ＩＤ３を出力することになる。そして、加算器３３０−３は、時刻ｔ３以降においてシフトレジスタ部３１０−３の出力データＱ３が「１」となってチップ識別子ＩＤ３のインクリメントを停止する。これにより、時刻ｔ３以降において、チップ識別子保持部３４０−３は、「３」のチップ識別子ＩＤ３を保持し続ける。
【００５５】
このように、各１ビットによるシフトレジスタ部３１０−１、３１０−２および３１０−３は、クロックＣＬＫの１周期ごとに、順次、その出力データＱ１、Ｑ２、Ｑ３が「１」で固定されていくように動作する。すなわち、シフトレジスタ部３１０−１乃至３は、それぞれ、初期値の「０」をシフト出力して、シフトレジスタ部３１０−１に入力される「１」の固定値を継続して保持する状態に順次遷移する。これにより、加算器３３０−１、３３０−２および３３０−３においてチップ識別子ＩＤ１、ＩＤ２およびＩＤ３をインクリメントする動作を停止させるタイミングを１クロック周期ずつずらしていくことになる。この結果、図３に示す構成においては、チップ識別子ＩＤ１、ＩＤ２およびＩＤ３として、それぞれ、「１」「２」「３」が設定される。すなわち、積層半導体装置において最上層から下層のチップ２００にかけて、順次、「１」からインクリメントされるようにチップ識別子ＩＤを設定することができる。
【００５６】
［チップ識別子設定部の具体構成例］
図５は、図３に示したチップ識別子設定部３００の具体的な構成例を示している。すなわち、図４のタイミングチャートにより説明した動作を実行するチップ識別子設定部３００の具体的構成例が示される。なお、この図において、図３のチップ識別子設定部３００と同一部分には同一符号を付して説明を省略する。
【００５７】
図５のチップ識別子設定部３００においては、まず、図３に示した構成に対してラッチ回路３０１が追加されている。シフトレジスタ部３１０の出力データＱは、ラッチ回路３０１を介してチップ識別子演算部３２０および下側電極２１２に出力されるようになっている。このようにラッチ回路３０１を備えて、例えばクロックＣＬＫに対するデータ信号の信号変化を半周期ずらすことでホールド時間が保証されて安定した動作が得られる。
【００５８】
また、図５においては、チップ識別子演算部３２０における加算器３３０と、チップ識別子保持部３４０の構成例が示される。なお、この加算器３３０およびチップ識別子保持部３４０の構成は、チップ識別子ＩＤが３ビットである場合に対応する。
【００５９】
この図における加算器３３０は、インバータ３３１、排他的論理和ゲート３３２ａ乃至３３２ｃ、論理積ゲート３３３ｂおよび３３３ｃを備える。また、チップ識別子保持部３４０は、３つのフリップフロップ３４１ａ乃至３４１ｃを備える。
【００６０】
加算器３３０において、インバータ３３１は、ラッチ回路３０１を介した出力データＱを反転して出力する。排他的論理和ゲート３３２ａは、インバータ３３１の出力とフリップフロップ３４１ａの出力との排他的論理和を出力する。
【００６１】
排他的論理和ゲート３３２ｂは、フリップフロップ３４１ｂの出力と論理積ゲート３３３ｂとの排他的論理和を出力する。論理積ゲート３３３ｂは、インバータ３３１の出力とフリップフロップ３４１ａの出力との論理積を出力する。
【００６２】
排他的論理和ゲート３３２ｃは、フリップフロップ３４１ｃの出力と論理積ゲート３３３ｃとの排他的論理和を出力する。論理積ゲート３３３ｃは、論理積ゲート３３３ｂの出力とフリップフロップ３４１ｂの出力との論理積を出力する。
【００６３】
加算器３３０からは３ビットの演算値が出力される。この演算値としての３ビット配列は、排他的論理和ゲート３３２ａ、３３２ｂ、３３３ｃの出力データの順で、最下位ビットから最上位ビットまでのビット配列順に対応する。
【００６４】
また、チップ識別子保持部３４０において、フリップフロップ３４１ａ乃至３４１ｃの各クロック端子には共通にクロックＣＬＫが入力される。また、フリップフロップ３４１ａ乃至３４１ｃの各リセット端子には、共通にリセット信号ＲＳＴが入力される。また、フリップフロップ３４１ａ乃至３４１ｃの各データ入力端子には、それぞれ、排他的論理和ゲート３３２ａ乃至３３２ｃの出力が入力される。
【００６５】
フリップフロップ３４１ａ乃至３４１ｃによる各１ビットの出力からなる計３ビットがチップ識別子ＩＤとなる。このチップ識別子ＩＤとしての３ビットの配列としては、フリップフロップ３４１ａの出力が最下位ビット（ＬＳＢ）で、フリップフロップ３４１ｃの出力が最上位ビット（ＭＳＢ）となる。
【００６６】
シフトレジスタ部３１０の出力データＱが「０」であることに応じて、インバータ３３１の出力は「Ｈ」となる。この状態において、上記回路構成による加算器３３０は、チップ識別子保持部３４０から出力される３ビットのチップ識別子ＩＤの値に１を加算した値を出力するように動作する。フリップフロップ３４１ａ乃至３４１ｃは、この加算器３３０の演算値である排他的論理和ゲート３３２ａ乃至３３２ｃの各出力を、クロックＣＬＫの１周期ごとに入力して保持する。これにより、図４にて説明したようにクロックＣＬＫの周期ごとにチップ識別子ＩＤがインクリメントされていく。
【００６７】
そして、シフトレジスタ部３１０の出力データＱが「１」となってインバータ３３１の出力が「Ｌ」の状態に変化したとする。これに応じて、加算器３３０の排他的論理和ゲート３３２ａ乃至３３２ｃは、それぞれ、そのときにフリップフロップ３４１ａ乃至３４１ｃから出力されているのと同じ値を出力するように動作する。すなわち、加算器３３０としてはチップ識別子ＩＤの値をインクリメントする動作を停止する。これにより、以降のフリップフロップ３４１ａ乃至３４１ｃは、それぞれ、同じ値を継続して保持して出力することになる。この結果、図４に示したように、時刻ｔ１、ｔ２およびｔ３以降において、それぞれ、チップ識別子ＩＤ１、ＩＤ２、ＩＤ３の値が固定されるように設定される。なお、上記の時刻ｔ１、ｔ２およびｔ３は、シフトレジスタ部３１０の出力データＱ１、Ｑ２およびＱ３が、「１」（禁止指示値）を継続する開始タイミングとなる。
【００６８】
なお、チップ識別子設定部３００として、３ビット以外のチップ識別子ＩＤに対応した構成を採る場合には、チップ識別子演算部３２０およびチップ識別子保持部３４０について、チップ識別子ＩＤのビット数に応じて内部の構成を変更すればよい。
【００６９】
具体例として、図示は省略するが４ビットのチップ識別子ＩＤに対応しては、チップ識別子保持部３４０において４つのフリップフロップ３４１ａ乃至３４１ｄを設ける。また、チップ識別子演算部３２０においては、図５に示す構成に対して、論理積ゲート３３３ｄおよび排他的論理和ゲート３３２ｄの組を追加し、論理積ゲート３３３ｄには、論理積ゲート３３３ｃの出力とフリップフロップ３４１ｃの出力とを入力する。また、排他的論理和ゲート３３２ｄには、論理積ゲート３３３ｄとフリップフロップ３４１ｄとの出力を入力し、その出力をフリップフロップ３４１ｄに入力させる。
【００７０】
このように本発明の第１の実施の形態によれば、チップ識別子ＩＤを自動で設定するにあたり、チップ２００におけるチップ識別子設定部３００が積層順にしたがって直列に接続される。その接続は、チップ識別子設定部３００内部におけるシフトレジスタ部３１０同士の入力と出力とを接続するというものであり、したがって、物理的な接続箇所は上側電極２１１と下側電極２１２とを接合する１箇所のみとなる。すなわち、本発明の第１の実施の形態においては、チップ識別子設定のための層間の専用配線数が１本にまで削減されている。これにより、例えば構造が異なるチップ２００を積層する場合であっても、チップ識別子設定のためのチップ２００ごとの電極の位置を合わせた設計などを容易に行うことができる。
【００７１】
また、第１の実施の形態の応用として、先に図１に示した構成において、ベースチップ４００に対してもチップ識別子設定部３００を設けて、チップ２００−４のチップ識別子設定部３００−４と接続する構成を採ることもできる。このような構成とした場合、ベースチップ４００のチップ識別子設定部３００においてはチップ識別子として「５」が設定される。この「５」としてのチップ識別子ＩＤは、積層半導体装置１００における総階層数、すなわち積層されたチップの総数に対応する。したがって、ベースチップ４００は、自己のチップ識別子ＩＤによって、積層半導体装置１００において自己を含むチップ総数を認識できることになる。例えば、積層半導体装置においては、故障時の予備などのために正常時は使用しない冗長チップを積層する場合がある。このように設定されるベースチップ４００のチップ識別子ＩＤの値は、上記冗長チップの有無の判定に応用することができる。
【００７２】
なお、最終的に最下層のチップ識別子設定部３００までチップ識別子ＩＤが設定された状態においては、各層のシフトレジスタ部３１０の入力端子は、全て「１」が入力される状態となる。これにより、各層のプルアップ抵抗Ｒｐｕには電流が流れなくなり、この部位において電力は消費されなくなる。
【００７３】
＜２．第２の実施の形態＞
［チップ識別子設定部の構成例］
続いて、本発明の第２の実施の形態について説明する。上記第１の実施の形態は、「１」からの昇順による連番でチップ識別子ＩＤをチップ２００ごとに割り当てるための基本構成であり、各チップ識別子設定部３００におけるシフトレジスタ部３１０は１ビットのシフトレジスタとされていた。
【００７４】
これに対して、第２の実施の形態においては、シフトレジスタ部３１０を２ビット以上のマルチビットによるシフトレジスタとして構成する。そして、この構成を利用して、第１の実施の形態と同様に各チップ２００に対してチップ識別子ＩＤを設定するとともに、チップ２００ごとに関連した所定の情報内容を示すデータをベースチップ４００（図１参照）に伝送できるようにする。なお、以降において、上記のチップ２００ごとに関連した所定の情報内容を示すデータについては、チップ関連データと称することにする。
【００７５】
上記チップ関連データには、チップ２００の機能、種別などを示す情報を挙げることができる。例えばある１つのチップ２００はメモリであり、あるもう１つのチップはＤＳＰ（Digital Signal Processor）であるとする。これに応じて、上記チップ関連データとしては、それぞれ、メモリまたはＤＳＰであることを示す値を有する。ベースチップ４００は、このように伝送されるチップ関連データを保持することにより、各層のチップ２００がどのような機能、種別のものであるのかを認識することができる。
【００７６】
図６は、第２の実施の形態におけるチップ識別子設定部３００の構成例を示している。なお、この図の場合には、図示およびその説明を簡略なものとすることの便宜上、チップ２００−１、チップ２００−２およびベースチップ４００の３層により積層半導体装置１００が構成される場合を想定している。これに応じて、図６は、チップ識別子設定部３００−１、３００−２、および、ベースチップ４００が内部に備えるメモリ４２０を抜き出して示したものとなっている。また、図６において、図３と同一部分には同一符号を付して説明を省略する。
【００７７】
図６のチップ識別子設定部３００−１におけるシフトレジスタ部３１０−１は、４つのフリップフロップ３１１−１乃至３１４−１を直列に接続して形成される。すなわち、図６のシフトレジスタ部３１０−１は、４ビットのシフトレジスタとして構成されている。シフトレジスタ部３１０−１の出力データＱ１は、下側電極２１２−１と上側電極２１１−２の接合を介して、下層のチップ識別子設定部３００−２のシフトレジスタ部３１０−２に入力されるようになっている。この点は、例えば図３に示した第１の実施の形態と同様である。また、シフトレジスタ部３１０−１および２を４ビットのシフトレジスタとした構成は、全階層のチップ関連データが４ビットであることを想定したことに対応している。
【００７８】
また、図６においては、演算制御部３５０−１が備えられる。演算制御部３５０−１は、チップ識別子演算部３２０の演算動作を制御する部位であり、否定論理積ゲート３５１−１、論理積ゲート３５２−１およびシフトカウンタ３５３−１を備える。第２の実施の形態における演算制御部３５０およびシフトレジスタ部３１０は、特許請求の範囲に記載の制御部の一例である。
【００７９】
否定論理積ゲート３５１−１は、シフトレジスタ部３１０−１を形成するフリップフロップ３１１−１乃至３１４−１の出力を並列に入力して、その否定論理積を出力する。すなわち、否定論理積ゲート３５１−１は、シフトレジスタ部３１０−１の４つの並列出力のうちで少なくとも１つが「０」であれば「Ｈ」を出力し、シフトレジスタ部３１０−１の４つの並列出力の全てが「１」であれば「Ｌ」を出力する。
【００８０】
シフトカウンタ３５３−１は、この場合には、シフトレジスタ部３１０−１が４ビットシフトレジスタの構成を採ることに対応して、４ビットずつによるデータのシフトタイミングを検出する。そして、検出されたタイミングごとに「Ｈ」のパルスによるカウントタイミング信号Ｃ１を出力する。
【００８１】
論理積ゲート３５２−１は、否定論理積ゲート３５１−１の出力とシフトカウンタ３５３−１の出力を入力して、その論理積を出力する。
【００８２】
第２の実施の形態における加算部３３０−１は、上記論理積ゲート３５２−１の出力が「Ｈ」のときに、チップ識別子ＩＤ１をインクリメントする演算を行う。また、論理積ゲート３５２−１の出力が「Ｌ」のときには演算は実行せずに、最後に算出したチップ識別子ＩＤ１の値を継続して出力する。なお、この第２の実施の形態の加算部３３０は、図５の加算器３３０に準じて構成することができる。この場合には、図５に示されていたインバータ３３１を省略することで、「Ｈ」の論理積ゲート３５２−１の出力に応じてインクリメントの動作を行わせることができる。
【００８３】
下層のチップ識別子設定部３００−２も、上記チップ識別子設定部３００−１と同様の構成を採る。
【００８４】
ベースチップ４００におけるメモリ４２０は、チップ関連データを保持するための部位である。このメモリ４２０は、図示するように、第１メモリ部４２１と第２メモリ部４２２とを直列に接続して形成することができる。第１メモリ部４２１と第２メモリ部４２２は、それぞれ、チップ関連データのデータサイズである４ビットの容量を有する。第１メモリ部４２１には、チップ識別子設定部３００−１から伝送されたチップ２００−１についてのチップ関連データが保持される。第２メモリ部４２２には、チップ識別子設定部３００−２から伝送されたチップ２００−２についてのチップ関連データが保持される。なお、第２の実施の形態において、メモリ４２０を備えるベースチップ４００は、特許請求の範囲に記載の記憶装置の一例である。また、第１メモリ部４２１および第２メモリ部４２２を備えるメモリ４２０は、特許請求の範囲に記載の半導体装置関連データ記憶部の一例である。
【００８５】
［チップ識別子設定およびチップ関連データ伝送動作例］
図７のタイミングチャートを参照して、上記図６に示したチップ識別子設定部３００−１および２によるチップ識別子ＩＤの設定動作と、チップ関連データの伝送動作について説明する。
【００８６】
まず、リセット信号ＲＳＴが「Ｌ」となっている時刻ｔ０以前はリセット期間となる。このリセット期間においては、シフトレジスタ部３１０−１および２の各フリップフロップ３１１−１乃至３１４−１および３１１−２乃至３１４−２に対してチップ関連データの値を初期値として設定する初期化が行われる。ここでの説明においては、チップ２００−１のチップ関連データが「０１０１」であるとする。これに応じて、フリップフロップ３１４−１、３１３−１、３１２−１および３１１−１のそれぞれに対して、「０」、「１」、「０」、「１」の値をセットする。この説明から理解されるように、フリップフロップ３１１−１乃至３１４−１の順による配列は、チップ関連データの最下位ビットから最上位ビットまでのビット配列に対応する。
【００８７】
また、チップ２００−２のチップ関連データは「０１１１」であるとする。これに応じて、シフトレジスタ部３１０−１のフリップフロップ３１４−２、３１３−２、３１２−２および３１１−２のそれぞれに対して、「０」、「１」、「１」、「１」の値をセットする。
【００８８】
また、時刻ｔ０以前のリセット期間において、チップ識別子ＩＤ１、ＩＤ２の各値が「０」にリセットされる点は、第１の実施の形態と同様になる。
【００８９】
また、シフトカウンタ３５３−１の出力であるカウントタイミング信号Ｃ１およびシフトカウンタ３５３−２のカウントタイミング信号Ｃ２は、リセット信号ＲＳＴが「Ｌ」のときには、「Ｈ」となる。この状態は、クロックＣＬＫの立ち上がりエッジが入力されるまで継続される。
【００９０】
次に、時刻ｔ０においてリセット信号ＲＳＴが「Ｈ」に立ち上がってリセット状態が解除された後、時刻ｔ１に至ってクロックＣＬＫが開始されて、最初の立ち上がりエッジが得られたとする。これに応じて、シフトカウンタ３５３−１および２の各カウントタイミング信号Ｃ１、Ｃ２は、「Ｌ」に立ち下がり、以降、４回のクロックＣＬＫの立ち上がりごとに「Ｈ」のパルスを出力するという動作を実行する。図７では、時刻ｔ１から４つ目のクロックＣＬＫの立ち上がりタイミングとなる時刻ｔ２と、時刻ｔ２からさらに４つ目のクロックＣＬＫの立ち上がりタイミングとなる時刻ｔ４とにおいて「Ｈ」のパルスによるカウントタイミング信号Ｃ１、Ｃ２が出力されている。
【００９１】
また、時刻ｔ１以降において、シフトレジスタ部３１０−１および３１０−２の各フリップフロップ３１１乃至３１４は、クロックＣＬＫの立ち上がりタイミングごとに応じて、データを順次シフトしていく動作を実行する。
【００９２】
これにより、シフトレジスタ部３１０−１の出力データＱ１は、図示するように、時刻ｔ１の直前の「０」から、「１」、「０」、「１」の順で変化していく。すなわち、まず、初期値「０１０１」のビット列が順次出力される。
【００９３】
また、シフトレジスタ部３１０−１の入力、すなわち、フリップフロップ３１１−１の入力端子はプルアップ抵抗Ｒｐｕ−１を介して電源電圧ＶＤＤの電位が設定されることで、固定値である「１」が入力されている。したがって、フリップフロップ３１１−１乃至３１４−１が上記のように初期値のデータのシフト出力を終えて以降は、フリップフロップ３１１−１乃至３１４−１の各々が固定値「１」を保持する状態となる。これにより、シフトレジスタ部３１０−１の出力データＱ１は、上記の初期値「０１０１」を出力した時刻ｔ２以降において、「１」を継続して出力する。
【００９４】
また、シフトレジスタ部３１０−２の出力データＱ２については、時刻ｔ１の直前の「０」から、以降、「１」、「１」、「１」の順で出力される。すなわち、４クロック周期により初期値「０１１１」が出力される。また、シフトレジスタ部３１０−２にはシフトレジスタ部３１０−１の出力データＱ１が順次入力されている。このため、上記初期値「０１１１」が出力された時刻ｔ２以降においては、シフトレジスタ部３１０−１の初期値である「０１０１」が４クロック周期により出力される。そして、この後は、シフトレジスタ部３１０−２におけるフリップフロップ３１１−２乃至３１４−２も各々が固定値「１」を保持する状態となり、時刻ｔ４以降の出力データＱ２としては、「１」が継続して出力される。
【００９５】
ベースチップ４００のメモリ４２０に対しては、時刻ｔ１の直前以降の出力データＱ２の値が順次入力されていくことになる。すなわち、「０１１１０１０１」の順でビットが入力される。メモリ４２０において入力されたビットは、まず、第１メモリ部４２１に入力されるが、第１メモリ部４２１においては、入力されたビットを順次シフトして第２メモリ部４２２に出力する。
【００９６】
第１メモリ部４２１と第２メモリ部４２２は、入力されたビットを内部でシフトさせながら、４ビット分のビット格納領域に対して順次格納していく。これにより、第２メモリ部４２２には、シフトレジスタ部３１０−２に設定された初期値「０１１１」が保持される。また、第１メモリ部４２１には、シフトレジスタ部３１０−１に設定された初期値「０１０１」が保持される。
【００９７】
このように、チップ２００−１および２の各チップ関連データは層間の接続を経由して順次ベースチップ４００のメモリ４２０に伝送される。そして、チップ２００−１のチップ関連データは第１メモリ部４２１に保持され、チップ２００−２のチップ関連データは第２メモリ部４２２に保持される。
【００９８】
また、チップ識別子ＩＤは次のように設定される。時刻ｔ１以前においては、チップ識別子ＩＤ１、ＩＤ２は何れも「０」にリセットされている。このとき、否定論理積ゲート３５１−１には初期値が入力されているため「Ｈ」を出力し、シフトカウンタ３５３−１のカウントタイミング信号Ｃ１も、図７に示すように「Ｈ」となっている。これにより、加算器３３０−１は、「０」のチップ識別子ＩＤ１をインクリメントして「１」を出力している。同様にして、チップ識別子設定部３００−２においても、加算器３３０−２は、「０」のチップ識別子ＩＤ２をインクリメントして「１」を出力している。
【００９９】
そして、図７に示すように、時刻ｔ１のクロックＣＬＫの立ち上がりタイミングで、チップ識別子保持部３４０−１および２は、それぞれ、加算器３３０−１および２が出力している「１」を保持して出力する。なお、時刻ｔ１乃至ｔ２の期間においてシフトカウンタ３５３−１および２のカウントタイミング信号Ｃ１およびＣ２が「Ｌ」となるために、加算器３３０−１および２はいずれもチップ識別子ＩＤ１、ＩＤ２のインクリメントは行わない。
【０１００】
ここで、時刻ｔ１から４クロック目となる時刻ｔ２に至ると、カウントタイミング信号Ｃ１およびＣ２が「Ｈ」となる。しかし、チップ識別子設定部３００−１においては、時刻ｔ２以降、シフトレジスタ部３１０−１の各フリップフロップ３１１−１乃至３１４−１は全て「１」を出力している状態にある。すなわち、フリップフロップ３１１−１乃至３１４−１により保持される値は「１１１１」（禁止指示値）で固定される。これに応じて、否定論理積ゲート３５１−１は「Ｌ」を出力しているために加算器３３０−１によるチップ識別子ＩＤ１のインクリメントは行われない。すなわち、チップ識別子ＩＤ１の更新が禁止される。これにより、時刻ｔ２以降、チップ識別子保持部３４０−１は、「１」を保持し続けることになり、チップ識別子ＩＤ１として「１」が設定されたことになる。
【０１０１】
一方、時刻ｔ２におけるチップ識別子設定部３００−２においては前段のチップ識別子保持部３００−１の初期値のビット列をシフトさせている状態にあり、フリップフロップ３１１−２乃至３１４−２のうちの少なくとも何れか１つは「０」を出力している。これにより、論理積ゲート３５２−２は「Ｈ」を出力するため、加算器３３０−２は時刻ｔ２に対応するタイミングで、「１」のチップ識別子ＩＤ２をインクリメントして「２」を出力する。そして、時刻ｔ２から次のクロックＣＬＫの立ち上がりタイミングである時刻ｔ３においてチップ識別子保持部３４０−２は、上記加算器３３０−２が出力する「２」を保持してチップ識別子ＩＤ２として出力する。
【０１０２】
次に時刻ｔ３乃至ｔ４の期間は、シフトカウンタ３５３−２のカウントタイミング信号Ｃ２が「Ｌ」であるために加算器３３０−２によるインクリメントの演算は停止される。次に、時刻ｔ４に至ってシフトカウンタ３５３−２のカウントタイミング信号Ｃ２が「Ｈ」となる。しかし、時刻ｔ４以降において、シフトレジスタ部３１０−２のフリップフロップ３１１−２乃至３１４−２は、それぞれ、シフトレジスタ部３１０−１の入力端子からシフトされた固定値「１」を保持する。これに応じて、時刻ｔ４以降は、否定論理積ゲート３５１−２も「Ｌ」を継続して出力するために、加算器３３０−２によるチップ識別子ＩＤ２のインクリメントは停止され、チップ識別子保持部３４０−２は、「２」を保持し続ける。このように、チップ識別子ＩＤ２として「２」が設定される。
【０１０３】
これまでの説明から理解されるように、本発明の第２の実施の形態においては、積層されたチップ２００の上層から下層にかけて、「１」からの連番によるチップ識別子ＩＤを順次設定していくことができる。これとともに、積層されたチップ２００ごとに対応するチップ関連データを、チップ層間の接続を介して下層に順次伝達していくことで、例えば最下層のベースチップ４００においてそのチップ関連データを保持させることができる。
【０１０４】
先に述べた４つ目の従来技術では、連番によるチップ識別子を割り当てていくことしかできない。これに対して本発明の第２の実施の形態では、上記のように、チップ識別子ＩＤの設定と同時に、チップ関連データというチップ識別子ＩＤ以外の付加情報をベースチップ４００に伝送する。このように、本発明の第２の実施の形態においては、単にチップ識別子ＩＤを設定するのではなく付加情報も伝送するという付加価値が与えられている。
【０１０５】
＜３．第３の実施の形態＞
［チップの構成例］
続いて、本発明の第３の実施の形態について説明する。この第３の実施の形態に対応するチップ２００としては、例えばメモリ部を内部に実装したものを想定する。メモリ部の実際としては、例えばＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）またはフラッシュメモリなどを挙げることができる。また、メモリ部は１以上のメモリプレーンにより形成されるものとする。メモリプレーンは、例えばメモリ部において論理的に分割された記憶領域をいう。メモリプレーンのサイズに関しては各チップのメモリ部において共通であることとする。ただし、メモリ部を形成するメモリプレーン数は同一である必要はなく、チップ２００の間で異なっていてよいものとする。
【０１０６】
上記のようなチップ２００が積層された積層半導体装置では、例えばある１つのチップ２００のメモリにおける１つのメモリプレーンを指定してアクセスを行うことになる。積層半導体装置の場合、このアクセスのための信号は、層間の接続を経由して各チップ２００に対して伝達されるため、チップ２００は、それぞれ、指定されたメモリプレーンが自己において実装されているものであるか否かを判断する必要がある。
【０１０７】
第３の実施の形態においては、このような状況に対応して、これまでのチップ識別子設定のための構成を、メモリプレーンのオフセットアドレスの設定に応用する。
【０１０８】
図８は、第３の実施の形態におけるチップ識別子設定部３００を備えるチップ２００−１乃至３の構成例を示している。この場合には、積層半導体装置１００において、最上層から下層にかけてチップ２００−１、２００−２、２００−３の順に配置される。また、ここでは図示していないが、チップ２００−３の下層においてベースチップ４００が配置されている。
【０１０９】
この図に示すチップ２００−１乃至３においては、それぞれ、チップ識別子設定部３００とともに、メモリ選択部２２０およびメモリ部２３０が設けられる。
【０１１０】
メモリ部２３０はデータが記憶される部位であり、１以上のメモリプレーン（ＭＰ）により構成される。具体的に、チップ２００−１のメモリ部２３０−１は２つのメモリプレーンを備える。チップ２００−２のメモリ部２３０−２は４つのメモリプレーンを備える。チップ２００−３のメモリ部２３０−３は１つのメモリプレーンを備える。なお、これらチップ２００−１乃至３の各メモリ部２３０が有するメモリプレーンは何れも同じ記憶容量を有している。
【０１１１】
そして、メモリプレーンに対しては、上層から下層のチップ２００にしたがった順で＃０からの昇順による番号を付すこととしている。したがって、メモリ部２３０−１においては２つのメモリプレーンにそれぞれ＃０、＃１が付される。また、メモリ部２３０−２においては４つのメモリプレーンにそれぞれ＃２、＃３、＃４、＃５が付される。さらに、メモリ部２３０−３においては１つのメモリプレーンに＃６が付される。
【０１１２】
メモリ選択部２２０は、チップ識別子設定部３００により設定されたチップ識別子ＩＤと、例えばベースチップ４００から伝達された上位アドレスＡＤＲ−Ｈとを入力して、上位アドレスＡＤＲ−Ｈより指定されるメモリプレーンを選択する部位である。
【０１１３】
なお、第３の実施の形態において設定されるチップ識別子ＩＤは、チップ２００自体の識別子ではなく、メモリプレーンに対応するオフセットアドレスとなる。しかし、このオフセットアドレスは、チップ２００ごとに異なってくるものであり、したがって、積層されたチップごとに固有となる値を設定するという点で、第１および第２の実施の形態におけるチップ識別子ＩＤと同等の意義を有するものとみることができる。
【０１１４】
メモリ選択部２２０−１は、メモリ選択信号Ｓ０、Ｓ１を出力することにより、メモリプレーン＃０、＃１をそれぞれ選択する。メモリ選択部２２０−２は、メモリ選択信号Ｓ２乃至Ｓ５を出力することにより、メモリプレーン＃２乃至＃５をそれぞれ選択する。さらにメモリ選択部２２０−３は、メモリ選択信号Ｓ６を出力することにより、メモリプレーン＃６を選択する。
【０１１５】
なお、通常は、チップ２００−１乃至３の間で１つのメモリプレーンのみが選択されるように上位アドレスＡＤＲ−Ｈによる指定が行われる。上位アドレスＡＤＲ−Ｈは、図示するように、層間の接続を介して、メモリ選択部２２０−１乃至−３に対して共通の信号経路により伝達される。また、選択されたメモリプレーンにおけるアドレスの指定は、下位アドレスＡＤＲ−Ｌの指定により行われるようになっている。
【０１１６】
次に、第３の実施の形態におけるチップ識別子設定部３００の構成について、チップ２００−１のチップ識別子設定部３００−１を例に挙げて説明する。なお、残るチップ２００−２および３のチップ識別子設定部３００−２および３の構成は、上記チップ識別子設定部３００−１と同一である。なお、チップ識別子設定部３００−１の説明にあたり、図３および図６と同一部分には同一符号を付して説明は適宜省略する。
【０１１７】
図８のチップ識別子設定部３００−１において、シフトレジスタ部３１０−１は、４つのフリップフロップ３１１−１乃至３１４−１を備えることで、４ビットシフトレジスタとして構成される。説明を分かりやすくすることの便宜上、シフトレジスタ部３１０−１とチップ識別子保持部３４０−１とは同じ４ビットで構成されていることとするが、必ずしも一致していなくてもよい。具体例として、１つのチップ２００に実装することができるメモリプレーンの最大数が「４」であるとする。この場合、チップ識別子保持部３４０−１が４ビットであるとしても、シフトレジスタ部３１０−１については３ビットシフトレジスタとして構成してよい。この場合、チップ識別子演算部３２０−１は、４ビットのチップ識別子ＩＤ１に３ビットの並列出力ＳＰ１を加算する演算を行えばよい。ただし、他のチップ２００−２乃至３に搭載された各シフトレジスタ部３１０−２乃至３も同じビット数で構成される必要がある。
【０１１８】
なお、フリップフロップ３１１−１乃至３１４−１の順による配列は、最下位ビットから最上位ビットまでのビット配列に対応する。この点は、図６の場合と同様である。
【０１１９】
また、図８のチップ識別子設定部３００−１においては、プルアップ抵抗Ｒｐｕに代えて、プルダウン抵抗Ｒｐｄを備える。プルダウン抵抗Ｒｐｄは、図示するように、シフトレジスタ部３１０−１の入力端子（フリップフロップ３１１−１の入力端子）とグランドとの間に挿入される。プルダウン抵抗Ｒｐｄは、特許請求の範囲に記載の固定値入力部の一例である。
【０１２０】
また、図８における加算器３３０−１は、加算イネーブル信号ＡＤＤＥＮが「Ｈ」となったタイミングで、チップ識別子ＩＤ１にシフトレジスタ部３１０−１の並列出力ＳＰ１が示す値を加算する。なお、この場合の加算器３３０−１は、例えば４ビット幅により演算値を出力する。これに対応して、チップ識別子保持部３４０−１も例えば４つのフリップフロップを備えることで４ビット幅となるように構成される。このようにチップ識別子保持部３４０−１を４ビット幅で構成しているのは、上位アドレスＡＤＲ−Ｈが４ビットである場合を想定していることに対応する。すなわち、メモリ選択部２２０−１においては、チップ識別子保持部３４０−１から出力されるチップ識別子ＩＤ１と上位アドレスＡＤＲ−Ｈと比較を行うため、チップ識別子ＩＤ１と上位アドレスＡＤＲ−Ｈとは同じビット数である必要がある。このため、図８においては、チップ識別子保持部３４０−１およびチップ識別子演算部３２０−１について、共に４ビットを出力するように構成することとしている。
【０１２１】
［チップ識別子の設定動作例］
上記図８に示す構成におけるチップ識別子ＩＤ（メモリオフセットアドレス）の設定動作について、図９のタイミングチャートにより説明する。
【０１２２】
まず、リセット信号ＲＳＴが「Ｌ」となる時刻ｔ０以前のリセット期間においては、シフトレジスタ部３１０−１乃至３ごとに、初期値として、対応のチップ２００−１乃至３がそれぞれメモリ部２３０−１において備えるメモリプレーン数を示す値を設定する。チップ２００−１は２つのメモリプレーンを備えるため、フリップフロップ３１４−１、３１３−１、３１２−１および３１１−１に対して、それぞれ「０」、「０」、「１」、「０」を設定する。また、チップ２００−２は４つのメモリプレーンを備えるため、フリップフロップ３１４−２、３１３−２、３１２−２および３１１−２に対して、それぞれ「０」、「１」、「０」、「０」を設定する。また、チップ２００−３は１つのメモリプレーンを備えるため、フリップフロップ３１４−３、３１３−３、３１２−３および３１１−３に対して、それぞれ「０」、「０」、「０」、「１」を設定する。このように、時刻ｔ０以前においてシフトレジスタ部３１０−１乃至３に設定される各初期値は、それぞれ、「２」、「４」、「１」となる。このような初期値の設定の仕方から分かるように、シフトレジスタ３１０の各々は、初期値として与える数値以上のビット数を有している必要がある。
【０１２３】
次に、時刻ｔ０に至ってリセット信号ＲＳＴを「Ｈ」に反転させたうえで、時刻ｔ１においてクロックＣＬＫを開始させることで、以降、シフトレジスタ部３１０−１乃至３はビット列のシフトを行っていくことになる。これにより、時刻ｔ１以降のシフトレジスタ部３１０−１乃至３は、並列出力ＳＰ１、ＳＰ２、ＳＰ３として図示するように、初期値からクロック周期ごとに変化していく。
【０１２４】
ここで、最上層のチップ２００−１におけるシフトレジスタ部３１０−１では、時刻ｔ１以降においてデータをシフトさせていくのに応じて、フリップフロップ３１１−１から３１４−１にかけて順次「０」が入力されてシフトされていく。これは、シフトレジスタ部３１０−１の入力端子がプルダウン抵抗Ｒｐｄ−１によりグランド電位で固定されていることで、シフトレジスタ部３１０−１に対して「０」の固定値が継続して入力されることによる。
【０１２５】
これにより、時刻ｔ１から４つ目となるクロックＣＬＫの立ち上がりタイミングである時刻ｔ２において初期値のビット列を全てシフトさせたタイミングで、シフトレジスタ部３１０−１の各フリップフロップ３１１−１乃至３１４−１は固定値「０」を保持する。そして、以降、「０」の並列出力ＳＰ１を継続させることになる。
【０１２６】
また、シフトレジスタ部３１０−２は、時刻ｔ２からさらに４つ目となるクロックＣＬＫの立ち上がりタイミングである時刻ｔ４に至るまでに、自己と、シフトレジスタ部３１０−１の初期値のビットを全てシフトさせる。そして、以降、シフトレジスタ部３１０−２の各フリップフロップ３１１−２乃至３１４−２も固定値「０」を保持することになり、「０」の並列出力ＳＰ２を継続させる。
【０１２７】
また、シフトレジスタ部３１０−３は、図９においては示されていないが、時刻ｔ４からさらに４つ目となるクロックＣＬＫの立ち上がりタイミングに至るまでに、自己と、シフトレジスタ部３１０−２および３１０−１の初期値のビットを全てシフトさせる。そして、以降、並列出力ＳＰ３として「０」を継続して出力する。
【０１２８】
加算イネーブル信号ＡＤＤＥＮは、図示するように、時刻ｔ１においてクロックＣＬＫの立ち上がりが開始されて以降、クロックＣＬＫが４回立ち上がるごとに１回のタイミングで「Ｈ」となるパルスとして出力される。すなわち、時刻ｔ１の後、時刻ｔ２と時刻ｔ４に対応したクロック周期のタイミングで「Ｈ」となるように出力される。加算器３３０−１は、この加算イネーブル信号ＡＤＤＥＮが「Ｈ」となる時刻ｔ２、ｔ４のタイミングで、チップ識別子ＩＤ１と並列出力ＳＰ１とを加算する。同時に、加算器３３０−２および３も、それぞれ、チップ識別子ＩＤ２と並列出力ＳＰ２とを加算し、チップ識別子ＩＤ３と並列出力ＳＰ３とを加算する。
【０１２９】
まず、時刻ｔ２において、加算器３３０−１は、「０」のチップ識別子ＩＤ１と「０」の並列出力ＳＰ１とを加算して「０」を出力する。したがって、時刻ｔ２の次のクロックＣＬＫの立ち上がりタイミングである時刻ｔ３において、チップ識別子保持部３４０−１は「０」を保持することになる。この動作は、時刻ｔ４以降において加算イネーブル信号ＡＤＤＥＮが「Ｈ」となるときも同様である。したがって、時刻ｔ３以降、チップ識別子保持部３４０−１は「０」を継続して保持し、チップ識別子ＩＤ１として出力する。
【０１３０】
このように、最上層のチップ２００−１に対応しては、メモリオフセットアドレスを示すチップ識別子ＩＤ１として、「０」が設定されるようになっている。
【０１３１】
また、加算器３３０−２は、時刻ｔ２において、「０」のチップ識別子ＩＤ２と「２」の並列出力ＳＰ２とを加算して「２」を出力する。時刻ｔ２は時刻ｔ１を含めて４つ目のクロックＣＬＫの立ち上がりタイミングである。したがって、この時刻ｔ２において得られている「２」の並列出力ＳＰ２は、時刻ｔ１以前においてシフトレジスタ部３１０−１にて保持されていた、メモリ部２３０−１のメモリプレーン数を示す初期値である。
【０１３２】
そして、チップ識別子保持部３４０−２は、上記時刻ｔ２の次のクロックＣＬＫの立ち上がりタイミングである時刻ｔ３において、「２」を保持してチップ識別子ＩＤ２として出力することになる。
【０１３３】
次に、時刻ｔ５に至ったタイミングでは、並列出力ＳＰ２は、「０」となっている。これにより、時刻ｔ５において加算器３３０−２は、加算結果として「２」を出力する。なお、時刻ｔ５以降において、並列出力ＳＰ２は「０」を継続するため、加算器３３０−２は、常に演算結果として「２」を出力することになる。これにより、チップ２００−２に対応しては、メモリオフセットアドレスを示すチップ識別子ＩＤ２として、「２」が設定されたことになる。
【０１３４】
また、加算器３３０−３は、時刻ｔ２においては、「０」のチップ識別子ＩＤ３と「４」の並列出力ＳＰ３とを加算して「４」を出力する。この時刻ｔ２において得られている「４」の並列出力ＳＰ３は、時刻ｔ１以前においてシフトレジスタ部３１０−２にて保持されていた、メモリ部２３０−２のメモリプレーン数を示す初期値である。そして、チップ識別子保持部３４０−３は、上記時刻ｔ２の次のクロックＣＬＫの立ち上がりタイミングである時刻ｔ３において、「４」を保持してチップ識別子ＩＤ３として出力する。
【０１３５】
次に、時刻ｔ５に至ったタイミングでは、並列出力ＳＰ３は、シフトレジスタ部３１０−１に設定した、メモリ部２３０−１のメモリプレーン数を示す初期値である「２」となっている。これにより、時刻ｔ５において加算器３３０−３は、加算結果として「６」を出力する。また、図７においては、図示していないが、時刻ｔ４の次に加算イネーブル信号ＡＤＤＥＮが「Ｈ」となるタイミングでは、並列出力ＳＰ３も「０」となり、以降、その状態を継続する。これにより、チップ２００−３に対応しては、メモリオフセットアドレスを示すチップ識別子ＩＤ３として、「６」が設定される。
【０１３６】
このように、図８に示す構成では、最上層のチップ２００−１に対応するチップ識別子ＩＤ１については「０」が設定されるようにしている。そのうえで、チップ２００−１よりも下層のチップ２００−２および３においては、順次、自己よりも上層に配置されるチップ２００が備えるメモリプレーンの総数がチップ識別子ＩＤとして設定されるようになっている。具体的には、図８により説明したように、チップ２００−１乃至３ごとのチップ識別子ＩＤ１乃至ＩＤ３として、それぞれ「０」、「２」、「６」が設定される。このチップ識別子ＩＤ１乃至ＩＤ３は、図６から分かるように、チップ２００−１乃至３がメモリ部２３０−１乃至３において備えるメモリプレーンにおける最も小さい番号に一致している。すなわち、チップ識別子ＩＤ１乃至ＩＤ３は、チップ２００−１乃至３ごとのメモリプレーンのオフセットアドレスを正しく示している。
【０１３７】
メモリ選択部２２０は、上記のように設定されたチップ識別子ＩＤと上位アドレスＡＤＲ−Ｈとを利用して例えば以下のようにメモリプレーンを選択する。図１０は、チップ２００−２におけるメモリ選択部２２０−２の構成例を示している。
【０１３８】
図１０のメモリ選択部２２０−２は、４つの比較器２２２ａ乃至２２２ｄ、および、３つの加算器２２１ｂ乃至２２１ｄを備える。チップ識別子ＩＤは、比較器２２２ａと加算器２２１ｂ乃至２２１ｄとに対して入力される。
【０１３９】
加算器２２１ｂは、入力されたチップ識別子ＩＤ２の値に「１」を加算した値を出力する。加算器２２１ｃは、入力されたチップ識別子ＩＤ２の値に「２」を加算した値を出力する。加算器２２１ｄは、入力されたチップ識別子ＩＤ２の値に「３」を加算した値を出力する。
【０１４０】
比較器２２２ａは、チップ識別子ＩＤ２と上位アドレスＡＤＲ−Ｈの各値を比較し、一致していれば「Ｈ」、一致していなければ「Ｌ」のメモリ選択信号Ｓ２を出力する。また、比較器２２２ｂは、チップ識別子ＩＤ２に対して「１」を加算した値と上位アドレスＡＤＲ−Ｈの値を比較し、一致していれば「Ｈ」、一致していなければ「Ｌ」のメモリ選択信号Ｓ３を出力する。比較器２２２ｃは、チップ識別子ＩＤ２に「２」を加算した値と上位アドレスＡＤＲ−Ｈの値を比較し、一致していれば「Ｈ」、一致していなければ「Ｌ」のメモリ選択信号Ｓ４を出力する。比較器２２２ｄは、チップ識別子ＩＤ２に「３」を加算した値と上位アドレスＡＤＲ−Ｈの値を比較し、一致していれば「Ｈ」、一致していなければ「Ｌ」のメモリ選択信号Ｓ５を出力する。
【０１４１】
例えば、上位アドレスＡＤＲ−Ｈが示すアドレスが「２」乃至「５」の何れかであるとする。このときには、上記メモリ選択信号Ｓ２乃至Ｓ５の何れか１つが「Ｈ」となるように出力される。メモリ選択信号Ｓ２乃至Ｓ５は、それぞれ、「Ｈ」のときに、対応するメモリプレーン＃２乃至＃５が選択された状態となる。また、上位アドレスＡＤＲ−Ｈが示すアドレスが「２」乃至「５」以外である場合には、メモリ選択信号Ｓ２乃至Ｓ５は全て「Ｌ」となってメモリプレーン＃２乃至＃５の何れも選択されない。
【０１４２】
このように、メモリ選択部２２０−２は、例えばチップ識別子ＩＤ２の値を利用して、自己が備えるメモリプレーンの各番号と上位アドレスＡＤＲ−Ｈとを比較し、上位アドレスＡＤＲ−Ｈと一致した番号のメモリプレーンを選択するようにされている。そして、他のチップ２００においても、図１０に示す構成に準じて、自己が備えるメモリプレーンの数に応じた比較器２２２と加算器２２１とを組み合わせてメモリ選択部２２０が構成されている。
【０１４３】
これにより、各チップ２００−２において、上位アドレスＡＤＲ−Ｈにより自己が備えるメモリプレーンが指定された場合には、その指定されたメモリプレーンを選択した状態とすることができる。一方、上位アドレスＡＤＲ−Ｈが自己の備えるメモリプレーンを指定するものでなかった場合には、自己が備えるメモリプレーンを選択しないようにすることができる。
【０１４４】
これまで述べたように、第３の実施の形態においては、メモリオフセットアドレスとしてのチップ識別子ＩＤを設定することができるが、このことは、連番によらない任意のチップ識別子ＩＤをチップ２００ごとに設定できることを意味している。例えば４つ目の従来技術では、「０」から順次インクリメントされた値のチップ識別子ＩＤを割り当てていくことしかできない。このように、本発明の第３の実施の形態では、チップ識別子ＩＤの設定に関して、従来技術よりも高い自由度が与えられている。
【０１４５】
＜４．第４の実施の形態＞
［チップ識別子設定部の構成例］
先の第２の実施の形態は、チップ識別子ＩＤの設定とともに、チップ２００ごとのチップ関連データをベースチップ４００のメモリ４２０に伝送する構成を採っていた。この際、チップ関連データのビット数は、チップ２００ごとに、例えば４ビットで共通であり、かつ固定とされていた。
【０１４６】
これに対して、例えばチップ関連データについて、チップ間で共通に固定長とするのではなく可変長とする場合を想定してみる。すなわち、チップ関連データのビット数についてチップ２００ごとに異なってもよいこととする。このようにすれば、チップ関連データについてその内容を拡張できるなど、さらに自由度を高くすることができる。そこで、第４の実施の形態としては、チップごとに異なるビット数のチップ関連データを伝送することができるチップ識別子設定部３００の構成を提案する。
【０１４７】
図１１は、第４の実施の形態におけるチップ識別子設定部３００の構成例を示している。なお、この図において図６と同一部分は同一符号を付して、説明については適宜省略する。まず、シフトレジスタ部３１０においては、初段からｎ個のフリップフロップ３１１（１）乃至（ｎ）が直列に接続される。また、フリップフロップ３１１（ｎ）に続けて、この場合には４つのフリップフロップ３１２（１）乃至（４）が直列に接続される。すなわち、この図におけるシフトレジスタ部３１０は、（ｎ＋４）ビットのシフトレジスタとして形成される。
【０１４８】
そのうえで、第４の実施の形態においては、チップ関連データは、実データ部と、データ長部から成るものとする。そして、上記構成によるシフトレジスタ部３１０において、フリップフロップ３１１（１）乃至（ｎ）は、初期値として、チップ関連データの実データ部のビット列が設定される部位となる。したがって、フリップフロップ３１１（１）乃至（ｎ）の数は、対応するチップ関連データの実データ部のデータ長（ビット数）に対応する。したがって、このフリップフロップ３１１（１）乃至（ｎ）の数は実データ部のビット数に応じてチップ２００ごとに異なるものとなる。
【０１４９】
また、フリップフロップ３１２（１）乃至（４）は、初期値として、チップ関連データのデータ長部が示す値を表すためのビット列が設定される部位である。図１１の例では、４つのフリップフロップ３１２（１）乃至（４）を備え、その順の最下位ビットから最上位ビットの４ビットの数値として、データ長を表すことができる。すなわち、この場合には最大１５ビットまでのデータ長を表すことができる。また、データ長部に格納されるデータ長を示す値は、チップ関連データ自体のデータ長を示すものとする。すなわち、実データ部およびデータ長部とのサイズを合計した値であるものとする。具体例として、実データ部とデータ長部のデータ長が、それぞれ、８ビットと４ビットであるとすれば、データ長部において「１２」の値を格納することになる。
【０１５０】
また、ここでのフリップフロップ３１２の数については、チップ２００ごとに共通であるものとする。すなわち、データ長部としては固定長になる。図においては、４ビットで固定とした例を示しているが、実際においては、積層されるチップ２００ごとのチップ関連データのうちで最も長いもののデータ長を表現するのに必要なビット数と同じ数のフリップフロップ３１２を備えることになる。
【０１５１】
また、演算制御部３５０においては、ダウンカウンタ３５５、論理和ゲート３５６および論理積ゲート３５７を備える。ダウンカウンタ３５５は、自己が保持するカウント値ＣＴが「０」の場合に、「Ｈ」のフラグＦＬＧを出力する。また、これとともに、フリップフロップ３１２（１）乃至（４）に設定されている値、すなわち、並列出力ＳＰをロードする。そして、このロードした値を、クロックＣＬＫの１周期ごとに応じたタイミングでダウンカウントを実行する。
【０１５２】
論理和ゲート３５６は、フリップフロップ３１２（１）乃至（４）からの並列出力ＳＰの論理和を出力する。すなわち、フリップフロップ３１２（１）乃至（４）の保持値の少なくとも１つが「１」であれば「Ｈ」を出力し、全ての保持値が「０」であれば「Ｌ」を出力する。論理積ゲート３５７は、論理和ゲート３５６の出力とフラグＦＬＧとの論理積を出力する。
【０１５３】
第４の実施の形態においては、積層されるチップ２００ごとに、上記図１１に示した構成のチップ識別子設定部３００を備える。ただし、そのチップ２００が対応するチップ関連データのデータ長に応じて、シフトレジスタ部３１０のフリップフロップ３１１（１）乃至（ｎ）の数が変更される。
【０１５４】
［チップ識別子設定およびチップ関連データ伝送動作例］
上記図１１に示した構成によるチップ識別子設定部３００によるチップ識別子ＩＤの設定と、チップ関連データの伝送の各動作例について、図１２のタイミングチャートを参照して説明する。なお、図１２による説明にあたり、図１１に示したチップ識別子設定部３００は、上から２番目の層に対応するチップ２００−２において備えられるものであることを前提とする。
【０１５５】
まず、リセット信号ＲＳＴが「Ｌ」となっている時刻ｔ０以前のリセット期間において、シフトレジスタ部３１０におけるフリップフロップ３１１（１）乃至（ｎ）に対して、初期値として、チップ２００−２に対応するチップ関連データの実データ部の値を設定する。また、フリップフロップ３１２（１）乃至（４）に対して、初期値として、データ長部が示す値を設定する。
【０１５６】
ここで、チップ２００−２のチップ関連データは３ビットであることとする。したがって、図１１のシフトレジスタ部３１０は、チップ関連データに対応して３つのフリップフロップ３１１（１）乃至（３）を備えることになる。
【０１５７】
この場合に、フリップフロップ３１２（１）乃至（４）に対して設定されるデータ長部の値は、次のようになる。すなわち、チップ２００−２に対応するチップ関連データの実データ部のデータ長である３ビットと、データ長部のデータ長である４ビットとを加算した「７」を設定することになる。具体的には、フリップフロップ３１２（４）、３１２（３）、３１２（２）および３１２（１）の順で、最上位ビットから最下位ビットにかけて、「０」、「１」、「１」、「１」が設定される。この初期値「０」「１」「１」「１」が、データ長を表す数値「７」を示す並列出力ＳＰとしてダウンカウンタ３５５に供給される。
【０１５８】
また、リセット期間において、ダウンカウンタ３５５のカウント値ＣＴは「０」に初期化される。これに応じて、ダウンカウンタ３５５は「Ｈ」のフラグＦＬＧを出力している状態にある。また、リセット期間において、上記のようにフリップフロップ３１２（１）乃至（４）に対してデータ長部が示すデータ長の値が設定されることで、並列出力ＳＰのビット列には「１」が含まれる。このため、論理和ゲート３５６は「Ｈ」を出力し、論理積ゲート３５７は「Ｈ」を出力する。
【０１５９】
この場合の加算器３３０は、論理積ゲート３５７が「Ｈ」のときにチップ識別子ＩＤをインクリメントした値を出力するようにされている。また、リセット期間においてチップ識別子保持部３４０は「０」を保持するように初期化される。したがって、リセット期間において加算器３３０は、「０」のチップ識別子ＩＤをインクリメントした「１」を出力している。
【０１６０】
上記の状態のもとで時刻ｔ０を経過してリセット信号ＲＳＴが「Ｈ」に反転し、時刻ｔ１からクロックＣＬＫが立ち上がったとする。これに応じて、チップ識別子保持部３４０は、加算器３３０から出力されていた「１」を保持する。すなわち、チップ識別子ＩＤは、時刻ｔ１において「０」から「１」に変化する。
【０１６１】
また、同じ時刻ｔ１において、シフトレジスタ部３１０は、設定された初期値のビット列を、１クロック周期ごとに順次シフトして出力していく動作を開始する。
【０１６２】
また、ダウンカウンタ３５５は、時刻ｔ１以前において「０」のカウント値ＣＴを保持していたため、時刻ｔ１のクロックＣＬＫの立ち上がりタイミングで並列出力ＳＰの値である「７」をカウント値ＣＴとしてロードする。また、このように「０」以外のカウント値ＣＴを保持したことに応じて、フラグＦＬＧは「Ｌ」に反転させる。
【０１６３】
また、時刻ｔ１以降において、ダウンカウンタ３５５は、クロックＣＬＫの１周期ごとに、ロードした「７」からデクリメント（カウントダウン）を行う。ここでは、「７」をカウントダウンした結果、時刻ｔ２に至ってカウント値ＣＴが「０」になったことが示されている。
【０１６４】
このようにカウント値ＣＴが「０」になるタイミングでは、ちょうど、リセット期間においてシフトレジスタ部３１０に設定された計７ビットの初期値をシフトして出力し終えた状態となる。したがって、このときのフリップフロップ３１２（１）乃至（４）には、上層のチップ２００−１のシフトレジスタ部３１０において初期値として設定されたデータ長の値が保持されている状態となっている。このチップ２００−１側にて初期値として設定されたデータ長の値について、ここでは、「１４」としている。なお、チップ２００−１に対応するデータ長の値が「１４」であるということは、チップ２００−１に対応するチップ関連データの実データ部は１０ビットであることになる。これに応じて、図示は省略するが、チップ２００−１のシフトレジスタ部３１０−１においては、１０個のフリップフロップ３１１（１）乃至（１０）および４個のフリップフロップ３１２（１）乃至（４）が備えられていることになる。
【０１６５】
さらに、この時刻ｔ２においては、カウント値ＣＴが「０」になったことに応じて、フラグＦＬＧが「Ｈ」となる。このとき、並列出力ＳＰは「１４」であり、これに応じて論理和ゲート３５６の出力は「Ｈ」となるため、論理積ゲート３５７の出力も「Ｈ」となる。これにより、加算器３３０は、時刻ｔ２において、「１」のチップ識別子ＩＤをインクリメントして「２」を出力する。
【０１６６】
そして、時刻ｔ２の次のクロックＣＬＫの立ち上がりタイミングである時刻ｔ３に至ると、チップ識別子保持部３４０は、時刻ｔ２において加算器３３０から出力された「２」を保持する。これにより、時刻ｔ３以降、チップ識別子ＩＤは「２」となる。
【０１６７】
また、時刻ｔ３以降においては、ダウンカウンタ３５５が、「１４」の並列出力ＳＰをロードしてダウンカウントを実行することになる。図においては、「１４」からデクリメントを行った結果、時刻ｔ４においてカウント値ＣＴが「０」となっている。この時刻ｔ４は、シフトレジスタ部３１０が、上層のチップ２００−１において初期値として設定された計１４ビットの実データ部（１０ビット）、および、データ長部（４ビット）のビット列をシフト出力し終えたタイミングとなる。
【０１６８】
上記の状態においては、シフトレジスタ部３１０のフリップフロップ３１１（１）乃至（３）、および、フリップフロップ３１２（１）乃至（４）は、全て「０」を保持している状態になる。ここで保持される「０」は、上層のチップ２００−１において、プルダウン抵抗Ｒｐｄによってシフトレジスタ部３１０−１に入力されている固定値がシフトされたものである。このように、時刻ｔ４以降、シフトレジスタ部３１０の各フリップフロップ３１１（１）乃至（３）、および３１２（１）乃至（４）は、いずれも「０」を保持する状態を継続する。このため、フリップフロップ３１２（１）乃至（４）は「０」の並列出力ＳＰの出力を継続する。
【０１６９】
これにより、時刻ｔ４において、フラグＦＬＧは「Ｈ」となるが、論理和ゲート３５６は「Ｌ」となり、論理積ゲート３５７からは「Ｌ」が出力される。これに応じて、加算器３３０は、チップ識別子ＩＤをインクリメントする動作を行わないため、その出力は、時刻ｔ４以前と同じ「２」を出力する。これにより、時刻ｔ４から次のクロックＣＬＫの立ち上がりタイミングである時刻ｔ５において、チップ識別子保持部３４０は、以前と同じ「２」を保持する。上述したように、時刻ｔ４以降において並列出力ＳＰは「０」が継続するため、以降の加算器３３０によるインクリメントは実行されず、したがって、時刻ｔ５以降におけるチップ識別子ＩＤは「２」が継続することになる。このように、チップ識別子ＩＤとして「２」が設定される。
【０１７０】
なお、時刻ｔ４において、ダウンカウンタ３５５は「０」の並列出力ＳＰをロードすることになる。したがって、以降においてダウンカウンタ３５５はダウンカウントを実行することなく、「０」のカウント値ＣＴを継続して保持し、「Ｈ」のフラグＦＬＧの出力を継続する状態となる。
【０１７１】
このようなチップ識別子設定部３００の動作が、例えば積層されたチップ２００ごとにおいて実行されることで、最上層から最下層のチップ２００ごとに「１」から昇順で連番となるチップ識別子が設定される。
【０１７２】
［ベースチップにおけるデータデコード例］
また、上記図１２により説明した動作が行われることで、ベースチップ４００においては、最終的に、最上層から最下層のチップ２００ごとのシフトレジスタ部３１０に初期値として設定されたチップ関連データが伝送されて保持される。
【０１７３】
図１３は、ベースチップ４００のメモリ４２０にて保持されたチップ関連データの例を示している。なお、この図は、最上層から下層にかけてチップ２００−１乃至３が積層され、さらにその下層にベースチップ４００が配置された積層半導体装置１００を想定している。
【０１７４】
図１３のメモリ４２０においては、チップ２００−１乃至３ごとに対応するチップ関連データ５００−１乃至３が格納されている状態が示されている。チップ関連データ５００の各々は、上位ビットから下位ビットにかけてデータ長部５０１と実データ部５０２のビットが配列されて成る。
【０１７５】
図１２により説明した動作が実行されているときには、メモリ４２０における最上位ビットから下位ビットにかけて、チップ関連データ５００−３、５００−２、５００−１の順でデータが入力されて格納されていく。これにより、メモリ４２０においては、最上位ビットから最下位ビットにかけて、図１３に示すようにチップ関連データ５００−３乃至１のデータ長部５０１と実データ部５０２が順次配列されるように格納される。なお、図１１の説明によれば、データ長部５０１は、対応する実データ部５０２と自己のビット数とを合計したものとなる。すなわち、データ長部５０１は、対応するチップ関連データ５００のデータ長を示す。
【０１７６】
このようにチップ関連データ５００が格納されるメモリ４２０から、ベースチップ４００は、例えば下記のように所望のチップ２００の実データ部５０２を抽出する。このためには、ベースチップ４００は、まず、メモリ４２０の先頭（最上位ビット）から配置されるデータ長部５０１−３により示されるデータ長を認識する。なお、第４の実施の形態において、データ長部５０１は例えば４ビットの固定長であることが規定されており、これについては、ベースチップ４００は既知である。
【０１７７】
そして、メモリ４２０の先頭から、この認識したデータ長に対応したビット位置を求めることで、チップ関連データ５００−３の終端位置とチップ関連データ５００−２の開始位置を認識する。次に、チップ関連データ５００−２の開始位置から配置されるデータ長部５０１−２を参照し、チップ関連データ５００−２のデータ長部を認識する。これに基づいて、チップ関連データ５００−２の終端位置とチップ関連データ５００−１の開始位置を認識する。そして、チップ関連データ５００−１の開始位置から配置されるデータ長部５０１−１を参照することで、チップ関連データ５００−１の終端位置を認識する。
【０１７８】
このようにチップ関連データ５００間の境界位置を認識した後は、次のように所望の実データ部５０２を抽出することができる。例えば、実データ部５０２−２を抽出するのであれば、チップ関連データ５００−２の先頭位置からデータ長部５０１−２に対応する４ビットだけ下位にシフトしたビット位置にアクセスする。そして、このビット位置からチップ関連データ５００−２の終端位置までのデータを読み出せばよい。
【０１７９】
このように、本発明の第４の実施の形態によれば、チップ２００ごとにデータ長の異なるチップ関連データ５００をベースチップ４００に記憶させるとともに、ベースチップ４００において所望の実データ部５０２を選択して処理することができる。
【０１８０】
なお、これまでの各実施の形態においては、シフトレジスタ部３１０は上層のチップ２００から伝達される信号を入力してシフトを行い、下層のチップ２００に対して伝送するという構成を採っている。しかし、これとは逆に、例えば下層のチップから伝送される信号を上層のチップに伝送することで、下層から上層のチップにかけて昇順でチップ識別子を設定していくように構成してもよい。また、これまでの各実施の形態においてチップ識別子演算部３２０は、加算により新たな値を算出していくように構成されていたが、例えばこれとは逆に、ある初期値に対して減算を行っていくことにより新たな値を算出していく構成とすることも考えられる。
【０１８１】
また、これまでの各実施の形態においては、チップ２００間で接続されるチップ識別子設定部３００の組を１組としていたが、複数の組を設けることとしてもよい。一例として、第１、第２および第４の実施の形態の何れかに対応するチップ識別子設定部３００の組と、第３の実施の形態に対応するチップ識別子設定部３００の組との２組を備える構成としてもよい。このような構成を採ることで、チップ識別子ＩＤの設定（およびチップ関連データの伝送）と、メモリオフセットアドレスとを同時に設定できる。また、これまでの説明から理解できるように、本発明の実施の形態においてチップ識別子ＩＤとは、チップ２００ごとを個別に認識するための一般的な識別子に限定されるものではない。すなわち、第３の実施の形態におけるメモリオフセットアドレスに代表されるように、チップ２００ごとに対応関係を有して所定の意義を有する値がチップ識別子ＩＤとして扱われる。本発明の実施の形態によるチップ識別子ＩＤの設定は、上記のような点でも自由度は高いといえる。もちろん、第１、第２および第４の実施の形態のようにチップ２００ごとに連続番号となるようにチップ識別子ＩＤを設定することも容易に可能とされている。
【０１８２】
また、本発明の実施の形態は本発明を具現化するための一例を示したものであり、本発明の実施の形態において明示したように、本発明の実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【符号の説明】
【０１８３】
１００  積層半導体装置
２００  チップ
２１１  上側電極
２１２  下側電極
２２０  メモリ選択部
２３０  メモリ部
３００  チップ識別子設定部
３１０  シフトレジスタ部
３１１〜３１４  フリップフロップ
３２０  チップ識別子演算部
３３０  加算器
３４０  チップ識別子保持部
３５０  演算制御部
４００  ベースチップ
４２０  メモリ
４２１  第１メモリ部
４２２  第２メモリ部
５００  チップ関連データ
５０１  データ長部
５０２  実データ部
【図１】
2012033627.tif 000003
【図２】
2012033627.tif 000004
【図３】
2012033627.tif 000005
【図４】
2012033627.tif 000006
【図５】
2012033627.tif 000007
【図６】
2012033627.tif 000008
【図７】
2012033627.tif 000009
【図８】
2012033627.tif 000010
【図９】
2012033627.tif 000011
【図１０】
2012033627.tif 000012
【図１１】
2012033627.tif 000013
【図１２】
2012033627.tif 000014
【図１３】
2012033627.tif 000015