(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-21
(45)【発行日】2023-07-31
(54)【発明の名称】積層型メモリ装置及びメモリシステム
(51)【国際特許分類】
G06F 12/06 20060101AFI20230724BHJP
G06F 13/16 20060101ALI20230724BHJP
H01L 25/07 20060101ALI20230724BHJP
H01L 25/065 20230101ALI20230724BHJP
H01L 25/18 20230101ALI20230724BHJP
【FI】
G06F12/06 525A
G06F13/16 510D
H01L25/08 C
(21)【出願番号】P 2018180170
(22)【出願日】2018-09-26
【審査請求日】2021-09-24
(31)【優先権主張番号】10-2017-0125481
(32)【優先日】2017-09-27
(33)【優先権主張国・地域又は機関】KR
【前置審査】
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】110000051
【氏名又は名称】弁理士法人共生国際特許事務所
(72)【発明者】
【氏名】申 ヒョン 昇
(72)【発明者】
【氏名】崔 益 準
(72)【発明者】
【氏名】金 昭 映
(72)【発明者】
【氏名】卞 泰 奎
(72)【発明者】
【氏名】尹 載 允
【審査官】北村 学
(56)【参考文献】
【文献】特開昭60-262253(JP,A)
【文献】特開2015-176435(JP,A)
【文献】米国特許出願公開第2017/0263306(US,A1)
【文献】特開平07-141175(JP,A)
【文献】特開平10-289192(JP,A)
【文献】特開2008-140220(JP,A)
【文献】特表2017-515239(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/06
G06F 13/16
H01L 25/07
(57)【特許請求の範囲】
【請求項1】
垂直に積層された複数のメモリ半導体ダイを有し、
前記複数のメモリ半導体ダイの内の少なくとも1つは、ブロードキャストデータ及び第1内部データに基づいて演算を実行するように構成された第1演算ユニットと第1メモリセルとを含む第1メモリバンクと、
前記ブロードキャストデータ及び第2内部データに基づいて演算を実行するように構成された第2演算ユニットと第2メモリセルとを含む第2メモリバンクと、を含み、
前記ブロードキャストデータは、共通して、前記第1メモリバンクの前記第1演算ユニット及び前記第2メモリバンクの前記第2演算ユニットに提供され、
前記第1内部データは、前記第1メモリセルから読み取られ、前記第2内部データは、前記第2メモリセルから読み取ら
れ、
前記第1メモリバンク及び前記第2メモリバンクのそれぞれは、複数の演算ユニットを含み、
前記第1メモリバンク及び前記第2メモリバンクのそれぞれの演算ユニットは、前記ブロードキャストデータに基づいて並列に演算を実行することを特徴とする積層型メモリ装置。
【請求項2】
前記第1演算ユニット及び前記第2演算ユニットは、前記ブロードキャストデータに基づいて並行して演算を実行することを特徴とする請求項1に記載の積層型メモリ装置。
【請求項3】
前記第1メモリバンク及び前記第2メモリバンクのそれぞれは、複数のデータブロックを含み、
前記演算ユニットのそれぞれは、所定の数のデータブロックに関して割り当てられることを特徴とする
請求項1に記載の積層型メモリ装置。
【請求項4】
前記第1メモリバンク及び前記第2メモリバンクのそれぞれは、前記第1、第2メモリセルに格納されたデータを外部に転送し、外部から提供されるデータを前記第1、第2メモリセルに格納するグローバル入出力ライン上の信号を増幅する入出力センス増幅器と、前記グローバル入出力ラインを駆動する入出力ドライバと、を含み、
前記第1演算ユニット及び前記第2演算ユニットのそれぞれは、入出力センスアンプ及び入出力ドライバに接続されていることを特徴とする請求項1に記載の積層型メモリ装置。
【請求項5】
前記第1演算ユニット及び前記第2演算ユニットのそれぞれは、前記第1又は第2内部データを受信するための第1入力端子と、前記ブロードキャストデータを受信するための第2入力端子と、を含み、
前記第1入力端子は、前記入出力センスアンプの出力端子に接続されていることを特徴とする
請求項4に記載の積層型メモリ装置。
【請求項6】
前記第2入力端子は、前記入出力ドライバの入力端子に接続されることを特徴とする
請求項5に記載の積層型メモリ装置。
【請求項7】
前記複数のメモリ半導体ダイを電気的に接続するシリコン貫通ビアをさらに有し、
前記ブロードキャストデータは、前記シリコン貫通ビアを介して提供されることを特徴とする請求項1に記載の積層型メモリ装置。
【請求項8】
垂直に積層された複数のメモリ半導体ダイを有し、
前記複数のメモリ半導体ダイの内の少なくとも1つは、それぞれが複数のメモリセルと、第1データ及び第2データに基づいて演算を実行するように構成された1つ以上の演算ユニットと、を含む複数のメモリバンクを含み、
前記第1データは、前記演算ユニットを含む前記メモリ半導体ダイの外部から提供され、前記第2データは、前記複数のメモリバンクの内の対応するメモリバンクの前記メモリセルから読み取られ、
少なくとも2つの異なる前記メモリバンクに含まれる前記演算ユニットは、演算を並行して実行
し、
それぞれの前記演算ユニットは、前記第1データを受信するための第1入力端子と、前記第2データを受信するための第2入力端子と、を含み、
前記第1入力端子は、前記複数のメモリセルに格納されたデータを外部に転送し、外部から提供されるデータを前記複数のメモリセルに格納するグローバル入出力ライン上の信号を増幅する入出力センスアンプの出力端子に接続され、
前記第2入力端子は、前記グローバル入出力ラインを駆動する入出力ドライバの入力端子に接続されることを特徴とする積層型メモリ装置。
【請求項9】
同じメモリバンクに含まれる前記演算ユニットは、前記第1データに基づいて並列に演算を実行することを特徴とする
請求項8に記載の積層型メモリ装置。
【請求項10】
少なくとも2つの異なるメモリバンクに含まれる前記演算ユニットは、少なくとも2つの異なる前記メモリバンクに共通して提供される前記第1データに基づいて、並列に演算を実行することを特徴とする
請求項8に記載の積層型メモリ装置。
【請求項11】
前記演算ユニットは、前記第1データ及び前記第2データに基づいて行列演算(matrix calculation)を実行することを特徴とする
請求項8に記載の積層型メモリ装置。
【請求項12】
前記メモリ半導体ダイの少なくとも1つは、前記演算ユニットを含まない入出力半導体ダイであることを特徴とする
請求項8に記載の積層型メモリ装置。
【請求項13】
前記第1データは、前記入出力半導体ダイから、前記演算ユニットを含む前記メモリ半導体ダイに直接転送されることを特徴とする
請求項12に記載の積層型メモリ装置。
【請求項14】
それぞれの前記演算ユニットは、前記第1データ及び前記第2データに基づいて演算結果データを生成し、
前記演算結果データは、前記演算ユニットを含む前記メモリ半導体ダイから前記入出力半導体ダイに直接転送されることを特徴とする
請求項12に記載の積層型メモリ装置。
【請求項15】
メモリシステムであって、
ホスト装置と、
相互接続装置を介して前記ホスト装置と通信するスタックメモリ装置と、
垂直に積層された複数のメモリ半導体ダイと、を有し、
前記複数のメモリ半導体ダイの内の少なくとも1つは、
ブロードキャストデータ及び第1データに基づいて演算を実行するように構成された第1演算ユニットと第1メモリセルとを含む第1メモリバンクと、
前記ブロードキャストデータ及び第2データに基づいて演算を実行するように構成された第2演算ユニットと第2メモリセルとを含む第2メモリバンクと、を含み、
前記ブロードキャストデータは、共通して、前記第1メモリバンクの前記第1演算ユニット及び前記第2メモリバンクの前記第2演算ユニットに提供され、
前記第1データは、前記ホスト装置から提供され、前記第2データは、前記第2メモリセルから読み取られ、
前記ホスト装置は、
前記第1、第2演算ユニットがコマンドに基づいて演算を実行するように、前記第1データの転送を指示する(indicating)コマンドを前記スタックメモリ装置に転送
し、
前記第1メモリバンク及び前記第2メモリバンクのそれぞれは、複数の演算ユニットを含み、
前記第1メモリバンク及び前記第2メモリバンクのそれぞれの演算ユニットは、前記ブロードキャストデータに基づいて並列に演算を実行することを特徴とするメモリシステム。
【請求項16】
前記第1データは、共通して
前記第1、第2メモリバンクに提供されることを特徴とする
請求項15に記載のメモリシステム。
【請求項17】
同じメモリバンクに含まれる前記演算ユニットは、前記第1データに基づいて並列に演算を実行することを特徴とする
請求項15に記載のメモリシステム。
【請求項18】
前記第1、第2メモリバンクに含まれる前記演算ユニットは、前記第1データに基づいて並列に演算を実行することを特徴とする
請求項15に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は半導体集積回路に関し、特に、積層型メモリ装置及び積層型メモリ装置を含むシステムに関する。
【背景技術】
【0002】
メモリ帯域幅と遅延時間(latency or delay time)は多くのプロセスシステムで重要な性能のボトルネック(performance bottle neck)の原因となる。
メモリ容量を増やすためにメモリチップのパッケージの内部に積層された半導体ダイ(semiconductor dies)はシリコン貫通ビア(via)又は基板貫通ビア(through-silicon via:TSV、又はthrough-substrate via)を通じて電気的に接続される。
【0003】
このような積層技術を通じてメモリ装置の容量を増加し、かつ帯域幅と遅延時間のペナルティを抑制することができる。
外部装置の積層型メモリ装置に対する各々のアクセス(access)は、積層された半導体ダイの間でのデータ交信を要求し、外部装置と積層型メモリ装置との間のデバイス間(inter-device)帯域幅と遅延時間のペナルティが各アクセス当たり2回発生する。
したがって、外部装置が遂行するデータプロセスが積層型メモリ装置への多重アクセスを要求する時、このような帯域幅と遅延時間はシステムのプロセス効率と電力消費量に顕著な影響を及ぼす、という問題がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は上記従来の積層型メモリ装置における問題点に鑑みてなされたものであって、本発明の目的は、同一のデータを入力の一部とする複数の演算を含むデータプロセスを効率良く遂行することができる積層型メモリ装置及びこれを含むメモリシステムを提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するためになされた本発明による積層型メモリ装置は、垂直に積層された複数のメモリ半導体ダイを有し、前記複数のメモリ半導体ダイの内の少なくとも1つは、ブロードキャストデータ及び第1内部データに基づいて演算を実行するように構成された第1演算ユニットと第1メモリセルとを含む第1メモリバンクと、前記ブロードキャストデータ及び第2内部データに基づいて演算を実行するように構成された第2演算ユニットと第2メモリセルとを含む第2メモリバンクと、を含み、前記ブロードキャストデータは、共通して、前記第1メモリバンクの前記第1演算ユニット及び前記第2メモリバンクの前記第2演算ユニットに提供され、前記第1内部データは、前記第1メモリセルから読み取られ、前記第2内部データは、前記第2メモリセルから読み取られ、前記第1メモリバンク及び前記第2メモリバンクのそれぞれは、複数の演算ユニットを含み、前記第1メモリバンク及び前記第2メモリバンクのそれぞれの演算ユニットは、前記ブロードキャストデータに基づいて並列に演算を実行することを特徴とする。
また、上記目的を達成するためになされた本発明による積層型メモリ装置は、垂直に積層された複数のメモリ半導体ダイを有し、前記複数のメモリ半導体ダイの内の少なくとも1つは、それぞれが複数のメモリセルと、第1データ及び第2データに基づいて演算を実行するように構成された1つ以上の演算ユニットと、を含む複数のメモリバンクを含み、前記第1データは、前記演算ユニットを含む前記メモリ半導体ダイの外部から提供され、前記第2データは、前記複数のメモリバンクの内の対応するメモリバンクの前記メモリセルから読み取られ、少なくとも2つの異なる前記メモリバンクに含まれる前記演算ユニットは、演算を並行して実行し、それぞれの前記演算ユニットは、前記第1データを受信するための第1入力端子と、前記第2データを受信するための第2入力端子と、を含み、前記第1入力端子は、前記複数のメモリセルに格納されたデータを外部に転送し、外部から提供されるデータを前記複数のメモリセルに格納するグローバル入出力ライン上の信号を増幅する入出力センスアンプの出力端子に接続され、前記第2入力端子は、前記グローバル入出力ラインを駆動する入出力ドライバの入力端子に接続されることを特徴とする。
【0007】
上記目的を達成するためになされた本発明によるメモリシステムは、ホスト装置と、相互接続装置を介して前記ホスト装置と通信するスタックメモリ装置と、垂直に積層された複数のメモリ半導体ダイと、を有し、前記複数のメモリ半導体ダイの内の少なくとも1つは、ブロードキャストデータ及び第1データに基づいて演算を実行するように構成された第1演算ユニットと第1メモリセルとを含む第1メモリバンクと、前記ブロードキャストデータ及び第2データに基づいて演算を実行するように構成された第2演算ユニットと第2メモリセルとを含む第2メモリバンクと、を含み、前記ブロードキャストデータは、共通して、前記第1メモリバンクの前記第1演算ユニット及び前記第2メモリバンクの前記第2演算ユニットに提供され、前記第1データは、前記ホスト装置から提供され、前記第2データは、前記第2メモリセルから読み取られ、前記ホスト装置は、前記第1、第2演算ユニットがコマンドに基づいて演算を実行するように、前記第1データの転送を指示する(indicating)コマンドを前記スタックメモリ装置に転送し、前記第1メモリバンク及び前記第2メモリバンクのそれぞれは、複数の演算ユニットを含み、前記第1メモリバンク及び前記第2メモリバンクのそれぞれの演算ユニットは、前記ブロードキャストデータに基づいて並列に演算を実行することを特徴とする。
【発明の効果】
【0009】
本発明に係る積層型メモリ装置及びメモリシステムによれば、メモリ集約的(memory-intensive)またはデータ集約的(data-intensive)なデータプロセスをメモリ半導体ダイに含まれた複数の演算ユニットにより並列的に遂行することによって、積層型メモリ装置、ロジック半導体ダイ、及び外部装置の間に交信するデータの量を減少してデータプロセシング時間及び電力消費を減少することができる。
【0010】
また、複数の演算ユニットをメモリバンク内に配置してマトリックス-ベクトル乗算(matrix-vector multiplication:MV)のためのカーネルウェイト(kernel weights)のメモリ帯域幅(memory bandwidth)を増加させ、ブロードキャスティングを通じてマトリックス-ベクトル乗算のためのアクティベーション(activations)のメモリ帯域幅を増加させることによって、MLP(multilayer perceptron)、RNN(recurrent neural network)、CNN(convolutional neural network)などのデータプロセシング時間及び電力消費を減少することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態に係る積層型メモリ装置の動作方法を説明するためのフローチャートである。
【
図2】本発明の実施形態に係る積層型メモリ装置を含むメモリシステムを示す分解斜視図である。
【
図3】本発明の実施形態に係る高帯域幅メモリの構造の一例を示す図である。
【
図4】
図2の積層型メモリ装置に含まれる1つのメモリバンクの構造の一例を示す図である。
【
図5】
図2の積層型メモリ装置のメモリ半導体ダイに含まれるメモリ集積回路の一実施形態を示すブロック図である。
【
図6】本発明の実施形態に係る演算ユニットの概略構成を示す回路図である。
【
図7】本発明の実施形態に係る積層型メモリ装置における通常のアクセス動作時、データ転送経路を示す分解斜視図である。
【
図8a】
図7のデータ転送経路を具現する一実施形態を示す回路図である。
【
図8b】
図7のデータ転送経路を具現する一実施形態を示す回路図である。
【
図9】本発明の実施形態に係る積層型メモリ装置におけるブロードキャストデータの転送経路の実施形態を示す分解斜視図である。
【
図10】
図9のブロードキャストデータの転送経路を具現する一実施形態を示す回路図である。
【
図11a】
図9のブロードキャストデータの転送経路を具現する他の実施形態を示す回路図である。
【
図11b】
図9のブロードキャストデータの転送経路を具現する他の実施形態を示す回路図である。
【
図12】本発明の実施形態に係る積層型メモリ装置におけるブロードキャストデータの転送経路の一実施形態を示す分解斜視図である。
【
図13】
図12のブロードキャストデータの転送経路を具現する一実施形態を示す回路図である。
【
図14a】
図12のブロードキャストデータの転送経路を具現する他の実施形態を示す回路図である。
【
図14b】
図12のブロードキャストデータの転送経路を具現する他の実施形態を示す回路図である。
【
図14c】
図12のブロードキャストデータの転送経路を具現する他の実施形態を示す回路図である。
【
図15】本発明の実施形態に係る積層型メモリ装置における演算回路の出力データの第1転送経路の実施形態を示す分解斜視図である。
【
図16】
図15の出力データの第1転送経路を具現する一実施形態を示す回路図である。
【
図17】本発明の実施形態に係る積層型メモリ装置における演算回路の出力データの第2転送経路の実施形態を示す分解斜視図である。
【
図18】
図17の出力データの第2転送経路を具現する一実施形態を示す回路図である。
【
図19】本発明の実施形態に係る積層型メモリ装置における演算回路の出力データの転送経路の実施形態を示す分解斜視図である。
【
図20】
図19の出力データの転送経路を具現する一実施形態を示す回路図である。
【
図21】本発明の実施形態に係る積層型メモリ装置における演算回路の出力データの転送経路の実施形態を示す分解斜視図である。
【
図22】
図21の出力データの転送経路を具現する一実施形態を示す回路図である。
【
図23】本発明の実施形態に係る積層型メモリ装置におけるブロードキャストデータの転送経路の一実施形態を示す分解斜視図である。
【
図24】
図23のブロードキャストデータの転送経路を具現する一実施形態を示す回路図である。
【
図25】本発明の実施形態に係る積層型メモリ装置に含まれる演算ユニットの一実施形態を示すブロック図である。
【
図26】本発明の一実施形態に係る演算結果データの出力方法を説明するための図である。
【
図27】本発明の実施形態に係る演算回路を用いたマトリックス演算を説明するための図である。
【
図28】本発明の実施形態に係る積層型メモリ装置の動作を説明するためのタイミング図である。
【
図29】本発明の実施形態に係る積層型メモリ装置のパッケージング構造を示す概略図である。
【
図30】本発明の実施形態に係る積層型メモリ装置のパッケージング構造を示す概略図である。
【
図31】本発明の実施形態に係る積層型メモリ装置を応用した例であるモバイルシステムの概略構成を示すブロック図である。
【発明を実施するための形態】
【0012】
次に、本発明に係る積層型メモリ装置及びメモリシステムを実施するための形態の具体例を図面を参照しながら説明する。
【0013】
図1は、本発明の実施形態に係る積層型メモリ装置の動作方法を説明するためのフローチャートである。
図1を参照すると、積層された複数のメモリ半導体ダイのうちの1つ以上の演算半導体ダイに複数の演算ユニットを形成する(ステップS100)。
つまり、メモリ半導体ダイ各々には、データを格納するメモリ集積回路が形成され、メモリ半導体ダイの内の1つ以上は、演算ユニットをさらに形成した演算半導体ダイと称する。
【0014】
メモリ半導体ダイを電気的に接続するシリコン貫通ビア又は基板貫通ビア(through-silicon via:TSV、又はthrough-substrate via)を介してブロードキャストデータを演算ユニットに共通に提供する(ステップS200)。
一方、演算半導体ダイのメモリ集積回路から各々読み出される内部データを演算ユニットに各々提供する(ステップS300)。
演算ユニットを用いて共通のブロードキャストデータ及び各々の内部データに対する複数の演算を同時に実行する(ステップS400)。
【0015】
このように、本発明の実施形態に係る積層型メモリ装置の動作方法は、メモリ集約的(memory-intensive)又はデータ集約的(data-intensive)なデータプロセスをメモリ半導体ダイに含まれた複数の演算ユニットにより並列的に実行することによって、積層型メモリ装置、ロジック半導体ダイ、及び外部装置の間を交信するデータの量を減少させてデータプロセシング時間及び電力消費を減少することができる。
【0016】
図2は、本発明の実施形態に係る積層型メモリ装置を含むメモリシステムを示す分解斜視図である。
図2を参照すると、メモリシステム10は、積層型メモリ装置1000及びホスト装置2000を含む。
【0017】
積層型メモリ装置1000は、垂直に積層された少なくとも1つのベース半導体ダイ(base semiconductor die)又はロジック半導体ダイ(logic semiconductor die)1010及び複数のメモリ半導体ダイ(memory semiconductor die)(1070、1080)を含む。
図2には1つのロジック半導体ダイ及び2つのメモリ半導体ダイを示したが、2つ以上のロジック半導体ダイ及び1つ又は3個以上のメモリ半導体ダイが積層構造に含まれることもできる。
また、
図2にはロジック半導体ダイ1010がメモリ半導体ダイ(1070、1080)と共に垂直に積層される実施形態を示したが、
図29を参照して後述するように、ロジック半導体ダイ1010を除外したメモリ半導体ダイ(1070、1080)のみが共に垂直に積層され、ロジック半導体ダイ1010はインターポーザ又はベース基板を介して積層されたメモリ半導体ダイ(1070、1080)と電気的に接続することもできる。
【0018】
ロジック半導体ダイ1010は、メモリインターフェース(MIF)1020及びメモリ半導体ダイ(1070、1080)に形成されたメモリ集積回路(1071、1081)へのアクセスを可能にするためのロジックを含む。
このようなロジックは、メモリ制御部(CTRL)1030、グローバルバッファ(GBF)1040、及びデータトランスフォームロジック(DTL)1050を含み得る。
【0019】
メモリインターフェース1020は、インターコネクタ装置12を介してホスト装置2000のような外部装置との交信を実行する。
メモリ制御部1030は、積層型メモリ装置1000の全般的な動作を制御する。
データトランスフォームロジック1050は、メモリ半導体ダイ(1070、1080)と交信するデータ又はメモリインターフェース1020を通じて交信するデータに対する演算を実行することができる。
例えば、データトランスフォームロジック1050は、マックスプーリング(max pooling)、ReLU(rectified linear unit)、チャンネル単位加算(channel-wise addition)などの演算を実行することができる。
【0020】
メモリ半導体ダイ(1070、1080)は、メモリ集積回路(MEM)(1071、1081)を各々含む。
メモリ半導体ダイ(1070、1080)の内の少なくとも1つのメモリ半導体ダイ1080は、演算回路100をさらに含む演算半導体ダイに該当する。
後述するように、演算回路100は1つ以上の演算ブロックを含むことができ、演算ブロックの各々は、1つ以上の演算ユニットを含むことができる。
演算ユニットにはシリコン貫通ビア(TSV)を通じてブロードキャストデータが共通に提供され、演算半導体ダイ1080のメモリ集積回路1081から各々読み出される内部データが提供される。
演算ユニットは、共通のブロードキャストデータ及び各々の内部データに基づいて演算を実行して各々の演算結果データを提供する。
【0021】
ホスト装置2000は、ホストインターフェース(HIF)2110及びプロセッサコア(processor core:CR1、CR2)(2120、2130)を含み得る。
ホストインターフェース2110は、インターコネクタ装置12を介して積層型メモリ装置1000のような外部装置との交信を実行する。
【0022】
図3は、本発明の実施形態に係る高帯域幅メモリの構造の一例を示す図である。
図3を参照すると、高帯域幅メモリ(high bandwidth memory:HBM)1001は、複数のDRAM半導体ダイ、例えば、第1~第4メモリ半導体ダイ(1100、1200、1300、1400)が積層された構造を含む。
高帯域幅メモリは、チャンネルと称する複数の独立したインターフェースを介して積層された構造の高帯域幅動作に最適化できる。
【0023】
HBM標準に従って各々のDRAMスタックは最大8個のチャンネルまで支援することができる。
図3には4個のDRAM半導体ダイが積層され、各々のDRAM半導体ダイが2つのチャンネル(CHANNEL(0)、CHANNEL(1))を支援する例を示す。
例えば、
図3に示すように、第4メモリ半導体ダイ1400は2つのチャンネル(CHANNEL(0)、CHANNEL(1))に対応する2つのメモリ集積回路(1401、1402)を含む。
各々のメモリ半導体ダイは、積層構造に追加的なキャパシティ(capacity)及び追加的なチャンネルを提供することができる。
【0024】
例えば、
図3の第4メモリ半導体ダイ1400は前述した演算ユニットを含む演算半導体ダイに該当する。
各チャンネルに対応するメモリ集積回路(1401、1402)の各々は、複数のメモリバンク(MB)を含み、各メモリバンク(MB)は演算ブロック(CB)を含むことができる。
図4を参照して後述するように、各演算ブロック(CB)は、複数の演算ユニット(CU)を含み得る。
このように、演算ユニットは、演算半導体ダイ1400に含まれるメモリバンク(MB)の内部に分散して配置できる。
【0025】
高帯域幅メモリ1001の各々のチャンネルは、メモリバンクの独立したセットに対するアクセスを提供する。
一般的に、高帯域幅メモリは、1つのチャンネルからのリクエストは他のチャンネルに付着されたデータにアクセスできない。
チャンネルは独立的にクロッキングされ、互いに同期化される必要がない。
しかしながら、本発明の実施形態に係る高帯域幅メモリ1001は、前述したブロードキャストデータの転送及び/又は演算結果データの転送のために互いに異なるメモリ半導体ダイのデータにアクセスすることができる。
【0026】
高帯域幅メモリ1001は、スタック構造の下部に位置し、信号の再分配及び他の機能を提供するインターフェースダイを選択的に含むことができる。
メモリ半導体ダイ(1100、1200、1300、1400)に通常的に具現される機能がこのようなインターフェースダイ又はロジック半導体ダイに具現できる。
【0027】
図4は、
図2の積層型メモリ装置に含まれる1つのメモリバンクの構造の一例を示す図である。
図4を参照すると、メモリバンク200は、複数のデータブロック(DBK1~DBKn)及び演算ブロック300を含む。
データブロック(DBK1~DBKn)は同一の構造を有し、
図4には例示的に第1データブロックDBK1の構造を示す。
【0028】
各データブロックは、複数のサブメモリセルアレイ(SARR)を含み、サブメモリセルアレイ(SARR)の各々は複数のメモリセルを含む。
読み出し動作時、ビットラインセンスアンプ(BLSA)は、メモリセルに格納されたデータをセンシング及び増幅してローカル入出力ライン(LIO)とグローバル入出力ライン(GIO)を順次に経て外部に転送する。
また、書き込み動作時、外部から提供されるデータは、グローバル入出力ライン(GIO)及びローカル入出力ライン(LIO)を順次に経てメモリセルに格納される。
このようなデータブロックの階層的構造は多様に変更できる。
【0029】
演算ブロック300は、複数の演算ユニット(CU1~CUn)を含む。
図4にはデータブロック1つ毎に演算ユニットを1つずつ配置する例を示したが、複数のデータブロック毎に1つの演算ユニットを配置することもできる。
前述したように、演算ユニット(CU1~CUn)の各々は、シリコン貫通ビアを介して演算半導体ダイに共通に提供されるブロードキャストデータ(DA)及び内部データ(DW1~DWn)の各々を受信し、これらに基づいた演算を実行して演算結果データ(DR1~DRn)の各々を提供する。
【0030】
図4を参照して1つのメモリバンク200に対して演算ユニットの配置を説明したが、積層型メモリ装置は複数の演算半導体ダイを含み、各演算半導体ダイは複数のメモリバンクを含み、このような全ての演算半導体ダイに含まれた全てのメモリバンクに対して
図4に示したような演算ユニットが配置できる。
全ての演算ユニットは、同一のブロードキャストデータを受信し、対応するデータブロックから各々の内部データを受信することができる。
このように積層型メモリ装置に分散して形成される複数の演算ユニットを用いて演算を並列的に実行することによって、積層型メモリ装置、ロジック半導体ダイ、及び外部装置の間で交信するデータの量を減少させてデータプロセシング時間及び電力消費を減少させることができる。
【0031】
図5は、
図2の積層型メモリ装置のメモリ半導体ダイに含まれるメモリ集積回路の一実施形態を示すブロック図である。
図5を参照し、メモリ集積回路の一例としてDRAMに対する説明をするが、本発明の実施形態に係る積層型メモリ装置は、DRAM、TRAM(Topological switching RAM)、及びSRAMのような揮発性メモリアーキテクチャ、またはROM、フラッシュメモリ、FRAM(登録商標)、MRAM、PRAMなどの不揮発性メモリアーキテクチャを含む多様なメモリアーキテクチャで具現できる。
【0032】
図5を参照すると、メモリ領域400又はメモリ装置の内部回路は、制御ロジック410、アドレスレジスタ420、バンク制御ロジック430、ロウアドレスマルチプレクサ440、コラムアドレスラッチ450、ロウデコーダ460、コラムデコーダ470、メモリセルアレイ480、演算回路100、入出力ゲーティング回路490、データ入出力バッファ495、及びリフラッシュカウンター445を含む。
【0033】
メモリセルアレイ480は、複数のバンクアレイ(480a~480h)を含む。
ロウデコーダ460は、複数のバンクアレイ(480a~480h)に各々接続された複数のバンクロウデコーダ(460a~460h)を含み、コラムデコーダ470は複数のバンクアレイ(480a~480h)に各々結合された複数のバンクコラムデコーダ(470a~470h)を含む。
演算回路100は、複数のバンクアレイ(480a~480h)に各々接続された複数の演算ブロック(CB)(100a~100h)を含む。
前述したように、演算ブロック(100a~100h)の各々は、ブロードキャストデータを共通に受信し、バンクアレイ(480a~480h)から各内部データを受信する複数の演算ユニット(図示せず)を含む。
【0034】
アドレスレジスタ420は、メモリコントローラからバンクアドレス(BANK_ADDR)、ロウアドレス(ROW_ADDR)、及びコラムアドレス(COL_ADDR)を含むアドレス信号(ADD)を受信する。
アドレスレジスタ420は、受信したバンクアドレス(BANK_ADDR)をバンク制御ロジック430に提供し、受信したロウアドレス(ROW_ADDR)をロウアドレスマルチプレクサ440に提供し、受信したコラムアドレス(COL_ADDR)をコラムアドレスラッチ450に提供する。
【0035】
バンク制御ロジック430は、バンクアドレス(BANK_ADDR)に応答してバンク制御信号を生成する。
バンク制御信号に応答して、複数のバンクロウデコーダ(460a~460h)のうち、バンクアドレス(BANK_ADDR)に対応するバンクロウデコーダが活性化され、複数のバンクコラムデコーダ(470a~470h)のうち、バンクアドレス(BANK_ADDR)に対応するバンクコラムデコーダが活性化する。
【0036】
ロウアドレスマルチプレクサ440は、アドレスレジスタ420からロウアドレス(ROW_ADDR)を受信し、リフラッシュカウンター445からリフラッシュロウアドレス(REF_ADDR)を受信する。
ロウアドレスマルチプレクサ440は、ロウアドレス(ROW_ADDR)又はリフラッシュロウアドレス(REF_ADDR)をロウアドレス(RA)として選択的に出力する。
ロウアドレスマルチプレクサ440から出力されたロウアドレス(RA)は、バンクロウデコーダ(460a~460h)に各々印加される。
【0037】
バンクロウデコーダ(460a~460h)のうち、バンク制御ロジック430により活性化されたバンクロウデコーダは、ロウアドレスマルチプレクサ440から出力されたロウアドレス(RA)をデコーディングしてロウアドレスに対応するワードラインを活性化する。
【0038】
コラムアドレスラッチ450は、アドレスレジスタ420からコラムアドレス(COL_ADDR)を受信し、受信したコラムアドレス(COL_ADDR)を一時的に格納する。
また、コラムアドレスラッチ450は、バーストモード(burst mode)で、受信したコラムアドレス(COL_ADDR)を徐々に増加させることができる。
コラムアドレスラッチ450は、一時的に格納された、または徐々に増加したコラムアドレス(COL_ADDR)をバンクコラムデコーダ(470a~470h)に各々印加する。
【0039】
バンクコラムデコーダ(470a~470h)のうち、バンク制御ロジック430により活性化されたバンクコラムデコーダは、入出力ゲーティング回路490を介してバンクアドレス(BANK_ADDR)及びコラムアドレス(COL_ADDR)に対応するセンスアンプを活性化させる。
入出力ゲーティング回路490は、入出力データをゲーティングする回路と共に、入力データマスクロジック、バンクアレイ(480a~480h)から出力されたデータを格納するための読出データラッチ、及びバンクアレイ(480a~480h)にデータを書き込むための書込ドライバを含むことができる。
【0040】
バンクアレイ(480a~480h)の内の1つのバンクアレイから読み出されるデータ(DQ)は、1つのバンクアレイに対応するセンスアンプにより感知され、読出データラッチに格納される。
読出データラッチに格納されたデータ(DQ)は、データ入出力バッファ495を介してメモリコントローラに提供される。
バンクアレイ(480a~480h)の内の1つのバンクアレイに書き込まれるデータ(DQ)は、メモリコントローラからデータ入出力バッファ495に提供される。
データ入出力バッファ495に提供されたデータ(DQ)は、書込ドライバを介して1つのバンクアレイに書き込まれる。
【0041】
制御ロジック410は、半導体メモリ領域400の動作を制御する。
制御ロジック410は、半導体メモリ領域400に書き込み動作又は読み出し動作が実行されるように制御信号を生成する。
制御ロジック410は、メモリコントローラから受信されるコマンド(CMD)をデコーディングするコマンドデコーダ411及び半導体メモリ領域400の動作モードを設定するためのモードレジスタセット(mode register set:MRS)412を含むことができる。
【0042】
図6は、本発明の実施形態に係る演算ユニット概略構成を示す回路図である。
図6を参照すると、演算ユニット(CU)の内部データ(DW[N-1:0])を受信する第1入力端子は第1ノードN1に接続され、演算ユニット(CU)のブロードキャストデータ(DA[N-1:0])を受信する第2入力端子は第2ノードN2に接続される。
第1ノードN1は、グローバル入出力ライン(GIO、GIOB)の信号を増幅して出力する入出力センスアンプ(IOSA)の出力端子に該当する。
第2ノードN2は、グローバル入出力ライン(GIO、GIOB)を駆動する入出力ドライバ(IODRV)の入力端子に該当する。
【0043】
通常の読み出し動作時には演算ユニット(CU)はディスエーブルされ、入出力センスアンプ(IOSA)はグローバル入出力ライン(GIO、GIOB)を介して伝達される読出データを増幅して外部に提供し、通常の書き込み動作時には演算ユニット(CU)はディスエーブルされ、入出力ドライバ(IODRV)は外部から提供された書込データに基づいてグローバル入出力ライン(GIO、GIOB)を駆動する。
一方、演算動作時には演算ユニット(CU)がイネーブルされてブロードキャストデータ(DA[N-1:0])及び内部データ(DW[N-1:0])を受信する。
この際、入出力センスアンプ(IOSA)はイネーブルされて内部データ(DW[N-1:0])を出力し、入出力ドライバ(IODRV)はディスエーブルされてブロードキャストデータ(DA[N-1:0])が内部のメモリセルに提供されることを遮断する。
【0044】
一実施形態において、
図6に示したように、演算ユニット(CU)の演算結果データを提供する出力端子は、入出力センスアンプの出力端子、即ち第1ノードN1に接続され、したがって、通常の読み出し経路を用いて演算結果データ(DR)が提供できる。
演算ユニット(CU)が演算結果データ(DR)を提供する間、入出力センスアンプ(IOSA)はディスエーブルされる。
他の実施形態において、演算ユニット(CU)の出力端子は、第1ノードN1に接続されず、通常の読み出し経路と区別される別個の経路を介して提供することもできる。
更に他の実施形態において、演算ユニット(CU)の出力端子は、第2ノードN2に接続され、通常の書き込み経路を介して内部のメモリセルに格納することもできる。
【0045】
図6には、図の便宜上、1ビットに該当する1つの差動グローバルライン対(GIO、GIOB)を示したが、1つの演算ユニット(CU)はN個のグローバルライン対に接続されてNビットのブロードキャストデータ(DA[N-1:0])、及びNビットの内部データ(DW[N-1:0])を受信することができる。
例えば、積層型メモリ装置の動作モードによって、Nは、8、16、又は32であり得る。
【0046】
以下では、
図7から
図24を参照して本発明の実施形態に係る積層型メモリ装置のデータ転送経路の実施形態を説明する。
図7から
図24には説明及び図の便宜のために、1つのロジック半導体ダイ1010と第1~第4メモリ半導体ダイ(1100、1200、1300、1400)を示すが、ロジック半導体ダイの個数及びメモリ半導体ダイの個数は多様に決定できる。
【0047】
図7は、本発明の実施形態に係る積層型メモリ装置における通常のアクセス動作時、データ転送経路を示す分解斜視図であり、
図8a及び8bは、
図7のデータ転送経路を具現する一実施形態を示す回路図である。
図7の積層メモリ装置を参照すると、第1~第4メモリ半導体ダイ(1100、1200、1300、1400)に各々対応する第1~第4データバス(DBUS1~DBUS4)を介してロジック半導体ダイ1010と第1~第4メモリ半導体ダイ(1100、1200、1300、1400)との間にデータ交信が実行できる。
【0048】
即ち、通常の読み出し及び書き込み動作時には、第1データバスDBUS1を介してロジック半導体ダイ1010と第1メモリ半導体ダイ1100との間にデータが転送され、第2データバスDBUS2を介してロジック半導体ダイ1010と第2メモリ半導体ダイ1200との間にデータが転送され、第3データバスDBUS3を介してロジック半導体ダイ1010と第3メモリ半導体ダイ1300との間にデータが転送され、第4データバスDBUS4を介してロジック半導体ダイ1010と第4メモリ半導体ダイ1400との間にデータが転送される。
通常の読み出し及び書き込み動作時には、第1~第4メモリ半導体ダイ(1100、1200、1300、1400)の間のデータ転送は実行できない。
データバス(DBUS1~DBUS4)の各々は、複数のデータ経路を含み、各データ経路は積層された半導体ダイに形成されたシリコン貫通ビアを接続して垂直に長く延長できる。
【0049】
図8a及び8bを参照すると、ロジック半導体ダイ1010と第1~第4メモリ半導体ダイ(1100、1200、1300、1400)には対応するデータバス(DBUS1~DBUS4)を介して両方向通信を実行する送信回路(TX1~TX4、TX11~TX14、TX21~TX24、TX31~TX34、TX41~TX44)及び受信回路(RX1~RX4、RX11~RX14、RX21~RX24、RX31~RX34、RX41~RX44)を含む。
製造工程の統一のために、第1~第4メモリ半導体ダイ(1100、1200、1300、1400)の各々に、第1~第4データバス(DBUS1~DBUS4)の対応する送信回路(TX1~TX4、TX11~TX14、TX21~TX24、TX31~TX34、TX41~TX44)及び受信回路(RX1~RX4、RX11~RX14、RX21~RX24、RX31~RX34、RX41~RX44)を全て備えて、これらを選択的にイネーブルすることができる。
【0050】
図8aは、通常の書き込み動作に対応するデータ転送経路を示し、
図8bは通常の読み出し動作に対応するデータ転送経路を示す。
図8aを参照すると、通常の書き込み動作時にはロジック半導体ダイ1010の送信回路(TX1~TX4)、とメモリ半導体ダイ(1100、1200、1300、1400)の各受信回路(RX11、RX22、RX33、RX44)がイネーブルされてデータバス(DBUS1~DBUS4)の各々を介してロジック半導体ダイ1010からメモリ半導体ダイ(1100、1200、1300、1400)に書込データが転送される。
【0051】
ロジック半導体ダイ1010の第1送信回路TX1と第1メモリ半導体ダイ1100の第1受信回路RX11がイネーブルされて対応する第1データバスDBUS1を介して書込データWR1が転送される。
ロジック半導体ダイ1010の第2送信回路TX2と第2メモリ半導体ダイ1200の第2受信回路RX22がイネーブルされて対応する第2データバスDBUS2を介して書込データWR2が転送される。
ロジック半導体ダイ1010の第3送信回路TX3と第3メモリ半導体ダイ1300の第3受信回路RX33がイネーブルされて対応する第3データバスDBUS3を介して書込データWR3が転送される。
ロジック半導体ダイ1010の第4送信回路TX4と第4メモリ半導体ダイ1400の第4受信回路RX44がイネーブルされて対応する第4データバスDBUS4を介して書込データWR4が転送される。
【0052】
図8bを参照すると、通常の読み出し動作時には、メモリ半導体ダイ(1100、1200、1300、1400)の各送信回路(TX11、TX22、TX33、TX44)とロジック半導体ダイ1010の受信回路(RX1~RX4)がイネーブルされてデータバス(DBUS1~DBUS4)の各々を介してメモリ半導体ダイ(1100、1200、1300、1400)からロジック半導体ダイ1010に読出データが転送される。
【0053】
第1メモリ半導体ダイ1100の第1送信回路TX11とロジック半導体ダイ1010の第1受信回路RX1がイネーブルされて対応する第1データバスDBUS1を介して読出データRD1が転送される。
第2メモリ半導体ダイ1200の第2送信回路TX22とロジック半導体ダイ1010の第2受信回路RX2がイネーブルされて対応する第2データバスDBUS2を介して読出データRD2が転送される。
第3メモリ半導体ダイ1300の第3送信回路TX33とロジック半導体ダイ1010の第3受信回路RX3がイネーブルされて対応する第3データバスDBUS3を介して読出データRD3が転送される。
第4メモリ半導体ダイ1400の第4送信回路TX44とロジック半導体ダイ1010の第4受信回路RX4がイネーブルされて対応する第4データバスDBUS4を介して読出データRD4が転送される。
【0054】
このような方式により通常の書き込み動作及び読み出し動作は、メモリ半導体ダイ(1100、1200、1300、1400)に各々対応するデータバス(DBUS1~DBUS4)を介してデータが転送できる。
図9から
図24は、本発明の実施形態に係る演算動作のためのデータ転送経路の実施形態を示す図である。
基本的な構成及び動作は
図7、
図8a、及び
図8bと同一であるので重複説明は省略する。
【0055】
図9は、本発明の実施形態に係る積層型メモリ装置におけるブロードキャストデータの転送経路の一実施形態を示す分解斜視図であり、
図10は
図9のブロードキャストデータの転送経路を具現する一実施形態を示す回路図である。
積層されたメモリ半導体ダイ(1100、1200、1300、1400)の一部は、演算回路(CAL)が形成された演算半導体ダイに該当し、残りの一部は演算回路(CAL)が形成されない入出力半導体ダイに該当する。
図9には、第1、第2、及び第3メモリ半導体ダイ(1100、1200、1300)が演算半導体ダイに該当し、第4メモリ半導体ダイ1400が入出力半導体ダイに該当する例を示す。
【0056】
図9を参照すると、ブロードキャストデータ(DA)は、ロジック半導体ダイ1010を経由せず、入出力半導体ダイ1400から演算半導体ダイ(1100、1200、1300)に直接伝達される。
入出力半導体ダイ1400は、演算半導体ダイ(1100、1200、1300)に各々対応するデータバス(DBUS1、DBUS2、DBUS3)をブロードキャストデータ(DA)で同時に駆動する。
演算半導体ダイ(1100、1200、1300)の各々は、演算半導体ダイ(1100、1200、1300)に各々対応するデータバス(DBUS1、DBUS2、DBUS3)を介してブロードキャストデータ(DA)を受信する。
【0057】
図10を参照すると、入出力半導体ダイ1400の第1送信回路TX41と第1演算半導体ダイ1100の第1受信回路RX11がイネーブルされて対応する第1データバスDBUS1を介してブロードキャストデータ(DA)が転送される。
入出力半導体ダイ1400の第2送信回路TX42と第2演算半導体ダイ1200の第2受信回路RX22がイネーブルされて対応する第2データバスDBUS2を介してブロードキャストデータ(DA)が転送される。
入出力半導体ダイ1400の第3送信回路TX43と第3演算半導体ダイ1300の第3受信回路RX33がイネーブルされて対応する第3データバスDBUS3を介してブロードキャストデータ(DA)が転送される。
このようなブロードキャストデータ(DA)の転送は、全ての演算半導体ダイ(1100、1200、1300)に対して同時に実行できる。
【0058】
図10を参照して送信回路と受信回路の選択的なイネーブルによりブロードキャストデータ(DA)の転送を遂行する実施形態を説明したが、ブロードキャストデータ(DA)の転送は、
図11a及び11bを参照して後述するように、データバスの選択的な接続を通じても実行できる。
【0059】
図11a及び11bは、
図9のブロードキャストデータの転送経路を具現する他の実施形態を示す回路図である。
図11aを参照すると、隣接するデータバス(DBUS1~DBUS4)の間にはスイッチ制御信号(SCON1、SCON2、SCON3)に応答してターンオンされるスイッチ回路(SW1、SW2、SW3)が各々結合される。
スイッチ回路(SW1、SW2、SW3)が全てターンオンされれば、データバス(DBUS1~DBUS4)が全て電気的に接続される。
この場合、入出力半導体ダイ1400は対応する第4データバスDBUS4のみをブロードキャストデータ(DA)として駆動しても第1、第2、及び第3データバス(DBUS1、DBUS2、DBUS3)を介して演算半導体ダイ(1100、1200、1300)に各々ブロードキャストデータ(DA)が転送される。
【0060】
図11bを参照すると、入出力半導体ダイ1400に対応する第4データバスDBUS4と演算半導体ダイ(1100、1200、1300)に対応するデータバス(DBUS1、DBUS2、DBUS3)の間にはスイッチ制御信号(SCON1、SCON2、SCON3)に応答してターンオンされるスイッチ回路(SW1、SW2、SW3)が各々結合される。
スイッチ回路(SW1、SW2、SW3)が全てターンオンされれば、データバス(DBUS1~DBUS4)が全て電気的に接続される。
この場合、入出力半導体ダイ1400は対応する第4データバスDBUS4をブロードキャストデータ(DA)として駆動しても第1、第2、及び第3データバス(DBUS1、DBUS2、DBUS3)を介して演算半導体ダイ(1100、1200、1300)に各々ブロードキャストデータ(DA)が転送される。
【0061】
図12は、本発明の実施形態に係る積層型メモリ装置におけるブロードキャストデータの転送経路の一実施形態を示す分解斜視図であり、
図13は
図12のブロードキャストデータの転送経路を具現する一実施形態を示す回路図である。
図12を参照すると、ブロードキャストデータ(DA)は、ロジック半導体ダイ1010を経由せず、入出力半導体ダイ1400から演算半導体ダイ(1100、1200、1300)に直接伝達される。
入出力半導体ダイ1400は、入出力半導体ダイ1400に対応する第4データバスDBUS4をブロードキャストデータ(DA)として駆動する。
演算半導体ダイ(1100、1200、1300)の各々は、入出力半導体ダイ1400に対応する第4データバスDBUS4を介してブロードキャストデータ(DA)を受信する。
【0062】
図13を参照すると、入出力半導体ダイ1400の第4送信回路TX44がイネーブルされると共に、第1演算半導体ダイ1100の第4受信回路RX14、第2演算半導体ダイ1200の第4受信回路RX24、及び第3演算半導体ダイ1300の第4受信回路RX34がイネーブルされて第4データバスDBUS4を介してブロードキャストデータ(DA)が同時に転送される。
【0063】
図13を参照して送信回路と受信回路の選択的なイネーブルによりブロードキャストデータ(DA)の転送を遂行する実施形態を説明したが、ブロードキャストデータ(DA)の転送は、
図14a、
図14b、及び
図14cを参照して後述するようにデータバスの選択的な接続を通じても実行できる。
図14a、14b、14cは、
図12のブロードキャストデータの転送経路を具現する他の実施形態を示す回路図である。
【0064】
図14a、14b、14cを参照すると、入出力半導体ダイ1400に対応する第4データバスDBUS4と演算半導体ダイ(1100、1200、1300)に対応するデータバス(DBUS1、DBUS2、DBUS3)の間にはスイッチ制御信号(SCON1、SCON2、SCON3)に応答してターンオンされるスイッチ回路(SW1、SW2、SW3)が各々結合される。
スイッチ回路(SW1、SW2、SW3)が全てターンオンされれば、データバス(DBUS1~DBUS4)が全て電気的に接続される。
この場合、入出力半導体ダイ1400は対応する第4データバスDBUS4のみをブロードキャストデータ(DA)として駆動しても演算半導体ダイ(1100、1200、1300)では第1、第2、及び第3データバス(DBUS1、DBUS2、DBUS3)に対応する受信回路(RX11、RX22、RX33)を各々イネーブルすることによってブロードキャストデータ(DA)を受信することができる。
【0065】
一実施形態において、
図15から
図18を参照して後述するように、演算半導体ダイ(1100、1200、1300)に含まれた演算回路(CAL)から出力される演算結果データ(DR1、DR2、DR3)は、演算半導体ダイ(1100、1200、1300)からロジック半導体ダイ1010に伝達された後、ロジック半導体ダイ1010から入出力半導体ダイ1400に伝達される。
他の実施形態において、
図19から
図22を参照して後述するように、演算結果データ(DR1、DR2、DR3)は、ロジック半導体ダイ1010を経由せず、演算半導体ダイ(1100、1200、1300)から入出力半導体ダイ1400に直接伝達される。
【0066】
図15は、本発明の実施形態に係る積層型メモリ装置における演算回路の出力データの第1転送経路の一実施形態を示す分解斜視図であり、
図16は
図15の出力データの第1転送経路を具現する一実施形態を示す回路図である。
図15を参照すると、演算結果データ(DR1、DR2、DR3)は、演算半導体ダイ(1100、1200、1300)に各々対応するデータバス(DBUS1、DBUS2、DBUS3)を介して演算半導体ダイ(1100、1200、1300)からロジック半導体ダイ1010に同時に伝達される。
図2を参照して前述したように、ロジック半導体ダイ1010はグローバルバッファ1040を含むことができ、演算半導体ダイ(1100、1200、1300)から伝達される演算結果データ(DR1、DR2、DR3)は、グローバルバッファ1040に格納できる。
【0067】
図16を参照すると、第1演算半導体ダイ1100の第1送信回路TX11とロジック半導体ダイ1010の第1受信回路RX1がイネーブルされて対応する第1データバスDBUS1を介して演算結果データDR1が転送される。
第2演算半導体ダイ1200の第2送信回路TX22とロジック半導体ダイ1010の第2受信回路RX2がイネーブルされて対応する第2データバスDBUS2を介して演算結果データDR2が転送される。
第3演算半導体ダイ1300の第3送信回路TX33とロジック半導体ダイ1010の第3受信回路RX3がイネーブルされて対応する第3データバスDBUS3を介して演算結果データDR3が転送される。
このような演算結果データ(DR1、DR2、DR3)の転送は、全ての演算半導体ダイ(1100、1200、1300)に対して同時に遂行できる。
【0068】
図17は、本発明の実施形態に係る積層型メモリ装置における演算回路の出力データの第2転送経路の一実施形態を示す分解斜視図であり、
図18は
図17の出力データの第2転送経路を具現する一実施形態を示す回路図である。
図17を参照すると、演算結果データ(DR)は入出力半導体ダイ1400に対応する第4データバスDBUS4を通じてロジック半導体ダイ1010から入出力半導体ダイ1400に時分割方式により順次に伝達される。
ロジック半導体ダイ1010から入出力半導体ダイ1400に伝達される演算結果データ(DR)は、演算半導体ダイ(1100、1200、1300)からロジック半導体ダイ1010に伝達される演算結果データ(DR1、DR2、DR3)と同一であることもあり得、
図2のデータトランスフォームロジック1050により処理されたデータであり得る。
【0069】
図18を参照すると、ロジック半導体ダイ1010の第4送信回路TX4と入出力半導体ダイ1400の第4受信回路RX44がイネーブルされて対応する第4データバスDBUS4を介して演算結果データ(DR)が転送される。
この場合、演算結果データ(DR)は、通常の書き込み動作を通じて入出力半導体ダイ1400のメモリ集積回路に格納される。
演算結果データ(DR)の量が多い場合には時分割方式により順次に伝達される。
【0070】
図19は、本発明の実施形態に係る積層型メモリ装置における演算回路の出力データの転送経路の一実施形態を示す分解斜視図であり、
図20は、
図19の出力データの転送経路を具現する一実施形態を示す回路図である。
図19を参照すると、演算結果データ(DR1、DR2、DR3)は、ロジック半導体ダイ1010を経由せず、演算半導体ダイ(1100、1200、1300)から入出力半導体ダイ1400に直接伝達される。
演算半導体ダイ(1100、1200、1300)は、演算半導体ダイ(1100、1200、1300)に各々対応するデータバス(DBUS1、DBUS2、DBUS3)を各々の演算結果データ(DR1、DR2、DR3)として順次に駆動する。
入出力半導体ダイ1400は、演算半導体ダイ(1100、1200、1300)に対応するデータバス(DBUS1、DBUS2、DBUS3)を介して演算結果データ(DR1、DR2、DR3)を順次に受信する。
【0071】
図20を参照すると、第1演算半導体ダイ1100の第1送信回路TX11と入出力半導体ダイ1400の第1受信回路RX41がイネーブルされて対応する第1データバスDBUS1を介して演算結果データDR1が転送される。
第2演算半導体ダイ1200の第2送信回路TX22と入出力半導体ダイ1400の第2受信回路RX42がイネーブルされて対応する第2データバスDBUS2を介して演算結果データDR2が転送される。
第3演算半導体ダイ1300の第3送信回路TX33と入出力半導体ダイ1400の第3受信回路RX43がイネーブルされて対応する第3データバスDBUS3を介して演算結果データDR3が転送される。
このような演算結果データ(DR1、DR2、DR3)の転送は、演算半導体ダイ(1100、1200、1300)に対して1つずつ順次に実行できる。
【0072】
図21は、本発明の実施形態に係る積層型メモリ装置における演算回路の出力データの転送経路の一実施形態を示す分解斜視図であり、
図22は、
図21の出力データの転送経路を具現する一実施形態を示す回路図である。
図21を参照すると、演算結果データ(DR1、DR2、DR3)は、ロジック半導体ダイ1010を経由せず、演算半導体ダイ(1100、1200、1300)から入出力半導体ダイ1400に直接伝達される。
演算半導体ダイ(1100、1200、1300)は、入出力半導体ダイ1400に対応する第4データバスDBUS4を各々の演算結果データ(DR1、DR2、DR3)として順次に駆動する。
入出力半導体ダイ1400は、入出力半導体ダイ1400に対応する第4データバスDBUS4を介して各々の演算結果データ(DR1、DR2、DR3)を順次に受信する。
【0073】
図22を参照すると、第1演算半導体ダイ1100の第4送信回路TX14、第2演算半導体ダイ1200の第4送信回路TX24、及び第3演算半導体ダイ1300の第4送信回路TX34が順次にイネーブルされて第4データバスDBUS4を介して演算結果データ(DR1、DR2、DR3)を順次に出力する。
入出力半導体ダイ1400の第4受信回路RX44は、続けてイネーブルされた状態を維持して演算結果データ(DR1、DR2、DR3)を順次に受信する。
【0074】
図23は、本発明の実施形態に係る積層型メモリ装置におけるブロードキャストデータの転送経路の一実施形態を示す分解斜視図であり、
図24は
図23のブロードキャストデータの転送経路を具現する一実施形態を示す回路図である。
図23に示すように、積層されたメモリ半導体ダイ(1100、1200、1300、1400)の全部は、演算回路(CAL)が形成された演算半導体ダイに該当することができる。
この場合、第1~第4演算半導体ダイ(1100、1200、1300、1400)のうちの1つから残りの演算半導体ダイにブロードキャストデータ(DA)を伝達することができる。
ブロードキャストデータ(DA)を提供する演算半導体ダイは、ロジック半導体ダイ1010から提供されるコマンドに基づいて決定できる。
図23には第3演算半導体ダイ1300がブロードキャストデータ(DA)を提供する例を示す。
【0075】
図23を参照すると、ブロードキャストデータ(DA)はロジック半導体ダイ1010を経由せず、1つの演算半導体ダイ、即ち第3演算半導体ダイ1300から他の演算半導体ダイ、即ち第1、第2、及び第4演算半導体ダイ(1100、1200、1400)に直接伝達される。
第3演算半導体ダイ1300は、第1、第2、及び第4演算半導体ダイ(1100、1200、1400)に各々対応するデータバス(DBUS1、DBUS2、DBUS4)をブロードキャストデータ(DA)で同時に駆動する。
第1、第2、及び第4演算半導体ダイ(1100、1200、1400)の各々は、対応するデータバス(DBUS1、DBUS2、DBUS4)を介してブロードキャストデータ(DA)を受信する。
【0076】
図24を参照すると、第3演算半導体ダイ1300の第1送信回路TX31と第1演算半導体ダイ1100の第1受信回路RX11がイネーブルされて対応する第1データバスDBUS1を介してブロードキャストデータ(DA)が転送される。
第3演算半導体ダイ1300の第2送信回路TX32と第2演算半導体ダイ1200の第2受信回路RX22がイネーブルされて対応する第2データバスDBUS2を介してブロードキャストデータ(DA)が転送される。
第3演算半導体ダイ1300の第4送信回路TX34と第4演算半導体ダイ1400の第4受信回路RX44がイネーブルされて対応する第4データバスDBUS4を介してブロードキャストデータ(DA)が転送される。
【0077】
このようなブロードキャストデータ(DA)の転送は、全ての演算半導体ダイ(1100、1200、1400)に対して同時に実行される。
一方、
図24に示してはいないが、第3演算半導体ダイ1300の第3送信回路TX33と第3受信回路RX33がイネーブルされてブロードキャストデータ(DA)が第3演算半導体ダイ1300の演算ユニットの対応する入力端子に提供できる。
この場合、第3演算半導体ダイ1300はブロードキャストデータ(DA)を提供する役割だけでなく、他の演算半導体ダイと同様に演算動作を実行することができる。
【0078】
図25は、本発明の実施形態に係る積層型メモリ装置に含まれる演算ユニットの一実施形態を示すブロック図である。
図25を参照すると、各演算ユニット500は、乗算部520及び累積部540を含む。
乗算部520は、バッファ(521、522)と乗算器523を含み、ブロードキャストデータ(DA[N-1:0])及び内部データ(DW[N-1:0])を乗算して出力する。
累積部540は、加算器541とバッファ542を含み、乗算部520の出力を累積して演算結果データ(DR)を提供する。
累積部540は、リセット信号(RST)に応答して初期化され、出力制御信号(OUTEN)に応答して演算結果データ(DR)を出力する。
このような演算ユニット500を用いて
図27を参照して後述するマトリックス演算を効率良く実行することができる。
【0079】
図26は、本発明の一実施形態に係る演算結果データの出力方法を説明するための図である。
図26には1つのチャンネル(CHANNEL-0)に対応する演算結果データの出力方法の一実施形態を示す。
1つのチャンネル(CHANNEL-0)は、複数のメモリバンク(BANK0~BANK15)を含み、メモリバンク(BANK0~BANK15)の各々は、複数の演算ユニット(CU0~CU15)を含む。
メモリバンク(BANK0~BANK15)は、HBM標準に規定された通り、2つのシュードチャンネル(PSE-0、PSE-1)に区分できる。
【0080】
演算ユニットが形成される演算半導体ダイの各々は、
図26に示すようなバンク合算器(610a~610p)をさらに含む。
バンク合算器(610a~610p)は、メモリバンク(BANK0~BANK15)の各々に該当する演算ユニットの出力を合算して各々のバンク結果信号(BR0~BR15)を発生する。
各々の演算半導体ダイで発生するバンク結果信号(BR0~BR15)は、各々の演算半導体ダイに対応するデータバスDBUSを介して同時に出力できる。
【0081】
例えば、1つのチャンネル(CHANNEL-0)に対応するデータバスDBUSが128ビットに対応し、1つのチャンネル(CHANNEL-0)が16個のメモリバンク(BANK0~BANK15)を含む場合、1つのバンク合算器の出力は1つのバイト、即ち8ビットに対応するデータバスDBUSのデータ経路を介して出力される。
即ち、第1バンク合算器610aのバンク結果信号BR0は、データバスDBUSの第1バイト(BY0)に対応するデータ経路を介して出力され、第2バンク合算器610bのバンク結果信号BR1は、データバスDBUSの第2バイト(BY1)に対応するデータ経路を介して出力され、このような方式により、第16バンク合算器610pのバンク結果信号BR15はデータバスDBUSの第16バイト(BY15)に対応するデータ経路を介して出力される。
【0082】
図27は、本発明の実施形態に係る演算回路を用いたマトリックス演算を説明するための図である。
図27は、本発明の実施形態に係る積層型メモリ装置が複数の演算ユニット(CU0-0~CU95-15)を用いてマトリックス-ベクトル(matrix-vector:MV)乗算(multiplication)を実行する方法を示す。
【0083】
図27で、i番目行の演算ユニット(CUi-0~CUi-15)は、i番目メモリバンクBANKiに対応する。
例えば、MV乗算は32ビットモードであり、各メモリバンクは16個の演算ユニットCUを含むことができる。
例えば、4個のメモリ半導体ダイの各々が2つのチャンネルを含み、各チャンネルが16個のメモリバンクを含むことができる。
この場合、1つの半導体ダイは前述した入出力半導体ダイに用いられ、3個のメモリ半導体ダイが演算半導体ダイに用いられる場合、演算半導体ダイに含まれるメモリバンクの個数は96個(6チャンネル×16メモリバンク)でありうる。
【0084】
第1動作周期(T1)で第1セットのブロードキャストデータ(DA0~DA15)が、第2動作周期(T2)で第2セットのブロードキャストデータ(DA16~DA31)が順次にアクティベーション(activations)として全てのメモリバンクの全ての演算ユニットに共通に提供される。
このような方式によりアクティベーションが順次にブロードキャストできる。
一方、第1動作周期(T1)で第1セットの内部データ(DW0~DW95)が、第2動作周期(T2)で第2セットの内部データ(DW96~DW191)がウェイト(weights)として順次に演算ユニットに各々提供される。
【0085】
内部データは、各々のメモリバンクから読み出されたデータに該当する。
このように、順次に提供されるアクティベーション及びウェイトに基づいて演算ユニットは内積演算(dot product operations)を実行する。
同一のメモリバンクの演算ユニットは同一の出力アクティベーションの部分和を提供する。
したがって、内積演算が完了した後に部分和は、
図26のバンク合算器により合算されて、最終結果、即ちバンク結果信号(BR0~BR95)が提供される。
【0086】
本発明の実施形態に係る積層型メモリ装置において、
図27に示すようなMV乗算は、1×1畳み込み(convolution)、又は完全接続されたレイヤ(fully-connected layer)に該当する。
MLP及びRNNの場合にブロードキャストデータ、即ちブロードキャスティングされたアクティベーションは1次元入力アクティベーションのサブ-アレイに該当する。
CNNの場合に入力アクティベーションは、入力アクティベーションテンソルで1×1サブ-コラムに該当する。
【0087】
図28は、本発明の実施形態に係る積層型メモリ装置の動作を説明するためのタイミング図である。
図9を参照して前述したように、本発明の実施形態に係る積層型メモリ装置で、第1、第2、及び第3メモリ半導体ダイ(1100、1200、1300)は、演算回路CAL、即ち演算ユニットCUが形成される第1、第2、及び第3演算半導体ダイに該当し、第4メモリ半導体ダイ1400は、演算回路CALが形成されていない入出力半導体ダイでありうる。
【0088】
この場合、前述したブロードキャストデータは、入出力半導体ダイ1400から提供される。
HBM標準に規定された通り、第1演算半導体ダイ1100は第1チャンネルCH0及び第2チャンネルCH1を含み、第2演算半導体ダイ1200は第3チャンネルCH2及び第4チャンネルCH3を含み、第3演算半導体ダイ1300は第5チャンネルCH4及び第6チャンネルCH5を含み、入出力半導体ダイ1400は第7チャンネルCH6及び第8チャンネルCH7を含む。
各チャンネルは、シュードチャンネル(PSE)「0」及び「1」として動作することができる。
【0089】
本発明の実施形態に係る積層型メモリ装置は、演算ユニットを用いた複数の演算を並列的に実行するために
図28に示したMRST、ABRO、MAC、SUM、MWRTのような新しいコマンドを規定することができる。
図28で、時点(T0~TN+1)は、コマンドの相対的なタイミングを示す。
【0090】
MRSTは、演算ユニットのバッファをリセットするためのコマンドである。
例えば、MRSTに基づいて
図25のリセット信号(RST)が活性化され、バッファ542が初期化される。
また、MRSTは、ブロードキャストデータの転送のためにロジック半導体ダイ1010のメモリ制御部1030のチャンネル選択器をセッティングする。
【0091】
ABROは、ブロードキャストデータの転送を開始する(initiate)。
ABROは、読出コマンドと類似しているが、読出データが外部に転送されず、演算半導体ダイの演算ユニットに伝達されるようにする。
ABROは、シュードチャンネル単位で発行される。
MACは、演算半導体ダイで演算動作を開始する。
MACは、読出コマンドと類似しているが、読出された内部データは演算ユニットのみまで伝達され、TSVを通じての外部または他の半導体ダイへの転送は防止される。
MACは、全ての演算半導体ダイにブロードキャスティングされ、シュードチャンネル単位で発行される。
【0092】
SUMは、演算結果データを演算ユニットからロジック半導体ダイに転送する。
例えば、SUMに基づいて
図25の出力制御信号(OUTEN)が活性化され、演算結果データ(DR)は
図26のバンク合算器(610a~610p)により合算されてバンク結果信号(BR)としてロジック半導体ダイ1010に提供される。
MWRTは、演算結果データをロジック半導体ダイ1010から入出力半導体ダイに転送するようにロジック半導体ダイ1010のメモリ制御部1030のチャンネル選択器をセッティングする。
【0093】
図28で、第7チャンネルCH6と第8チャンネルCH7は、入出力半導体ダイ1400に該当し、ブロードキャストデータ及び演算結果データを格納し、第1~第6チャンネル(CH0~CH5)は、演算半導体ダイ(1100、1200、1300)に該当し、内部データを格納し、演算動作を実行する。
図28に示したように、ABRO、MAC、MWRTは、シュードチャンネル単位で、即ち第1シュードチャンネル(PSE-0)と第2シュードチャンネル(PSE-1)に対して交互に(alternatively)発行され、これによって、演算ユニットの動作が効率良く実行できる。
例えば、T2時点では第2シュードチャンネル(PSE-1)に対するブロードキャストデータの転送と第1シュードチャンネル(PSE-0)に対する内部データの転送及び演算が同時に実行できる。
【0094】
図29及び
図30は、本発明の実施形態に係る積層型メモリ装置のパッケージング構造を示す概略図である。
図29を参照すると、メモリチップ801は、インターポーザ(interposer:ITP)、及びインターポーザITPの上に実装される積層型メモリ装置を含む。
積層型メモリ装置は、ロジック半導体ダイLSD及び複数のメモリ半導体ダイ(MSD1~MSD4)を含む。
【0095】
図30を参照すると、メモリチップ802は、ベース基板(base substrate:BSUB)及びベース基板BSUBの上に実装される積層型メモリ装置を含む。
積層型メモリ装置は、ロジック半導体ダイLSD及び複数のメモリ半導体ダイ(MSD1~MSD4)を含む。
【0096】
図29にはロジック半導体ダイLSDを除外したメモリ半導体ダイ(MSD1~MSD4)のみが共に垂直に積層され、ロジック半導体ダイLSDは、インターポーザITP(又はベース基板BSUB)を介して積層されたメモリ半導体ダイ(MSD1~MSD4)と電気的に接続される構造を示す。
一方、
図30では、ロジック半導体ダイLSDは、メモリ半導体ダイ(MSD1~MSD4)と共に垂直に積層される構造を示す。
【0097】
メモリ半導体ダイ(MSD1~MSD4)の1つ以上は、前述した演算回路(CAL)を含むことができる。
演算回路(CAL)は、共通のブロードキャストデータと各内部データに基づいた演算を遂行する複数の演算ユニットを含む。
【0098】
ベース基板BSUBは、インターポーザITPを含むものとして見なす。
ベース基板BSUBは、印刷回路基板(printed circuit board:PCB)でありうる。
ベース基板BSUBの下面には外部接続部材、例えば導電性バンプBMPが形成することができ、ベース基板BSUBの上面にも内部接続部材、例えば導電性バンプBMPを形成する。
図29の実施形態ではロジック半導体ダイLSDとメモリ半導体ダイ(MSD1~MSD4)はインターポーザITPに形成された導電ラインパターンを介して互いに電気的に接続される。
このように積層された半導体ダイ(LSD、MSD1~MSD4)は、封入部材RSNを用いてパッケージングされる。
【0099】
図31は、本発明の実施形態に係る積層型メモリ装置を応用した例であるモバイルシステムの概略構成を示すブロック図である。
図31を参照すると、モバイルシステム3000は、アプリケーションプロセッサ3100、通信部3200、メモリ装置3300、不揮発性メモリ装置3400、ユーザインターフェース3500、及びパワーサプライ3600を含む。
【0100】
アプリケーションプロセッサ3100は、インターネットブラウザ、ゲーム、動画像などを提供するアプリケーションを実行する。
通信部3200は、外部装置と無線通信または有線通信を実行する。
メモリ装置3300は、アプリケーションプロセッサ3100により処理されるデータを格納するか、又は動作メモリ(Working Memory)として動作する。
例えば、メモリ装置3300は、DDR SDRAM、LPDDR SDRAM、GDDR SDRAM、RDRAMなどの動的ランダムアクセスメモリでありうる。
【0101】
不揮発性メモリ装置3400は、モバイルシステム3000をブーティング(booting)するためのブートイメージを格納することができる。
ユーザインターフェース3500は、キーパッド、タッチスクリーンのような1つ以上の入力装置、及び/又はスピーカー、ディスプレイ装置のような1つ以上の出力装置を含む。
パワーサプライ3600は、モバイルシステム3000の電源電圧を供給する。
また、実施形態に従って、モバイルシステム3000は、カメライメージプロセッサ(Camera Image Processor:CIS)をさらに含むことができ、メモリカード(Memory Card)、ソリッドステートドライブ(Solid State Drive:SSD)、ハードディスクドライブ(Hard Disk Drive:HDD)、CD-ROMなどの格納装置をさらに含むことができる。
【0102】
メモリ装置3300及び/又は不揮発性メモリ装置3400は、
図1から
図30を参照して前述したような積層型構造として具現できる。
積層型構造は、TSVを通じて接続される積層された複数のメモリ半導体ダイを含み、メモリ半導体ダイの1つ以上には前述したような演算ユニットが形成される。
【0103】
以上、説明したように、本発明の実施形態に係る積層型メモリ装置、これを含むシステム、及びその動作方法は、メモリ集約的(memory-intensive)又はデータ集約的(data-intensive)なデータプロセスをメモリ半導体ダイに含まれた複数の演算ユニットにより並列的に実行することによって、積層型メモリ装置、ロジック半導体ダイ、及び外部装置との間で交信するデータの量を減少させてデータプロセシング時間及び電力消費を減少させることができる。
【0104】
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【産業上の利用可能性】
【0105】
本発明は、メモリ装置及びこれを含む電子機器、システムに好適に利用される。
特に、本発明の実施形態は、メモリカード、ソリッドステートドライブ(Solid State Drive:SSD)、コンピュータ、ノートブックコンピュータ、携帯電話、スマートフォン、MP3プレーヤ、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、デジタルTV、デジタルカメラ、ポータブルゲームコンソールなどの電子機器にさらに有用に適用できる。
【符号の説明】
【0106】
10 メモリシステム
12 インターコネクタ装置
100 演算回路
100a~100h 演算ブロック
200 メモリバンク
300 演算ブロック
400 メモリ領域
410 制御ロジック
411 コマンドデコーダ
412 モードレジスタセット
420 アドレスレジスタ
430 バンク制御ロジック
440 ロウアドレスマルチプレクサ
445 リフラッシュカウンター
450 コラムアドレスラッチ
460 ロウデコーダ
460a~460h バンクロウデコーダ
470 コラムデコーダ
470a~470h バンクコラムデコーダ
480 メモリセルアレイ
480a~480h バンクアレイ
490 入出力ゲーティング回路
495 データ入出力バッファ
1000 積層型メモリ装置
1001 高帯域幅メモリ
1010 ロジック半導体ダイ
1020 メモリインターフェース
1030 メモリ制御部
1040 グローバルバッファ
1050 データトランスフォームロジック
1070、1080 メモリ半導体ダイ(演算半導体ダイを含む)
1071、1081 メモリ集積回路(MEM)
1100~1400 第1~第4メモリ半導体ダイ(入出力半導体ダイ、演算半導体ダイを含む)
1401、1402 メモリ集積回路
2000 ホスト装置
2110 ホストインターフェース
2120、2130 プロセッサコア