JP2020524339A5 - - Google Patents

Download PDF

Info

Publication number
JP2020524339A5
JP2020524339A5 JP2019569799A JP2019569799A JP2020524339A5 JP 2020524339 A5 JP2020524339 A5 JP 2020524339A5 JP 2019569799 A JP2019569799 A JP 2019569799A JP 2019569799 A JP2019569799 A JP 2019569799A JP 2020524339 A5 JP2020524339 A5 JP 2020524339A5
Authority
JP
Japan
Prior art keywords
pages
memory
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.)
Granted
Application number
JP2019569799A
Other languages
English (en)
Other versions
JP2020524339A (ja
JP6928123B2 (ja
Filing date
Publication date
Priority claimed from US15/626,623 external-priority patent/US10339067B2/en
Application filed filed Critical
Publication of JP2020524339A publication Critical patent/JP2020524339A/ja
Publication of JP2020524339A5 publication Critical patent/JP2020524339A5/ja
Application granted granted Critical
Publication of JP6928123B2 publication Critical patent/JP6928123B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (12)

  1. メモリシステムにおいて使用される方法であって、
    前記メモリシステムの第1メモリの第1の複数のページを、前記メモリシステムの第2メモリの第2の複数のページとスワップすることであって、前記第1メモリは、第1レイテンシを有しており、前記第2メモリは、第2レイテンシを有しており、前記第1レイテンシは、前記第2レイテンシよりも短い、ことと、
    ページテーブルを更新し、トランスレーションルックアサイドバッファシュートダウンをトリガして、前記第1の複数のページの各々の仮想アドレスを、前記第2メモリ内の対応する物理アドレスに関連付け、前記第2の複数のページの各々の仮想アドレスを、前記第1メモリ内の対応する物理アドレスに関連付けることと、を含み、
    前記スワップすることは、
    前記第1の複数のページを、前記第1メモリからステージングバッファにコピーすることと、
    前記第2の複数のページを、前記第2メモリから前記ステージングバッファにコピーすることと、
    前記第1の複数のページの前記ステージングバッファへのコピーの間に、前記ステージングバッファ内の前記第1の複数のページのうち第1ページへの書き込み命令に応じて、前記第1ページのコピーにデータを書き込み、前記第1メモリ内の前記第1ページに前記データを書き込むことと、を含む、
    方法。
  2. 前記スワップすることは、
    前記第1の複数のページの各々の第1リダイレクション状態及び前記第2の複数のページの各々の第2リダイレクション状態を更新して、前記第1の複数のページ及び前記第2の複数のページの各々が前記ステージングバッファにコピーされていることを示すことをさらに含み、
    前記書き込むことは、前記第1ページの前記第1リダイレクション状態に基づいている、
    請求項の方法。
  3. 前記スワップすることは、
    前記第1の複数のページを、前記ステージングバッファから前記第2メモリにコピーすることと、
    前記第2の複数のページを、前記ステージングバッファから前記第1メモリにコピーすることと、
    前記第1の複数のページの各々の第1リダイレクション状態及び前記第2の複数のページの各々の第2リダイレクション状態を更新して、前記第1の複数のページ及び前記第2の複数のページの各々が前記ステージングバッファからコピーされていることを示すことと、をさらに含む、
    請求項の方法。
  4. 前記スワップすることは、
    前記ステージングバッファからの前記第1の複数のページのコピーの間に、前記第1ページへの第2書き込み命令に応じて、前記第1ページのコピーを前記ステージングバッファに書き込むことをさらに含む、
    請求項の方法。
  5. 前記スワップすることは、
    前記第1の複数のページの各々の前記第1リダイレクション状態及び前記第2の複数のページの各々の前記第2リダイレクション状態を更新して、前記ステージングバッファからの前記第1の複数のページ及び前記第2の複数のページのコピーが完了したときに前記ステージングバッファを解放することをさらに含む、
    請求項3又は4の方法。
  6. 前記メモリシステムの個々のページに対するメモリアクセスの頻度をカウントして、メモリアクセス情報を生成することと、
    前記メモリアクセス情報に基づいて、前記第1メモリにおいて最も低いメモリアクセス頻度を有する前記第1メモリ内の複数のページを、前記第1の複数のページとして識別することと、
    前記メモリアクセス情報に基づいて、前記第2メモリにおいて最も高いメモリアクセス頻度を有する前記第2メモリ内の複数のページを、前記第2の複数のページとして識別することと、をさらに含み、
    前記最も高いメモリアクセス頻度は、前記最も低いメモリアクセス頻度よりも大きい、
    請求項1、2、3、4又は5の方法。
  7. 第3の複数のページを、前記メモリシステムの前記第2メモリから前記メモリシステムの前記第1メモリ内の第1の複数の未使用ページに移行することと、
    前記ページテーブルを更新し、第2トランスレーションルックアサイドバッファシュートダウンをトリガして、前記第3の複数のページの各々の仮想アドレスを、前記第1メモリ内の対応する物理アドレスに関連付けることと、をさらに含む、
    請求項1、2、3、4、5又は6の方法。
  8. メモリシステムの第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よりも大きい整数である、
    装置。
  9. 前記N個の第1ページのコピー及び前記N個の第2ページのコピーが前記ステージングバッファにコピーされているかどうかを示す、前記第1メモリの前記N個の第1ページの第1リダイレクション状態及び前記第2メモリの前記N個の第2ページの第2リダイレクション状態を記憶するように構成されたリダイレクション状態ストレージをさらに備え、
    前記マイグレーション制御ロジックは、前記第1リダイレクション状態及び前記第2リダイレクション状態を更新して、前記N個の第1ページ及び前記N個の第2ページが前記ステージングバッファにコピーされていることを示すように構成されている、
    請求項の装置。
  10. 前記メモリコントローラは、前記ステージングバッファから前記第2メモリへの前記N個の第1ページのコピーの間に、前記第1ページへの第2書き込み命令に応じて、前記ステージングバッファ内の前記第1ページのコピーにデータを書き込むように構成されている、
    請求項8又は9の装置。
  11. 前記メモリシステムの個々のページに対するメモリアクセス頻度カウントを記憶するように構成されたメモリアクセス情報ストレージと、
    前記メモリシステム及び前記メモリアクセス情報ストレージに接続されたメモリバスと、
    前記メモリバス及び前記メモリアクセス情報ストレージに接続されたプロファイリングロジックであって、前記メモリシステムの個々のページに対するメモリアクセスの頻度をカウントし、前記個々のページに対するメモリアクセスの頻度を前記メモリアクセス情報ストレージに記憶するように構成されたプロファイリングロジックと、をさらに備え、
    前記マイグレーション制御ロジックは、前記メモリアクセス情報ストレージの内容に基づいて、前記第1メモリ内のN個の最低頻度ページを前記N個の第1ページとして識別し、前記メモリアクセス情報ストレージの前記内容に基づいて、前記第2メモリ内のN個の最高頻度ページを前記N個の第2ページとして識別するように構成されている、
    請求項8、9又は10の装置。
  12. 前記プロファイリングロジックは、
    前記メモリシステムの個々のページに対応する複数のカウンタの個々のカウンタを含む、複数のカウンタと、
    前記第1メモリ内の前記N個の最低頻度ページを識別し、前記第2メモリ内の前記N個の最高頻度ページを識別するロジックであって、前記N個の最高頻度ページの各々は、前記N個の最低頻度ページの各々のメモリアクセス頻度よりも大きいメモリアクセス頻度を有する、ロジックと、を備える、
    請求項11の装置。
JP2019569799A 2017-06-19 2018-06-14 メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム Active JP6928123B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/626,623 US10339067B2 (en) 2017-06-19 2017-06-19 Mechanism for reducing page migration overhead in memory systems
US15/626,623 2017-06-19
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 true JP2020524339A5 (ja) 2021-07-26
JP6928123B2 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
WO2011045838A1 (en) 2009-10-15 2011-04-21 Hitachi,Ltd. Storage system, storage apparatus, and optimization method of storage areas of storage system
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
CN105556493B (zh) 2013-09-27 2018-12-11 英特尔公司 用于跨设备组合存储器资源的设备、方法
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
JP2017138853A (ja) * 2016-02-04 2017-08-10 株式会社東芝 情報処理装置およびプログラム
JP2017138852A (ja) * 2016-02-04 2017-08-10 株式会社東芝 情報処理装置、記憶装置およびプログラム

Similar Documents

Publication Publication Date Title
JP2020524339A5 (ja)
KR102350539B1 (ko) 메모리 시스템에서 페이지 이송 오버헤드를 감소시키기 위한 메커니즘
JP5373817B2 (ja) フェッチ保護を有する動的アドレス変換
JP7232644B2 (ja) 仮想アドレスから物理アドレスへの変換を実行する入出力メモリ管理ユニットにおける複数のメモリ素子の使用
US9880944B2 (en) Page replacement algorithms for use with solid-state drives
US10430346B2 (en) DDR storage adapter
TW219986B (ja)
US10353601B2 (en) Data movement engine
JP2011509471A (ja) フレーム管理を有する動的アドレス変換
CN106201331A (zh) 用于写入数据的方法及设备与储存媒体
US20170177269A1 (en) Memory synchronization filter
US10565126B2 (en) Method and apparatus for two-layer copy-on-write
US10635614B2 (en) Cooperative overlay
JP2016131006A (ja) 計算機システム
CN107025179B (zh) 存储器设备及方法
CN114341816A (zh) 三层层次型存储器系统
JP2018106573A (ja) ストレージ制御装置及び制御プログラム
CN113272789A (zh) 由输入输出存储器管理单元进行的域标识符和装置标识符转译
EP3256947B1 (en) Mapping apertures of different sizes
US11561906B2 (en) Rinsing cache lines from a common memory page to memory
US20230019878A1 (en) Systems, methods, and devices for page relocation for garbage collection
WO2016013098A1 (ja) 物理計算機及び仮想計算機移行方法
US20210191641A1 (en) Systems and methods for reducing instruction code memory footprint for multiple processes executed at a coprocessor