(57)【要約】【課題】ＤＲＡＭ含むチップとロジックを含むチップとをインダクタ結合により通信する半導体集積回路において、インダクタ結合が本来持つバンド幅を活かすことができる半導体集積回路を提供する。【解決手段】ＤＲＡＭを含む第１のチップ１と、ロジックを含む第２のチップ２と、ＤＲＡＭを含む第１のチップ１に形成され、ＤＲＡＭのアクセスやリフレッシュを制御するＤＲＡＭコントローラ５と、第２のチップ２が第１のチップ１内のＤＲＡＭ３に対してインダクタ結合方式の信号線６を介してアクセスする手段とを具備している。インダクタ結合が本来持つバンド幅を活かすことができる。【選択図】図１
2009020924.tif 000002
【特許請求の範囲】
【請求項１】
ＤＲＡＭを含む第１のチップと、
ロジックを含む第２のチップと、
前記ＤＲＡＭを含むチップに形成され、前記ＤＲＡＭのアクセスやリフレッシュを制御するＤＲＡＭコントローラと、
前記第２のチップが前記第１のチップ内の前記ＤＲＡＭに対してインダクタ結合方式の信号線を介してアクセスする手段とを具備していることを特徴とする半導体集積回路。
【請求項２】
前記インダクタ結合方式の信号線の周波数は、前記ＤＲＡＭの周波数と異なることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第１のチップ及び前記第２のチップの少なくともいずれか一方にチップ間通信の誤りを検出する回路を具備したことを特徴とする請求項１又は請求項２に記載の半導体集積回路。
【請求項４】
前記第１のチップに形成された前記ＤＲＡＭ及び前記ＤＲＡＭコントローラは、それぞれ複数備えていることを特徴とする請求項１乃至請求項３のいずれかに記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つのチップが１つのパッケージに集積されたマルチチップパッケージの半導体集積回路に関するものである。
【背景技術】
【０００２】
ＤＲＡＭチップとロジックチップとを１つのパッケージに集積するマルチチップパッケージは、従来から知られており、消費電力及び実装面積の削減に有効な半導体集積回路である。ロジックチップには、ＤＲＡＭのアクセスやリフレッシュを制御するＤＲＡＭコントローラが形成されている（特許文献１）。また、ＤＲＡＭチップとロジックチップとを別のベンダーが開発し、製品に合わせて最適なものを選ぶことによって総合的なコストを下げることができる。
この場合のＤＲＡＭチップとロジックチップとを通信する通信路としては、マイクロバンプ方式やワイヤボンディング方式などの電気的に接続する方式がよく用いられている。この構成では、回路的には従来別のパッケージに実装されたロジックとＤＲＡＭとを統合しただけであり、ロジックチップとＤＲＡＭチップのインターフェースには従来のような一般的なものを用いることができる。
【０００３】
このようなマイクロバンプ方式と比較して非常に高い通信性能と低い消費電力を実現する方式として、インダクタ結合が提案されている。このインダクタ結合をマルチチップパッケージに用いた場合は、ロジックチップに形成されたＤＲＡＭコントローラとＤＲＡＭチップのＤＲＡＭ間をインダクタ結合する構成になる。
しかし、従来のＤＲＡＭコントローラとＤＲＡＭ間のプロトコルをインダクタ結合のシステムに適用するにはいくつかの問題がある。
第１に、一般的にはインダクタ結合の動作周波数は、ＤＲＡＭコントローラ及びＤＲＡＭ間の周波数と比較して高くすることができる。通信路の動作周波数を高めることでより高いバンド幅を実現することができる。ＤＲＡＭコントローラとＤＲＡＭ間の信号線の動作周波数は、原則としてＤＲＡＭの動作周波数に合わせなければならず、インダクタ結合が本来持つバンド幅を活かすことができない。
【０００４】
第２に、インダクタ結合は従来のマイクロバンプ方式とは異なり、通信路にレイテンシが生じる。ＤＲＡＭコントローラとＤＲＡＭ間のプロトコルは、通信路のレイテンシがないことを前提に定められており、ロジックチップの設計の際にＤＲＡＭコントローラを予め想定されるすべてのレイテンシに対応させなければならず、上記第１の問題点である通信路の動作周波数が変わる可能性があることを考えると設計は困難を極める。
第３に、非接触のインダクタ結合は、電磁波ノイズなどによる誤動作の可能性があり、信頼性の点で問題がある。そこで、ＤＲＡＭチップに、ＤＲＡＭコントローラからの信号誤りを検出する誤り検出回路を設けて再送を行うことが考えられる。しかし、この構成では誤りを検出してから再送するまでの間ＤＲＡＭへのアクセスを行うことができない。ＥＣＣビットが付加されたＤＲＡＭを用いてデータの誤り訂正を行うことも考えられるが、その方法ではアドレスや制御信号の誤りを検出することができない。
【０００５】
第４に、インダクタ結合の動作周波数を上げてＤＲＡＭチップとロジックチップ間のバンド幅を増やす場合に、単純にデータの幅を広げるのではなく、複数のＤＲＡＭとＤＲＡＭコントローラを用意することでアクセス競合時のレイテンシを低減することができる。しかし、この場合は予めＤＲＡＭコントローラの数を決めなければならず、汎用性の点で問題がある。また、読み出しデータ線と書き込みデータ線をそれぞれのＤＲＡＭに対して用意しなければならないため、実効バンド幅を上げづらいという問題がある。
【特許文献１】特開２００３−７７２９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、ＤＲＡＭを含むチップとロジックを含むチップとをインダクタ結合により通信する半導体集積回路において、インダクタ結合が本来持つバンド幅を活かすことができる半導体集積回路を提供する。
【課題を解決するための手段】
【０００７】
本発明の半導体集積回路の一態様は、ＤＲＡＭを含む第１のチップと、ロジックを含む第２のチップと、前記ＤＲＡＭを含むチップに形成され、前記ＤＲＡＭのアクセスやリフレッシュを制御するＤＲＡＭコントローラと、前記第２のチップが前記第１のチップ内の前記ＤＲＡＭに対してインダクタ結合方式の信号線を介してアクセスする手段とを具備していることを特徴としている。
【発明の効果】
【０００８】
ＤＲＡＭを含むチップとロジックを含むチップとをインダクタ結合により通信する半導体集積回路において、インダクタ結合が本来持つバンド幅を活かすことができる。
【発明を実施するための最良の形態】
【０００９】
以下、実施例を参照して発明の実施の形態を説明する。
【実施例１】
【００１０】
図１を参照して実施例１を説明する。図１は、この実施例で説明する半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図である。
ＤＲＡＭチップ（第１のチップ）１とロジックチップ（第２のチップ）２とからなるマルチチップモジュールは、積層され、樹脂封止体などのパッケージ１０によって封止されている。チップ１、２間は、インダクタ結合６により通信が行われる。ロジックチップ２にはＤＲＡＭへのアクセスを必要とするロジック４が形成されている。ＤＲＡＭチップ１にはＤＲＡＭ（ＤＲＡＭマクロ）３及びＤＲＡＭのアクセスやリフレッシュを制御するＤＲＡＭコントローラ５が形成されている。ＤＲＡＭ３とＤＲＡＭコントローラ５とは配線７により電気的に接続されている。ロジック４とＤＲＡＭコントローラ５との間は、前述したインダクタ結合６により通信が行われる。
前述の様に、インダクタ間の共振特性を利用した無線接続（インダクタ結合）は、マイクロバンプ方式と比較して高い通信性能と低い消費電力を実現する方式としてチップ間の無線接続に用いられる。図８は、チップ間のインダクタ結合を説明する斜視図である。チップ１は、発信回路を含むチップであり、チップ２は、受信回路を含むチップである。チップ１及びチップ２にはそれぞれ表面にスパイラルインダクタＬ１、Ｌ２が形成されており、そのインダクタＬ１、Ｌ２を対向するようにチップ１及びチップ２を対向配置する。
【００１１】
ＤＲＡＭコントローラとＤＲＡＭ間の信号線の動作周波数は、原則としてＤＲＡＭの動作周波数に合わせなければならないので、ＤＲＡＭコントローラとＤＲＡＭ間の通信路にインダクタ結合を持ってきたのでは、インダクタ結合が本来持つバンド幅を活かすことができない。この実施例では、ＤＲＡＭコントローラとＤＲＡＭ間の信号線は、通常の配線７を用いてＤＲＡＭの動作周波数に合わせ、チップ間の通信はインダクタ結合により行う。したがって、通信路の動作周波数を高めることにより高いバンド幅を実現することができる。さらに、インダクタ結合の動作周波数を上げることによってより高いバンド幅を実現することができる。また、インダクタ結合により同一のバンド幅をより少ない信号線で実現できる。ロジックチップを複数のレイテンシに対応しない設計とする事ができる。
【実施例２】
【００１２】
次に、図２を参照して実施例２を説明する。
図２は、この実施例で説明する半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図である。ＤＲＡＭチップ（第１のチップ）１とロジックチップ（第２のチップ）２からなるマルチチップモジュールは、積層され、樹脂封止体などのパッケージ１０に封止されている。チップ１、２間は、インダクタ結合６により通信路が形成されている。ロジックチップ２にはＤＲＡＭへのアクセスを必要とするロジック４と、ロジック４の周波数とインダクタ結合の周波数を相互変換する周波数変換回路８とを備える。ロジック４と周波数変換回路８は、配線により通信路が形成されている。
【００１３】
ＤＲＡＭチップ１にはＤＲＡＭ（ＤＲＡＭマクロ）３及びＤＲＡＭのアクセスやリフレッシュを制御するＤＲＡＭコントローラ５が形成されている。ＤＲＡＭ３とＤＲＡＭコントローラ５とは配線７により電気的に接続されている。ロジック４とＤＲＡＭコントローラ５との間は、前述したインダクタ結合６により通信が行われる。ＤＲＡＭチップ１には、インダクタ結合の周波数とプロトコル制御回路の周波数を相互変換する周波数変換回路９と、ＤＲＡＭ３とＤＲＡＭ３に対するアクセスやリフレッシュを制御するＤＲＡＭコントローラ５とを備える。ＤＲＡＭコントローラ５と周波数変換回路９とは、配線１１により通信路が形成されている。
ＤＲＡＭチップ１で生成された送信信号は、周波数変換回路９によって高速、シリアル化され、インダクタ結合６を構成するＤＲＡＭチップ側の送信回路、受信回路によって相手のロジックチップ２に到達し、周波数変換回路８によって低速、パラレル化されて相手側のプロトコル制御回路に到達する。
【００１４】
この実施例では、ＤＲＡＭコントローラとＤＲＡＭ間の信号線は、通常の配線７を用いてＤＲＡＭの動作周波数に合わせ、チップ間の通信をインダクタ結合により行う。したがって、通信路すなわちインダクタ結合の動作周波数をＤＲＡＭコントローラ、ＤＲＡＭよりも高くすることでより高いバンド幅を実現することができる。もしくは同一のバンド幅をより少ない信号線で実現できる。
インダクタ結合は、従来のマイクロバンプ方式とは異なり、通信路においてレイテンシが生じる。ＤＲＡＭコントローラ、ＤＲＡＭ間のプロトコルは、通信路のレイテンシがないことを前提に定められており、ＤＲＡＭコントローラとＤＲＡＭ間をインダクタ結合による通信路を形成すると、ロジックチップの設計の際にＤＲＡＭコントローラを予め想定されるすべてのレイテンシに対応させなければならず、通信路の動作周波数が変わる可能性があることを考えると、設計は困難を極めるが、この実施例のようにＤＲＡＭコントローラをＤＲＡＭチップに配置するように構成すると、ロジックチップの設計の際にＤＲＡＭコントローラを予め想定される全てのレイテンシに対応させなくてよい。また、帯域を上げる事ができ、もしくは同一の帯域での信号線数を減らす事ができる。
【実施例３】
【００１５】
図３を参照して実施例３を説明する。図３は、この実施例で説明する半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図である。ＤＲＡＭチップ（第１のチップ）１とロジックチップ（第２のチップ）２とからなるマルチチップモジュールは、積層され、樹脂封止体などのパッケージ１０により封止されている。チップ１、２間は、インダクタ結合６により通信が行われる。ロジックチップ２にはＤＲＡＭへのアクセスを必要とするロジック４及び受信データの誤りを検出する誤り検出回路１２が形成されている。ＤＲＡＭチップ１にはＤＲＡＭ（ＤＲＡＭマクロ）３、ＤＲＡＭのアクセスやリフレッシュを制御するＤＲＡＭコントローラ５及び受信データの誤りを検出する誤り検出回路１３が形成されている。ＤＲＡＭ３とＤＲＡＭコントローラ５とは配線７により通信路が形成されている。ロジック４とＤＲＡＭコントローラ５との間は、誤り検出回路１３、１２を介して、インダクタ結合１４、１５により通信が行われる。
【００１６】
この実施例では、ＤＲＡＭコントローラとＤＲＡＭ間の信号線は、通常の配線７を用いてＤＲＡＭの動作周波数に合わせ、チップ間の通信をインダクタ結合により行う。したがって、通信路すなわちインダクタ結合の動作周波数をＤＲＡＭコントローラ、ＤＲＡＭより高くすることで高いバンド幅を実現することができる。もしくは同一のバンド幅をより少ない信号線で実現できる。
【００１７】
非接触で信号をやり取りするインダクタ結合は、電磁波ノイズなどによる誤動作の可能性がある。そこで、この可能性を正すために誤り検出、再送を行うことが考えられる。ロジックチップにロジックとＤＲＡＭコントローラがあり、ＤＲＡＭチップのＤＲＡＭとロジックとの間には誤り検出回路を介してインダクタ結合方式の通信路を備えた従来の構成では誤りを検出してから再送するまでの間、ＤＲＡＭへのアクセスを行うことができない。ＥＣＣビットが付加されたＤＲＡＭを用いてデータの誤り訂正を行うことが考えられるが、その方法ではアドレスや制御信号の誤りを検出することができない。この実施例においては、誤り検出、再送を行う場合において、誤り検出回路により誤りを検出してから再送するまでの間に、ＤＲＡＭへのアクセスを行うことが可能になり、誤り検出時の性能低下を抑える事ができる（図３参照）。
【実施例４】
【００１８】
図４を参照して実施例４を説明する。図４は、この実施例で説明する半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図である。
ＤＲＡＭチップ（第１のチップ）１とロジックチップ（第２のチップ）２とからなるマルチチップモジュールは、積層され、樹脂封止体などのパッケージ１０によって封止されている。チップ１、２間は、インダクタ結合１４、１５による通信路が形成されている。ロジックチップ２にはＤＲＡＭへのアクセスを必要とするロジック４が形成されている。ＤＲＡＭチップ１には複数のＤＲＡＭ（ＤＲＡＭマクロ）３、ＤＲＡＭのアクセスやリフレッシュを制御する複数のＤＲＡＭコントローラ５及びロジック４からの信号及びロジック４への信号を選択するスイッチ１６が形成されている。複数のＤＲＡＭ３と複数のＤＲＡＭコントローラ５とはそれぞれ各配線７により電気的に接続されている。ロジック４とスイッチ１６との間は、インダクタ結合１４、１５により通信路が形成されている。
【００１９】
この実施例では、ＤＲＡＭコントローラとＤＲＡＭ間の信号線は、通常の配線７を用いてＤＲＡＭの動作周波数に合わせ、チップ間の通信をインダクタ結合により行う。したがって、通信路すなわちインダクタ結合の動作周波数をＤＲＡＭコントローラ、ＤＲＡＭより高くすることで高いバンド幅を実現することができる。もしくは同一のバンド幅をより少ない信号線で実現できる。
【００２０】
インダクタ結合の動作周波数を上げてＤＲＡＭチップとロジックチップ間のバンド幅を増やす場合、単純にデータの幅を広げるのではなく、複数のＤＲＡＭとＤＲＡＭコントローラを用意することでアクセス競合時のレイテンシを低減することができる。しかし、この場合は予めＤＲＡＭコントローラの数を決めなければならないので汎用性の点で問題がある。また、読み出しデータ線と書き込みデータ線をそれぞれのＤＲＡＭに対して用意しなければならないために実効バンド幅を上げ難い。この実施例では、複数のＤＲＡＭマクロとＤＲＡＭコントローラを用いる場合、ＤＲＡＭコントローラをＤＲＡＭチップ側に用意することによってチップ間の信号線をＤＲＡＭ間で共有し、実効帯域を上げることができる。
【実施例５】
【００２１】
次に、図５乃至図７を参照して実施例５を説明する。
図５は、この実施例で説明する半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図、図６は、この半導体集積回路にデータ書き込みを説明するフロー図、図７は、この半導体集積回路にデータ読み出しを説明するフロー図である。
ＤＲＡＭチップ（第１のチップ）１とロジックチップ（第２のチップ）２とからなるマルチチップモジュールは、積層され、樹脂封止体などのパッケージ１０によって封止されている。チップ１、２間は、インダクタ結合１４、１５による通信路が形成されている。ロジックチップ２にはＤＲＡＭへのアクセスを必要とするロジック４が形成されている。
【００２２】
ロジックチップ２にはＤＲＡＭ３へのアクセスを必要とするロジック４と、複数のＤＲＡＭ３へのアクセスを同時に管理し、転送されたデータの誤りを訂正することができるプロトコル制御回路１８と、ロジック４の周波数とインダクタ結合１４、１５の周波数を相互変換する周波数変換回路２０、２１とを備える。
ＤＲＡＭチップ１には、インダクタ結合１４、１５の周波数とプロトコル制御回路１９の周波数を相互変換する周波数変換回路２２、２３と、複数のアクセスを同時に管理し、転送されたデータの誤りを訂正することができるプロトコル制御回路１９と、ＤＲＡＭ３とＤＲＡＭ３に対するアクセスやリフレッシュを制御する複数のＤＲＡＭコントローラ５をそれぞれ備える。
【００２３】
ロジック４からのＤＲＡＭ３へのアクセス信号と書き込みデータ信号、ＤＲＡＭ３からロジック４への読み出しデータ信号は、それぞれの側プロトコル制御回路１８、１９によって特定のプロトコルに変換される。そのプロトコルは、複数のトランザクションのリクエストの転送とデータの転送、エラー検出通知情報の転送をインターリーブして行えるスプリットトランザクション方式をサポートするものとする。
それぞれの側のプロトコル制御回路１８、１９によって生成された送信信号は、周波数変換回路２０、２３によって高速、シリアル化され、インダクタ結合１４、１５の送信回路、受信回路によって相手のチップ１、２に到達し、周波数変換回路２２、２１によって低速、パラレル化されて相手側のプロトコル制御回路１９、１８に到達する。プロトコル制御回路１８、１９では、受信データについて誤り検出を行い、誤り時にはデータ再送要求を相手側チップ１、２に送る。誤りがない場合には規定の処理を行う。
【００２４】
トランザクションの処理のフローを説明する。
まず、図６を参照してデータ書き込みを説明する。（１）ロジック４から書き込みリクエストが出力する。（２）この出力をロジック側プロトコル制御回路１８が受け付ける。（３）書き込みリクエスト信号（アドレス、バースト長）をＤＲＡＭチップ１側に転送する。（４）ＤＲＡＭチップ１側に転送エラーがある場合（Ｙ）、（５）ＤＲＡＭチップ１側からロジックチップ２側に転送エラーを通知し、再度書き込みリクエスト信号をＤＲＡＭチップ１側に転送する。ＤＲＡＭチップ１側に転送エラーが無い場合（Ｎ）には、（６）書き込みデータ信号がＤＲＡＭチップ１側に転送される。（７）ＤＲＡＭチップ１側に転送エラーがある場合には（Ｙ）、（８）ＤＲＡＭチップ１側からロジックチップ２側に転送エラーを通知し、再度書き込みリクエスト信号をＤＲＡＭチップ１側に転送する。ＤＲＡＭチップ１側に転送エラーが無い場合（Ｎ）には、（９）全データを転送したか確認する。全データを転送していない場合、（６）に戻り、書き込みデータ信号をＤＲＡＭチップ１側に転送し、全データを転送した場合（Ｙ）、（１０）ＤＲＡＭコントローラ５に書き込みリクエストを出力する。（１１）このリクエストによりＤＲＡＭ３に書き込みが終了する。
【００２５】
次に、図７を参照してデータ読み出しを説明する。（１）ロジック４から読み出しリクエストが出力する。（２）この出力をロジック側プロトコル制御回路１８が受け付ける。（３）読み出しリクエスト信号（アドレス、バースト長）をＤＲＡＭチップ１側に転送する。（４）ＤＲＡＭチップ１側に転送エラーがある場合（Ｙ）、（５）ＤＲＡＭチップ１側からロジックチップ２側に転送エラーを通知し、再度読み出しリクエスト信号をＤＲＡＭチップ１側に転送する。ＤＲＡＭチップ１側に転送エラーが無い場合（Ｎ）には、（６）ＤＲＡＭコントローラ５に読み出しリクエストが出力される。（７）このリクエストによりＤＲＡＭ３からデータが取得される。（８）ＤＲＡＭチップ１側から読み出しデータ信号がロジックチップ２側に転送される。（９）ロジックチップ２側に転送エラーがあるか確認する。ロジックチップ２側に転送エラーがある場合（Ｙ）には、（１０）ロジックチップ２側からＤＲＡＭチップ１側に転送エラーを通知し、再度ＤＲＡＭチップ１側からロジックチップ側に読み出しデータ信号を転送する。ロジックチップ２側に転送エラーが無い場合（Ｎ）には、（１１）全データを転送したか確認する。全データを転送していない場合、（８）に戻り、読み出しデータ信号をロジックチップ２側に転送しする。（１２）全データを転送した場合読み出しが終了する。
【００２６】
上記書き込み及び読み出し方法において、ＤＲＡＭコントローラの各ＤＲＡＭへのアクセスと、ロジックチップからのＤＲＡＭチップへのデータ送信、誤り検出、データ再送と、ＤＲＡＭチップからロジックチップへのデータ送信、誤り検出、データ再送は並行して行われる。また、書き込みデータの送信よりも読み出しリクエストの送信を優先することにより、読み出しレイテンシを低減することができる。
【図面の簡単な説明】
【００２７】
【図１】実施例１に係る半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図。
【図２】実施例２に係る半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図。
【図３】実施例３に係る半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図。
【図４】実施例４に係る半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図。
【図５】実施例５に係る半導体集積回路であるＤＲＡＭ積層マルチチップパッケージの概略平面図。
【図６】図５に示す半導体集積回路のデータ書き込み時のフロー図。
【図７】図５に示す半導体集積回路のデータ読み出し時のフロー図。
【図８】チップ間のインダクタ結合を説明する斜視図。
【符号の説明】
【００２８】
１・・・ＤＲＡＭチップ    ２・・・ロジックチップ
３・・・ＤＲＡＭ（ＤＲＡＭマクロ）    ４・・・ロジック
５・・・ＤＲＡＭコントローラ    ６、１４、１５・・・インダクタ結合
７、１１、１７・・・配線
８、９、２０、２１、２２、２３・・・周波数変換回路
１０・・・パッケージ    １２、１３・・・誤り検出回路
１６・・・スイッチ
１８・・・プロトコル制御回路及び誤り検出回路
１９・・・プロトコル制御回路、誤り検出回路及びライトバッファ
【図１】
2009020924.tif 000003
【図２】
2009020924.tif 000004
【図３】
2009020924.tif 000005
【図４】
2009020924.tif 000006
【図５】
2009020924.tif 000007
【図６】
2009020924.tif 000008
【図７】
2009020924.tif 000009
【図８】
2009020924.tif 000010