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

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

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

特許7164951揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部
<>
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図1
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図2
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図3
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図4
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図5
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図6
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図7
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図8
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図9
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図10
  • 特許-揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-25
(45)【発行日】2022-11-02
(54)【発明の名称】揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部
(51)【国際特許分類】
   G06F 12/00 20060101AFI20221026BHJP
   G06F 12/12 20160101ALI20221026BHJP
   G11C 11/406 20060101ALI20221026BHJP
【FI】
G06F12/00 550B
G06F12/12
G11C11/406 100
G11C11/406 400
【請求項の数】 11
(21)【出願番号】P 2018005751
(22)【出願日】2018-01-17
(65)【公開番号】P2018120589
(43)【公開日】2018-08-02
【審査請求日】2020-11-30
(31)【優先権主張番号】62/450,505
(32)【優先日】2017-01-25
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/457,813
(32)【優先日】2017-03-13
(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)【発明者】
【氏名】鄭 宏 忠
【審査官】北村 学
(56)【参考文献】
【文献】特開平09-213072(JP,A)
【文献】特開2002-150771(JP,A)
【文献】特開2007-272938(JP,A)
【文献】特開2010-049708(JP,A)
【文献】特表平11-511872(JP,A)
【文献】米国特許出願公開第2012/0173809(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06F 12/00 - 12/06
G06F 12/08 - 12/128
G11C 11/401- 11/4099
(57)【特許請求の範囲】
【請求項1】
揮発性メモリキャッシュのキャッシュ管理部によって遂行され、各々が複数のメモリラインを含む1つ以上のメモリバンクを有する前記揮発性メモリキャッシュのデータを代替する方法であって、
前記方法は、前記キャッシュ管理部によって、
代替される前記複数のメモリラインの中の少なくとも1つに対する代替IDを識別する段階と、
リフレッシュされる前記メモリバンクの中の1つに対するリフレッシュバンクIDを識別する段階と、
前記代替IDと前記リフレッシュバンクIDとの間に衝突が存在するか否かを判別する段階と、
前記衝突が存在する場合、新たな代替IDを選択する段階と、を有し、
前記キャッシュ管理部は、
前記代替IDを識別する代替管理部と、
前記リフレッシュバンクIDを識別するリフレッシュコントローラと、
前記衝突が存在するか否かを判別する比較器と、を含み、
前記代替管理部は、前記比較器から受信された代替フィードバックに基づいて新たな代替IDを更に選択することを特徴とする方法。
【請求項2】
揮発性メモリキャッシュのキャッシュ管理部によって遂行され、各々が複数のメモリラインを含む1つ以上のメモリバンクを有する前記揮発性メモリキャッシュのデータを代替する方法であって、
前記方法は、前記キャッシュ管理部によって、
代替される前記複数のメモリラインの中の少なくとも1つに対する代替IDを識別する段階と、
リフレッシュされる前記メモリバンクの中の1つに対する第1リフレッシュバンクIDを識別する段階と、
前記代替IDと前記第1リフレッシュバンクIDとの間に衝突が存在するか否かを判別する段階と、
前記衝突が存在する場合、前記第1リフレッシュバンクIDが変更可能であるか否かを判別する段階と、
前記衝突が存在し、前記第1リフレッシュバンクIDが変更可能である場合、第2リフレッシュバンクIDを選択する段階と、
前記衝突が存在し、前記第1リフレッシュバンクIDが変更不可能である場合、新たな代替IDを選択する段階と、を有し、
前記キャッシュ管理部は、
前記代替IDを識別する代替管理部と、
前記第1リフレッシュバンクIDを識別するリフレッシュコントローラと、
前記衝突が存在するか否かを判別する比較器と、を含むことを特徴とする方法。
【請求項3】
前記揮発性メモリキャッシュは、DRAMキャッシュを含むことを特徴とする請求項1又はに記載の方法。
【請求項4】
前記リフレッシュコントローラは、前記比較器から受信されたリフレッシュフィードバックに基づいて前記第2リフレッシュバンクIDを更に選択することを特徴とする請求項に記載の方法。
【請求項5】
前記キャッシュ管理部によって、前記第2リフレッシュバンクIDが選択された場合、前記第1リフレッシュバンクIDのリフレッシュは、前記第1リフレッシュバンクIDの定期的に計画された次のリフレッシュまで延期されることを特徴とする請求項に記載の方法。
【請求項6】
前記キャッシュ管理部によって、前記第2リフレッシュバンクIDが選択された場合、前記第1リフレッシュバンクIDのリフレッシュは、前記第2リフレッシュバンクIDのリフレッシュが開始される時点まで延期されることを特徴とする請求項2に記載の方法。
【請求項7】
各々が複数のメモリラインを含む1つ以上のメモリバンクを有する揮発性メモリキャッシュを含むキャッシュを管理するキャッシュ管理部であって、
前記キャッシュ管理部は、
代替される前記複数のメモリラインの中の少なくとも1つに対する代替IDを識別する代替管理部と、
リフレッシュされる前記メモリバンクの中の1つに対するリフレッシュバンクIDを識別するリフレッシュコントローラと、
前記代替IDと前記リフレッシュバンクIDとの間に衝突が存在するか否かを判別し、前記衝突が存在する場合、新たな代替IDを選択させるための代替フィードバックを前記代替管理部に伝送す比較器と、を備えることを特徴とするキャッシュ管理部。
【請求項8】
前記揮発性メモリキャッシュは、DRAMキャッシュを含むことを特徴とする請求項に記載のキャッシュ管理部。
【請求項9】
前記比較器は、新たなリフレッシュバンクIDを選択させるためのリフレッシュフィードバックを前記リフレッシュコントローラに更に伝送することを特徴とする請求項に記載のキャッシュ管理部。
【請求項10】
前記比較器は、
前記衝突が存在する場合、前記リフレッシュバンクIDが変更可能であるか否かを判別し、
前記リフレッシュバンクIDが変更可能である場合、新たなリフレッシュバンクIDを選択させるためのリフレッシュフィードバックを前記リフレッシュコントローラに更に伝送し、
前記リフレッシュバンクIDが変更不可能である場合、前記代替フィードバックを前記代替管理部に伝送することを特徴とする請求項7に記載のキャッシュ管理部。
【請求項11】
前記キャッシュは、不揮発性メモリを更に含むことを特徴とする請求項に記載のキャッシュ管理部。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、揮発性メモリキャッシュに関し、より詳細には、揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部に関する。
【背景技術】
【0002】
既存のキャッシュ(cache)代替ポリシーは、一般的に2つの主要設計考慮事項、即ち最高のキャッシュヒット率(cache hit ratio)を達成し、合理的な具現費用を維持することを考慮する。このような設計考慮事項は一般的にオンチップ(on-chip)SRAMキャッシュが使用されることを仮定する。SRAMキャッシュは不揮発性メモリ(non-volatile memory:NVM)であるため、リフレッシュ(refresh)は一般的にSRAMキャッシュに用いられない。具現費用及び/又はチップサイズを減らすために、オンチップキャッシュにDRAMを使用する傾向がある。DRAMキャッシュは揮発性メモリであるため、リフレッシュがDRAMキャッシュで用いられる。また、SRAMキャッシュは一般的にDRAMキャッシュよりも速いが、DRAMキャッシュは、一般的にSRAMキャッシュよりも安く、一般的にSRAMキャッシュよりも単位面積当たりより高い格納容量を有する。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許第8,072,829号明細書
【文献】米国特許第9,293,187号明細書
【文献】米国特許出願公開第2008/0270683号明細書
【文献】米国特許出願公開第2016/0188222号明細書
【文献】米国特許出願公開第2016/0188490号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、揮発性メモリキャッシュのためのリフレッシュを認識する代替ポリシーに基づく揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部を提供することにある。
【課題を解決するための手段】
【0005】
本明細書の実施形態の一側面はリフレッシュを用いる揮発性メモリキャッシュに対する代替ポリシーに関する。本発明の実施形態に関し、衝突が代替IDとリフレッシュバンクIDとの間に存在する場合、代替ID又はリフレッシュバンクIDの中のいずれか1つは遅延を防止するために変更される。より具体的に、本発明の一部の実施形態は、代替ID及びリフレッシュバンクIDを識別し、衝突がある場合、衝突による遅延を防止するために新たな代替IDを選択する。また、本発明の一部の実施形態は、代替ID及びリフレッシュバンクIDを識別し、衝突がある場合、リフレッシュバンクIDが変更可能であるか否かを確認し、リフレッシュバンクIDが変更可能である場合、衝突による遅延を防止するために新たなリフレッシュバンクIDを選択する。
【0006】
上記目的を達成するためになされた本発明の一態様による方法は、各々が複数のメモリラインを含む1つ以上のメモリバンクを有する揮発性メモリキャッシュ(volatile memory cache)のデータを代替する方法であって、前記方法は、代替される前記複数のメモリラインの中の少なくとも1つに対する代替IDを識別する段階と、リフレッシュ(refresh)される前記メモリバンクの中の1つに対するリフレッシュバンク(bank)IDを識別する段階と、前記代替IDと前記リフレッシュバンクIDとの間に衝突が存在するか否かを判別する段階と、前記衝突が存在する場合、新たな代替IDを選択する段階と、を有する。
【0007】
前記揮発性メモリキャッシュは、DRAM(Dynamic Random-Access Memory)キャッシュを含み得る。
前記方法は、前記揮発性メモリキャッシュのキャッシュ管理部によって遂行され得る。
前記キャッシュ管理部は、前記代替IDを識別する代替管理部と、前記リフレッシュバンクIDを識別するリフレッシュコントローラと、前記衝突が存在するか否かを判別する比較器と、を含み得る。
前記代替管理部は、前記比較器から受信された代替フィードバック(replacement feedback)に基づいて新たな代替IDを更に選択し得る。
【0008】
上記目的を達成するためになされた本発明の他の態様による方法は、各々が複数のメモリラインを含む1つ以上のメモリバンクを有する揮発性メモリキャッシュ(volatile memory cache)のデータを代替する方法であって、前記方法は、代替される前記複数のメモリラインの中の少なくとも1つに対する代替IDを識別する段階と、リフレッシュ(refresh)される前記メモリバンクの中の1つに対する第1リフレッシュバンク(bank)IDを識別する段階と、前記代替IDと前記第1リフレッシュバンクIDとの間に衝突が存在するか否かを判別する段階と、前記衝突が存在する場合、前記第1リフレッシュバンクIDが変更可能であるか否かを判別する段階と、前記衝突が存在し、前記第1リフレッシュバンクIDが変更可能である場合、第2リフレッシュバンクIDを選択する段階と、を有する。
【0009】
前記揮発性メモリキャッシュは、DRAM(Dynamic Random-Access Memory)キャッシュを含み得る。
前記方法は、前記揮発性メモリキャッシュのキャッシュ管理部によって遂行され得る。
前記キャッシュ管理部は、前記代替IDを識別する代替管理部と、前記第1リフレッシュバンクIDを識別するリフレッシュコントローラと、前記衝突が存在するか否かを判別する比較器と、含み得る。
前記リフレッシュコントローラは、前記比較器から受信されたリフレッシュフィードバック(refresh feedback)に基づいて前記第2リフレッシュバンクIDを更に選択し得る。
前記方法は、前記衝突が存在し、前記第1リフレッシュバンクIDが変更不可能である場合、新たな代替IDを選択する段階を更に含み得る。
前記方法は、前記揮発性メモリキャッシュのキャッシュ管理部によって遂行され、前記キャッシュ管理部は、前記代替IDを識別する代替管理部と、前記第1リフレッシュバンクIDを識別するリフレッシュコントローラと、前記衝突が存在するか否かを判別する比較器と、含み得る。
前記第2リフレッシュバンクIDが選択された場合、前記第1リフレッシュバンクIDのリフレッシュは、前記第1リフレッシュバンクIDの定期的に計画された次のリフレッシュまで延期され得る。
前記第2リフレッシュバンクIDが選択された場合、前記第1リフレッシュバンクIDのリフレッシュは、前記第2リフレッシュバンクIDがリフレッシュされる時点まで延期され得る。
【0010】
上記目的を達成するためになされた本発明の一態様によるキャッシュ管理部は、各々が複数のメモリラインを含む1つ以上のメモリバンクを有する揮発性メモリキャッシュを含むキャッシュを管理するキャッシュ管理部であって、前記キャッシュ管理部は、代替される前記複数のメモリラインの中の少なくとも1つに対する代替IDを識別する代替管理部と、リフレッシュ(refresh)される前記メモリバンクの中の1つに対するリフレッシュバンク(bank)IDを識別するリフレッシュコントローラと、前記代替IDと前記リフレッシュバンクIDとの間の衝突が存在するか否かを判別し、前記衝突が存在する場合、新たな代替IDを選択させるための代替フィードバック(replacement feedback)を前記代替管理部に伝送するか、又は新たなリフレッシュバンクIDを選択させるためのリフレッシュフィードバック(refresh feedback)を前記リフレッシュコントローラに伝送する比較器と、を備える。
【0011】
前記揮発性メモリキャッシュは、DRAM(Dynamic Random-Access Memory)キャッシュを含み得る。
前記比較器は、前記代替フィードバックを前記代替管理部に更に伝送し得る。
前記比較器は、前記リフレッシュフィードバックを前記リフレッシュコントローラに更に伝送し得る。
前記比較器は、前記衝突が存在する場合、前記リフレッシュバンクIDが変更可能であるか否かを判別し、前記リフレッシュバンクIDが変更可能である場合、前記リフレッシュフィードバックをリフレッシュコントローラに更に伝送し、前記リフレッシュバンクIDが変更不可能である場合、前記代替フィードバックを前記代替管理部に更に伝送し得る。
前記キャッシュは、不揮発性メモリを更に含み得る。
【0012】
本発明の上記特徴及び他の特徴並びにその側面は明細書、請求項、及び図面に関して認識され、理解される。
【発明の効果】
【0013】
本発明の揮発性メモリキャッシュのデータを代替する方法によれば、衝突が代替IDとリフレッシュバンクIDとの間に存在する場合、代替ID又はリフレッシュバンクIDの中のいずれか1つを変更することで遅延を防止することができる。
【図面の簡単な説明】
【0014】
図1】本発明の一実施形態による広帯域幅メモリスタックの斜視図である。
図2】本発明の一実施形態による広帯域幅メモリスタックをレベル3キャッシュとして使用するプロセシングシステムのブロック図である。
図3】本発明の一実施形態による広帯域幅メモリスタックのブロック図である。
図4】一実施形態によるバックサイドDRAMキャッシュを含むNVDIMMの一例を示す。
図5】本発明の一実施形態によるロジックダイのブロック図である。
図6】本発明の他の実施形態によるロジックダイのブロック図である。
図7】本発明の更に他の実施形態によるロジックダイのブロック図である。
図8】本発明の一実施形態によるNVM/キャッシュコントローラのブロック図である。
図9】本発明の一実施形態による揮発性メモリキャッシュに対する代替ポリシーの一方法を説明するフローチャートである。
図10】本発明の一実施形態による揮発性メモリキャッシュに対する代替ポリシーの他の方法を説明するフローチャートである。
図11】本発明の一実施形態による揮発性メモリキャッシュに対する代替ポリシーの更に他の方法を説明するフローチャートである。
【発明を実施するための形態】
【0015】
本発明の実施形態において、衝突(conflict)が代替ID(replacement ID(identification))とリフレッシュバンクID(refresh bank ID)との間に存在する場合、代替ID又はリフレッシュバンクIDの中のいずれか1つは遅延を防止するために変更される。より具体的に、本発明の一部の実施形態は、代替ID及びリフレッシュバンクIDを識別し、衝突がある場合、衝突による遅延を防止するために新たな代替IDを選択する。また、本発明の一部の実施形態は、代替ID及びリフレッシュバンクIDを識別し、衝突がある場合、リフレッシュバンクIDが変更可能であるか否かを確認し、リフレッシュバンクIDが変更可能である場合、衝突による遅延を防止するために新たなリフレッシュバンクIDを選択する。
【0016】
図面に関連して以下に説明する詳細な説明は、本発明によって提供される揮発性メモリキャッシュ(caches)のためのリフレッシュを認識する代替ポリシーの例示的な実施形態に対する説明として意図し、本発明が構成されるか、或いは利用可能な唯一の形態を示すために意図するものではない。本明細書は図示する実施形態に関連して本発明の特徴を説明する。しかし、本発明の実施形態は、本発明の思想及び範囲内に含まれ、また意図された他の実施形態と同一であるか、或いは同等な機能及び構造が達成されることが理解される。本明細書の他の箇所で言及するように、同じ要素符号は同じ要素又は特徴を示すものと意図する。
【0017】
2016年11月11日付で出願し、「Byte-Addressable Flash-Based Module」という名称の米国特許出願15/349,949号、2016年9月21日付で出願し、「HBM with In-Memory Cache」という名称の米国特許出願15/272,339号、そして2016年10月4日付で出願し、「System and Method for operating a DDR-Compatible Asynchronous Memory module」という名称の米国特許出願15/285,423号の全体内容は全体的に参照文献として本明細書に引用される。
【0018】
広帯域幅メモリ(high bandwidth memory:HBM)は高性能の3DスタックされたDRAM(three dimensional(3D)-stacked dynamic random access memory)である。第2世代広帯域幅メモリはスタック(stack)当たり8個のダイ(dies)まで含むことができ、2GT/s(giga transfers per second)までピン伝送速度(pin transfer rates)を提供する。インターフェイス(interface)は、総1024ビット幅アクセスのために、8個のチャンネルを含み、各チャンネルは128ビット幅である。第2世代広帯域幅メモリは、パッケージ(package)当たり256GB/sメモリ帯域幅に到達し、パッケージ当たり8GBまでの格納容量を有する。第2世代広帯域幅メモリのインターフェイスはJEDEC(Joint Electron Device Engineering Council)によって受け入れられた標準に準拠する。
【0019】
図1は、本発明の一実施形態による広帯域幅メモリスタックの斜視図である。図1を参照すると、広帯域幅メモリスタック(HBM stack)105の物理的な構成は、ロジックダイ(logic die)110、及びロジックダイ110上にスタックされた(stacked)複数のDRAMダイ(例えば、8個のダイ)を含む3D DRAM又はDRAMスタック(three dimensional DRAM or DRAM stack)115を有する。相互連結(interconnections)はTSVs(through-silicon vias)を利用してスタック内に形成される。他の広帯域幅メモリスタックは、ロジックダイ内に接続及び信号処理回路を含み、その結果としてDRAMチャンネルインターフェイスが実質的に変更されずに広帯域幅メモリの外部インターフェイスからホストプロセッサに提供される。
【0020】
図2は、本発明の一実施形態による広帯域幅メモリスタックをレベル3キャッシュとして使用するプロセシングシステムのブロック図である。図2を参照すると、広帯域幅メモリスタック(HBM/CM)105は、ホストプロセッサ155(host processor、CPU又はGPU)に連結される。ホストプロセッサ155は複数のコア(C)160を含み、各コアはレベル1(L1)キャッシュ150を有する。レベル2(L2)キャッシュ120はレベル1(L1)キャッシュ150に連結され、第1メモリコントローラ(MC1)125はオフチップメインメモリ(off-chip main memory)130にインターフェイスを提供する。第2メモリコントローラ(MC2)135は広帯域幅メモリスタック105にインターフェイスを提供する。広帯域幅メモリスタック105は広帯域幅メモリスタック105のロジックダイ内にキャッシュ管理部(cache manager:CM)を含む。広帯域幅メモリスタック105は、その中に集積されたキャッシュマネージャ(manager)(CM)と共に、ホストプロセッサ155によってレベル3キャッシュとして(又は、例えばレベル3キャッシュも有するシステムのレベル4キャッシュとして)使用される。広帯域幅メモリインターフェイス145はJEDECに準拠するインターフェイスである。即ち、広帯域幅メモリインターフェイス145は導電体(conductors)及びJEDEC標準によって明示されたシグナリングプロトコル(signaling protocols)を提供する。一実施形態において、広帯域幅メモリスタック105及びホストプロセッサ155はシリコンインターポーザ(silicon interposer)140内に配置される。シリコンインターポーザ140は広帯域幅メモリスタック105とホストプロセッサ155とを連結する。
【0021】
図3は、本発明の一実施形態による広帯域幅メモリスタックのブロック図である。図3を参照すると、一部の実施形態において、広帯域幅メモリスタック105は、チャンネルと称され、Ch0-Ch7として図3で示した8個の内部インターフェイスを通じて、DRAMスタック115(例えば、図1参照)内のDRAMに連結されるロジックダイ110を含む。各レベルはダイと称される。例えば、Ch0及びCh1はDRAMダイ0にあり、Ch2及びCh3はDRAMダイ1にあり、Ch4及びCh5はDRAMダイ2にあり、Ch6及びCh7はDRAMダイ3にある。
【0022】
そして、全てのDRAMダイの下に、ロジックを追加できるロジックダイがある。ロジックダイは第2メモリコントローラ135(例えば、図2参照)と通信する。ロジックダイと第2メモリコントローラ135との間のインターフェイスはJEDEC標準によって定義される。
【0023】
一実施形態において、一部のキャッシュ管理ロジックは、広帯域幅メモリ自体が全体として自体的に管理されるキャッシュ(self-managed cache)として扱うことができるように、ロジックダイに追加される。このような実施形態により、ホストプロセッサ155はキャッシュを制御するための追加的な作業を遂行する必要がない。
【0024】
図4は、一実施形態によるバックサイドDRAMキャッシュを含むNVDIMM(Non-Volatile Dual In-Line Memory Module)の一例を示す。図4を参照すると、NVDIMM201aは、不揮発性メモリ(non-volatile memory:NVM)210、バックサイドDRAMキャッシュ(backside DRAM cache)211a、及びNVM/キャッシュコントローラ(NVM/cache controller)220を含む。NVDIMM201aのデータバッファ(data buffer)230はホストメモリコントローラによって要請されるNVDIMM201aの状態のデータをデータ(DQ)バスを通じて提供する。NVDIMM201aのRCD(registering clock driver)231はデータバッファ230に命令シークェンス(command sequences)を生成する制御及びアドレスバッファ(control and address(CA) buffer)を提供する。バックサイドDRAMキャッシュ211aは、NVM/キャッシュコントローラ220に連結され、NVM/キャッシュコントローラ220を通じてデータバッファ230からのデータ及びRCD231からの制御及びアドレスを受信する。これは、ホストメモリコントローラによるバックサイドDRAMキャッシュ211aへの直接的なアクセスを禁止する。ホストメモリコントローラは、直接的なモード(direct mode)ではバックサイドDRAMキャッシュ211aにアクセスできるが、キャッシュモード(cache mode)ではバックサイドDRAMキャッシュ211aに直接アクセスできない。バックサイドDRAMキャッシュ211aへのアクセスは、従来のDRAMへのアクセス時間よりも長いアクセス時間を引き起こすメモリコントローラとメモリモジュールとの間のハンドシェーキング(handshaking)を要求する。
【0025】
DRAM(例えば、8GB広帯域幅メモリ)をキャッシュとして利用する場合、リフレッシュの影響は無視できない。これは、キャッシュライン(cache line)が追い出されるか(evict、又は除去されるか)又は挿入されるために選択され、選択されたキャッシュラインがリフレッシュされ始めたばかりのバンク内にもあるため、選択されたキャッシュラインが追い出されるか又は挿入される前に遅延が要求されることを意味する。この待ちは次の動作に対してより高い待機行列(queuing)の遅延を引き起こす。
【0026】
本実施形態によるリフレッシュを認識するキャッシュ代替ポリシーは既存の代替ポリシーに基づいて構築される。例えば、既存の代替ポリシーは本実施形態をその内に含むように修正される。本実施形態は、LRU基礎(Least-Recently-Used-based:LRU-based)代替ポリシー、ランダム(random)代替ポリシー、FIFO(First-In-First-Out)代替ポリシー、nMRU(not-Most-Recently-Used)代替ポリシー、及び/又はその他の種類の中の任意のものに基づく。
【0027】
一般的な代替ポリシーは代替IDを確認する。本実施形態によるリフレッシュを認識するキャッシュ代替ポリシーは代替ID及びリフレッシュバンクIDの両方を確認する。代替ID及びリフレッシュバンクIDに基づいて、本実施形態は、代替するためのより良いラインを判別するか、或いはリフレッシュするためのより良いバンクを判別する。
【0028】
一部の実施形態において、代替IDがリフレッシュバンクIDと衝突すると、これは代替されるラインがリフレッシュによって影響を受けることを意味し、これにより、その次の最適な代替IDが選択される。一部の実施形態において、代替IDがリフレッシュIDと衝突すると、リフレッシュされる次のリフレッシュバンクが選択される。延期されたバンクは、次のリフレッシュバンクが元のリフレッシュされる時点でリフレッシュされるか、又はリフレッシュバンクの定期的に計画された次のリフレッシュまで延期される。
【0029】
図5は、本発明の一実施形態によるロジックダイのブロック図である。図5を参照すると、ロジックダイ(例えば、図1図3参照)110はキャッシュ管理部(cache manager)600を含む。キャッシュ管理部600は揮発性メモリキャッシュを管理する。キャッシュ管理部600は、代替管理部(replacement manager)300、リフレッシュコントローラ(refresh controller)400、及び比較器(comparator)500を含む。揮発性メモリキャッシュは3D DRAMキャッシュ(例えば、図1のDRAMスタック115参照)である。揮発性メモリキャッシュは1つ以上のメモリバンクを含み、メモリバンクの各々は複数のメモリラインを含む。
【0030】
代替管理部300は代替ポリシーに基づいて代替ID320を判別する(又は識別する)。代替管理部300は代替ID320を比較器500に提供する。
【0031】
リフレッシュコントローラ400は任意のバンクのリフレッシュが必要であるか否かを判別する。リフレッシュが必要である場合、リフレッシュコントローラ400はリフレッシュポリシーに基づいてリフレッシュバンクID420を判別する(又は識別する)。リフレッシュコントローラ400はリフレッシュバンクID420を比較器500に提供する。また、リフレッシュコントローラ400は最終リフレッシュバンクID460としてリフレッシュバンクID420を出力する。
【0032】
リフレッシュが必要でない場合、リフレッシュコントローラ400は、リフレッシュバンクID420を伝送するのではなく、リフレッシュが必要でないことを示す信号を比較器500に伝送することができるが、本発明はこれに制限されない。例えば、リフレッシュが必要でない場合、リフレッシュコントローラ400は比較器500に何も伝送しない。
【0033】
比較器500は代替ID320とリフレッシュバンクID420とを比較する。比較器500は代替ID320とリフレッシュバンクID420との間に衝突があるか否かを判別する。比較器500は衝突が存在するか否かを示す代替フィードバック(replacement feedback)340を代替管理部300に提供する。一実施形態において、代替フィードバック340は、衝突が存在する場合に比較器500によってのみ提供され、そうでない場合に提供されないが、本発明はこれに制限されない。例えば、比較器500は、衝突が存在しない場合に第1レベルで代替フィードバック340を提供し、衝突が存在する場合に第2レベルで代替フィードバック340を提供する。
【0034】
代替管理部300が、衝突が存在しないことを示す代替フィードバック340を受信した場合(又は代替管理部300が代替フィードバック340を受信しない場合)、代替管理部300は最終代替ID360として代替ID320を出力する。
【0035】
代替管理部300が、衝突が存在することを示す代替フィードバック340を受信した場合、代替管理部300は、代替ポリシーに基づいて次の代替IDを選択し、最終代替ID360として次の代替IDを出力する。次の代替IDは、次の最適代替ID、次の最も古い(oldest)代替ID等である。
【0036】
即ち、代替管理部300は比較器500から受信された代替フィードバック340に基づいて新たな代替IDを選択する。
【0037】
図6は、本発明の他の実施形態によるロジックダイのブロック図である。図6を参照すると、ロジックダイ112はキャッシュ管理部602を含む。キャッシュ管理部602は揮発性メモリキャッシュを管理する。キャッシュ管理部602は、代替管理部302、リフレッシュコントローラ402、及び比較器502を含む。揮発性メモリキャッシュは3D DRAMキャッシュ(例えば、図1のDRAMスタック115参照)である。揮発性メモリキャッシュは1つ以上のメモリバンクを含み、メモリバンクの各々は複数のメモリラインを含む。
【0038】
代替管理部302は代替ポリシーに基づいて代替ID322を判別する(又は識別する)。代替管理部302は代替ID322を比較器502に提供する。また、代替管理部302は最終代替ID362として代替ID322を出力する。
【0039】
リフレッシュコントローラ402は任意のバンクのリフレッシュが必要であるか否かを判別する。リフレッシュが必要である場合、リフレッシュコントローラ402はリフレッシュポリシーに基づいてリフレッシュバンクID422を判別する(又は識別する)。リフレッシュコントローラ402はリフレッシュバンクID422を比較器502に提供する。
【0040】
リフレッシュが必要でない場合、リフレッシュコントローラ402は、リフレッシュバンクID422を伝送するのではなく、リフレッシュが必要でないことを示す信号を比較器502に伝送できるが、本発明はこれに制限されない。例えば、リフレッシュが必要でない場合、リフレッシュコントローラ402は比較器502に何も伝送しない。
【0041】
比較器502は代替ID322とリフレッシュバンクID422とを比較する。比較器502は代替ID322とリフレッシュバンクID422との間に衝突があるか否かを判別する。比較器502は衝突が存在するか否かを示すリフレッシュフィードバック442をリフレッシュコントローラ402に提供する。一実施形態において、リフレッシュフィードバック442は、衝突が存在する場合に比較器502によってのみ提供され、そうでない場合に提供されないが、本発明はこれに制限されない。例えば、比較器502は、衝突が存在しない場合に第1レベルでリフレッシュフィードバック442を提供し、衝突が存在する場合に第2レベルでリフレッシュフィードバック442を提供する。
【0042】
リフレッシュコントローラ402が、衝突が存在しないことを示すリフレッシュフィードバック442を受信した場合(又はリフレッシュコントローラ402がリフレッシュフィードバック442を受信しない場合)、リフレッシュコントローラ402は最終リフレッシュバンクID462としてリフレッシュバンクID422を出力する。
【0043】
リフレッシュコントローラ402が、衝突が存在することを示すリフレッシュフィードバック442を受信した場合、リフレッシュコントローラ402は、リフレッシュバンクID422が延期(又は変更)可能であるか否かを判別し、リフレッシュバンクID422が延期(又は変更)可能である場合に、リフレッシュポリシーに基づいて次のリフレッシュバンクIDを選択し、最終リフレッシュバンクID462として次のリフレッシュバンクIDを出力する。次のリフレッシュバンクIDは、次の最適リフレッシュバンクID、次の最も古いリフレッシュバンクID等である。
【0044】
即ち、リフレッシュコントローラ402は比較器502から受信されたリフレッシュフィードバック442に基づいて次のリフレッシュバンクIDを選択する。
【0045】
延期されたバンクは、次のリフレッシュバンクが元のリフレッシュされる時点でリフレッシュされるか、又はリフレッシュバンクの定期的に計画された次のリフレッシュまで遅延される。
【0046】
図7は、本発明の更に他の実施形態によるロジックダイのブロック図である。図7を参照すると、ロジックダイ114はキャッシュ管理部604を含む。キャッシュ管理部604は揮発性メモリキャッシュを管理する。キャッシュ管理部604は、代替管理部304、リフレッシュコントローラ404、及び比較器504を含む。揮発性メモリキャッシュは3D DRAMキャッシュ(例えば、図1のDRAMスタック115参照)である。揮発性メモリキャッシュは1つ以上のメモリバンクを含み、メモリバンクの各々は複数のメモリラインを含む。
【0047】
代替管理部304は代替ポリシーに基づいて代替ID324を判別する(又は識別する)。代替管理部304は代替ID324を比較器504に提供する。
【0048】
リフレッシュコントローラ404は任意のバンクのリフレッシュが必要であるか否かを判別する。リフレッシュが必要である場合、リフレッシュコントローラ404はリフレッシュポリシーに基づいてリフレッシュバンクID424を判別する(又は識別する)。リフレッシュコントローラ404はリフレッシュバンクID424を比較器504に提供する。
【0049】
リフレッシュが必要でない場合、リフレッシュコントローラ404は、リフレッシュバンクID424を伝送するのではなく、リフレッシュが必要でないことを示す信号を比較器504に伝送することができるが、本発明はこれに制限されない。例えば、リフレッシュが必要でない場合、リフレッシュコントローラ404は比較器504に何も伝送しない。
【0050】
比較器504は代替ID324とリフレッシュバンクID424とを比較する。比較器504は代替ID324とリフレッシュバンクID424との間に衝突があるか否かを判別する。衝突が存在する場合、比較器504はリフレッシュバンクID424が延期可能であるか否かを判別する。
【0051】
リフレッシュバンクID424が延期され、衝突が存在する場合、比較器504はリフレッシュバンクID424が変更されなければならないことを示すリフレッシュフィードバック444をリフレッシュコントローラ404に提供する。一実施形態において、リフレッシュフィードバック444は、リフレッシュバンクID424が変更されなければならない場合に比較器504によってのみ提供され、そうでない場合に提供されないが、本発明はこれに制限されない。例えば、比較器504は、リフレッシュバンクID424が変更されてはならない場合に第1レベルでリフレッシュフィードバック444を提供し、リフレッシュバンクID424が変更されなければならない場合に第2レベルでリフレッシュフィードバック444を提供する。
【0052】
リフレッシュバンクID424が延期されず、衝突が存在する場合、比較器504は代替ID324が変更されなければならないことを示す代替フィードバック344を代替管理部304に提供する。一実施形態において、代替フィードバック344は代替ID324が変更されなければならない場合に比較器504によってのみ提供され、そうでない場合に提供されないが、本発明はこれに制限されない。例えば、比較器504は、代替ID324が変更されてはならない場合に第1レベルで代替フィードバック344を提供し、代替ID324が変更されなければならない場合に第2レベルで代替フィードバック344を提供する。
【0053】
リフレッシュコントローラ404が、リフレッシュバンクID424が変更されてはならないことを示すリフレッシュフィードバック444を受信した場合(又はリフレッシュコントローラ404がリフレッシュフィードバック444を受信しない場合)、リフレッシュコントローラ404は最終リフレッシュバンクID464としてリフレッシュバンクID424を出力する。
【0054】
リフレッシュコントローラ404が、リフレッシュバンクID424が変更されなければならないことを示すリフレッシュフィードバック444を受信した場合、リフレッシュコントローラ404は、リフレッシュポリシーに基づいて次のリフレッシュバンクIDを選択し、最終リフレッシュバンクID464として次のリフレッシュバンクIDを出力する。次のリフレッシュバンクIDは、次の最適リフレッシュバンクID、次の最も古いリフレッシュバンクID等である。
【0055】
即ち、リフレッシュコントローラ404は比較器504から受信されたリフレッシュフィードバック444に基づいて次のリフレッシュバンクIDを選択する。
【0056】
延期されたバンクは、次のリフレッシュバンクが元のリフレッシュされる時点でリフレッシュされるか、又はリフレッシュバンクの定期的に計画された次のリフレッシュまで延期される。即ち、第2リフレッシュバンクIDが選択された場合、第1リフレッシュバンクIDのリフレッシュは第2リフレッシュバンクIDがリフレッシュされる時点まで延期される。
【0057】
代替管理部304が、代替ID324が変更されてはならないことを示す代替フィードバック344を受信した場合(又は代替管理部304が代替フィードバック344を受信しない場合)、代替管理部304は最終代替ID364として代替ID324を出力する。
【0058】
代替管理部304が、代替ID324が変更されなければならないことを示す代替フィードバック344を受信した場合、代替管理部304は、代替ポリシーに基づいて次の代替IDを選択し、最終代替ID364として次の代替IDを出力する。次の代替IDは、次の最適代替ID、次の最も古い代替ID等である。
【0059】
即ち、代替管理部304は比較器504から受信された代替フィードバック344に基づいて新たな代替IDを選択する。
【0060】
図8は、本発明の一実施形態によるNVM/キャッシュコントローラのブロック図である。図8を参照すると、NVM/キャッシュコントローラ220(図4参照)は、代替管理部306、リフレッシュコントローラ406、及び比較器506を含む。NVM/キャッシュコントローラ220は揮発性メモリキャッシュを管理する。揮発性メモリキャッシュはバックサイドDRAMキャッシュ(例えば、図4のバックサイドDRAMキャッシュ211a参照)である。揮発性メモリキャッシュは1つ以上のメモリバンクを含み、メモリバンクの各々は複数のメモリラインを含む。
【0061】
本実施形態において、NVM/キャッシュコントローラ220の代替管理部306、リフレッシュコントローラ406、及び比較器506は、それぞれ図5の代替管理部300、リフレッシュコントローラ400、及び比較器500と実質的に同様の方式で動作する。従って、これらの詳細な説明を省略する。
【0062】
例えば、比較器506は、代替管理部306から代替ID326を受信し、リフレッシュコントローラ406からリフレッシュバンクID426を受信する。比較器506は衝突が存在するか否かに基づいて代替フィードバック346を出力する。代替管理部306は最終代替ID366を出力し、リフレッシュコントローラ406は最終リフレッシュバンクID466を出力する。
【0063】
他の実施形態において、NVM/キャッシュコントローラ220の代替管理部306、リフレッシュコントローラ406、及び比較器506は、それぞれ図6の代替管理部302、リフレッシュコントローラ402、及び比較器502と実質的に同様の方式で動作する。従って、これらの詳細な説明を省略する。
【0064】
例えば、比較器506は、代替管理部306から代替ID326を受信し、リフレッシュコントローラ406からリフレッシュバンクID426を受信する。比較器506は衝突が存在するか否かに基づいてリフレッシュフィードバック446を出力する。代替管理部306は最終代替ID366を出力し、リフレッシュコントローラ406は最終リフレッシュバンクID466を出力する。
【0065】
更に他の実施形態において、NVM/キャッシュコントローラ220の代替管理部306、リフレッシュコントローラ406、及び比較器506は、それぞれ図7の代替管理部304、リフレッシュコントローラ404、及び比較器504と実質的に同様の方式で動作する。従って、これらの詳細な説明を省略する。
【0066】
例えば、比較器506は、代替管理部306から代替ID326を受信し、リフレッシュコントローラ406からリフレッシュバンクID426を受信する。比較器506は、衝突が存在し、リフレッシュバンクID426が変更可能である場合、リフレッシュフィードバック446を出力する。比較器506は、衝突が存在し、リフレッシュバンクID426が変更不可能である場合、代替フィードバック346を出力する。代替管理部306は最終代替ID366を出力し、リフレッシュコントローラ406は最終リフレッシュバンクID466を出力する。
【0067】
図9は、本発明の一実施形態による揮発性メモリキャッシュに対する代替ポリシーの一方法を説明するフローチャートである。揮発性メモリキャッシュは1つ以上のメモリバンクを含む。メモリバンクの各々は複数のメモリラインを含む。揮発性メモリキャッシュはDRAM(Dynamic Random-Access Memory)キャッシュである。
【0068】
図9を参照すると、本実施形態において、1000段階で、代替される複数のメモリラインの中の少なくとも1つに対する代替IDが識別される。1010段階で、リフレッシュされるメモリバンクの中の1つに対するリフレッシュバンクIDが識別される。
【0069】
1020段階で、衝突が代替IDとリフレッシュバンクIDとの間に存在するか否かが判別される。衝突が存在しないと判別された場合、段階1030で、代替ID又はリフレッシュバンクIDを変更するための動作は行われない。衝突が存在すると判別された場合、段階1040で、新たな代替IDが選択される。
【0070】
図9の方法はロジックダイのキャッシュ管理部によって遂行される(例えば、図1図3及び図5図7参照)。また、図9の方法はNVM/キャッシュコントローラによって遂行される(例えば、図4及び図8参照)。
【0071】
図10は、本発明の一実施形態による揮発性メモリキャッシュに対する代替ポリシーの他の方法を説明するフローチャートである。揮発性メモリキャッシュは1つ以上のメモリバンクを含む。メモリバンクの各々は複数のメモリラインを含む。揮発性メモリキャッシュはDRAM(Dynamic Random-Access Memory)キャッシュである。
【0072】
図10を参照すると、本実施形態において、1100段階で、代替される複数のメモリラインの中の少なくとも1つに対する代替IDが識別される。1110段階で、リフレッシュされるメモリバンクの中の1つに対するリフレッシュバンクID(例えば、第1リフレッシュバンクID)が識別される。
【0073】
1120段階で、衝突が代替IDとリフレッシュバンクIDとの間に存在するか否かが判別される。衝突が存在しないと判別された場合、段階1130で、代替ID又はリフレッシュバンクIDを変更するための動作は行われない。衝突が存在すると判別された場合、段階1140で、リフレッシュバンクIDが変更可能であるか否かが判別される。また、衝突が存在し、リフレッシュバンクIDが変更されないと判別された場合、1130段階で、代替ID又はリフレッシュバンクIDを変更するための動作は行われない。衝突が存在し、リフレッシュバンクIDが変更可能であると判別された場合、1150段階で、新たなリフレッシュバンクID(例えば、第2リフレッシュバンクID)が選択される。
【0074】
図10の方法はロジックダイのキャッシュ管理部によって遂行される(例えば、図1図3及び図5図7参照)。また、図10の方法はNVM/キャッシュコントローラによって遂行される(例えば、図4及び図8参照)。
【0075】
図11は、本発明の一実施形態による揮発性メモリキャッシュに対する代替ポリシーの更に他の方法を説明するフローチャートである。揮発性メモリキャッシュは1つ以上のメモリバンクを含む。メモリバンクの各々は複数のメモリラインを含む。揮発性メモリキャッシュはDRAM(Dynamic Random-Access Memory)キャッシュである。
【0076】
図11を参照すると、本実施形態において、1200段階で、代替される複数のメモリラインの中の少なくとも1つに対する代替IDが識別される。1210段階で、リフレッシュされるメモリバンクの中の1つに対するリフレッシュバンクIDが識別される。
【0077】
1220段階で、衝突が代替IDとリフレッシュバンクIDとの間に存在するか否かが判別される。衝突が存在しないと判別された場合、段階1230で、代替ID又はリフレッシュバンクIDを変更するための動作は行われない。衝突が存在すると判別された場合、段階1240で、リフレッシュバンクIDが変更可能であるか否かが判別される。衝突が存在し、リフレッシュバンクIDが変更可能であると判別された場合、1250段階で、新たなリフレッシュバンクIDが選択される。衝突が存在し、リフレッシュバンクIDが変更されないと判別された場合、1260段階で、新たな代替IDが選択される。
【0078】
図11の方法はロジックダイのキャッシュ管理部によって遂行される(例えば、図1図3及び図5図7参照)。また、図11の方法はNVM/キャッシュコントローラによって遂行される(例えば、図4及び図8参照)。
【0079】
このように、本発明の実施形態において、衝突が代替IDとリフレッシュバンクIDとの間に存在する場合、代替ID又はリフレッシュバンクIDの中のいずれか1つは遅延を防止するために変更される。より具体的に、本発明の一部の実施形態は、代替ID及びリフレッシュバンクIDを識別し、衝突がある場合、衝突による遅延を防止するために新たな代替IDを選択する。また、本発明の一部の実施形態は、代替ID及びリフレッシュバンクIDを識別し、衝突がある場合、リフレッシュバンクIDが変更可能であるか否かを確認し、リフレッシュバンクIDが変更可能である場合、衝突による遅延を防止するために新たなリフレッシュバンクIDを選択する。
【0080】
ここで、第1、第2、第3等の用語を多様な要素、成分、領域、層、及び/又はセクションを説明するために使用したとしても、このような要素、成分、領域、層、及び/又はセクションはこのような用語によって制限されないものと理解すべきである。このような用語は、他の要素、成分、領域、層、又はセクションから1つの要素、構成、領域、層又はセクションを区別するために使用される。従って、上述の第1要素、成分、領域、層、又はセクションは本発明の思想及び範囲を逸脱せずに、第2要素、成分、領域、層、又はセクションを指称することができる。
【0081】
本明細書で説明した本発明の実施形態において、関連する装置又は成分は任意の適切なハードウェア(例えば、ASIC(application-specific integrated circuit))、ファームウェア(例えば、DSP又はFPGA)、ソフトウェア、或いはソフトウェア、ファームウェア、及びハードウェアの適切な組合せを利用して具現される。例えば、関連する装置の多様な要素は1つの集積回路(integrated circuit;IC)又は分離されたICチップで形成される。また、関連する装置の多様な構成要素はフレキシブル印刷回路フィルム(flexible printed circuit film)、TCP(tape carrier package)、PCB(printed circuit board)で具現されるか、或いは1つ以上の回路及び/又は他の装置として同じ基板上に形成される。また、関連する装置の多様な構成要素は、1つ以上のプロセッサ及び1つ以上のコンピューティング装置で実行され、コンピュータプログラム命令語を実行し、本明細書で説明した多様な機能を遂行するための他のシステム構成要素と相互作用するプロセス又はスレッド(thread)である。コンピュータプログラム命令語は、例えばRAM(random access memory)のような、標準メモリ装置を利用してコンピューティング装置で具現されるメモリに格納される。コンピュータプログラム命令語は、例えばCD-ROM、フラッシュドライブ(flash drive)等のような他の一時的ではない(non-transitory)コンピュータ読み取り可能な記録媒体に格納される。また、当業者は、本発明の例示的な実施形態の思想及び範囲を逸脱せずに、多様なコンピューティング装置の機能が1つのコンピューティング装置に統合されるか、集積されるか、或いは特定コンピューティング装置の機能が1つ以上の他のコンピューティング装置に亘って分散されることを認識する。
【0082】
図面を参照しながら説明したものとして他の要素又は特徴に対する1つの要素又は特徴の関係を説明することを容易にするために“最上”、“最下”、“下に”、“下部に”、“更に下の”、“更に下部に”、“上に”、“更に上に”のような空間的であり相対的な用語を本明細書で使用した。空間的であり相対的な用語は図面で示した方向に加えて使用又は動作で装置の他の方向を含むように意図したことが理解されるべきである。例えば、図面の装置を裏返した場合、他の構成要素又は特徴に対して“下に”、“最下”、又は“下部に”と説明した要素は他の要素又は特徴の“上に”合わせることになる。従って、“下部に”及び“下に”の例示的な用語は上又は下方向の両方を含む。装置は異なって合わせることができ(例えば、90°又は他の方向に回転させること)、本明細書で使用した空間的であり相対的な記述はそれに合わせて解釈されなければならない。
【0083】
また、1つの要素、構成要素、領域、層、及び/又はセクションが2つの要素、構成要素、領域、層、及び/又はセクションの間にあると言及した場合、2つの要素、構成要素、領域、層、及び/又はセクションの間に単に要素、構成要素、領域、層、及び/又はセクションがあるか、或いは1つ以上の間の要素、構成要素、領域、層、及び/又はセクションがまた存在することが理解されるべきである。
【0084】
本明細書で使用した用語は、特定の実施形態を説明するためのものであり、本発明を制限しようとする意図はない。本明細書で使用したように、単数形態は文脈上で明確に異なって示さない限り、複数形態も含むように意図する。“構成される”、“構成されている”、“含む”、及び“含んでいる”の用語を本明細書で使用した場合、記述した特徴、整数、段階、動作、要素、及び/又は構成要素の存在を明示するが、1つ以上の特徴、整数、段階、動作、要素、要素、構成要素、及び/又はこれらのグループの存在を不可にしないことと更に理解されるべきである。
【0085】
本明細書で使用したように、“及び/又は”という用語は1つ以上の関連する列挙した項目の任意のこと又は全ての組合せを含む。“少なくとも1つ”、“中の1つ”、及び“から選択された”のような表現は要素の全体リストを修正し、そしてリストの個別要素を修正しない。また、本発明の実施形態を記述する場合、“することができる”の使用は“本発明の1つ以上の実施形態”を意味する。また、“例示”の用語は例又は図面を意味する。
【0086】
要素又は層が他の要素又は層“に”、“に連結された”、“に結合された”、“と関係がある”、“と結合された”、又は“と隣接する”場合として言及した場合、要素又は層は他の要素又は層“に直接的に”、“に直接的に連結された”、“に直接的に結合された”、“と直接的に関係がある”、“と直接的に結合された”、又は“と直接的に隣接する”ことであるか、或いは1つ以上の間の要素又は層が存在する。また、“連結”、“連結された”、等は、当業者によって理解されるものとして用語が使用される文脈に従って“電気的な連結”、“電気的に連結された”、等を示す。要素又は層が他の要素又は層“に直接的に”、“に直接的に連結された”、“に直接的に結合された”、“と直接的に関係がある”、“と直接的に結合された”、又は“と直接的に隣接する”として言及した場合、その間の要素及び層が存在しない。
【0087】
本明細書で使用したように、“実質的に”、“約”、及びこれと類似な用語は近似値の用語として使用され、程度の用語として使用されず、当業者によって認識される測定された又は計算された値の固有な偏差を説明するために意図する。
【0088】
本明細書で使用したように、“使用”、“使用される”、及び“使用された”の用語は“利用”、“利用される”、及び“利用された”用語と密接なものと各々看做される。
【0089】
本発明の1つ以上の実施形態に関して説明した特徴は本発明の他の実施形態の特徴と共に使用することを可能する。例えば、第3実施形態が本明細書で明確に説明されなくても、第1実施形態において説明した特徴は第3実施形態を形成するために第2実施形態で説明した特徴と結合される。
【0090】
当業者は、プロセスがハードウェア、ファームウェア(例えば、ASICを通じて)、或いはソフトウェア、ファームウェア、及び/又はハードウェアの任意の組合せを通じて実行されることを認識しなければならない。また、プロセスの段階のシークェンスは固定されず、当業者によって認識されたものとして任意の所望するシークェンスに変更される。変更されたシークェンスは全ての段階又は段階の部分を含む。
【0091】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【0092】
105 広帯域幅メモリスタック(HBM/CM)
110、112、114 ロジックダイ
115 3D DRAM(DRAMスタック)
120 レベル2(L2)キャッシュ
125 第1メモリコントローラ(MC1)
130 オフチップメインメモリ
135 第2メモリコントローラ(MC2)
140 シリコンインターポーザ
145 広帯域幅メモリインターフェイス
150 レベル1(L1)キャッシュ
155 ホストプロセッサ
160 コア(C)
201a NVDIMM 210 不揮発性メモリ(NVM)
211a バックサイドDRAMキャッシュ
220 NVM/キャッシュコントローラ
230 データバッファ
231 RCD(registering clock driver)
300、302、304、306 代替管理部
320、322、324、326 代替ID
340、344、346 代替フィードバック
360、362、364、366 最終代替ID
400、402、404、406 リフレッシュコントローラ
420、422、424、426 リフレッシュバンクID
442、444、446 リフレッシュフィードバック
460、462、464、466 最終リフレッシュバンクID
500、502、504、506 比較器
600、602、604 キャッシュ管理部

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11