JP2012033627A - 半導体装置および積層半導体装置 - Google Patents
半導体装置および積層半導体装置 Download PDFInfo
- Publication number
- JP2012033627A JP2012033627A JP2010170815A JP2010170815A JP2012033627A JP 2012033627 A JP2012033627 A JP 2012033627A JP 2010170815 A JP2010170815 A JP 2010170815A JP 2010170815 A JP2010170815 A JP 2010170815A JP 2012033627 A JP2012033627 A JP 2012033627A
- Authority
- JP
- Japan
- Prior art keywords
- semiconductor device
- chip
- identifier
- unit
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- H10W46/00—
-
- H10W90/00—
-
- H10W46/403—
-
- H10W72/07254—
-
- H10W72/247—
-
- H10W90/722—
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Semiconductor Integrated Circuits (AREA)
- Semiconductor Memories (AREA)
- Static Random-Access Memory (AREA)
Abstract
【課題】チップ識別子の設定のために共通化すべき半導体チップの配線数を削減する。
【解決手段】シフトレジスタ部310は、上側電極211を介して上層のチップから入力したデータをシフトして下層のチップに出力する。チップ識別子演算部320は、シフトレジスタ部310が前段の入力データをシフト出力したタイミングで新たなチップ識別子を演算する。チップ識別子演算部320は、最上層のシフトレジスタ部に入力される固定値でシフトレジスタ部310が埋められたタイミングでチップ識別子の演算を停止する。チップ識別子保持部340は、クロックCLKに同期してチップ識別子演算部320が演算したチップ識別子を保持する。チップ識別子演算部320の演算動作の停止後においてチップ識別子保持部340により保持している値がチップ識別子となる。
【選択図】図2
【解決手段】シフトレジスタ部310は、上側電極211を介して上層のチップから入力したデータをシフトして下層のチップに出力する。チップ識別子演算部320は、シフトレジスタ部310が前段の入力データをシフト出力したタイミングで新たなチップ識別子を演算する。チップ識別子演算部320は、最上層のシフトレジスタ部に入力される固定値でシフトレジスタ部310が埋められたタイミングでチップ識別子の演算を停止する。チップ識別子保持部340は、クロックCLKに同期してチップ識別子演算部320が演算したチップ識別子を保持する。チップ識別子演算部320の演算動作の停止後においてチップ識別子保持部340により保持している値がチップ識別子となる。
【選択図】図2
Description
本発明は、半導体装置に関し、特に、積層半導体装置において積層後に半導体識別子が設定される半導体装置、および、このような半導体装置を積層して構成される積層半導体装置に関する。
集積半導体装置として、半導体チップを積層して三次元的に実装した積層半導体装置が知られている。このような積層半導体装置において積層される半導体チップは、例えばバスなどのような共通配線により相互に接続される構成を採る。なお、このような共通配線については、ここではグローバル配線とも称することにする。
上記のようにグローバル配線を採用する場合、ロジックなどによる制御はグローバル配線を介して複数の半導体チップに同時に伝送される。したがって、1つの半導体チップに対して選択的にアクセスするためには、積層半導体装置ごとに、ロジックなどから出力される信号が自己を対象とするものであるか否かを認識できるようにする必要がある。これにより、半導体チップは、自分宛の信号に応じて動作することができる。また、自分宛の信号でない場合には、その信号に応答しないようにすることができる。
そこで、半導体チップを選択的に制御することを可能とするために、積層される半導体チップごとにチップ識別子を割り当てるという手法が知られている。これにより、例えばチップ識別子を指定することによって特定の半導体チップのみを制御するという仕組みを容易に構築することができる。
上記のチップ識別子の割り当てに関して、1つ目の従来技術として、半導体チップ内の不揮発性メモリ、または、これに相当する部位にチップ識別子を保持させるというものが知られている(例えば、特許文献1および特許文献2参照。)。
また、2つ目として、パッケージ組み立ての際に所定の複数の端子を電源またはグランドに配線することによりチップ識別子を設定する従来技術が知られている(例えば、特許文献3参照。)。
また、3つ目として、半導体チップごとの形状のばらつきや、所定の特性のばらつきに応じてチップ識別子を設定する従来技術が知られている(例えば、特許文献4乃至6参照。)。
また、4つ目として、半導体チップごとに設けたインクリメント回路を順次直列に接続するという従来技術が知られている。(例えば、特許文献7参照。)。この従来技術では、積層された半導体チップごとに、順次、「0」からインクリメントされるチップ識別子を自動で設定していくことができる。
しかし、上述の1つ目および2つ目の従来技術では、チップ識別子の設定のために、製造工程において半導体チップごとにデータの書込みや配線を行う必要がある。また、3つ目の従来技術は、内部の回路によって自動でチップ識別子を設定可能な技術も含まれてはいるものの、製造ばらつきという不確定要因に応じてチップ識別子が決まることから、半導体チップ間で異なるチップ識別子が必ず設定される保証はない。また、半導体チップに対して連続した番号によるチップ識別子を割り当てていくことはできない。このため、例えばコントローラによって各半導体チップのチップ識別子を読み出すための回路を追加する必要があり、回路構成が煩雑化する。
4つ目の従来技術であれば、製造工程においてチップ識別子を設定するための工程は必要ない。また、半導体チップに対して、連続番号によるチップ識別子を確実に割り当てることができる。しかし、4つ目の従来技術では、インクリメント回路間で、少なくとも、割り当てるべきチップ識別子の最大値を表現することのできるビット数に応じた本数の配線が必要になる。これらの配線は、半導体チップの層間において行われることになる。したがって、半導体チップごとに、上記の配線に対応する接合端子の数および位置を共通化することが必要になる。これについては、例えば積層されるチップが、同じプロセスにより製造された同一構造のものである場合には対応することが可能である。しかし、半導体チップのそれぞれが異なる構造を有する場合、チップ識別子の設定に対応して複数の配線を共通させようとすると、他の配線との位置関係の設定などを十分に考慮しなければならないなど、対応が難しくなる。この問題は、積層すべき半導体チップ数の増加に応じてインクリメント回路間における配線数が増加するほど顕著なものとなる。
本発明はこのような状況に鑑みてなされたものであり、積層半導体装置において積層される半導体装置ごとにチップ識別子を割り当てるに際して、チップ識別子の設定に対応して共通化すべき半導体チップ間の配線数を削減することを目的とする。
本発明は、上記課題を解決するためになされたものであり、その第1の側面は、上層と下層のうちの所定の一方の層に対して前段半導体装置が積層されている場合に上記前段半導体装置から出力されるビット列が入力される入力端子と、当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、上記半導体装置識別子を利用して演算を行い、その演算結果に応じて上記半導体装置識別子保持部によって保持される上記半導体装置識別子を更新する半導体装置識別子演算部と、上記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて上記半導体装置識別子演算部によって実行される上記半導体装置識別子の更新を制御する制御部と、上記制御部に保持されたビット列を他方の層に対して積層される後段半導体装置に出力する出力端子とを具備する半導体装置である。これにより、半導体装置識別子の設定に際して半導体装置識別子の更新を制御するために制御部が保持すべきデータのビット列を、端子接続を介して後段の半導体装置の制御部に伝達するという作用をもたらす。
また、この第1の側面において、上記制御部は、上記保持したデータに応じて、上記半導体装置識別子の更新の実行の可否を制御してもよい。これにより、しかるべき半導体装置識別子の値に更新されたタイミングで以降の更新を停止させることによって、半導体装置識別子を確定させるという作用をもたらす。
また、この第1の側面において、上記制御部は、上記保持したデータの値が所定の禁止指示値である場合には上記半導体装置識別子の更新を禁止し、上記保持したデータの値が上記禁止指示値ではない場合には上記半導体装置識別子の更新を許可するようにしてもよい。これにより、制御部に所定値データを保持させることによって上記半導体装置識別子の更新を禁止させるという作用をもたらす。
また、この第1の側面において、上記制御部は、入力される半導体装置に関連した所定の情報内容を示す半導体装置関連データのビット列を保持しながら順次シフトし、保持していた上記半導体装置関連データ全体をシフトアウトしたタイミングに応じて上記半導体装置識別子の更新を実行させるようにしてもよい。これにより、制御部が半導体装置関連データを保持することに応じて半導体装置識別子を更新するとともに、保持した半導体装置関連データを後段の半導体装置に伝達するという作用をもたらす。
また、この第1の側面において、上記制御部は、固定長による上記半導体装置関連データのビット長に応じたシフト回数がカウントされたタイミングに応じて上記半導体装置識別子の更新を実行させてもよい。これにより、固定長の半導体装置関連データ全体のビット列をシフトアウトさせたタイミングごとに半導体装置識別子の更新を実行させるという作用をもたらす。
また、この第1の側面において、上記半導体装置関連データは、任意のデータ長による実データ部とデータ長を示す固定長によるデータ長部から成り、上記制御部は、保持した上記データ長部が示すビット長のビット列をシフトアウトしたタイミングに応じて上記半導体装置識別子の更新を実行させてもよい。これにより、制御部が可変長の半導体装置関連データ全体を順次シフトアウトさせたタイミングごとに半導体装置識別子の更新を実行させるという作用をもたらす。
また、この第1の側面において、上記制御部は、上記半導体装置識別子に一定値を加算した上記演算結果に応じて上記半導体装置識別子の更新を実行させてもよい。これにより、積層された半導体装置ごとに一定間隔の値による半導体装置識別子を設定するという作用をもたらす。
また、この第1の側面において、上記制御部は、上記保持したデータと上記半導体装置識別子とを利用した上記演算結果に応じて上記半導体装置識別子の更新を実行させてもよい。これにより、積層された半導体装置ごとに一定間隔の値によらない半導体装置識別子を設定するという作用をもたらす。
また、この第1の側面において、上記制御部は、上記半導体装置識別子に加算すべき加算値データを上記入力端子から入力して保持し、当該保持した加算値データの値と上記半導体装置識別子とを加算した上記演算結果に応じて上記半導体装置識別子の更新を実行させてもよい。これにより、積層された半導体装置ごとに加算値データを順次積算した値による半導体装置識別子を設定するという作用をもたらす。
また、この第1の側面において、上記加算値データの値は、対応する半導体装置が具備する記憶部の数を示してもよい。これにより、半導体装置識別子として、積層された半導体装置ごとが備える記憶部に対応するオフセットアドレスを設定するという作用をもたらす。
また、この第1の側面において、上記入力端子からのビット列の入力がない場合に上記制御部に対して固定値によるビットを入力する固定値入力部をさらに具備し、上記禁止指示値は、上記保持されているデータの各ビットが上記固定値であるときの値としてもよい。これにより、所定の固定値のビット列の禁止指示値によって半導体装置識別子の更新を停止させるという作用をもたらす。
また、この第1の側面において、上記固定値入力部は、正の電源電圧の信号線と上記制御部の入力との間に挿入されるプルアップ抵抗としてもよい。これにより、「1」のビットの配列による禁止指示値を生成するという作用をもたらす。
また、この第1の側面において、上記固定値入力部は、グランドの信号線と上記制御部の入力との間に挿入されるプルダウン抵抗としてもよい。これにより、「0」のビットの配列による禁止指示値を生成するという作用をもたらす。
また、本発明の第2の側面は、積層される2以上の半導体装置と、これらの積層された半導体装置に対してさらに積層される記憶装置とを具備する積層半導体装置であって、上記半導体装置は、上層または下層のうちの一方の層に対して積層される他の半導体装置の出力端子と接続されることで、当該接続された出力端子から出力されるビット列を入力する入力端子と、当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、上記半導体装置識別子を利用した演算結果に応じて上記半導体装置識別子保持部によって保持される上記半導体装置識別子を更新する半導体装置識別子演算部と、上記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて上記半導体装置識別子演算部によって実行される上記半導体装置識別子の更新を制御し、上記入力端子から半導体装置に関連した所定の情報内容を示す半導体装置関連データのビット列が入力される制御部と、他方の層に対して積層されるさらに他の半導体装置の入力端子と接続されることで、当該接続された入力端子に対して上記制御部に保持されたビット列を出力する出力端子とを備え、上記記憶装置は、積層される上記半導体装置における最終段の半導体装置の上記出力端子から出力されるビット列を入力して、当該入力したビット列における半導体装置関連データを記憶する半導体装置関連データ記憶部を備える積層半導体装置である。これにより、積層された半導体装置ごとに半導体装置識別子を設定するとともに、半導体装置関連データを積層構造における最後段の記憶装置に記憶させるという作用をもたらす。
また、本発明の第2の側面は、積層される2以上の半導体装置を具備する積層半導体装置であって、上記半導体装置は、上層または下層のうちの一方の層に対して積層される半導体装置の出力端子と接続されることで、当該接続された出力端子から出力されるビット列を入力する入力端子と、当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、上記半導体装置識別子を利用した演算結果に応じて上記半導体装置識別子保持部によって保持される上記半導体装置識別子を更新する半導体装置識別子演算部と、上記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて上記半導体装置識別子演算部によって実行される上記半導体装置識別子の更新を制御するとともに、初期値として半導体装置に関連した所定の情報内容を示す半導体装置関連データを保持する制御部と、他方の層に対して積層される半導体装置の入力端子と接続されることで、当該接続された入力端子に対して上記制御部に保持されたビット列を出力する出力端子とを備える積層半導体装置である。これにより、積層された半導体装置ごとに半導体装置識別子を設定するとともに、半導体装置識別子の更新制御のために制御部が保持するデータのビット列を、端子接続を介して後段の半導体装置の制御部に伝達するという作用をもたらす。
本発明によれば、チップ識別子の設定のために共通化すべき半導体チップの配線数が1つにまで削減されるという優れた効果を奏し得る。
以下、本発明を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(チップ識別子の設定:「1」から昇順でチップ識別子を設定する例)
2.第2の実施の形態(チップ識別子の設定:チップ識別子の設定とともにチップごとの情報を外部に出力する例)
3.第3の実施の形態(チップ識別子の設定:チップ識別子としてチップごとにおけるメモリプレーンのオフセットアドレスを設定する例)
4.第4の実施の形態(チップ識別子の設定:チップ識別子の設定とともに、チップごとに可変長の情報を外部に出力する例)
1.第1の実施の形態(チップ識別子の設定:「1」から昇順でチップ識別子を設定する例)
2.第2の実施の形態(チップ識別子の設定:チップ識別子の設定とともにチップごとの情報を外部に出力する例)
3.第3の実施の形態(チップ識別子の設定:チップ識別子としてチップごとにおけるメモリプレーンのオフセットアドレスを設定する例)
4.第4の実施の形態(チップ識別子の設定:チップ識別子の設定とともに、チップごとに可変長の情報を外部に出力する例)
<1.第1の実施の形態>
[積層半導体装置の全体構成]
図1は、本発明の実施の形態における積層半導体装置100の構成例を示している。この図に示す積層半導体装置100は、上層から下層にかけてチップ200−1、200−2、200−3、200−4およびベースチップ400が積層された構造となっている。チップ200−1乃至4は、それぞれが所定の機能を有する半導体チップである。なお、これらのチップ200−1乃至4は、特に同一の構造を有するものではなく、例えば、それぞれが有する機能に応じて異なる構造を有している。
[積層半導体装置の全体構成]
図1は、本発明の実施の形態における積層半導体装置100の構成例を示している。この図に示す積層半導体装置100は、上層から下層にかけてチップ200−1、200−2、200−3、200−4およびベースチップ400が積層された構造となっている。チップ200−1乃至4は、それぞれが所定の機能を有する半導体チップである。なお、これらのチップ200−1乃至4は、特に同一の構造を有するものではなく、例えば、それぞれが有する機能に応じて異なる構造を有している。
ベースチップ400は、積層半導体装置100の最下層において配置される。上層側のチップ200−1乃至4を制御するための信号は、例えばこのベースチップ400から出力され、チップ層間における所定の配線を経由して、チップ200−1乃至4に対して伝達されるようになっている。なお、ベースチップ400の実際としては、例えばロジックや配線基板であるインターポーザ等を想定することができる。
本発明の実施の形態のチップ200−1乃至4は、それぞれ、内部にチップ識別子設定部300−1乃至4を備える。チップ識別子設定部300は、対応するチップ200に割り当てるべきチップ識別子を自動で設定して保持する部位である。なお、チップ識別子は、特許請求の範囲に記載の半導体識別子の一例である。
チップ識別子設定部300−1は、図示するように、チップ200−1の上面および下面に形成された上側電極211−1および下側電極212−1と接続される。同様にして、チップ識別子設定部300−2乃至4は、それぞれ、チップ200−2乃至4の上面および下面に形成された上側電極211−2乃至4、および、下側電極212−2乃至4と接続される。
そして、チップ200−1乃至4における各層間において、下側電極212と上側電極211同士が接合される。これにより、チップ識別子設定部300−1乃至4は、層間接続を介して、順次直列となる関係により接続される。
なお、ここでは図示しないが、ベースチップ400においてさらにチップ識別子設定部を設け、チップ200−4の下側電極212−4とベースチップ400の上側電極411との接合を介して、チップ識別子設定部300−4と直列に接続してもよい。
[チップ識別子設定部の構成例]
図2は、本発明の第1の実施の形態におけるチップ識別子設定部300の構成例を示している。この図に示すチップ識別子設定部300は、シフトレジスタ部310、チップ識別子演算部320、チップ識別子保持部340、および、プルアップ抵抗Rpuを備える。
図2は、本発明の第1の実施の形態におけるチップ識別子設定部300の構成例を示している。この図に示すチップ識別子設定部300は、シフトレジスタ部310、チップ識別子演算部320、チップ識別子保持部340、および、プルアップ抵抗Rpuを備える。
シフトレジスタ部310は、上側電極211から入力されるデータを入力してクロックCLKに同期したタイミングでシフトさせて出力する部位である。この図に示すシフトレジスタ部310は、1つのフリップフロップにより構成している。すなわち、1ビットのシフトレジスタとして構成されている。シフトレジスタ部310の出力は、チップ識別子演算部320と下側電極212とに対して供給される。シフトレジスタ部310は、特許請求の範囲に記載の制御部の一例である。
シフトレジスタ部310の入力端子と電源電圧VDDとの間にはプルアップ抵抗Rpuが挿入される。この図に示すチップ識別子設定部300が最上層のチップ200におけるものである場合、上側電極211はオープンとなりデータは入力されない。そこで、プルアップ抵抗Rpuによりシフトレジスタ部310の入力端子を電源電圧VDDで固定することにより、シフトレジスタ部310に対して「1」に相当する信号が固定的に入力されるようにする。プルアップ抵抗Rpuは、特許請求の範囲に記載の固定値入力部の一例である。
チップ識別子演算部320は、シフトレジスタ部310の出力に応じて、チップ識別子として設定されるべき値を所定の演算により算出する部位である。チップ識別子演算部320は、特許請求の範囲に記載の半導体装置識別子演算部の一例である。
チップ識別子保持部340は、上記チップ識別子演算部320により算出された値を入力して、クロックCLKに同期したタイミングで保持する部位である。チップ識別子保持部340は、上記のように保持した値を、チップ識別子設定部300により設定したチップ識別子IDとして出力する。なお、チップ識別子演算部320およびチップ識別子保持部340は、それぞれ、リセット信号RSTにより保持している値をリセットするようにされている。チップ識別子保持部340は、特許請求の範囲に記載の半導体装置識別子保持部の一例である。
チップ200は、例えばベースチップ400側からチップ識別子IDが指定されたことに応じて、この指定されたチップ識別子IDと上記設定されたチップ識別子IDの値とを比較し、一致していれば、ベースチップ400側からの制御に応じた動作を実行する。これに対して、両者が一致していなければ、チップ200は、ベースチップ400側からの制御に応じた動作を実行しない。このように、チップ200の各々に個別のチップ識別子IDが設定されることで、チップ200の各々は、自己に対する制御には応答し、それ以外のチップに対する制御には応答しないように動作することができる。
図3は、チップ200−1乃至3の積層構造から、チップ識別子設定部300−1乃至3を抜き出して示している。なお、図1においては、チップ200−1乃至4の4つのチップが示されていた。しかし、図3では、図示およびその説明を分かりやすくすることの便宜上、チップ200−1乃至3およびベースチップ400により積層半導体装置100が構成される場合を想定することとしている。これに対応して、図3においては、チップ識別子設定部300−1乃至3のみを示す。
本発明の第1の実施の形態において、チップ識別子設定部300−1乃至3は、それぞれ図2に示した構造を共通に有する。そのうえで、チップ識別子設定部300−1とチップ識別子設定部300−2は、互いの下側電極212−1と上側電極211−2との接合を介して接続される。同様にして、チップ識別子設定部300−2とチップ識別子設定部300−3は、互いの下側電極212−2と上側電極211−3との接合を介して接続される。
また、本発明の第1の実施の形態においては、チップ識別子演算部320を、加算器330により構成するものとしている。加算器330は、シフトレジスタ部310の出力が「0」のときに、チップ識別子保持部340が出力している値をインクリメントする部位である。すなわち、この場合のチップ識別子IDの値に対して、一定値として「1」を加算するように構成される。なお、加算器330の具体構成例については、チップ識別子保持部340の具体構成例とともに、図5により後述する。
[チップ識別子の設定動作例]
図4のタイミングチャートは、上記図3に示したチップ識別子設定部300−1乃至3によるチップ識別子IDの設定動作を示している。
図4のタイミングチャートは、上記図3に示したチップ識別子設定部300−1乃至3によるチップ識別子IDの設定動作を示している。
まず、時刻t0以前においては、リセット信号RSTが「L」となっている。シフトレジスタ部310−1乃至3は、それぞれ、「L」のリセット信号RSTに応じて、その出力データQ1、Q2およびQ3を「0」に初期化する。同様に、チップ識別子保持部340−1乃至3も、「L」のリセット信号RSTに応じて、その出力であるチップ識別子ID1、ID2およびID3を「0」に初期化する。
次に時刻t0に至ってリセット信号RSTが「H」となると、以降、シフトレジスタ部310−1乃至3は、入力データをシフトする動作が有効な状態となる。ただし、時刻t0から時刻t1に至るまでの期間は、クロックCLKが入力されていないために、時刻t1に至るまで、出力データQ1、Q2およびQ3は時刻t0以前と同じ「0」である。同様に、チップ識別子ID1、ID2およびID3も時刻t0以前と同じ「0」である。また、時刻t1以前においては、チップ識別子ID1、ID2およびID3が「0」であることに応じて、加算器330−1乃至3は、それぞれ「0」をインクリメントして「1」を出力している状態にある。
次に、時刻t1に至ってクロックCLKの入力が開始されてそのエッジが立ち上がったとする。このとき、シフトレジスタ部310−1の入力端子には、プルアップ抵抗Rpuにより電源電圧VDDの電位に固定されていることで「1」が入力されている。これにより、シフトレジスタ部310−1の出力データQ1は、時刻t1においてクロックCLKに同期して「1」に反転する。
また、時刻t1においてクロックCLKが立ち上がることにより、チップ識別子保持部340−1乃至3は、それぞれ、加算器330−1乃至3から出力されている「1」を入力して新たなチップ識別子ID1、ID2およびID3として保持する。これにより、図4の時刻t1として示すように、チップ識別子ID1、ID2およびID3は、何れも「0」から「1」に変化する。
また、時刻t1においてシフトレジスタ部310−1の出力データQ1が「1」となったことに応じて、加算器330−1は以降のインクリメントの動作を停止する。これにより、チップ識別子保持部340−1は、時刻t1以降において、「1」のチップ識別子ID1を保持し続ける。
時刻t1以降、シフトレジスタ部310−2の入力端子には、シフトレジスタ部310−1からの「1」の出力データQ1が印加されている。このため、時刻t2として示す次のクロックCLKの立ち上がりタイミングにおいて、シフトレジスタ部310−2は、出力データQ2を「0」から「1」に反転させる。
また、加算器330−2は、時刻t1において「1」となったチップ識別子ID2をインクリメントした「2」を出力している。このため、時刻t2のクロックCLKの立ち上がりに応じて、チップ識別子保持部340−2は、加算器330−2が出力している「2」を保持してチップ識別子ID2として出力する。また、加算器330−2は、時刻t2以降においてシフトレジスタ部310−2の出力データQ2が「1」となることに応じて、以降のチップ識別子ID2のインクリメントを停止する。これにより、時刻t2以降において、チップ識別子保持部340−2は、「2」のチップ識別子ID2を保持し続ける。
次に、時刻t3として示すさらに次のクロックCLKの立ち上がりタイミングでは、シフトレジスタ部310−3の出力データQ3が「0」から「1」となる。また、加算器330−3は、時刻t2のタイミングで「2」となったチップ識別子ID3をインクリメントして「3」を出力していたため、時刻t3においてチップ識別子保持部340−2は、「3」のチップ識別子ID3を出力することになる。そして、加算器330−3は、時刻t3以降においてシフトレジスタ部310−3の出力データQ3が「1」となってチップ識別子ID3のインクリメントを停止する。これにより、時刻t3以降において、チップ識別子保持部340−3は、「3」のチップ識別子ID3を保持し続ける。
このように、各1ビットによるシフトレジスタ部310−1、310−2および310−3は、クロックCLKの1周期ごとに、順次、その出力データQ1、Q2、Q3が「1」で固定されていくように動作する。すなわち、シフトレジスタ部310−1乃至3は、それぞれ、初期値の「0」をシフト出力して、シフトレジスタ部310−1に入力される「1」の固定値を継続して保持する状態に順次遷移する。これにより、加算器330−1、330−2および330−3においてチップ識別子ID1、ID2およびID3をインクリメントする動作を停止させるタイミングを1クロック周期ずつずらしていくことになる。この結果、図3に示す構成においては、チップ識別子ID1、ID2およびID3として、それぞれ、「1」「2」「3」が設定される。すなわち、積層半導体装置において最上層から下層のチップ200にかけて、順次、「1」からインクリメントされるようにチップ識別子IDを設定することができる。
[チップ識別子設定部の具体構成例]
図5は、図3に示したチップ識別子設定部300の具体的な構成例を示している。すなわち、図4のタイミングチャートにより説明した動作を実行するチップ識別子設定部300の具体的構成例が示される。なお、この図において、図3のチップ識別子設定部300と同一部分には同一符号を付して説明を省略する。
図5は、図3に示したチップ識別子設定部300の具体的な構成例を示している。すなわち、図4のタイミングチャートにより説明した動作を実行するチップ識別子設定部300の具体的構成例が示される。なお、この図において、図3のチップ識別子設定部300と同一部分には同一符号を付して説明を省略する。
図5のチップ識別子設定部300においては、まず、図3に示した構成に対してラッチ回路301が追加されている。シフトレジスタ部310の出力データQは、ラッチ回路301を介してチップ識別子演算部320および下側電極212に出力されるようになっている。このようにラッチ回路301を備えて、例えばクロックCLKに対するデータ信号の信号変化を半周期ずらすことでホールド時間が保証されて安定した動作が得られる。
また、図5においては、チップ識別子演算部320における加算器330と、チップ識別子保持部340の構成例が示される。なお、この加算器330およびチップ識別子保持部340の構成は、チップ識別子IDが3ビットである場合に対応する。
この図における加算器330は、インバータ331、排他的論理和ゲート332a乃至332c、論理積ゲート333bおよび333cを備える。また、チップ識別子保持部340は、3つのフリップフロップ341a乃至341cを備える。
加算器330において、インバータ331は、ラッチ回路301を介した出力データQを反転して出力する。排他的論理和ゲート332aは、インバータ331の出力とフリップフロップ341aの出力との排他的論理和を出力する。
排他的論理和ゲート332bは、フリップフロップ341bの出力と論理積ゲート333bとの排他的論理和を出力する。論理積ゲート333bは、インバータ331の出力とフリップフロップ341aの出力との論理積を出力する。
排他的論理和ゲート332cは、フリップフロップ341cの出力と論理積ゲート333cとの排他的論理和を出力する。論理積ゲート333cは、論理積ゲート333bの出力とフリップフロップ341bの出力との論理積を出力する。
加算器330からは3ビットの演算値が出力される。この演算値としての3ビット配列は、排他的論理和ゲート332a、332b、333cの出力データの順で、最下位ビットから最上位ビットまでのビット配列順に対応する。
また、チップ識別子保持部340において、フリップフロップ341a乃至341cの各クロック端子には共通にクロックCLKが入力される。また、フリップフロップ341a乃至341cの各リセット端子には、共通にリセット信号RSTが入力される。また、フリップフロップ341a乃至341cの各データ入力端子には、それぞれ、排他的論理和ゲート332a乃至332cの出力が入力される。
フリップフロップ341a乃至341cによる各1ビットの出力からなる計3ビットがチップ識別子IDとなる。このチップ識別子IDとしての3ビットの配列としては、フリップフロップ341aの出力が最下位ビット(LSB)で、フリップフロップ341cの出力が最上位ビット(MSB)となる。
シフトレジスタ部310の出力データQが「0」であることに応じて、インバータ331の出力は「H」となる。この状態において、上記回路構成による加算器330は、チップ識別子保持部340から出力される3ビットのチップ識別子IDの値に1を加算した値を出力するように動作する。フリップフロップ341a乃至341cは、この加算器330の演算値である排他的論理和ゲート332a乃至332cの各出力を、クロックCLKの1周期ごとに入力して保持する。これにより、図4にて説明したようにクロックCLKの周期ごとにチップ識別子IDがインクリメントされていく。
そして、シフトレジスタ部310の出力データQが「1」となってインバータ331の出力が「L」の状態に変化したとする。これに応じて、加算器330の排他的論理和ゲート332a乃至332cは、それぞれ、そのときにフリップフロップ341a乃至341cから出力されているのと同じ値を出力するように動作する。すなわち、加算器330としてはチップ識別子IDの値をインクリメントする動作を停止する。これにより、以降のフリップフロップ341a乃至341cは、それぞれ、同じ値を継続して保持して出力することになる。この結果、図4に示したように、時刻t1、t2およびt3以降において、それぞれ、チップ識別子ID1、ID2、ID3の値が固定されるように設定される。なお、上記の時刻t1、t2およびt3は、シフトレジスタ部310の出力データQ1、Q2およびQ3が、「1」(禁止指示値)を継続する開始タイミングとなる。
なお、チップ識別子設定部300として、3ビット以外のチップ識別子IDに対応した構成を採る場合には、チップ識別子演算部320およびチップ識別子保持部340について、チップ識別子IDのビット数に応じて内部の構成を変更すればよい。
具体例として、図示は省略するが4ビットのチップ識別子IDに対応しては、チップ識別子保持部340において4つのフリップフロップ341a乃至341dを設ける。また、チップ識別子演算部320においては、図5に示す構成に対して、論理積ゲート333dおよび排他的論理和ゲート332dの組を追加し、論理積ゲート333dには、論理積ゲート333cの出力とフリップフロップ341cの出力とを入力する。また、排他的論理和ゲート332dには、論理積ゲート333dとフリップフロップ341dとの出力を入力し、その出力をフリップフロップ341dに入力させる。
このように本発明の第1の実施の形態によれば、チップ識別子IDを自動で設定するにあたり、チップ200におけるチップ識別子設定部300が積層順にしたがって直列に接続される。その接続は、チップ識別子設定部300内部におけるシフトレジスタ部310同士の入力と出力とを接続するというものであり、したがって、物理的な接続箇所は上側電極211と下側電極212とを接合する1箇所のみとなる。すなわち、本発明の第1の実施の形態においては、チップ識別子設定のための層間の専用配線数が1本にまで削減されている。これにより、例えば構造が異なるチップ200を積層する場合であっても、チップ識別子設定のためのチップ200ごとの電極の位置を合わせた設計などを容易に行うことができる。
また、第1の実施の形態の応用として、先に図1に示した構成において、ベースチップ400に対してもチップ識別子設定部300を設けて、チップ200−4のチップ識別子設定部300−4と接続する構成を採ることもできる。このような構成とした場合、ベースチップ400のチップ識別子設定部300においてはチップ識別子として「5」が設定される。この「5」としてのチップ識別子IDは、積層半導体装置100における総階層数、すなわち積層されたチップの総数に対応する。したがって、ベースチップ400は、自己のチップ識別子IDによって、積層半導体装置100において自己を含むチップ総数を認識できることになる。例えば、積層半導体装置においては、故障時の予備などのために正常時は使用しない冗長チップを積層する場合がある。このように設定されるベースチップ400のチップ識別子IDの値は、上記冗長チップの有無の判定に応用することができる。
なお、最終的に最下層のチップ識別子設定部300までチップ識別子IDが設定された状態においては、各層のシフトレジスタ部310の入力端子は、全て「1」が入力される状態となる。これにより、各層のプルアップ抵抗Rpuには電流が流れなくなり、この部位において電力は消費されなくなる。
<2.第2の実施の形態>
[チップ識別子設定部の構成例]
続いて、本発明の第2の実施の形態について説明する。上記第1の実施の形態は、「1」からの昇順による連番でチップ識別子IDをチップ200ごとに割り当てるための基本構成であり、各チップ識別子設定部300におけるシフトレジスタ部310は1ビットのシフトレジスタとされていた。
[チップ識別子設定部の構成例]
続いて、本発明の第2の実施の形態について説明する。上記第1の実施の形態は、「1」からの昇順による連番でチップ識別子IDをチップ200ごとに割り当てるための基本構成であり、各チップ識別子設定部300におけるシフトレジスタ部310は1ビットのシフトレジスタとされていた。
これに対して、第2の実施の形態においては、シフトレジスタ部310を2ビット以上のマルチビットによるシフトレジスタとして構成する。そして、この構成を利用して、第1の実施の形態と同様に各チップ200に対してチップ識別子IDを設定するとともに、チップ200ごとに関連した所定の情報内容を示すデータをベースチップ400(図1参照)に伝送できるようにする。なお、以降において、上記のチップ200ごとに関連した所定の情報内容を示すデータについては、チップ関連データと称することにする。
上記チップ関連データには、チップ200の機能、種別などを示す情報を挙げることができる。例えばある1つのチップ200はメモリであり、あるもう1つのチップはDSP(Digital Signal Processor)であるとする。これに応じて、上記チップ関連データとしては、それぞれ、メモリまたはDSPであることを示す値を有する。ベースチップ400は、このように伝送されるチップ関連データを保持することにより、各層のチップ200がどのような機能、種別のものであるのかを認識することができる。
図6は、第2の実施の形態におけるチップ識別子設定部300の構成例を示している。なお、この図の場合には、図示およびその説明を簡略なものとすることの便宜上、チップ200−1、チップ200−2およびベースチップ400の3層により積層半導体装置100が構成される場合を想定している。これに応じて、図6は、チップ識別子設定部300−1、300−2、および、ベースチップ400が内部に備えるメモリ420を抜き出して示したものとなっている。また、図6において、図3と同一部分には同一符号を付して説明を省略する。
図6のチップ識別子設定部300−1におけるシフトレジスタ部310−1は、4つのフリップフロップ311−1乃至314−1を直列に接続して形成される。すなわち、図6のシフトレジスタ部310−1は、4ビットのシフトレジスタとして構成されている。シフトレジスタ部310−1の出力データQ1は、下側電極212−1と上側電極211−2の接合を介して、下層のチップ識別子設定部300−2のシフトレジスタ部310−2に入力されるようになっている。この点は、例えば図3に示した第1の実施の形態と同様である。また、シフトレジスタ部310−1および2を4ビットのシフトレジスタとした構成は、全階層のチップ関連データが4ビットであることを想定したことに対応している。
また、図6においては、演算制御部350−1が備えられる。演算制御部350−1は、チップ識別子演算部320の演算動作を制御する部位であり、否定論理積ゲート351−1、論理積ゲート352−1およびシフトカウンタ353−1を備える。第2の実施の形態における演算制御部350およびシフトレジスタ部310は、特許請求の範囲に記載の制御部の一例である。
否定論理積ゲート351−1は、シフトレジスタ部310−1を形成するフリップフロップ311−1乃至314−1の出力を並列に入力して、その否定論理積を出力する。すなわち、否定論理積ゲート351−1は、シフトレジスタ部310−1の4つの並列出力のうちで少なくとも1つが「0」であれば「H」を出力し、シフトレジスタ部310−1の4つの並列出力の全てが「1」であれば「L」を出力する。
シフトカウンタ353−1は、この場合には、シフトレジスタ部310−1が4ビットシフトレジスタの構成を採ることに対応して、4ビットずつによるデータのシフトタイミングを検出する。そして、検出されたタイミングごとに「H」のパルスによるカウントタイミング信号C1を出力する。
論理積ゲート352−1は、否定論理積ゲート351−1の出力とシフトカウンタ353−1の出力を入力して、その論理積を出力する。
第2の実施の形態における加算部330−1は、上記論理積ゲート352−1の出力が「H」のときに、チップ識別子ID1をインクリメントする演算を行う。また、論理積ゲート352−1の出力が「L」のときには演算は実行せずに、最後に算出したチップ識別子ID1の値を継続して出力する。なお、この第2の実施の形態の加算部330は、図5の加算器330に準じて構成することができる。この場合には、図5に示されていたインバータ331を省略することで、「H」の論理積ゲート352−1の出力に応じてインクリメントの動作を行わせることができる。
下層のチップ識別子設定部300−2も、上記チップ識別子設定部300−1と同様の構成を採る。
ベースチップ400におけるメモリ420は、チップ関連データを保持するための部位である。このメモリ420は、図示するように、第1メモリ部421と第2メモリ部422とを直列に接続して形成することができる。第1メモリ部421と第2メモリ部422は、それぞれ、チップ関連データのデータサイズである4ビットの容量を有する。第1メモリ部421には、チップ識別子設定部300−1から伝送されたチップ200−1についてのチップ関連データが保持される。第2メモリ部422には、チップ識別子設定部300−2から伝送されたチップ200−2についてのチップ関連データが保持される。なお、第2の実施の形態において、メモリ420を備えるベースチップ400は、特許請求の範囲に記載の記憶装置の一例である。また、第1メモリ部421および第2メモリ部422を備えるメモリ420は、特許請求の範囲に記載の半導体装置関連データ記憶部の一例である。
[チップ識別子設定およびチップ関連データ伝送動作例]
図7のタイミングチャートを参照して、上記図6に示したチップ識別子設定部300−1および2によるチップ識別子IDの設定動作と、チップ関連データの伝送動作について説明する。
図7のタイミングチャートを参照して、上記図6に示したチップ識別子設定部300−1および2によるチップ識別子IDの設定動作と、チップ関連データの伝送動作について説明する。
まず、リセット信号RSTが「L」となっている時刻t0以前はリセット期間となる。このリセット期間においては、シフトレジスタ部310−1および2の各フリップフロップ311−1乃至314−1および311−2乃至314−2に対してチップ関連データの値を初期値として設定する初期化が行われる。ここでの説明においては、チップ200−1のチップ関連データが「0101」であるとする。これに応じて、フリップフロップ314−1、313−1、312−1および311−1のそれぞれに対して、「0」、「1」、「0」、「1」の値をセットする。この説明から理解されるように、フリップフロップ311−1乃至314−1の順による配列は、チップ関連データの最下位ビットから最上位ビットまでのビット配列に対応する。
また、チップ200−2のチップ関連データは「0111」であるとする。これに応じて、シフトレジスタ部310−1のフリップフロップ314−2、313−2、312−2および311−2のそれぞれに対して、「0」、「1」、「1」、「1」の値をセットする。
また、時刻t0以前のリセット期間において、チップ識別子ID1、ID2の各値が「0」にリセットされる点は、第1の実施の形態と同様になる。
また、シフトカウンタ353−1の出力であるカウントタイミング信号C1およびシフトカウンタ353−2のカウントタイミング信号C2は、リセット信号RSTが「L」のときには、「H」となる。この状態は、クロックCLKの立ち上がりエッジが入力されるまで継続される。
次に、時刻t0においてリセット信号RSTが「H」に立ち上がってリセット状態が解除された後、時刻t1に至ってクロックCLKが開始されて、最初の立ち上がりエッジが得られたとする。これに応じて、シフトカウンタ353−1および2の各カウントタイミング信号C1、C2は、「L」に立ち下がり、以降、4回のクロックCLKの立ち上がりごとに「H」のパルスを出力するという動作を実行する。図7では、時刻t1から4つ目のクロックCLKの立ち上がりタイミングとなる時刻t2と、時刻t2からさらに4つ目のクロックCLKの立ち上がりタイミングとなる時刻t4とにおいて「H」のパルスによるカウントタイミング信号C1、C2が出力されている。
また、時刻t1以降において、シフトレジスタ部310−1および310−2の各フリップフロップ311乃至314は、クロックCLKの立ち上がりタイミングごとに応じて、データを順次シフトしていく動作を実行する。
これにより、シフトレジスタ部310−1の出力データQ1は、図示するように、時刻t1の直前の「0」から、「1」、「0」、「1」の順で変化していく。すなわち、まず、初期値「0101」のビット列が順次出力される。
また、シフトレジスタ部310−1の入力、すなわち、フリップフロップ311−1の入力端子はプルアップ抵抗Rpu−1を介して電源電圧VDDの電位が設定されることで、固定値である「1」が入力されている。したがって、フリップフロップ311−1乃至314−1が上記のように初期値のデータのシフト出力を終えて以降は、フリップフロップ311−1乃至314−1の各々が固定値「1」を保持する状態となる。これにより、シフトレジスタ部310−1の出力データQ1は、上記の初期値「0101」を出力した時刻t2以降において、「1」を継続して出力する。
また、シフトレジスタ部310−2の出力データQ2については、時刻t1の直前の「0」から、以降、「1」、「1」、「1」の順で出力される。すなわち、4クロック周期により初期値「0111」が出力される。また、シフトレジスタ部310−2にはシフトレジスタ部310−1の出力データQ1が順次入力されている。このため、上記初期値「0111」が出力された時刻t2以降においては、シフトレジスタ部310−1の初期値である「0101」が4クロック周期により出力される。そして、この後は、シフトレジスタ部310−2におけるフリップフロップ311−2乃至314−2も各々が固定値「1」を保持する状態となり、時刻t4以降の出力データQ2としては、「1」が継続して出力される。
ベースチップ400のメモリ420に対しては、時刻t1の直前以降の出力データQ2の値が順次入力されていくことになる。すなわち、「01110101」の順でビットが入力される。メモリ420において入力されたビットは、まず、第1メモリ部421に入力されるが、第1メモリ部421においては、入力されたビットを順次シフトして第2メモリ部422に出力する。
第1メモリ部421と第2メモリ部422は、入力されたビットを内部でシフトさせながら、4ビット分のビット格納領域に対して順次格納していく。これにより、第2メモリ部422には、シフトレジスタ部310−2に設定された初期値「0111」が保持される。また、第1メモリ部421には、シフトレジスタ部310−1に設定された初期値「0101」が保持される。
このように、チップ200−1および2の各チップ関連データは層間の接続を経由して順次ベースチップ400のメモリ420に伝送される。そして、チップ200−1のチップ関連データは第1メモリ部421に保持され、チップ200−2のチップ関連データは第2メモリ部422に保持される。
また、チップ識別子IDは次のように設定される。時刻t1以前においては、チップ識別子ID1、ID2は何れも「0」にリセットされている。このとき、否定論理積ゲート351−1には初期値が入力されているため「H」を出力し、シフトカウンタ353−1のカウントタイミング信号C1も、図7に示すように「H」となっている。これにより、加算器330−1は、「0」のチップ識別子ID1をインクリメントして「1」を出力している。同様にして、チップ識別子設定部300−2においても、加算器330−2は、「0」のチップ識別子ID2をインクリメントして「1」を出力している。
そして、図7に示すように、時刻t1のクロックCLKの立ち上がりタイミングで、チップ識別子保持部340−1および2は、それぞれ、加算器330−1および2が出力している「1」を保持して出力する。なお、時刻t1乃至t2の期間においてシフトカウンタ353−1および2のカウントタイミング信号C1およびC2が「L」となるために、加算器330−1および2はいずれもチップ識別子ID1、ID2のインクリメントは行わない。
ここで、時刻t1から4クロック目となる時刻t2に至ると、カウントタイミング信号C1およびC2が「H」となる。しかし、チップ識別子設定部300−1においては、時刻t2以降、シフトレジスタ部310−1の各フリップフロップ311−1乃至314−1は全て「1」を出力している状態にある。すなわち、フリップフロップ311−1乃至314−1により保持される値は「1111」(禁止指示値)で固定される。これに応じて、否定論理積ゲート351−1は「L」を出力しているために加算器330−1によるチップ識別子ID1のインクリメントは行われない。すなわち、チップ識別子ID1の更新が禁止される。これにより、時刻t2以降、チップ識別子保持部340−1は、「1」を保持し続けることになり、チップ識別子ID1として「1」が設定されたことになる。
一方、時刻t2におけるチップ識別子設定部300−2においては前段のチップ識別子保持部300−1の初期値のビット列をシフトさせている状態にあり、フリップフロップ311−2乃至314−2のうちの少なくとも何れか1つは「0」を出力している。これにより、論理積ゲート352−2は「H」を出力するため、加算器330−2は時刻t2に対応するタイミングで、「1」のチップ識別子ID2をインクリメントして「2」を出力する。そして、時刻t2から次のクロックCLKの立ち上がりタイミングである時刻t3においてチップ識別子保持部340−2は、上記加算器330−2が出力する「2」を保持してチップ識別子ID2として出力する。
次に時刻t3乃至t4の期間は、シフトカウンタ353−2のカウントタイミング信号C2が「L」であるために加算器330−2によるインクリメントの演算は停止される。次に、時刻t4に至ってシフトカウンタ353−2のカウントタイミング信号C2が「H」となる。しかし、時刻t4以降において、シフトレジスタ部310−2のフリップフロップ311−2乃至314−2は、それぞれ、シフトレジスタ部310−1の入力端子からシフトされた固定値「1」を保持する。これに応じて、時刻t4以降は、否定論理積ゲート351−2も「L」を継続して出力するために、加算器330−2によるチップ識別子ID2のインクリメントは停止され、チップ識別子保持部340−2は、「2」を保持し続ける。このように、チップ識別子ID2として「2」が設定される。
これまでの説明から理解されるように、本発明の第2の実施の形態においては、積層されたチップ200の上層から下層にかけて、「1」からの連番によるチップ識別子IDを順次設定していくことができる。これとともに、積層されたチップ200ごとに対応するチップ関連データを、チップ層間の接続を介して下層に順次伝達していくことで、例えば最下層のベースチップ400においてそのチップ関連データを保持させることができる。
先に述べた4つ目の従来技術では、連番によるチップ識別子を割り当てていくことしかできない。これに対して本発明の第2の実施の形態では、上記のように、チップ識別子IDの設定と同時に、チップ関連データというチップ識別子ID以外の付加情報をベースチップ400に伝送する。このように、本発明の第2の実施の形態においては、単にチップ識別子IDを設定するのではなく付加情報も伝送するという付加価値が与えられている。
<3.第3の実施の形態>
[チップの構成例]
続いて、本発明の第3の実施の形態について説明する。この第3の実施の形態に対応するチップ200としては、例えばメモリ部を内部に実装したものを想定する。メモリ部の実際としては、例えばDRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)またはフラッシュメモリなどを挙げることができる。また、メモリ部は1以上のメモリプレーンにより形成されるものとする。メモリプレーンは、例えばメモリ部において論理的に分割された記憶領域をいう。メモリプレーンのサイズに関しては各チップのメモリ部において共通であることとする。ただし、メモリ部を形成するメモリプレーン数は同一である必要はなく、チップ200の間で異なっていてよいものとする。
[チップの構成例]
続いて、本発明の第3の実施の形態について説明する。この第3の実施の形態に対応するチップ200としては、例えばメモリ部を内部に実装したものを想定する。メモリ部の実際としては、例えばDRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)またはフラッシュメモリなどを挙げることができる。また、メモリ部は1以上のメモリプレーンにより形成されるものとする。メモリプレーンは、例えばメモリ部において論理的に分割された記憶領域をいう。メモリプレーンのサイズに関しては各チップのメモリ部において共通であることとする。ただし、メモリ部を形成するメモリプレーン数は同一である必要はなく、チップ200の間で異なっていてよいものとする。
上記のようなチップ200が積層された積層半導体装置では、例えばある1つのチップ200のメモリにおける1つのメモリプレーンを指定してアクセスを行うことになる。積層半導体装置の場合、このアクセスのための信号は、層間の接続を経由して各チップ200に対して伝達されるため、チップ200は、それぞれ、指定されたメモリプレーンが自己において実装されているものであるか否かを判断する必要がある。
第3の実施の形態においては、このような状況に対応して、これまでのチップ識別子設定のための構成を、メモリプレーンのオフセットアドレスの設定に応用する。
図8は、第3の実施の形態におけるチップ識別子設定部300を備えるチップ200−1乃至3の構成例を示している。この場合には、積層半導体装置100において、最上層から下層にかけてチップ200−1、200−2、200−3の順に配置される。また、ここでは図示していないが、チップ200−3の下層においてベースチップ400が配置されている。
この図に示すチップ200−1乃至3においては、それぞれ、チップ識別子設定部300とともに、メモリ選択部220およびメモリ部230が設けられる。
メモリ部230はデータが記憶される部位であり、1以上のメモリプレーン(MP)により構成される。具体的に、チップ200−1のメモリ部230−1は2つのメモリプレーンを備える。チップ200−2のメモリ部230−2は4つのメモリプレーンを備える。チップ200−3のメモリ部230−3は1つのメモリプレーンを備える。なお、これらチップ200−1乃至3の各メモリ部230が有するメモリプレーンは何れも同じ記憶容量を有している。
そして、メモリプレーンに対しては、上層から下層のチップ200にしたがった順で#0からの昇順による番号を付すこととしている。したがって、メモリ部230−1においては2つのメモリプレーンにそれぞれ#0、#1が付される。また、メモリ部230−2においては4つのメモリプレーンにそれぞれ#2、#3、#4、#5が付される。さらに、メモリ部230−3においては1つのメモリプレーンに#6が付される。
メモリ選択部220は、チップ識別子設定部300により設定されたチップ識別子IDと、例えばベースチップ400から伝達された上位アドレスADR−Hとを入力して、上位アドレスADR−Hより指定されるメモリプレーンを選択する部位である。
なお、第3の実施の形態において設定されるチップ識別子IDは、チップ200自体の識別子ではなく、メモリプレーンに対応するオフセットアドレスとなる。しかし、このオフセットアドレスは、チップ200ごとに異なってくるものであり、したがって、積層されたチップごとに固有となる値を設定するという点で、第1および第2の実施の形態におけるチップ識別子IDと同等の意義を有するものとみることができる。
メモリ選択部220−1は、メモリ選択信号S0、S1を出力することにより、メモリプレーン#0、#1をそれぞれ選択する。メモリ選択部220−2は、メモリ選択信号S2乃至S5を出力することにより、メモリプレーン#2乃至#5をそれぞれ選択する。さらにメモリ選択部220−3は、メモリ選択信号S6を出力することにより、メモリプレーン#6を選択する。
なお、通常は、チップ200−1乃至3の間で1つのメモリプレーンのみが選択されるように上位アドレスADR−Hによる指定が行われる。上位アドレスADR−Hは、図示するように、層間の接続を介して、メモリ選択部220−1乃至−3に対して共通の信号経路により伝達される。また、選択されたメモリプレーンにおけるアドレスの指定は、下位アドレスADR−Lの指定により行われるようになっている。
次に、第3の実施の形態におけるチップ識別子設定部300の構成について、チップ200−1のチップ識別子設定部300−1を例に挙げて説明する。なお、残るチップ200−2および3のチップ識別子設定部300−2および3の構成は、上記チップ識別子設定部300−1と同一である。なお、チップ識別子設定部300−1の説明にあたり、図3および図6と同一部分には同一符号を付して説明は適宜省略する。
図8のチップ識別子設定部300−1において、シフトレジスタ部310−1は、4つのフリップフロップ311−1乃至314−1を備えることで、4ビットシフトレジスタとして構成される。説明を分かりやすくすることの便宜上、シフトレジスタ部310−1とチップ識別子保持部340−1とは同じ4ビットで構成されていることとするが、必ずしも一致していなくてもよい。具体例として、1つのチップ200に実装することができるメモリプレーンの最大数が「4」であるとする。この場合、チップ識別子保持部340−1が4ビットであるとしても、シフトレジスタ部310−1については3ビットシフトレジスタとして構成してよい。この場合、チップ識別子演算部320−1は、4ビットのチップ識別子ID1に3ビットの並列出力SP1を加算する演算を行えばよい。ただし、他のチップ200−2乃至3に搭載された各シフトレジスタ部310−2乃至3も同じビット数で構成される必要がある。
なお、フリップフロップ311−1乃至314−1の順による配列は、最下位ビットから最上位ビットまでのビット配列に対応する。この点は、図6の場合と同様である。
また、図8のチップ識別子設定部300−1においては、プルアップ抵抗Rpuに代えて、プルダウン抵抗Rpdを備える。プルダウン抵抗Rpdは、図示するように、シフトレジスタ部310−1の入力端子(フリップフロップ311−1の入力端子)とグランドとの間に挿入される。プルダウン抵抗Rpdは、特許請求の範囲に記載の固定値入力部の一例である。
また、図8における加算器330−1は、加算イネーブル信号ADDENが「H」となったタイミングで、チップ識別子ID1にシフトレジスタ部310−1の並列出力SP1が示す値を加算する。なお、この場合の加算器330−1は、例えば4ビット幅により演算値を出力する。これに対応して、チップ識別子保持部340−1も例えば4つのフリップフロップを備えることで4ビット幅となるように構成される。このようにチップ識別子保持部340−1を4ビット幅で構成しているのは、上位アドレスADR−Hが4ビットである場合を想定していることに対応する。すなわち、メモリ選択部220−1においては、チップ識別子保持部340−1から出力されるチップ識別子ID1と上位アドレスADR−Hと比較を行うため、チップ識別子ID1と上位アドレスADR−Hとは同じビット数である必要がある。このため、図8においては、チップ識別子保持部340−1およびチップ識別子演算部320−1について、共に4ビットを出力するように構成することとしている。
[チップ識別子の設定動作例]
上記図8に示す構成におけるチップ識別子ID(メモリオフセットアドレス)の設定動作について、図9のタイミングチャートにより説明する。
上記図8に示す構成におけるチップ識別子ID(メモリオフセットアドレス)の設定動作について、図9のタイミングチャートにより説明する。
まず、リセット信号RSTが「L」となる時刻t0以前のリセット期間においては、シフトレジスタ部310−1乃至3ごとに、初期値として、対応のチップ200−1乃至3がそれぞれメモリ部230−1において備えるメモリプレーン数を示す値を設定する。チップ200−1は2つのメモリプレーンを備えるため、フリップフロップ314−1、313−1、312−1および311−1に対して、それぞれ「0」、「0」、「1」、「0」を設定する。また、チップ200−2は4つのメモリプレーンを備えるため、フリップフロップ314−2、313−2、312−2および311−2に対して、それぞれ「0」、「1」、「0」、「0」を設定する。また、チップ200−3は1つのメモリプレーンを備えるため、フリップフロップ314−3、313−3、312−3および311−3に対して、それぞれ「0」、「0」、「0」、「1」を設定する。このように、時刻t0以前においてシフトレジスタ部310−1乃至3に設定される各初期値は、それぞれ、「2」、「4」、「1」となる。このような初期値の設定の仕方から分かるように、シフトレジスタ310の各々は、初期値として与える数値以上のビット数を有している必要がある。
次に、時刻t0に至ってリセット信号RSTを「H」に反転させたうえで、時刻t1においてクロックCLKを開始させることで、以降、シフトレジスタ部310−1乃至3はビット列のシフトを行っていくことになる。これにより、時刻t1以降のシフトレジスタ部310−1乃至3は、並列出力SP1、SP2、SP3として図示するように、初期値からクロック周期ごとに変化していく。
ここで、最上層のチップ200−1におけるシフトレジスタ部310−1では、時刻t1以降においてデータをシフトさせていくのに応じて、フリップフロップ311−1から314−1にかけて順次「0」が入力されてシフトされていく。これは、シフトレジスタ部310−1の入力端子がプルダウン抵抗Rpd−1によりグランド電位で固定されていることで、シフトレジスタ部310−1に対して「0」の固定値が継続して入力されることによる。
これにより、時刻t1から4つ目となるクロックCLKの立ち上がりタイミングである時刻t2において初期値のビット列を全てシフトさせたタイミングで、シフトレジスタ部310−1の各フリップフロップ311−1乃至314−1は固定値「0」を保持する。そして、以降、「0」の並列出力SP1を継続させることになる。
また、シフトレジスタ部310−2は、時刻t2からさらに4つ目となるクロックCLKの立ち上がりタイミングである時刻t4に至るまでに、自己と、シフトレジスタ部310−1の初期値のビットを全てシフトさせる。そして、以降、シフトレジスタ部310−2の各フリップフロップ311−2乃至314−2も固定値「0」を保持することになり、「0」の並列出力SP2を継続させる。
また、シフトレジスタ部310−3は、図9においては示されていないが、時刻t4からさらに4つ目となるクロックCLKの立ち上がりタイミングに至るまでに、自己と、シフトレジスタ部310−2および310−1の初期値のビットを全てシフトさせる。そして、以降、並列出力SP3として「0」を継続して出力する。
加算イネーブル信号ADDENは、図示するように、時刻t1においてクロックCLKの立ち上がりが開始されて以降、クロックCLKが4回立ち上がるごとに1回のタイミングで「H」となるパルスとして出力される。すなわち、時刻t1の後、時刻t2と時刻t4に対応したクロック周期のタイミングで「H」となるように出力される。加算器330−1は、この加算イネーブル信号ADDENが「H」となる時刻t2、t4のタイミングで、チップ識別子ID1と並列出力SP1とを加算する。同時に、加算器330−2および3も、それぞれ、チップ識別子ID2と並列出力SP2とを加算し、チップ識別子ID3と並列出力SP3とを加算する。
まず、時刻t2において、加算器330−1は、「0」のチップ識別子ID1と「0」の並列出力SP1とを加算して「0」を出力する。したがって、時刻t2の次のクロックCLKの立ち上がりタイミングである時刻t3において、チップ識別子保持部340−1は「0」を保持することになる。この動作は、時刻t4以降において加算イネーブル信号ADDENが「H」となるときも同様である。したがって、時刻t3以降、チップ識別子保持部340−1は「0」を継続して保持し、チップ識別子ID1として出力する。
このように、最上層のチップ200−1に対応しては、メモリオフセットアドレスを示すチップ識別子ID1として、「0」が設定されるようになっている。
また、加算器330−2は、時刻t2において、「0」のチップ識別子ID2と「2」の並列出力SP2とを加算して「2」を出力する。時刻t2は時刻t1を含めて4つ目のクロックCLKの立ち上がりタイミングである。したがって、この時刻t2において得られている「2」の並列出力SP2は、時刻t1以前においてシフトレジスタ部310−1にて保持されていた、メモリ部230−1のメモリプレーン数を示す初期値である。
そして、チップ識別子保持部340−2は、上記時刻t2の次のクロックCLKの立ち上がりタイミングである時刻t3において、「2」を保持してチップ識別子ID2として出力することになる。
次に、時刻t5に至ったタイミングでは、並列出力SP2は、「0」となっている。これにより、時刻t5において加算器330−2は、加算結果として「2」を出力する。なお、時刻t5以降において、並列出力SP2は「0」を継続するため、加算器330−2は、常に演算結果として「2」を出力することになる。これにより、チップ200−2に対応しては、メモリオフセットアドレスを示すチップ識別子ID2として、「2」が設定されたことになる。
また、加算器330−3は、時刻t2においては、「0」のチップ識別子ID3と「4」の並列出力SP3とを加算して「4」を出力する。この時刻t2において得られている「4」の並列出力SP3は、時刻t1以前においてシフトレジスタ部310−2にて保持されていた、メモリ部230−2のメモリプレーン数を示す初期値である。そして、チップ識別子保持部340−3は、上記時刻t2の次のクロックCLKの立ち上がりタイミングである時刻t3において、「4」を保持してチップ識別子ID3として出力する。
次に、時刻t5に至ったタイミングでは、並列出力SP3は、シフトレジスタ部310−1に設定した、メモリ部230−1のメモリプレーン数を示す初期値である「2」となっている。これにより、時刻t5において加算器330−3は、加算結果として「6」を出力する。また、図7においては、図示していないが、時刻t4の次に加算イネーブル信号ADDENが「H」となるタイミングでは、並列出力SP3も「0」となり、以降、その状態を継続する。これにより、チップ200−3に対応しては、メモリオフセットアドレスを示すチップ識別子ID3として、「6」が設定される。
このように、図8に示す構成では、最上層のチップ200−1に対応するチップ識別子ID1については「0」が設定されるようにしている。そのうえで、チップ200−1よりも下層のチップ200−2および3においては、順次、自己よりも上層に配置されるチップ200が備えるメモリプレーンの総数がチップ識別子IDとして設定されるようになっている。具体的には、図8により説明したように、チップ200−1乃至3ごとのチップ識別子ID1乃至ID3として、それぞれ「0」、「2」、「6」が設定される。このチップ識別子ID1乃至ID3は、図6から分かるように、チップ200−1乃至3がメモリ部230−1乃至3において備えるメモリプレーンにおける最も小さい番号に一致している。すなわち、チップ識別子ID1乃至ID3は、チップ200−1乃至3ごとのメモリプレーンのオフセットアドレスを正しく示している。
メモリ選択部220は、上記のように設定されたチップ識別子IDと上位アドレスADR−Hとを利用して例えば以下のようにメモリプレーンを選択する。図10は、チップ200−2におけるメモリ選択部220−2の構成例を示している。
図10のメモリ選択部220−2は、4つの比較器222a乃至222d、および、3つの加算器221b乃至221dを備える。チップ識別子IDは、比較器222aと加算器221b乃至221dとに対して入力される。
加算器221bは、入力されたチップ識別子ID2の値に「1」を加算した値を出力する。加算器221cは、入力されたチップ識別子ID2の値に「2」を加算した値を出力する。加算器221dは、入力されたチップ識別子ID2の値に「3」を加算した値を出力する。
比較器222aは、チップ識別子ID2と上位アドレスADR−Hの各値を比較し、一致していれば「H」、一致していなければ「L」のメモリ選択信号S2を出力する。また、比較器222bは、チップ識別子ID2に対して「1」を加算した値と上位アドレスADR−Hの値を比較し、一致していれば「H」、一致していなければ「L」のメモリ選択信号S3を出力する。比較器222cは、チップ識別子ID2に「2」を加算した値と上位アドレスADR−Hの値を比較し、一致していれば「H」、一致していなければ「L」のメモリ選択信号S4を出力する。比較器222dは、チップ識別子ID2に「3」を加算した値と上位アドレスADR−Hの値を比較し、一致していれば「H」、一致していなければ「L」のメモリ選択信号S5を出力する。
例えば、上位アドレスADR−Hが示すアドレスが「2」乃至「5」の何れかであるとする。このときには、上記メモリ選択信号S2乃至S5の何れか1つが「H」となるように出力される。メモリ選択信号S2乃至S5は、それぞれ、「H」のときに、対応するメモリプレーン#2乃至#5が選択された状態となる。また、上位アドレスADR−Hが示すアドレスが「2」乃至「5」以外である場合には、メモリ選択信号S2乃至S5は全て「L」となってメモリプレーン#2乃至#5の何れも選択されない。
このように、メモリ選択部220−2は、例えばチップ識別子ID2の値を利用して、自己が備えるメモリプレーンの各番号と上位アドレスADR−Hとを比較し、上位アドレスADR−Hと一致した番号のメモリプレーンを選択するようにされている。そして、他のチップ200においても、図10に示す構成に準じて、自己が備えるメモリプレーンの数に応じた比較器222と加算器221とを組み合わせてメモリ選択部220が構成されている。
これにより、各チップ200−2において、上位アドレスADR−Hにより自己が備えるメモリプレーンが指定された場合には、その指定されたメモリプレーンを選択した状態とすることができる。一方、上位アドレスADR−Hが自己の備えるメモリプレーンを指定するものでなかった場合には、自己が備えるメモリプレーンを選択しないようにすることができる。
これまで述べたように、第3の実施の形態においては、メモリオフセットアドレスとしてのチップ識別子IDを設定することができるが、このことは、連番によらない任意のチップ識別子IDをチップ200ごとに設定できることを意味している。例えば4つ目の従来技術では、「0」から順次インクリメントされた値のチップ識別子IDを割り当てていくことしかできない。このように、本発明の第3の実施の形態では、チップ識別子IDの設定に関して、従来技術よりも高い自由度が与えられている。
<4.第4の実施の形態>
[チップ識別子設定部の構成例]
先の第2の実施の形態は、チップ識別子IDの設定とともに、チップ200ごとのチップ関連データをベースチップ400のメモリ420に伝送する構成を採っていた。この際、チップ関連データのビット数は、チップ200ごとに、例えば4ビットで共通であり、かつ固定とされていた。
[チップ識別子設定部の構成例]
先の第2の実施の形態は、チップ識別子IDの設定とともに、チップ200ごとのチップ関連データをベースチップ400のメモリ420に伝送する構成を採っていた。この際、チップ関連データのビット数は、チップ200ごとに、例えば4ビットで共通であり、かつ固定とされていた。
これに対して、例えばチップ関連データについて、チップ間で共通に固定長とするのではなく可変長とする場合を想定してみる。すなわち、チップ関連データのビット数についてチップ200ごとに異なってもよいこととする。このようにすれば、チップ関連データについてその内容を拡張できるなど、さらに自由度を高くすることができる。そこで、第4の実施の形態としては、チップごとに異なるビット数のチップ関連データを伝送することができるチップ識別子設定部300の構成を提案する。
図11は、第4の実施の形態におけるチップ識別子設定部300の構成例を示している。なお、この図において図6と同一部分は同一符号を付して、説明については適宜省略する。まず、シフトレジスタ部310においては、初段からn個のフリップフロップ311(1)乃至(n)が直列に接続される。また、フリップフロップ311(n)に続けて、この場合には4つのフリップフロップ312(1)乃至(4)が直列に接続される。すなわち、この図におけるシフトレジスタ部310は、(n+4)ビットのシフトレジスタとして形成される。
そのうえで、第4の実施の形態においては、チップ関連データは、実データ部と、データ長部から成るものとする。そして、上記構成によるシフトレジスタ部310において、フリップフロップ311(1)乃至(n)は、初期値として、チップ関連データの実データ部のビット列が設定される部位となる。したがって、フリップフロップ311(1)乃至(n)の数は、対応するチップ関連データの実データ部のデータ長(ビット数)に対応する。したがって、このフリップフロップ311(1)乃至(n)の数は実データ部のビット数に応じてチップ200ごとに異なるものとなる。
また、フリップフロップ312(1)乃至(4)は、初期値として、チップ関連データのデータ長部が示す値を表すためのビット列が設定される部位である。図11の例では、4つのフリップフロップ312(1)乃至(4)を備え、その順の最下位ビットから最上位ビットの4ビットの数値として、データ長を表すことができる。すなわち、この場合には最大15ビットまでのデータ長を表すことができる。また、データ長部に格納されるデータ長を示す値は、チップ関連データ自体のデータ長を示すものとする。すなわち、実データ部およびデータ長部とのサイズを合計した値であるものとする。具体例として、実データ部とデータ長部のデータ長が、それぞれ、8ビットと4ビットであるとすれば、データ長部において「12」の値を格納することになる。
また、ここでのフリップフロップ312の数については、チップ200ごとに共通であるものとする。すなわち、データ長部としては固定長になる。図においては、4ビットで固定とした例を示しているが、実際においては、積層されるチップ200ごとのチップ関連データのうちで最も長いもののデータ長を表現するのに必要なビット数と同じ数のフリップフロップ312を備えることになる。
また、演算制御部350においては、ダウンカウンタ355、論理和ゲート356および論理積ゲート357を備える。ダウンカウンタ355は、自己が保持するカウント値CTが「0」の場合に、「H」のフラグFLGを出力する。また、これとともに、フリップフロップ312(1)乃至(4)に設定されている値、すなわち、並列出力SPをロードする。そして、このロードした値を、クロックCLKの1周期ごとに応じたタイミングでダウンカウントを実行する。
論理和ゲート356は、フリップフロップ312(1)乃至(4)からの並列出力SPの論理和を出力する。すなわち、フリップフロップ312(1)乃至(4)の保持値の少なくとも1つが「1」であれば「H」を出力し、全ての保持値が「0」であれば「L」を出力する。論理積ゲート357は、論理和ゲート356の出力とフラグFLGとの論理積を出力する。
第4の実施の形態においては、積層されるチップ200ごとに、上記図11に示した構成のチップ識別子設定部300を備える。ただし、そのチップ200が対応するチップ関連データのデータ長に応じて、シフトレジスタ部310のフリップフロップ311(1)乃至(n)の数が変更される。
[チップ識別子設定およびチップ関連データ伝送動作例]
上記図11に示した構成によるチップ識別子設定部300によるチップ識別子IDの設定と、チップ関連データの伝送の各動作例について、図12のタイミングチャートを参照して説明する。なお、図12による説明にあたり、図11に示したチップ識別子設定部300は、上から2番目の層に対応するチップ200−2において備えられるものであることを前提とする。
上記図11に示した構成によるチップ識別子設定部300によるチップ識別子IDの設定と、チップ関連データの伝送の各動作例について、図12のタイミングチャートを参照して説明する。なお、図12による説明にあたり、図11に示したチップ識別子設定部300は、上から2番目の層に対応するチップ200−2において備えられるものであることを前提とする。
まず、リセット信号RSTが「L」となっている時刻t0以前のリセット期間において、シフトレジスタ部310におけるフリップフロップ311(1)乃至(n)に対して、初期値として、チップ200−2に対応するチップ関連データの実データ部の値を設定する。また、フリップフロップ312(1)乃至(4)に対して、初期値として、データ長部が示す値を設定する。
ここで、チップ200−2のチップ関連データは3ビットであることとする。したがって、図11のシフトレジスタ部310は、チップ関連データに対応して3つのフリップフロップ311(1)乃至(3)を備えることになる。
この場合に、フリップフロップ312(1)乃至(4)に対して設定されるデータ長部の値は、次のようになる。すなわち、チップ200−2に対応するチップ関連データの実データ部のデータ長である3ビットと、データ長部のデータ長である4ビットとを加算した「7」を設定することになる。具体的には、フリップフロップ312(4)、312(3)、312(2)および312(1)の順で、最上位ビットから最下位ビットにかけて、「0」、「1」、「1」、「1」が設定される。この初期値「0」「1」「1」「1」が、データ長を表す数値「7」を示す並列出力SPとしてダウンカウンタ355に供給される。
また、リセット期間において、ダウンカウンタ355のカウント値CTは「0」に初期化される。これに応じて、ダウンカウンタ355は「H」のフラグFLGを出力している状態にある。また、リセット期間において、上記のようにフリップフロップ312(1)乃至(4)に対してデータ長部が示すデータ長の値が設定されることで、並列出力SPのビット列には「1」が含まれる。このため、論理和ゲート356は「H」を出力し、論理積ゲート357は「H」を出力する。
この場合の加算器330は、論理積ゲート357が「H」のときにチップ識別子IDをインクリメントした値を出力するようにされている。また、リセット期間においてチップ識別子保持部340は「0」を保持するように初期化される。したがって、リセット期間において加算器330は、「0」のチップ識別子IDをインクリメントした「1」を出力している。
上記の状態のもとで時刻t0を経過してリセット信号RSTが「H」に反転し、時刻t1からクロックCLKが立ち上がったとする。これに応じて、チップ識別子保持部340は、加算器330から出力されていた「1」を保持する。すなわち、チップ識別子IDは、時刻t1において「0」から「1」に変化する。
また、同じ時刻t1において、シフトレジスタ部310は、設定された初期値のビット列を、1クロック周期ごとに順次シフトして出力していく動作を開始する。
また、ダウンカウンタ355は、時刻t1以前において「0」のカウント値CTを保持していたため、時刻t1のクロックCLKの立ち上がりタイミングで並列出力SPの値である「7」をカウント値CTとしてロードする。また、このように「0」以外のカウント値CTを保持したことに応じて、フラグFLGは「L」に反転させる。
また、時刻t1以降において、ダウンカウンタ355は、クロックCLKの1周期ごとに、ロードした「7」からデクリメント(カウントダウン)を行う。ここでは、「7」をカウントダウンした結果、時刻t2に至ってカウント値CTが「0」になったことが示されている。
このようにカウント値CTが「0」になるタイミングでは、ちょうど、リセット期間においてシフトレジスタ部310に設定された計7ビットの初期値をシフトして出力し終えた状態となる。したがって、このときのフリップフロップ312(1)乃至(4)には、上層のチップ200−1のシフトレジスタ部310において初期値として設定されたデータ長の値が保持されている状態となっている。このチップ200−1側にて初期値として設定されたデータ長の値について、ここでは、「14」としている。なお、チップ200−1に対応するデータ長の値が「14」であるということは、チップ200−1に対応するチップ関連データの実データ部は10ビットであることになる。これに応じて、図示は省略するが、チップ200−1のシフトレジスタ部310−1においては、10個のフリップフロップ311(1)乃至(10)および4個のフリップフロップ312(1)乃至(4)が備えられていることになる。
さらに、この時刻t2においては、カウント値CTが「0」になったことに応じて、フラグFLGが「H」となる。このとき、並列出力SPは「14」であり、これに応じて論理和ゲート356の出力は「H」となるため、論理積ゲート357の出力も「H」となる。これにより、加算器330は、時刻t2において、「1」のチップ識別子IDをインクリメントして「2」を出力する。
そして、時刻t2の次のクロックCLKの立ち上がりタイミングである時刻t3に至ると、チップ識別子保持部340は、時刻t2において加算器330から出力された「2」を保持する。これにより、時刻t3以降、チップ識別子IDは「2」となる。
また、時刻t3以降においては、ダウンカウンタ355が、「14」の並列出力SPをロードしてダウンカウントを実行することになる。図においては、「14」からデクリメントを行った結果、時刻t4においてカウント値CTが「0」となっている。この時刻t4は、シフトレジスタ部310が、上層のチップ200−1において初期値として設定された計14ビットの実データ部(10ビット)、および、データ長部(4ビット)のビット列をシフト出力し終えたタイミングとなる。
上記の状態においては、シフトレジスタ部310のフリップフロップ311(1)乃至(3)、および、フリップフロップ312(1)乃至(4)は、全て「0」を保持している状態になる。ここで保持される「0」は、上層のチップ200−1において、プルダウン抵抗Rpdによってシフトレジスタ部310−1に入力されている固定値がシフトされたものである。このように、時刻t4以降、シフトレジスタ部310の各フリップフロップ311(1)乃至(3)、および312(1)乃至(4)は、いずれも「0」を保持する状態を継続する。このため、フリップフロップ312(1)乃至(4)は「0」の並列出力SPの出力を継続する。
これにより、時刻t4において、フラグFLGは「H」となるが、論理和ゲート356は「L」となり、論理積ゲート357からは「L」が出力される。これに応じて、加算器330は、チップ識別子IDをインクリメントする動作を行わないため、その出力は、時刻t4以前と同じ「2」を出力する。これにより、時刻t4から次のクロックCLKの立ち上がりタイミングである時刻t5において、チップ識別子保持部340は、以前と同じ「2」を保持する。上述したように、時刻t4以降において並列出力SPは「0」が継続するため、以降の加算器330によるインクリメントは実行されず、したがって、時刻t5以降におけるチップ識別子IDは「2」が継続することになる。このように、チップ識別子IDとして「2」が設定される。
なお、時刻t4において、ダウンカウンタ355は「0」の並列出力SPをロードすることになる。したがって、以降においてダウンカウンタ355はダウンカウントを実行することなく、「0」のカウント値CTを継続して保持し、「H」のフラグFLGの出力を継続する状態となる。
このようなチップ識別子設定部300の動作が、例えば積層されたチップ200ごとにおいて実行されることで、最上層から最下層のチップ200ごとに「1」から昇順で連番となるチップ識別子が設定される。
[ベースチップにおけるデータデコード例]
また、上記図12により説明した動作が行われることで、ベースチップ400においては、最終的に、最上層から最下層のチップ200ごとのシフトレジスタ部310に初期値として設定されたチップ関連データが伝送されて保持される。
また、上記図12により説明した動作が行われることで、ベースチップ400においては、最終的に、最上層から最下層のチップ200ごとのシフトレジスタ部310に初期値として設定されたチップ関連データが伝送されて保持される。
図13は、ベースチップ400のメモリ420にて保持されたチップ関連データの例を示している。なお、この図は、最上層から下層にかけてチップ200−1乃至3が積層され、さらにその下層にベースチップ400が配置された積層半導体装置100を想定している。
図13のメモリ420においては、チップ200−1乃至3ごとに対応するチップ関連データ500−1乃至3が格納されている状態が示されている。チップ関連データ500の各々は、上位ビットから下位ビットにかけてデータ長部501と実データ部502のビットが配列されて成る。
図12により説明した動作が実行されているときには、メモリ420における最上位ビットから下位ビットにかけて、チップ関連データ500−3、500−2、500−1の順でデータが入力されて格納されていく。これにより、メモリ420においては、最上位ビットから最下位ビットにかけて、図13に示すようにチップ関連データ500−3乃至1のデータ長部501と実データ部502が順次配列されるように格納される。なお、図11の説明によれば、データ長部501は、対応する実データ部502と自己のビット数とを合計したものとなる。すなわち、データ長部501は、対応するチップ関連データ500のデータ長を示す。
このようにチップ関連データ500が格納されるメモリ420から、ベースチップ400は、例えば下記のように所望のチップ200の実データ部502を抽出する。このためには、ベースチップ400は、まず、メモリ420の先頭(最上位ビット)から配置されるデータ長部501−3により示されるデータ長を認識する。なお、第4の実施の形態において、データ長部501は例えば4ビットの固定長であることが規定されており、これについては、ベースチップ400は既知である。
そして、メモリ420の先頭から、この認識したデータ長に対応したビット位置を求めることで、チップ関連データ500−3の終端位置とチップ関連データ500−2の開始位置を認識する。次に、チップ関連データ500−2の開始位置から配置されるデータ長部501−2を参照し、チップ関連データ500−2のデータ長部を認識する。これに基づいて、チップ関連データ500−2の終端位置とチップ関連データ500−1の開始位置を認識する。そして、チップ関連データ500−1の開始位置から配置されるデータ長部501−1を参照することで、チップ関連データ500−1の終端位置を認識する。
このようにチップ関連データ500間の境界位置を認識した後は、次のように所望の実データ部502を抽出することができる。例えば、実データ部502−2を抽出するのであれば、チップ関連データ500−2の先頭位置からデータ長部501−2に対応する4ビットだけ下位にシフトしたビット位置にアクセスする。そして、このビット位置からチップ関連データ500−2の終端位置までのデータを読み出せばよい。
このように、本発明の第4の実施の形態によれば、チップ200ごとにデータ長の異なるチップ関連データ500をベースチップ400に記憶させるとともに、ベースチップ400において所望の実データ部502を選択して処理することができる。
なお、これまでの各実施の形態においては、シフトレジスタ部310は上層のチップ200から伝達される信号を入力してシフトを行い、下層のチップ200に対して伝送するという構成を採っている。しかし、これとは逆に、例えば下層のチップから伝送される信号を上層のチップに伝送することで、下層から上層のチップにかけて昇順でチップ識別子を設定していくように構成してもよい。また、これまでの各実施の形態においてチップ識別子演算部320は、加算により新たな値を算出していくように構成されていたが、例えばこれとは逆に、ある初期値に対して減算を行っていくことにより新たな値を算出していく構成とすることも考えられる。
また、これまでの各実施の形態においては、チップ200間で接続されるチップ識別子設定部300の組を1組としていたが、複数の組を設けることとしてもよい。一例として、第1、第2および第4の実施の形態の何れかに対応するチップ識別子設定部300の組と、第3の実施の形態に対応するチップ識別子設定部300の組との2組を備える構成としてもよい。このような構成を採ることで、チップ識別子IDの設定(およびチップ関連データの伝送)と、メモリオフセットアドレスとを同時に設定できる。また、これまでの説明から理解できるように、本発明の実施の形態においてチップ識別子IDとは、チップ200ごとを個別に認識するための一般的な識別子に限定されるものではない。すなわち、第3の実施の形態におけるメモリオフセットアドレスに代表されるように、チップ200ごとに対応関係を有して所定の意義を有する値がチップ識別子IDとして扱われる。本発明の実施の形態によるチップ識別子IDの設定は、上記のような点でも自由度は高いといえる。もちろん、第1、第2および第4の実施の形態のようにチップ200ごとに連続番号となるようにチップ識別子IDを設定することも容易に可能とされている。
また、本発明の実施の形態は本発明を具現化するための一例を示したものであり、本発明の実施の形態において明示したように、本発明の実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
100 積層半導体装置
200 チップ
211 上側電極
212 下側電極
220 メモリ選択部
230 メモリ部
300 チップ識別子設定部
310 シフトレジスタ部
311〜314 フリップフロップ
320 チップ識別子演算部
330 加算器
340 チップ識別子保持部
350 演算制御部
400 ベースチップ
420 メモリ
421 第1メモリ部
422 第2メモリ部
500 チップ関連データ
501 データ長部
502 実データ部
200 チップ
211 上側電極
212 下側電極
220 メモリ選択部
230 メモリ部
300 チップ識別子設定部
310 シフトレジスタ部
311〜314 フリップフロップ
320 チップ識別子演算部
330 加算器
340 チップ識別子保持部
350 演算制御部
400 ベースチップ
420 メモリ
421 第1メモリ部
422 第2メモリ部
500 チップ関連データ
501 データ長部
502 実データ部
Claims (15)
- 上層と下層のうちの所定の一方の層に対して前段半導体装置が積層されている場合に前記前段半導体装置から出力されるビット列が入力される入力端子と、
当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、
前記半導体装置識別子を利用して演算を行い、その演算結果に応じて前記半導体装置識別子保持部によって保持される前記半導体装置識別子を更新する半導体装置識別子演算部と、
前記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて前記半導体装置識別子演算部によって実行される前記半導体装置識別子の更新を制御する制御部と、
前記制御部に保持されたビット列を他方の層に対して積層される後段半導体装置に出力する出力端子と
を具備する半導体装置。 - 前記制御部は、前記保持したデータに応じて、前記半導体装置識別子の更新の実行の可否を制御する請求項1記載の半導体装置。
- 前記制御部は、前記保持したデータの値が所定の禁止指示値である場合には前記半導体装置識別子の更新を禁止し、前記保持したデータの値が前記禁止指示値ではない場合には前記半導体装置識別子の更新を許可する請求項2記載の半導体装置。
- 前記制御部は、入力される半導体装置に関連した所定の情報内容を示す半導体装置関連データのビット列を保持しながら順次シフトし、保持していた前記半導体装置関連データ全体をシフトアウトしたタイミングに応じて前記半導体装置識別子の更新を実行させる請求項1記載の半導体装置。
- 前記制御部は、固定長による前記半導体装置関連データのビット長に応じたシフト回数がカウントされたタイミングに応じて前記半導体装置識別子の更新を実行させる請求項4記載の半導体装置。
- 前記半導体装置関連データは、任意のデータ長による実データ部とデータ長を示す固定長によるデータ長部から成り、
前記制御部は、保持した前記データ長部が示すビット長のビット列をシフトアウトしたタイミングに応じて前記半導体装置識別子の更新を実行させる
請求項4記載の半導体装置。 - 前記制御部は、前記半導体装置識別子に一定値を加算した前記演算結果に応じて前記半導体装置識別子の更新を実行させる請求項1記載の半導体装置。
- 前記制御部は、前記保持したデータと前記半導体装置識別子とを利用した前記演算結果に応じて前記半導体装置識別子の更新を実行させる請求項1記載の半導体装置。
- 前記制御部は、前記半導体装置識別子に加算すべき加算値データを前記入力端子から入力して保持し、当該保持した加算値データの値と前記半導体装置識別子とを加算した前記演算結果に応じて前記半導体装置識別子の更新を実行させる請求項8記載の半導体装置。
- 前記加算値データの値は、対応する半導体装置が具備する記憶部の数を示す請求項9記載の半導体装置。
- 前記入力端子からのビット列の入力がない場合に前記制御部に対して固定値によるビットを入力する固定値入力部をさらに具備し、前記禁止指示値は、前記保持されているデータの各ビットが前記固定値であるときの値である請求項3記載の半導体装置。
- 前記固定値入力部は、正の電源電圧の信号線と前記制御部の入力との間に挿入されるプルアップ抵抗である請求項11記載の半導体装置。
- 前記固定値入力部は、グランドの信号線と前記制御部の入力との間に挿入されるプルダウン抵抗である請求項11記載の半導体装置。
- 積層される2以上の半導体装置と、これらの積層された半導体装置に対してさらに積層される記憶装置とを具備する積層半導体装置であって、
前記半導体装置は、
上層または下層のうちの一方の層に対して積層される他の半導体装置の出力端子と接続されることで、当該接続された出力端子から出力されるビット列を入力する入力端子と、
当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、
前記半導体装置識別子を利用した演算結果に応じて前記半導体装置識別子保持部によって保持される前記半導体装置識別子を更新する半導体装置識別子演算部と、
前記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて前記半導体装置識別子演算部によって実行される前記半導体装置識別子の更新を制御し、前記入力端子から半導体装置に関連した所定の情報内容を示す半導体装置関連データのビット列が入力される制御部と、
他方の層に対して積層されるさらに他の半導体装置の入力端子と接続されることで、当該接続された入力端子に対して前記制御部に保持されたビット列を出力する出力端子とを備え、
前記記憶装置は、
積層される前記半導体装置における最終段の半導体装置の前記出力端子から出力されるビット列を入力して、当該入力したビット列における半導体装置関連データを記憶する半導体装置関連データ記憶部を備える
積層半導体装置。 - 積層される2以上の半導体装置を具備する積層半導体装置であって、
前記半導体装置は、
上層または下層のうちの一方の層に対して積層される半導体装置の出力端子と接続されることで、当該接続された出力端子から出力されるビット列を入力する入力端子と、
当該半導体装置を一意に識別するための半導体装置識別子を保持する半導体装置識別子保持部と、
前記半導体装置識別子を利用した演算結果に応じて前記半導体装置識別子保持部によって保持される前記半導体装置識別子を更新する半導体装置識別子演算部と、
前記入力端子から入力されるビット列のデータを一旦保持し、当該保持したデータに基づいて前記半導体装置識別子演算部によって実行される前記半導体装置識別子の更新を制御するとともに、初期値として半導体装置に関連した所定の情報内容を示す半導体装置関連データを保持する制御部と、
他方の層に対して積層される半導体装置の入力端子と接続されることで、当該接続された入力端子に対して前記制御部に保持されたビット列を出力する出力端子とを備える
積層半導体装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010170815A JP2012033627A (ja) | 2010-07-29 | 2010-07-29 | 半導体装置および積層半導体装置 |
| US13/067,660 US8405221B2 (en) | 2010-07-29 | 2011-06-17 | Semiconductor device and multilayer semiconductor device |
| CN201110206870.0A CN102412247B (zh) | 2010-07-29 | 2011-07-22 | 半导体器件和多层半导体器件 |
| CN201610094959.5A CN105761744B (zh) | 2010-07-29 | 2011-07-22 | 半导体器件和多层半导体器件 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010170815A JP2012033627A (ja) | 2010-07-29 | 2010-07-29 | 半導体装置および積層半導体装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012033627A true JP2012033627A (ja) | 2012-02-16 |
Family
ID=45525908
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010170815A Pending JP2012033627A (ja) | 2010-07-29 | 2010-07-29 | 半導体装置および積層半導体装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8405221B2 (ja) |
| JP (1) | JP2012033627A (ja) |
| CN (2) | CN105761744B (ja) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8599595B1 (en) | 2011-12-13 | 2013-12-03 | Michael C. Stephens, Jr. | Memory devices with serially connected signals for stacked arrangements |
| US9478502B2 (en) * | 2012-07-26 | 2016-10-25 | Micron Technology, Inc. | Device identification assignment and total device number detection |
| US8546955B1 (en) * | 2012-08-16 | 2013-10-01 | Xilinx, Inc. | Multi-die stack package |
| KR102190125B1 (ko) | 2014-12-05 | 2020-12-11 | 삼성전자주식회사 | 어드레스 리매핑을 위한 적층형 메모리 장치, 이를 포함하는 메모리 시스템 및 어드레스 리매핑 방법 |
| US9940486B2 (en) * | 2015-02-23 | 2018-04-10 | Cisco Technology, Inc. | Detection of hardware tampering |
| JP6500736B2 (ja) * | 2015-10-14 | 2019-04-17 | 富士通株式会社 | 半導体装置および半導体装置の制御方法 |
| TWI631681B (zh) * | 2017-12-15 | 2018-08-01 | Lyontek Inc. | 雙晶片封裝結構 |
| US11127482B1 (en) * | 2020-04-13 | 2021-09-21 | Micron Technology, Inc. | Detection circuitry to detect a deck of a memory array |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07283375A (ja) | 1994-04-15 | 1995-10-27 | Hitachi Maxell Ltd | 半導体メモリ装置 |
| JP3959264B2 (ja) | 2001-09-29 | 2007-08-15 | 株式会社東芝 | 積層型半導体装置 |
| US7046522B2 (en) * | 2002-03-21 | 2006-05-16 | Raymond Jit-Hung Sung | Method for scalable architectures in stackable three-dimensional integrated circuits and electronics |
| JP2005025864A (ja) | 2003-07-02 | 2005-01-27 | Mitsubishi Electric Corp | 半導体メモリ装置 |
| JP4272968B2 (ja) | 2003-10-16 | 2009-06-03 | エルピーダメモリ株式会社 | 半導体装置および半導体チップ制御方法 |
| JP2005243132A (ja) * | 2004-02-26 | 2005-09-08 | Renesas Technology Corp | 半導体装置 |
| JP2006190840A (ja) | 2005-01-06 | 2006-07-20 | Matsushita Electric Ind Co Ltd | 半導体パッケージ、そのid化装置、そのid認識装置及びそのid認識方法、並びに半導体集積回路チップ、そのid化装置、そのid認識装置及びそのid認識方法 |
| JP4345705B2 (ja) * | 2005-04-19 | 2009-10-14 | エルピーダメモリ株式会社 | メモリモジュール |
| JP4799157B2 (ja) | 2005-12-06 | 2011-10-26 | エルピーダメモリ株式会社 | 積層型半導体装置 |
| US7791918B2 (en) * | 2007-09-27 | 2010-09-07 | Intel Corporation | Stack position location identification for memory stacked packages |
| JP5308658B2 (ja) | 2007-12-13 | 2013-10-09 | 株式会社日立超エル・エス・アイ・システムズ | 半導体集積回路の識別情報生成方法 |
-
2010
- 2010-07-29 JP JP2010170815A patent/JP2012033627A/ja active Pending
-
2011
- 2011-06-17 US US13/067,660 patent/US8405221B2/en active Active
- 2011-07-22 CN CN201610094959.5A patent/CN105761744B/zh active Active
- 2011-07-22 CN CN201110206870.0A patent/CN102412247B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN105761744B (zh) | 2019-05-03 |
| CN102412247A (zh) | 2012-04-11 |
| CN102412247B (zh) | 2016-03-16 |
| CN105761744A (zh) | 2016-07-13 |
| US20120025391A1 (en) | 2012-02-02 |
| US8405221B2 (en) | 2013-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2012033627A (ja) | 半導体装置および積層半導体装置 | |
| JP4799157B2 (ja) | 積層型半導体装置 | |
| US10592448B2 (en) | Master-slave system, command execution method and data access method with use of serial peripheral interface (SPI) | |
| JP4272968B2 (ja) | 半導体装置および半導体チップ制御方法 | |
| CN102197436B (zh) | 用于多电平单元存储器的数据路径,用于存储的方法及用于利用存储器阵列的方法 | |
| JP5853219B2 (ja) | メモリアクセス制御装置、及び製造方法 | |
| TWI439860B (zh) | 建立串聯互連裝置之裝置識別號之設備及方法 | |
| TWI676102B (zh) | 能防止刷新錯誤的半導體裝置及使用該半導體裝置的記憶體系統 | |
| US20110103121A1 (en) | Stacked semiconductor device and automatic chip recognition selection circuit | |
| KR101163037B1 (ko) | 3차원 적층 반도체 집적회로 및 그 제어 방법 | |
| TW202139011A (zh) | 半導體記憶裝置及記憶體系統 | |
| CN104571938A (zh) | 在多层单元存储器存取数据的方法及其多层单元存储装置 | |
| US20250259670A1 (en) | Memory chip and memory system including the same | |
| US8279702B2 (en) | Semiconductor apparatus | |
| US8400210B2 (en) | Semiconductor apparatus | |
| US8432763B2 (en) | Integrated circuit | |
| US20150269980A1 (en) | Semiconductor memory device | |
| CN105608033B (zh) | 半导体装置及其操作方法 | |
| US8941408B2 (en) | Configuring data registers to program a programmable device with a configuration bit stream without phantom bits | |
| US20160322112A1 (en) | Semiconductor memory device | |
| JP6381673B2 (ja) | 情報処理装置およびfpgaコンフィギュレーション方法 | |
| JP2001236790A (ja) | 連想メモリ | |
| KR20210129740A (ko) | 메모리 디바이스에서의 커맨드 및 어드레스의 집중식 배치 | |
| JP2014170356A (ja) | マイクロコンピュータ |