JP6928123B2 - メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム - Google Patents
メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム Download PDFInfo
- Publication number
- JP6928123B2 JP6928123B2 JP2019569799A JP2019569799A JP6928123B2 JP 6928123 B2 JP6928123 B2 JP 6928123B2 JP 2019569799 A JP2019569799 A JP 2019569799A JP 2019569799 A JP2019569799 A JP 2019569799A JP 6928123 B2 JP6928123 B2 JP 6928123B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- pages
- page
- staging buffer
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
Description
Claims (12)
- メモリシステムにおいて使用される方法であって、
前記メモリシステムの第1メモリの第1の複数のページを、前記メモリシステムの第2メモリの第2の複数のページとスワップすることであって、前記第1メモリは、第1レイテンシを有しており、前記第2メモリは、第2レイテンシを有しており、前記第1レイテンシは、前記第2レイテンシよりも短い、ことと、
ページテーブルを更新し、トランスレーションルックアサイドバッファシュートダウンをトリガして、前記第1の複数のページの各々の仮想アドレスを、前記第2メモリ内の対応する物理アドレスに関連付け、前記第2の複数のページの各々の仮想アドレスを、前記第1メモリ内の対応する物理アドレスに関連付けることと、を含み、
前記スワップすることは、
前記第1の複数のページを、前記第1メモリからステージングバッファにコピーすることと、
前記第2の複数のページを、前記第2メモリから前記ステージングバッファにコピーすることと、
前記第1の複数のページの前記ステージングバッファへのコピーの間に、前記ステージングバッファ内の前記第1の複数のページのうち第1ページへの書き込み命令に応じて、前記第1ページのコピーにデータを書き込み、前記第1メモリ内の前記第1ページに前記データを書き込むことと、を含む、
方法。 - 前記スワップすることは、
前記第1の複数のページの各々の第1リダイレクション状態及び前記第2の複数のページの各々の第2リダイレクション状態を更新して、前記第1の複数のページ及び前記第2の複数のページの各々が前記ステージングバッファにコピーされていることを示すことをさらに含み、
前記書き込むことは、前記第1ページの前記第1リダイレクション状態に基づいている、
請求項1の方法。 - 前記スワップすることは、
前記第1の複数のページを、前記ステージングバッファから前記第2メモリにコピーすることと、
前記第2の複数のページを、前記ステージングバッファから前記第1メモリにコピーすることと、
前記第1の複数のページの各々の第1リダイレクション状態及び前記第2の複数のページの各々の第2リダイレクション状態を更新して、前記第1の複数のページ及び前記第2の複数のページの各々が前記ステージングバッファからコピーされていることを示すことと、をさらに含む、
請求項1の方法。 - 前記スワップすることは、
前記ステージングバッファからの前記第1の複数のページのコピーの間に、前記第1ページへの第2書き込み命令に応じて、前記第1ページのコピーを前記ステージングバッファに書き込むことをさらに含む、
請求項3の方法。 - 前記スワップすることは、
前記第1の複数のページの各々の前記第1リダイレクション状態及び前記第2の複数のページの各々の前記第2リダイレクション状態を更新して、前記ステージングバッファからの前記第1の複数のページ及び前記第2の複数のページのコピーが完了したときに前記ステージングバッファを解放することをさらに含む、
請求項3又は4の方法。 - 前記メモリシステムの個々のページに対するメモリアクセスの頻度をカウントして、メモリアクセス情報を生成することと、
前記メモリアクセス情報に基づいて、前記第1メモリにおいて最も低いメモリアクセス頻度を有する前記第1メモリ内の複数のページを、前記第1の複数のページとして識別することと、
前記メモリアクセス情報に基づいて、前記第2メモリにおいて最も高いメモリアクセス頻度を有する前記第2メモリ内の複数のページを、前記第2の複数のページとして識別することと、をさらに含み、
前記最も高いメモリアクセス頻度は、前記最も低いメモリアクセス頻度よりも大きい、
請求項1、2、3、4又は5の方法。 - 第3の複数のページを、前記メモリシステムの前記第2メモリから前記メモリシステムの前記第1メモリ内の第1の複数の未使用ページに移行することと、
前記ページテーブルを更新し、第2トランスレーションルックアサイドバッファシュートダウンをトリガして、前記第3の複数のページの各々の仮想アドレスを、前記第1メモリ内の対応する物理アドレスに関連付けることと、をさらに含む、
請求項1、2、3、4、5又は6の方法。 - メモリシステムの第1メモリのN個の第1ページを、前記メモリシステムの第2メモリのN個の第2ページとスワップするように構成されたマイグレーション制御ロジックであって、前記第1メモリは、第1レイテンシを有しており、前記第2メモリは、第2レイテンシを有しており、前記第1レイテンシは、前記第2レイテンシよりも短い、マイグレーション制御ロジックと、
前記メモリシステムの全てのページについての仮想‐物理アドレス変換を記憶するように構成されたページテーブルと、
前記メモリシステムのページについて最近使用された仮想‐物理アドレス変換を記憶するように構成されたトランスレーションルックアサイドバッファと、
少なくとも2×N個のページのサイズを有するステージングバッファであって、前記マイグレーション制御ロジックは、メモリシステムの前記第1メモリのN個の第1ページを前記ステージングバッファにコピーするように構成されており、前記メモリシステムの前記第2メモリのN個の第2ページを前記ステージングバッファにコピーするように構成されている、ステージングバッファと、
前記N個の第1ページの前記ステージングバッファへのコピーの間に、前記第1ページへの書き込み命令に応じて、前記ステージングバッファ内の前記N個の第1ページのうち第1ページのコピーにデータを書き込み、前記第1メモリ内の前記第1ページに前記データを書き込むように構成されたメモリコントローラと、を備え、
前記マイグレーション制御ロジックは、前記ページテーブルを更新し、トランスレーションルックアサイドバッファシュートダウンをトリガして、前記N個の第1ページの各々の仮想アドレスを、前記第2メモリ内の対応する物理アドレスに関連付け、前記N個の第2ページの各々の仮想アドレスを、前記第1メモリ内の対応する物理アドレスに関連付けるように構成されており、Nは、1よりも大きい整数である、
装置。 - 前記N個の第1ページのコピー及び前記N個の第2ページのコピーが前記ステージングバッファにコピーされているかどうかを示す、前記第1メモリの前記N個の第1ページの第1リダイレクション状態及び前記第2メモリの前記N個の第2ページの第2リダイレクション状態を記憶するように構成されたリダイレクション状態ストレージをさらに備え、
前記マイグレーション制御ロジックは、前記第1リダイレクション状態及び前記第2リダイレクション状態を更新して、前記N個の第1ページ及び前記N個の第2ページが前記ステージングバッファにコピーされていることを示すように構成されている、
請求項8の装置。 - 前記メモリコントローラは、前記ステージングバッファから前記第2メモリへの前記N個の第1ページのコピーの間に、前記第1ページへの第2書き込み命令に応じて、前記ステージングバッファ内の前記第1ページのコピーにデータを書き込むように構成されている、
請求項8又は9の装置。 - 前記メモリシステムの個々のページに対するメモリアクセス頻度カウントを記憶するように構成されたメモリアクセス情報ストレージと、
前記メモリシステム及び前記メモリアクセス情報ストレージに接続されたメモリバスと、
前記メモリバス及び前記メモリアクセス情報ストレージに接続されたプロファイリングロジックであって、前記メモリシステムの個々のページに対するメモリアクセスの頻度をカウントし、前記個々のページに対するメモリアクセスの頻度を前記メモリアクセス情報ストレージに記憶するように構成されたプロファイリングロジックと、をさらに備え、
前記マイグレーション制御ロジックは、前記メモリアクセス情報ストレージの内容に基づいて、前記第1メモリ内のN個の最低頻度ページを前記N個の第1ページとして識別し、前記メモリアクセス情報ストレージの前記内容に基づいて、前記第2メモリ内のN個の最高頻度ページを前記N個の第2ページとして識別するように構成されている、
請求項8、9又は10の装置。 - 前記プロファイリングロジックは、
前記メモリシステムの個々のページに対応する複数のカウンタの個々のカウンタを含む、複数のカウンタと、
前記第1メモリ内の前記N個の最低頻度ページを識別し、前記第2メモリ内の前記N個の最高頻度ページを識別するロジックであって、前記N個の最高頻度ページの各々は、前記N個の最低頻度ページの各々のメモリアクセス頻度よりも大きいメモリアクセス頻度を有する、ロジックと、を備える、
請求項11の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/626,623 | 2017-06-19 | ||
US15/626,623 US10339067B2 (en) | 2017-06-19 | 2017-06-19 | Mechanism for reducing page migration overhead in memory systems |
PCT/US2018/037460 WO2018236657A1 (en) | 2017-06-19 | 2018-06-14 | MECHANISM FOR REDUCING PAGE MIGRATION OVERLOAD IN MEMORY SYSTEMS |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020524339A JP2020524339A (ja) | 2020-08-13 |
JP2020524339A5 JP2020524339A5 (ja) | 2021-07-26 |
JP6928123B2 true JP6928123B2 (ja) | 2021-09-01 |
Family
ID=64658092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019569799A Active JP6928123B2 (ja) | 2017-06-19 | 2018-06-14 | メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム |
Country Status (6)
Country | Link |
---|---|
US (1) | US10339067B2 (ja) |
EP (1) | EP3642722B1 (ja) |
JP (1) | JP6928123B2 (ja) |
KR (1) | KR102350539B1 (ja) |
CN (1) | CN110730956B (ja) |
WO (1) | WO2018236657A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10263858B2 (en) * | 2017-02-07 | 2019-04-16 | Microsoft Technology Licensing, Llc | Environment simulator for user percentile |
US10489877B2 (en) * | 2017-04-24 | 2019-11-26 | Intel Corporation | Compute optimization mechanism |
US10726514B2 (en) | 2017-04-28 | 2020-07-28 | Intel Corporation | Compute optimizations for low precision machine learning operations |
US11275600B2 (en) * | 2017-11-14 | 2022-03-15 | TidalScale, Inc. | Virtualized I/O |
US10860244B2 (en) * | 2017-12-26 | 2020-12-08 | Intel Corporation | Method and apparatus for multi-level memory early page demotion |
CN109032510B (zh) * | 2018-06-29 | 2021-07-09 | 山石网科通信技术股份有限公司 | 基于分布式结构的处理数据的方法和装置 |
US11074189B2 (en) * | 2019-06-20 | 2021-07-27 | International Business Machines Corporation | FlatFlash system for byte granularity accessibility of memory in a unified memory-storage hierarchy |
US11269780B2 (en) * | 2019-09-17 | 2022-03-08 | Micron Technology, Inc. | Mapping non-typed memory access to typed memory access |
US10963396B1 (en) | 2019-09-17 | 2021-03-30 | Micron Technology, Inc. | Memory system for binding data to a memory namespace |
US11620233B1 (en) * | 2019-09-30 | 2023-04-04 | Amazon Technologies, Inc. | Memory data migration hardware |
US20210157647A1 (en) * | 2019-11-25 | 2021-05-27 | Alibaba Group Holding Limited | Numa system and method of migrating pages in the system |
CN114064519A (zh) * | 2020-08-03 | 2022-02-18 | 美光科技公司 | 高速缓存的元数据管理 |
US11789649B2 (en) * | 2021-04-22 | 2023-10-17 | Nvidia Corporation | Combined on-package and off-package memory system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7222117B1 (en) * | 2003-11-14 | 2007-05-22 | Advent Software, Inc. | Segmented global area database |
US7281116B2 (en) * | 2004-07-30 | 2007-10-09 | Hewlett-Packard Development Company, L.P. | Multiprocessor system having plural memory locations for respectively storing TLB-shootdown data for plural processor nodes |
US7386669B2 (en) * | 2005-03-31 | 2008-06-10 | International Business Machines Corporation | System and method of improving task switching and page translation performance utilizing a multilevel translation lookaside buffer |
US20070226795A1 (en) * | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
EP1870813B1 (en) * | 2006-06-19 | 2013-01-30 | Texas Instruments France | Page processing circuits, devices, methods and systems for secure demand paging and other operations |
US20080127182A1 (en) * | 2006-11-29 | 2008-05-29 | Newport William T | Managing Memory Pages During Virtual Machine Migration |
US8402215B2 (en) | 2009-10-15 | 2013-03-19 | Hitachi, Ltd. | Storage system, storage apparatus, and optimization method of storage areas of storage system having page migration |
US9009384B2 (en) * | 2010-08-17 | 2015-04-14 | Microsoft Technology Licensing, Llc | Virtual machine memory management in systems with asymmetric memory |
US9053064B2 (en) | 2012-12-10 | 2015-06-09 | Vmware, Inc. | Method for saving virtual machine state to a checkpoint file |
US9798574B2 (en) | 2013-09-27 | 2017-10-24 | Intel Corporation | Techniques to compose memory resources across devices |
US10372335B2 (en) | 2014-09-16 | 2019-08-06 | Kove Ip, Llc | External memory for virtualization |
US9959205B2 (en) * | 2015-05-13 | 2018-05-01 | Wisconsin Alumni Research Foundation | Shared row buffer system for asymmetric memory |
US20170109043A1 (en) * | 2015-10-16 | 2017-04-20 | SK Hynix Inc. | Memory system |
JP2017138852A (ja) * | 2016-02-04 | 2017-08-10 | 株式会社東芝 | 情報処理装置、記憶装置およびプログラム |
JP2017138853A (ja) * | 2016-02-04 | 2017-08-10 | 株式会社東芝 | 情報処理装置およびプログラム |
-
2017
- 2017-06-19 US US15/626,623 patent/US10339067B2/en active Active
-
2018
- 2018-06-14 CN CN201880038630.4A patent/CN110730956B/zh active Active
- 2018-06-14 EP EP18821107.2A patent/EP3642722B1/en active Active
- 2018-06-14 WO PCT/US2018/037460 patent/WO2018236657A1/en unknown
- 2018-06-14 JP JP2019569799A patent/JP6928123B2/ja active Active
- 2018-06-14 KR KR1020197038242A patent/KR102350539B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20180365167A1 (en) | 2018-12-20 |
EP3642722B1 (en) | 2023-08-16 |
CN110730956A (zh) | 2020-01-24 |
EP3642722A1 (en) | 2020-04-29 |
KR20200010504A (ko) | 2020-01-30 |
US10339067B2 (en) | 2019-07-02 |
JP2020524339A (ja) | 2020-08-13 |
CN110730956B (zh) | 2024-01-09 |
WO2018236657A1 (en) | 2018-12-27 |
EP3642722A4 (en) | 2021-03-24 |
KR102350539B1 (ko) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6928123B2 (ja) | メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム | |
US20230325320A1 (en) | Method and apparatus for controlling cache line storage in cache memory | |
US20170212845A1 (en) | Region migration cache | |
US7496711B2 (en) | Multi-level memory architecture with data prioritization | |
CN109791523B (zh) | 支持巨页的内存管理 | |
US20100325374A1 (en) | Dynamically configuring memory interleaving for locality and performance isolation | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
US10067709B2 (en) | Page migration acceleration using a two-level bloom filter on high bandwidth memory systems | |
US20130138894A1 (en) | Hardware filter for tracking block presence in large caches | |
KR20140098199A (ko) | 물리적 로우에 함께 저장된 태그 및 데이터를 구비한 dram 캐시 | |
US20170083444A1 (en) | Configuring fast memory as cache for slow memory | |
US20160210243A1 (en) | Memory Paging for Processors using Physical Addresses | |
JP7242170B2 (ja) | メモリープールを有するコンピューティングシステムのためのメモリー分割 | |
EP0470739B1 (en) | Method for managing a cache memory system | |
CN109983538B (zh) | 存储地址转换 | |
US6801982B2 (en) | Read prediction algorithm to provide low latency reads with SDRAM cache | |
US5835945A (en) | Memory system with write buffer, prefetch and internal caches | |
JP6249120B1 (ja) | プロセッサ | |
KR20190032585A (ko) | 멀티 스레드 모드에서 전력 감소를 위한 방법 및 장치 | |
JP2023506264A (ja) | アクセスタイプの優先度に基づくキャッシュ管理 | |
US11847074B2 (en) | Input/output device operational modes for a system with memory pools | |
US20230359556A1 (en) | Performing Operations for Handling Data using Processor in Memory Circuitry in a High Bandwidth Memory | |
JP7311959B2 (ja) | 複数のデータ・タイプのためのデータ・ストレージ | |
Dixon | Page associative caches on Futurebus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200325 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210602 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210602 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210602 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210805 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6928123 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |