IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三星電子株式会社の特許一覧

特許7473386高帯域幅メモリシステム及びメモリアドレス方法
<>
  • 特許-高帯域幅メモリシステム及びメモリアドレス方法 図1
  • 特許-高帯域幅メモリシステム及びメモリアドレス方法 図2
  • 特許-高帯域幅メモリシステム及びメモリアドレス方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】高帯域幅メモリシステム及びメモリアドレス方法
(51)【国際特許分類】
   G06F 12/06 20060101AFI20240416BHJP
   G06F 12/00 20060101ALI20240416BHJP
   G11C 5/04 20060101ALI20240416BHJP
   H01L 25/07 20060101ALI20240416BHJP
   H01L 25/065 20230101ALI20240416BHJP
   H01L 25/18 20230101ALI20240416BHJP
【FI】
G06F12/06 521G
G06F12/00 550K
G11C5/04 220
H01L25/08 C
【請求項の数】 13
(21)【出願番号】P 2020082694
(22)【出願日】2020-05-08
(65)【公開番号】P2020187747
(43)【公開日】2020-11-19
【審査請求日】2023-04-12
(31)【優先権主張番号】62/846,406
(32)【優先日】2019-05-10
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/439,613
(32)【優先日】2019-06-12
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】110000051
【氏名又は名称】弁理士法人共生国際特許事務所
(72)【発明者】
【氏名】マラディ,クリシュナ テジャ
(72)【発明者】
【氏名】張 牧 天
(72)【発明者】
【氏名】牛 迪 民
(72)【発明者】
【氏名】チョン 宏 忠
【審査官】北村 学
(56)【参考文献】
【文献】米国特許出願公開第2014/0082322(US,A1)
【文献】国際公開第2015/006946(WO,A1)
【文献】米国特許出願公開第2012/0191921(US,A1)
【文献】特開2000-029782(JP,A)
【文献】特開2009-071070(JP,A)
【文献】特開2014-002745(JP,A)
【文献】米国特許出願公開第2018/0032437(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06F 12/00 - 12/06
G11C 5/04
H01L 25/00 - 25/16
(57)【特許請求の範囲】
【請求項1】
1/4幅ファイングレインチャネル(quarter-width fine-grain channel)を介してホストプロセッサに結合されたメモリダイを含むシステムにおいて、データアクセスを記録及び分析するように構成された機械学習アルゴリズムを実装するステップと、
第1アドレスマッピング関数を用いてメモリアクセスを実行するステップと、
前記機械学習アルゴリズムにより、現在のアドレスマッピング関数によるメモリアクセスのパターンを、あらかじめ選択された複数のアドレスマッピング関数に従って予測されたメモリアクセスパターンと比較することによって、異なるアドレスマッピング関数を用いてアクセスの空間ローカリティを向上させるか否かを判定するステップと、
前記機械学習アルゴリズムにより、前記第1アドレスマッピング関数を用いてメモリアクセスの相対的近接の第1程度を評価するステップと、
前記機械学習アルゴリズムにより、前記異なるアドレスマッピング関数を用いてアクセスの空間ローカリティを向上させるとの判定に従って、第2アドレスマッピング関数に対するメモリアクセスの相対的近接の第2程度を予測するステップと、
前記機械学習アルゴリズムにより、前記メモリアクセスの相対近接第2程度が前記メモリアクセスの相対近接第1程度を超えると判断するステップと、
前記第2アドレスマッピング関数を用いてメモリアクセスを実行するステップと、含むことを特徴とするメモリアドレス方法。
【請求項2】
前記第2アドレスマッピング関数は、アドレスマッピング関数の事前プログラミングされたセットの中から選択されることを特徴とする請求項1に記載のメモリアドレス方法。
【請求項3】
前記異なるアドレスマッピング関数を用いてアクセスの空間ローカリティを向上させるか否かを判定するステップは、強化学習モデルを用いるステップを含むことを特徴とする請求項1に記載のメモリアドレス方法。
【請求項4】
前記機械学習アルゴリズムは、長短期記憶反復神経網アーキテクチャを含むことを特徴とする請求項1に記載のメモリアドレス方法。
【請求項5】
前記機械学習アルゴリズムは、前記メモリアクセスの相対的近接第2程度が前記メモリアクセスの相対的近接第1程度を超えることを判定するための最後のレイヤを含むことを特徴とする請求項1に記載のメモリアドレス方法。
【請求項6】
前記機械学習アルゴリズムにより、前記ホストプロセッサに結合された前記メモリダイがオフラインである間に前記データアクセスを分析するステップを更に含むことを特徴とする請求項1に記載のメモリアドレス方法。
【請求項7】
前記機械学習アルゴリズムは、ロジックダイに実装されることを特徴とする請求項1に記載のメモリアドレス方法。
【請求項8】
前記機械学習アルゴリズムにより、前記第1アドレスマッピング関数を用いてメモリアクセスの相対的近接第1程度を評価するステップは、前記第1アドレスマッピング関数を用いて順次メモリアクセスの相対的近接の第1程度を評価するステップを含み、
前記機械学習アルゴリズムにより、前記第2アドレスマッピング関数を用いてメモリアクセスの相対的近接第2程度を評価するステップは、前記第2アドレスマッピング関数を用いて順次メモリアクセスの相対的近接の第2程度を評価するステップを含むことを特徴とする請求項1に記載のメモリアドレス方法。
【請求項9】
1/4幅ファイングレインチャネル(quarter-width fine-grain channel)を介してホストプロセッサに結合されるメモリダイと、
ロジックダイと、
前記ホストプロセッサ及び前記ロジックダイによって実行可能なインストラクションを含む不揮発性メモリと、を備え、
前記インストラクションは、前記ロジックダイによって実行されると、前記メモリダイへのメモリアクセスを記録及び分析する機械学習アルゴリズムを前記ロジックダイに実装させ、
前記機械学習アルゴリズムは、
現在のアドレスマッピング関数によるメモリアクセスのパターンを、あらかじめ選択された複数のアドレスマッピング関数に従って予測されたメモリアクセスパターンと比較することによって、異なるアドレスマッピング関数を用いてアクセスの空間ローカリティを向上させるか否かを判定し、
第1アドレスマッピング関数を用いて順次メモリアクセスの相対的近接の第1程度を評価し、
前記異なるアドレスマッピング関数を用いてアクセスの空間ローカリティを向上させるとの判定に従って、第2アドレスマッピング関数に対する順次メモリアクセスの相対的近接の第2程度を予測し、
前記順次メモリアクセスの相対的近接の前記第2程度が、順次メモリアクセスの相対的近接の前記第1程度を超えると判断し、
順次メモリアクセスの相対的近接第2程度が前記順次メモリアクセスの相対的近接第1程度を超えるとの判断に応答して、前記第2アドレスマッピング関数を用いてメモリアクセスを実行するように、前記インストラクションを実行する前記ロジックダイによって前記第2アドレスマッピング関数を前記ホストプロセッサに伝達することを特徴とするコンピューティングシステム。
【請求項10】
前記機械学習アルゴリズムは、強化学習モデルを含むことを特徴とする請求項9に記載のコンピューティングシステム。
【請求項11】
前記機械学習アルゴリズムは、長短期記憶反復神経網アーキテクチャを含むことを特徴とする請求項9に記載のコンピューティングシステム。
【請求項12】
前記ロジックダイは、RFU(Reserved-for-Future-Use)ピンを用いて前記第2アドレスマッピング関数を前記ホストプロセッサ伝達することを特徴とする請求項9に記載のコンピューティングシステム。
【請求項13】
前記ホストプロセッサはグラフィック処理装置(GPU)であることを特徴とする請求項9に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、高帯域幅メモリに関し、より詳しくは、高帯域幅メモリの帯域幅活用を増加させるための、帯域幅が拡張された積層メモリシステム及びメモリアドレス方法に関する。
【背景技術】
【0002】
高帯域幅メモリ(HBM;High Bandwidth Memory)は、3次元(3D;three-dimensional)積層ダイナミックランダムアクセスメモリ(DRAM)用の高性能(RAM)インターフェースである。深層神経網(deep neural network)などの新しいアプリケーションは、個別のデータセットで訓練し、高い正確度で学習するために大きな計算能力及びメモリ能力を必要とする。このようなアプリケーションにおいて、高いメモリ帯域幅は決定的に重要である。メモリ帯域幅はコア帯域幅及びバス帯域幅の観点から説明される。同じバスを共有しながら積層されるDRAMダイの数が増加するにつれて、バス帯域幅はメモリ性能を制限する要因となっている。
【0003】
したがって、DRAMコア又はバスに対する広範かつ高費用の変更を必要とせずに、高帯域幅メモリ(HBM)システムの有効メモリ帯域幅を増加させるのに役立つ柔軟なシステム構造及び動作方法が必要である。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-198017号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、高帯域幅メモリ(HBM)システムのメモリ帯域幅活用を増加させる高帯域幅メモリ(HBM)システム用のシステム及び方法を提供することにある。また、メモリ帯域幅活用を増大させるための、コア高帯域幅メモリ(HBM)チップの周辺構造に対する一連の変更と積層ロジックダイの動作向上とを組み合わせたシステム及び方法を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するためになされた本発明の一態様による高帯域幅メモリシステムは、複数のメモリダイ及び8個の128ビットチャネルを有するメモリスタックと、ロジックダイと、を備え、メモリダイは、ロジックダイ上に積層されて、ロジックダイに連結される。ロジックダイは、1番目の64ビットは擬似チャネルモード(Pseudo Channel mode)で動作し、2番目の64ビットは2個の32ビットファイングレイン(Fine-Grain)チャネルとして動作する第1モード、又は1番目の64ビットは2個の32ビットファイングレインチャネルとして動作し、2番目の64ビットは2個の32ビットファイングレインチャネルとして動作する第2モードで、128ビットチャネルのうちの第1チャネルを動作させるように構成され得る。
【0007】
上記目的を達成するためになされた本発明の一態様による高帯域幅メモリシステムは、複数のメモリダイ及び8個の全幅(full-width)チャネルを有するメモリスタックと、ロジックダイと、を備え、メモリダイは、ロジックダイ上に積層されて、ロジックダイに連結される。ロジックダイは、全幅チャネルの最初の半分は擬似チャネルモードで動作し、全幅チャネルの残りの半分は、2個の1/4幅ファイングレインチャネルとして動作する第1モード、又は全幅チャネルの最初の半分は2個の1/4幅ファイングレインチャネルとして動作し、全幅チャネルの残りの半分は2個の1/4幅ファイングレインチャネルとして動作する第2モードで、全幅チャネルのうちの第1チャネルを動作させるように構成され得る。
【0008】
ロジックダイは、第1モードで第1チャネルを動作させ、第2モードで128ビットチャネルのうちの第2チャネルを動作させるように構成され得る。
ロジックダイは、第1モードで第1チャネルを動作させ、第2モードで全幅チャネルのうちの第2チャネルを動作させるように構成され得る。
ロジックダイは、実行時に、第1チャネルを第1モードで動作する状態から第2モードで動作する状態に変更させ得る。
第1チャネルのモードは、実行時に第1チャネルのモードレジスタによって制御されるように構成され得る。
第1チャネルのモードは、実行時にRFU(Reserved-for-Future-Use)ピンによって制御されるように構成され得る。
ロジックダイは、第1モードで第1チャネルを動作させるように構成されてもよく、1番目の64ビットのバースト(burst)長は2であり得る。
ロジックダイは、第1モードで第1チャネルを動作させるように構成されてもよく、全幅チャネルの最初の半分のバースト(burst)長は2であり得る。
ロジックダイは、第2モードで第1チャネルを動作させるように構成されてもよく、32ビットファイングレインチャネルのうちの第1ファイングレインチャネルのバースト長は2であり得る。
ロジックダイは、第2モードで第1チャネルを動作させるように構成されてもよく、1/4幅ファイングレインチャネルのうちの第1ファイングレインチャネルのバースト長は2であり得る。
全幅チャネルは128ビットの幅を有し得る。
【0009】
上記目的を達成するためになされた本発明の一態様による高帯域幅メモリシステムは、複数の積層されたメモリダイ(die)と、8個のチャネルと、ロジックダイと、を備え、積層されたメモリダイはロジックダイ上に積層されて、ロジックダイに連結され得る。それぞれのメモリダイは、複数の行(row)及び複数の列(column)をそれぞれ含む複数のバンクを有し得る。8個のチャネルのうちの第1チャネルは、単一の128ビットチャネル、2個の64ビット擬似チャネル、1個の64ビット擬似チャネル及び2個の32ビットファイングレインチャネル、並びに4個の32ビットファイングレインチャネルのうちの、いずれか1つとして動作するように構成され得る。ロジックダイは、第1チャネルに連結された複数のバンク内で1つの行と1つの列におけるデータアクセスを追従するデータのバーストを返送(return)するように構成され得る。データのバーストは、256ビットトランザクション(transaction)に対応するバースト長よりも小さいバースト長を有し得る。
【0010】
上記目的を達成するためになされた本発明の一態様による高帯域幅メモリシステムは、複数の積層されたメモリダイ(die)と、8個のチャネルと、ロジックダイと、を備え、積層されたメモリダイは、ロジックダイ上に積層されて、ロジックダイに連結され得る。それぞれのメモリダイは、複数の行(row)及び複数の列(column)をそれぞれ含む複数のバンクを有し得る。8個のチャネルのうちの第1チャネルは、単一の全幅チャネル、2個の半幅(half-width)擬似チャネル、1個の半幅擬似チャネル及び2個の1/4幅ファイングレインチャネル、並びに4個の1/4幅ファイングレインチャネルのうちの、いずれか1つとして動作できるように構成され得る。ロジックダイは、第1チャネルに連結された複数のバンク内で1つの行と1つの列におけるデータアクセスを追従するデータのバーストを返送(return)するように構成され得る。データのバーストは、256ビットトランザクション(transaction)に対応するバースト長よりも小さいバースト長を有し得る。
【0011】
ロジックダイは、第1チャネルをバースト長が4未満である2個の64ビット擬似チャネルとして動作させるように構成され得る。
ロジックダイは、第1チャネルをバースト長が4未満である2個の半幅擬似チャネルとして動作させるように構成され得る。
ロジックダイは、第1チャネルをバースト長が2以下である4個の32ビットファイングレインチャネルとして動作させるように構成され得る。
ロジックダイは、第1チャネルをバースト長が2以下である4個の1/4幅ファイングレインチャネルとして動作させるように構成され得る。
ロジックダイは、返送されるバースト長を示す信号を受信するためにRFU(Reserved-for-Future-Use)ピンを使用できるように構成され得る。
ロジックダイは、ホストプロセッサからバースト長を示す信号を受信できるように構成され得る。
ホストプロセッサは中央処理装置(CPU)であり得る。
ホストプロセッサはグラフィック処理装置(GPU)であり得る。
【0012】
上記目的を達成するためになされた本発明の一態様による高帯域幅メモリ及びホストプロセッサを含むシステムにおけるメモリアドレス方法は、第1アドレスマッピング関数を用いて複数のメモリアクセスを行い、マップされた空間ローカリティ(spatial locality)の第1程度(degree)を第1アドレスマッピング関数を用いて評価し、マップされた空間ローカリティの第2程度を第2アドレスマッピング関数を用いて評価し、システムを終了し、システムを再起動し、マップされた空間ローカリティの第2程度がマップされた空間ローカリティの第1程度を超えるか否かを判断し、マップされた空間ローカリティの第2程度がマップされた空間ローカリティの第1程度を超えると判断された場合、第2アドレスマッピング関数を用いて複数のメモリアクセスを行うことを含む。
【0013】
高帯域幅メモリは、ロジックダイを含み得る。第1アドレスマッピング関数を用いて複数のメモリアクセスを行うことは、ホストプロセッサによって、第1アドレスマッピング関数を用いて複数のメモリアクセスを行う段階を含み得る。マップされた空間ローカリティの第1程度を評価すること及びマップされた空間ローカリティの第2程度を評価することは、ホストプロセッサが高帯域幅メモリにアクセスしない時間の間に、ロジックダイによって、マップされた空間ローカリティの第1程度とマップされた空間ローカリティの第2程度とを評価することを含み得る。
【0014】
第2アドレスマッピング関数は、複数の事前プログラミングされたアドレスマッピング関数から選択され得る。
第2アドレスマッピング関数は、ロジックダイによってRFU(Reserved-for-Future-Use)ピンを用いてホストプロセッサに伝達され得る。
ホストプロセッサはグラフィック処理装置(GPU)であり得る。
ホストプロセッサは中央処理装置(CPU)であり得る。
【発明の効果】
【0015】
本発明によるシステム及び方法によれば、高帯域幅メモリ(HBM)システムのメモリ帯域幅活用を増加させることができる。本発明による高帯域幅メモリシステムは、細分したチャネル幅(granular channel width)、バーストサイズ制御(burst size control)、及びインテリジェントアドレスマッピング関数(intelligent address mapping function)が欠如したシステムを凌駕する多くの長所を提供することができる。また、DRAMコアに対する広範又は高費用の変更無しで増加した有効帯域幅活用が達成される。
【図面の簡単な説明】
【0016】
図1】本発明の一実施形態による、ロジックプロセッサ、シリコン(Si)インタポーザ(interposer)、PCB基板、及びマザーボードと結合された高帯域幅メモリスタックの断面図である。
図2】本発明の一実施形態による、ロジックプロセッサにDRAMスタックを連結するメモリチャネルを含む高帯域幅メモリシステムを示す平面図である。
図3】本発明の一実施形態による、メモリチャネルが互いに異なるモードで独立して動作する構成を説明するブロック図である。
【発明を実施するための形態】
【0017】
図面を参照しながら以下で説明する詳細な説明は、本発明による高帯域幅メモリシステムの好ましい実施形態の説明として意図され、本発明が構成され、活用され得る唯一の形態を示すものとして限定されるものではない。詳細な説明は、例示した実施形態に関連して本発明の特徴を説明する。しかし、同一であるか又はそれに相当する機能及び構造が、本発明の技術範囲内に含まれる他の実施形態によって達成されてもよい。本発明において、同一の参照番号は同一の要素又は特徴を示す。
【0018】
高帯域幅メモリ(HBM)は、高性能3次元(3D)積層ランダムアクセスメモリ(DRAM)である。第2世代高帯域幅メモリは、スタック当たり最大12個のダイ(die)を含むことができ、2.4GT/s(giga transfers per second)以上のピン伝送率を提供し得る。積層ダイと、グラフィック処理装置(GPU)又は中央処理装置(CPU)などのメモリ-活用構成要素(memory-utilizing component)との間のインターフェースは、8個のチャネルを含み、チャネルはそれぞれ128ビット幅を有して、合計1024ビット幅のアクセスが可能である。第2世代高帯域幅メモリは、パッケージ当たり307GB/s以上のメモリ帯域幅に到達することができ、パッケージ当たり最大12GB、可能であればそれを超える記憶容量を有し得る。第2世代高帯域幅メモリシステムのインターフェースは、標準JESD235Bとして合同電子装置エンジニアリング協議会(Joint Electron Device Engineering Council,JEDEC)によって認められた標準に従う。
【0019】
図1に示すように、高帯域幅メモリ(HBM)システム100は、ロジックダイ120の上面に積層された複数の積層されたDRAMダイ110を含む。図1は、ロジックダイ120の上面に、4層(4-hi)構成として知られる、4個のDRAMダイ110のスタック(stack)を示す断面図である。本技術分野における当業者には周知であるように、スタックの下部にロジックダイ120を使用することは選択事項である。これに限定されず、2層(2-hi)、8層(8-hi)、及び12層(12-hi)などの他の構成が本発明の技術範囲内で使用されてもよい。DRAMダイ110は、TSV(Through-Silicon-Via)180及び複数のマイクロバンプ(microbump)によって連結され得る。図1に示すように、インターフェース190は、高帯域幅メモリ(HBM)スタックをホストプロセッサ140に連結する。本明細書で、“ホストプロセッサ”及び“ロジックプロセッサ”の用語は、これに限定されないが、グラフィック処理装置(GPU)、中央処理装置(CPU)などのメモリ-活用構成要素、又は本技術分野における当業者に周知である他のメモリ-活用構成要素を示すために同じ意味で使用される。
【0020】
図2は、8個の128ビットチャネル130を含むインターフェース190を用いてロジックダイ120とインターフェース連結された高帯域幅メモリ(HBM)スタックを示す平面図である。HBMスタック(以下、スタックと略記)は、複数の128ビットチャネル130に連結された複数のメモリバンク112をそれぞれ含んだDRAMダイ110を含む。図を簡単にするために、DRAMダイ110当たり減少した数のバンク112だけが図2に示されている。128ビットチャネル130は互いに独立したものであり、各128ビットチャネル130は、それ自体のコマンド及びアドレスバスを有する他、それ自体のデータバスを有する。
【0021】
図2に示すように、高帯域幅メモリ(HBM)スタックとホストプロセッサ140との間のインターフェース190は、シリコンインタポーザ150内に128ビットチャネル130A~130H(総称してチャネル130という。)を生成する複数の導電性経路(又はトレース(trace))を含む。本明細書において、単一の128ビットチャネルとして動作するチャネルは、“レガシー(legacy)”チャネルと呼ぶ。本技術分野における当業者には周知であるように、シリコンインタポーザ150の適切な代替品が代わりに使用されてもよい。シリコンインタポーザ150はPCB基板160に結合され、PCB基板160は、これに限定されないが、マザーボード170などの他の構成要素に結合される。
【0022】
より高層の高帯域幅メモリ(HBM)スタックの場合、例えば、8層及び12層構成の場合、メモリバスの帯域幅活用はますます重要になる。これは、顕著な量の計算能力(computational power)及びメモリ帯域幅を要求する深層神経網(deep neural network)及び高性能コンピューティング(High Performance Computing,HPC)などのアプリケーションで特にそうである。一般に、各チャネルが2個の半独立型(semi-independent)64ビットチャネルとして動作する“擬似チャネル(Pseudo Channel)モード”で動作する高帯域幅メモリ(HBM)スタックを用いて、追加の有効帯域幅を生成することができる。このモードで、一対の擬似チャネルは、データバス(それぞれ、元の128ビットのうちの64ビットを使用)と、コマンド及びアドレスバスとを共有できるが、個別に命令(command)をデコードして実行するように構成され得る。これは、有効チャネルの数を増加させ、結果として帯域幅の活用がより増大し得る。しかし、ますます強力になるグラフィック処理装置(GPU)のようなものから、メモリ帯域幅に対する要求が増加するにつれて、擬似チャネルモードでさえも高帯域幅メモリ(HBM)システム100のインターフェース190によって提供される帯域幅を完全に活用することができない。
【0023】
非限定的な例として、擬似チャネルモードであっても、スタック内のDRAMダイ110の数が増加するにつれて、その擬似チャネルに連結されたデータバスに依存するバンクの数が増加する。擬似チャネルモードにおいて、スタック内のそれぞれのバンクは2個のサブバンクに分割される。それぞれのバンクが一対のサブバンクに分割されると、JESD235B標準に規定されているように、コマンド及びアドレスバスに対する変更を要求することなく、チャネル130によって活用され得るバンクの数が事実上2倍になる。また、サブバンクはインターリーブされた(interleaved)シーケンスでリフレッシュ(refresh)されるので、帯域幅活用を増加させるデータバスのより大きい飽和(saturation)を確保することができる。それぞれのバンクは、データのより微細な細分性(finer granularity)で独立して動作でき、データのオーバーフェッチ(overfetch)又は浪費無しでデータバスをよりよく活用することができる。
【0024】
2層構成において、擬似チャネルモードで動作するとき、8個のサブバンクだけが64ビットデータバスを共有する。このような構成において、各サブバンクはスタックの各レベルにおいて両側のTSVアレイを使用し、帯域幅はDRAMコアのタイミングパラメータなどの要因によって制限される。しかし、例えば、8層構成においては、32個のサブバンクが、擬似チャネルに連結された64ビットバスを共有する。非限定的な例として、コアクロック(core clock)スピードが、JESD235B標準で支援(サポート)されるように、ピン(pin)当たり2.4Gbpsのデータレートに対応する1.2GHzである場合、サイクルタイムは0.83nsである。4のバースト長(Burst Length,BL)を用いてJESD235B標準下で動作する擬似チャネルモードで動作するとき、メモリのダブルデータレート動作の結果として、バンク又はサブバンクへのそれぞれのアクセスには、2クロックサイクルがかかる。32個のサブバンクの全てが64ビットバスを完全に共有している場合、32個のサブバンクの全てに対するバーストアクセスには32×2=64クロックサイクルがかかる。64クロックサイクルにサイクル時間をかけると、約53nsのバースト時間が得られる。この時間は、非限定的な例として、約46nsであるDRAMメモリのロー(row)サイクル時間(tRC)よりも大きい。したがって、メモリのデータ処理量(data throughput)は制限され、これは、高帯域幅メモリ(HBM)スタックの高さが12層又は16層のスタックにまで増加するにつれてより一層悪化する。
【0025】
本発明の一実施形態は、データアクセスの細分性(granularity)をさらに制御することによって、高帯域幅メモリ(HBM)システム100のメモリ帯域幅活用を増加させることに関する。
【0026】
一実施形態において、チャネル細分性をさらに32ビットにまで微細に調整することができる。128ビットチャネルは“全幅チャネル(full-width channel)”と称し、64ビットチャネルは“半幅チャネル(half-width channel)”又は“半幅擬似チャネル”と称し、32ビットチャネルは“ファイングレインチャネル(fine-grain channel)”又は“1/4幅ファイングレインチャネル(quarter-width fine-grain channel)”と称する。
【0027】
細分性を微細に調整すると、以下のモードでチャネル130が動作可能になる:(i)チャネル130が2個の半幅擬似チャネルとして動作する(例えば、全幅チャネルの最初の半分(例えば、1番目の64ビット)は擬似チャネルモードで動作し、全幅チャネルの残りの半分(例えば、2番目の64ビット)も擬似チャネルモードで動作する)第1モード、(ii)チャネル130が4個の1/4幅ファイングレインチャネルとして動作する(例えば、全幅チャネルの最初の半分(例えば、1番目の64ビット)は2個の1/4幅ファイングレインチャネルとして動作し、全幅チャネルの残りの半分(例えば、2番目の64ビット)も2個の1/4幅ファイングレインチャネルとして動作する)第2モード、及び(iii)チャネル130が単一チャネルとして動作する128ビット“レガシー(legacy)”モード。
なお、一実施形態において、全幅チャネルは128ビットとは異なる幅を有することができ、したがって、半幅及び1/4幅チャネルも64ビット及び32ビットとは異なる幅を有し得る。
【0028】
これは有効チャネルの数を増加させることができる。これはまた、メモリバンクをさらに分割でき、レガシーモードにおける1個のバンクは、ファイングレインチャネルモードでは4個のサブバンクとなる。サブバンクをさらに分割すると、サブバンクの数が増加し、それぞれのサブバンクは新しいインデクシング(Indexing)パラメータを有することになる。
【0029】
ファイングレインチャネルモードにおけるサブバンクのインデクシングは、一実施形態において、(RFU(Reserved for Future Use)ピン、BA5ピン(以下でより詳細に議論する)、又は現在のJESD235B標準の一部ではないが、パッケージインターフェースに付加される新しいピンなどの)ピンを使用することによって達成され得る。このような実施形態は、サブバンクに連結されるDWORD又はAWORDに対する更なる変更を要求しなくてすむ。例えば、擬似チャネルモードにおいて、バンクアドレス(BA)ピン4は、サブバンクをインデックスするために使用することができる。同様に、追加のピンは、ファイングレインチャネルモードの使用を促進するためにサブバンクを1/4サブバンクにさらに分割することをインデックスするために使用することができる。
【0030】
一実施形態において、4層構成におけるように、(上述したように)BA5ピンを使用することができる。スタックIDをインデックスするためにBA5ピンが使用される4層よりも高いスタックにおいては、他のピンを代わりに使用でき、このピンは一実施形態でRFUピンである。RFUピンを使用する場合には、JESD235B標準に対する将来のアップデートが、当該ピンにファイングレインチャネルモードのためのインデクシングピンとしての使用と一致しない機能(function)を割り当て得る、という危険がある。BA5ピンを使用する場合、このような危険は存在しないが、BA5ピンは4層構成以上のスタックにおいてファイングレインチャネルモードのためのインデクシングピンとして使用するには適さないことがある。現在のJESD235B標準の一部ではなく且つパッケージインターフェースに付加される、新しいピンを使用する場合、JESD235Bに準拠しないパッケージになるという短所がある。ファイングレインチャネルモードは元のバンクを1/4バンクにさらに分割するので、それぞれのファイングレインチャネルに連結された一般入力/出力(GIO)の数が減少し、擬似チャネルモードからファイングレインチャネルモードに変更される時、GIOサイズは64から32に減る。
【0031】
さらに、本発明の一実施形態は、8個のチャネル130のそれぞれが128ビットレガシーチャネルモード、64ビット擬似チャネルモード、又は32ビットファイングレインチャネルモードで独立して動作できるようにするロジックダイ120の構成に関する。
【0032】
これは、チャネル構成を特定する(例えば、2ビットの1番目のビットは、チャネルの1番目の擬似チャネルが2個のファイングレインチャネルにさらに分割される否かを特定し、2番目のビットは、チャネルの2番目の擬似チャネルが2個のファイングレインチャネルにさらに分割されるか否かを特定する)ために、チャネル当たり2モードレジスタビットを用いることによって達成される(それぞれのチャネルは、構成を制御する1セットのモードレジスタを有する)。
【0033】
モードレジスタビットは、JESD235B標準によって定義されるモードレジスタ内の既存の未使用ビットであってもよく、追加されたビットであってもよい(例えば、標準によって定義されなかったレジスタ内のビットであり得る)。例えば、MR9 OP[1:0]が、以下の可能な値とそれに対応する動作モードと共に使用される。
【0034】
00:x128
01:x64 + x64
10:x32 + x32 + x64
11:x32 + x32 + x32 + x32
【0035】
他の例において、DEVICE_IDラッパー(wrapper)データレジスタが増大されてもよく、例えば、ビット[17:16]の以下の可能な値とそれに対応する動作モードが存在する。
【0036】
10:x128 のみ
01:x64 のみ
00:x128 + x64を支援し、モードレジスタによってプログラミングされる
11:x128 + x64 + x32を支援し、モードレジスタによってプログラミングされる
【0037】
JESD235B標準に従う高帯域幅メモリ(HBM)DRAMは、チャネル密度に応じて2個の動作モードを定義する。異なる動作モードに対する支援は設計によって決定され、DEVICE_IDラッパーレジスタのビット[17:16]上に示される。ファイングレインチャネルを含むためにDEVICE_IDを上述の方式で増大させることができ、したがって、2ビットはx128、x64、及びx32モードをエンコードするために使用され得る。
【0038】
一実施形態において、モードレジスタはロジックダイ120内に存在してもよい。他の実施形態において、モードレジスタはDRAMダイ110内に存在してもよい。いくつかの場合、より小さいチャネル幅動作は、より良好な帯域幅活用とデータ伝送エネルギー効率を提供し得る。これは、メモリに対するデータアクセスが低い空間ローカリティ(spatial locality)を有する場合に特にそうである。
【0039】
本発明の他の実施形態は、切られた(truncated)バースト長(BL)を有するインターフェースのチャネル130を動作させるロジックダイ120を提供することによって、アクセス細分性をより微細に調整することに関する。
例えば、より微細なアクセス細分性は、擬似チャネルのためのバースト長を4から、ロジックダイ120によって構成される、BL=2などの、より小さい値に減少させることによって達成され得る。典型的には、チャネルは、擬似チャネルモードで32バイト(byte)トランザクションサイズで動作する。これは、指定された32バイトフェッチ(fetch)よりも小さいトランザクションサイズに対しては非効率的な64ビットインターフェース上のBL=4によって達成される。しかし、これは、アクセスされるデータが小さい細分性と減少した空間ローカリティとを有する場合に、比較的非効率的である。なぜなら、多数のアクセスには活用されないデータをプリフェッチ(prefetching)するのに時間を消耗するためである。
【0040】
したがって、本発明の一実施形態は、ロジックダイ120がアクセス細分性を微細に調整するために、切られた(truncated)バースト長をプログラミングできるようにすることに関する。
【0041】
非限定的な例として、伝統的なBL=4モードで動作する64ビット擬似チャネルは、32バイト(又は32B)のアクセス細分性を有する。これは、BL=2モードで動作するレガシーチャネル130と同一である。しかし、一実施形態において、擬似チャネルは、16Bアクセス細分性に対応するBL=2で動作し得る。さらに、より微細なアクセス細分性がより効率的であり、ファイングレインチャネルは、例えば、BL=2で動作でき、結果的に8Bアクセス細分性を得ることができる。したがって、ロジックダイ120は、バースト長が1であるチャネル130を動作させるように構成されてもよい(用語の便宜のために、本明細書で単一のデータワード(single data word)は、バースト長が1である“バースト”と称する)。
【0042】
一実施形態において、チャネル構成は、アクセスされるデータのタイプと、DRAMダイ110内に記憶されたデータに対するアクセスの空間ローカリティとに基づくことができる。上述した実施形態は、本発明の一実施形態による切られた(truncated)バースト様相の機能を説明するために提供され、本発明を限定するものではない。
【0043】
一実施形態において、ロジックダイ120は、レガシーチャネル、擬似チャネル、又はファイングレインチャネルのそれぞれに対して独立して、減少したバースト長動作(すなわち、バースト長が256ビット未満のトランザクションサイズを有することになる動作)に備えるように構成され得る。任意のモード組合せにおいても動作するようにロジックダイ120に命令するために様々な方法が用いられる。例えば、1個以上のRFUピンが、減少したバースト長(後述するように、支援されるモードの数によって使用されるピンの数(各ピンはコントロールビットとして動作)と共に)を命令する信号を、ロジックダイ120に伝達するために使用される。
【0044】
一実施形態において、バースト長の構成は、1つ以上のモードレジスタビット(例えば、JESD235B標準で定義されるモードレジスタ内の未使用ビット)又は追加ビット(例えば、JESD235B標準で定義されない追加レジスタ内のビット)によって決定される。一実施形態において、それぞれのレガシーチャネル、擬似チャネル、又はファイングレインチャネルのバースト長は、独立して、例えば、標準長(ファイングレインチャネルの場合は、BL=8、擬似チャネルの場合は、BL=4、レガシーチャネルの場合は、BL=2)、1/2長(例えば、ファイングレインチャネルの場合は、BL=4)、1/4長、又は1/8長(例えば、ファイングレインチャネルの場合は、BL=1)となるように制御される。一実施形態において、2の累乗以外(non-power-of-2)のバースト長が支援される(例えば、ファイングレインチャネルの場合、5のバースト長が可能)。対応する数のコントロールビット(ピン又はモードレジスタビット)が使用される。例えば、4個のファイングレインチャネルと動作することをチャネルに命令するために、8個の可能なバースト長(標準長、7/8、3/4、5/8、1/2など)のいずれか1つと、ファイングレインチャネル当たり3ビット(すなわち、チャネル当たり12コントロールビット)が使用される。一実施形態において、高帯域幅メモリパッケージのピン(例えば、この特徴を支援するそれぞれのレガシーチャネル、擬似チャネル、又はファイングレインチャネルにおけるRFUピン)が、部分的に完了したバーストを中断させるために使用される。例えば、このようなピンがファイングレインチャネルの標準長バーストのうちの半分にアサート(asserted)される場合、(8個の代わりに)4個の32ビットワードだけが伝達される。
【0045】
一実施形態において、ロジックダイによって採用され得るエラー訂正コード(Error Correcting Code,ECC)に対応する変更は、元のバースト長で存在するエラー検出及び訂正機能を保持しながら部分的なアクセス長をアカウント(account)するために具現されてもよい。これは、ECCアルゴリズム、ECCコードワード(code word)ロケーション、及びデータ書き込み中にECCが計算されるデータワード部分に対する変更を含むことができる。
【0046】
本発明の一実施形態はまた、ロジックダイのより大きいレベルの帯域幅制御を提供するために協力して使用されてもよい。図3に示すように、ロジックダイ120は、元の8個の128ビットチャネル130のいずれか一つを、他の128ビットチャネル130のモードとは関係なく選択されたモードで動作させ得る。これは、バス帯域幅活用を増加させるための追加の柔軟性を提供できる非対称(例えば、非均一)データチャネル幅を許容する。さらに、一実施形態は、それぞれのレガシーチャネル、擬似チャネル、又はファイングレインチャネルのプログラム可能なバースト長減少を具体化することもできるので、非対称チャネル幅及びアクセス細分性を生成することができる。
【0047】
図3に示すように、非対称チャネル構成及び非対称アクセス細分性は、それぞれのチャネル130のモードレジスタによって定義されるように、高帯域幅メモリ(HBM)システムの利用可能なメモリ帯域幅を最良に活用できる実行時に、チャネル130の互いに異なる構成がプログラミングされることを許容する。
【0048】
図3は、ロジックダイ120がインターフェース190のチャネル130のそれぞれを独立して動作させることを示す。図3に示すように、チャネルは、128ビットレガシーモード、64ビット擬似モード、又は32ビットファイングレインモードで動作し得る。また、レガシーチャネル及び擬似チャネルの一部は、BL=2の切られたバースト長を有する。
【0049】
非限定的な例として、本発明の一実施形態は、並列に動作する数千個のコアを有し、減少した空間ローカリティ及び増加した無作為性を有するデータアクセスを生成する高性能グラフィック処理装置(GPU)に連結されて使用され得るが、ロジックダイ120はチャネルの対応する数を増加させ、データアクセス細分性を減少させることによってインターフェース190の利用可能な帯域幅をよりよく活用するために、チャネルの一部に対して非対称チャネル構成及びバースト長を具現することができる。これは、例えば、機械学習の状況で、より大きいアクセス細分性を利用し、より高い精密度のための幅の広いチャネルを保存しながら、小さい細分性データを使用し、速くて精密度の低いチャネルを具備する必要がある場合である。
【0050】
また、本発明の一実施形態は、メモリに対するデータアクセスを記録し分析するために機械学習アルゴリズムを具現できるようにロジックダイ120を構成することに関する。
【0051】
機械学習アルゴリズムは、アドレスマッピング関数によってホストプロセッサ140によって行われるメモリアクセスのパターンを探すことができる。あらかじめ選択された複数のアドレスマッピング関数を用いて、機械学習アルゴリズムは、現在のアドレスマッピング関数によるメモリアクセスのパターンを、あらかじめ選択された複数のアドレスマッピング関数に従って予測されたメモリアクセスパターンと比較することによって、異なるアドレスマッピング関数を用いてアクセスの空間ローカリティを向上させ得るか否かを判断する。その後、機械学習アルゴリズムは、あらかじめ選択された複数のアドレスマッピング関数から、順次アクセスのための最大の空間ローカリティを生成するマッピング関数を選択する。アドレスマッピング関数の可能な個数はあらかじめ選択されるので、機械学習アルゴリズムは複雑性の減少した状態で具現される。
【0052】
アルゴリズムは、第1アドレスマッピング関数の順次アクセスの空間ローカリティ(“第1アドレスマッピング関数でマップされた空間ローカリティの程度(degree)”と呼ばれる)を、他のアドレスマッピング関数によって生成された予測される空間ローカリティと比較し、順次アクセスのための最大の空間ローカリティを生成するアドレスマッピング関数を選択する。当業者にアクセスのパターンに対する予測モデリングに効果的であると知られた、強化学習又は長短期記憶反復神経網(LSTM)などの、適切な機械学習アルゴリズムが、本発明の技術範囲内で活用され得る。読み出し動作が行なわれる間に、神経網は引き続きバックグラウンド(background)で学習される。さらに、神経網の最後のレイヤは、最も高くランクされたアドレスマッチング関数を選択する。したがって、学習段階で節約されるデータは、該当のマッピング関数に対応するビットに過ぎない。アドレスの順序(sequence of addresses)は、そのように大量のデータを記憶することは非実用的であるので、定められた時点では記憶されず、むしろアドレスが神経網に継続的に供給されてトレーニングデータとして機能する。出力ビットと共に学習されたモデルは、グラフィック処理装置(GPU)が再装着/リブートされる(reattached/rebooted)時に適切な変更をなすために、メモリコントローラによってオフラインで使用される。このようなアドレスマッチング関数の選択は、順次アクセスの数を増加させ、それに対応してメモリの効率性を向上させる。
【0053】
一実施形態において、機械学習アルゴリズムは、メモリがオフライン状態にある間にアクセスパターンを学習できるように具現される。ロジックダイ120は、リブート時の順次アクセスを向上させるために、中央処理装置(CPU)又はグラフィック処理装置(GPU)などのホストプロセッサ140によって使用される理想的なマッピング関数を伝達することができる。ロジックダイ120は、RFUピンを用いて好ましいマッピング関数をホストプロセッサ140に伝達することができる。
【0054】
上述した本発明の一実施形態は、より高い帯域幅の長所を活用するために、新しいハードウェア上で動作を例示し実行するための特殊な目的のインストラクションセット構造を使用できるロジックダイによって独立して具現され得る。また、本発明の一実施形態は、DRAMコアのタイミングパラメータを向上させるか、又はスルーシリコンビア(TSV)カウント若しくはビットレート(bitrate)を増加させることができる高帯域幅メモリ(HBM)システム100に対する他の向上と協力して活用され得る。
【0055】
本発明の一実施形態では、ロジックダイ120へのアクセスを許容するように構成されたソフトウェアアプリケーションプログラミングインターフェース(API)が提供され、TensorFlow、Torch7、Caffe、又は当業者に周知のその他機械学習フレームワークなどの、既存の機械学習フレームワークへの変更のない統合のためのソフトウェアドライバ及びライブラリーも提供される。
【0056】
本明細書において、高帯域幅メモリシステムの例示的な実施形態を具体的に説明し、例示したが、多くの変更及び変形が可能であることは、本技術分野における当業者には明らかである。したがって、本発明の思想に基づいて構成された高帯域幅メモリシステムは、本明細書で明確に説明されたものとは異なるように実施され得ることが理解される。また、本発明は、特許請求の範囲及びその均等物に基づいて定められる。
【符号の説明】
【0057】
100 高帯域幅メモリ(HBM)システム
110 DRAMダイ
112 メモリバンク
120 ロジックダイ
130、130A~130H (128ビット)チャネル
140 ホストプロセッサ
150 シリコンインタポーザ
160 PCB基板
170 マザーボード
180 TSV
190 インターフェース
図1
図2
図3