JP2020009492A5 - - Google Patents

Download PDF

Info

Publication number
JP2020009492A5
JP2020009492A5 JP2019183022A JP2019183022A JP2020009492A5 JP 2020009492 A5 JP2020009492 A5 JP 2020009492A5 JP 2019183022 A JP2019183022 A JP 2019183022A JP 2019183022 A JP2019183022 A JP 2019183022A JP 2020009492 A5 JP2020009492 A5 JP 2020009492A5
Authority
JP
Japan
Prior art keywords
page
data
cache line
main memory
cache
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
JP2019183022A
Other languages
English (en)
Other versions
JP2020009492A (ja
JP6944983B2 (ja
Filing date
Publication date
Priority claimed from US15/235,495 external-priority patent/US10152427B2/en
Priority claimed from US15/236,171 external-priority patent/US10037173B2/en
Application filed filed Critical
Publication of JP2020009492A publication Critical patent/JP2020009492A/ja
Publication of JP2020009492A5 publication Critical patent/JP2020009492A5/ja
Application granted granted Critical
Publication of JP6944983B2 publication Critical patent/JP6944983B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (17)

  1. コンピュータによって実現される方法であって、
    データのページの第1のキャッシュラインにアクセスするようにとの要求をメインメモリから受取るステップと、
    前記第1のキャッシュラインが前記メインメモリに格納されず、二次メモリに格納されていると判断するステップと、これに応じて、
    データのページ全体を転送することなく、前記データのページの前記第1のキャッシュラインを前記二次メモリから前記メインメモリに転送するステップとを含み、前記データのページの残余部分は前記二次メモリに格納されたままであり、前記方法はさらに、
    前記データのページに関連付けられたページテーブルエントリを更新して、前記メインメモリにおける前記データのページの位置を示すステップと、
    前記データのページの第2のキャッシュラインのアクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送するステップとを含み、前記転送するステップは、
    前記データのページにおけるキャッシュラインの所有権についての要求を、キャッシュエージェントによって発行するステップと、
    前記キャッシュエージェントにより、前記キャッシュラインが前記二次メモリから前記メインメモリに転送されていることに応じて各キャッシュラインの前記キャッシュエージェントによる所有権をリリースするステップとを含む、方法。
  2. キャッシュ・コヒーレンシ・メカニズムは、前記データのページの前記第2のキャッシュラインの前記アクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送する間に、実現される、請求項1に記載の方法。
  3. 前記キャッシュエージェントのキャッシュに前記データのページのキャッシュラインを格納するステップをさらに含む、請求項1または2に記載の方法。
  4. 前記データのページのキャッシュラインに関連付けられたタグおよびコヒーレンス状態ビットを格納するステップをさらに含む、請求項1から3のいずれか1項に記載の方法。
  5. 前記データのページの前記残余部分が転送されている間に、前記データのページの前記第2のキャッシュラインにアクセスするようにとの要求に応じて、前記第2のキャッシュラインについてのスヌープ要求を認識し、前記第2のキャッシュラインが前記二次メモリから転送されると前記スヌープ要求に応じて前記第2のキャッシュラインを戻すステップをさらに含む、請求項1から4のいずれか1項に記載の方法。
  6. 前記メインメモリがページ転送を受取ることができない場合、前記メインメモリに格納された使用頻度が最も低いページのうちの1ページを決定し、前記使用頻度が最も低いページのうちの前記1ページを前記二次メモリにリリースし、前記使用頻度が最も低いページのうちリリースされた前記1ページの位置において、前記データのページを前記二次メモリから前記メインメモリに転送するステップをさらに含む、請求項1から5のいずれか1項に記載の方法。
  7. システムであって、
    1つ以上のプロセッサと、
    実施可能な命令を格納する1つ以上の記憶装置とを備え、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに以下の動作を実行させ、前記以下の動作は、
    データのページの第1のキャッシュラインにアクセスするようにとの要求をメインメモリから受取る動作と、
    前記第1のキャッシュラインが前記メインメモリに格納されず、二次メモリに格納されていると判断する動作と、
    データのページ全体を転送することなく、前記データのページの前記第1のキャッシュラインを前記二次メモリから前記メインメモリに転送する動作とを含み、前記データのページの残余部分は前記二次メモリに格納されたままであり、前記以下の動作はさらに、
    前記データのページに関連付けられたページテーブルエントリを更新して、前記メインメモリにおける前記データのページの位置を示す動作と、
    前記データのページの第2のキャッシュラインのアクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送する動作とを含み、前記転送する動作は、
    前記データのページにおけるキャッシュラインの所有権についての要求を、キャッシュエージェントによって発行する動作と、
    前記キャッシュエージェントにより、前記キャッシュラインが前記二次メモリから前記メインメモリに転送されていることに応じて各キャッシュラインの前記キャッシュエージェントによる所有権をリリースする動作とを含む、システム。
  8. キャッシュ・コヒーレンシ・メカニズムは、前記データのページの前記第2のキャッシュラインの前記アクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送する間に、実現される、請求項7に記載のシステム。
  9. 前記動作はさらに、
    前記キャッシュエージェントのキャッシュに前記データのページのキャッシュラインを格納することを含む、請求項7または8に記載のシステム。
  10. 前記動作はさらに、
    前記データのページのキャッシュラインに関連付けられたタグおよびコヒーレンス状態ビットを格納することを含む、請求項7から9のいずれか1項に記載のシステム。
  11. 前記動作はさらに、
    前記データのページの前記残余部分が転送されている間に、前記データのページの前記第2のキャッシュラインにアクセスするようにとの要求に応じて、前記第2のキャッシュラインについてのスヌープ要求を認識し、前記第2のキャッシュラインが前記二次メモリから転送されると前記スヌープ要求に応じて前記第2のキャッシュラインを戻すことを含む、請求項7から10のいずれか1項に記載のシステム。
  12. 前記動作はさらに、
    前記メインメモリがページ転送を受取ることができない場合、前記メインメモリに格納された使用頻度が最も低いページのうちの1ページを決定し、前記使用頻度が最も低いページのうちの前記1ページを前記二次メモリにリリースし、前記使用頻度が最も低いページのうちリリースされた前記1ページの位置において、前記データのページを前記二次メモリから前記メインメモリに転送することを含む、請求項7から11のいずれか1項に記載のシステム。
  13. 1つ以上のプロセッサに命令を実行させるプログラムであって、前記命令は、実行されると、前記1つ以上のプロセッサに以下の動作を実行させ、前記以下の動作は、
    データのページの第1のキャッシュラインにアクセスするようにとの要求をメインメモリから受取ることと、
    前記第1のキャッシュラインが前記メインメモリに格納されず、二次メモリに格納されていると判断することと、
    データのページ全体を転送することなく、前記データのページの前記第1のキャッシュラインを前記二次メモリから前記メインメモリに転送することとを含み、前記データのページの残余部分は前記二次メモリに格納されたままであり、前記以下の動作はさらに、
    前記データのページに関連付けられたページテーブルエントリを更新して、前記メインメモリにおける前記データのページの位置を示すことと、
    前記データのページの第2のキャッシュラインのアクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送することとを含み、前記転送することは、
    前記データのページにおけるキャッシュラインの所有権についての要求を、キャッシュエージェントによって発行することと、
    前記キャッシュエージェントにより、前記キャッシュラインが前記二次メモリから前記メインメモリに転送されていることに応じて各キャッシュラインの前記キャッシュエージェントによる所有権をリリースすることとを含む、プログラム。
  14. キャッシュ・コヒーレンシ・メカニズムは、前記データのページの前記第2のキャッシュラインの前記アクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送する間に、実現される、請求項13に記載のプログラム。
  15. 前記動作はさらに、
    (i)前記キャッシュエージェントのキャッシュにおける前記データのページのキャッシュライン、または、(ii)前記データのページのキャッシュラインに関連付けられたタグおよびコヒーレンス状態ビット、のうち1つを格納することを含む、請求項13または14に記載のプログラム。
  16. 前記動作はさらに、
    前記データのページの前記残余部分が転送されている間に、前記データのページの前記第2のキャッシュラインにアクセスするようにとの要求に応じて、前記第2のキャッシュラインについてのスヌープ要求を認識し、前記第2のキャッシュラインが前記二次メモリから転送されると前記スヌープ要求に応じて前記第2のキャッシュラインを戻すことを含む、請求項13から15のいずれか1項に記載のプログラム。
  17. 前記動作はさらに、
    前記メインメモリがページ転送を受取ることができない場合、前記メインメモリに格納された使用頻度が最も低いページのうちの1ページを決定し、前記使用頻度が最も低いページのうちの前記1ページを前記二次メモリにリリースし、前記使用頻度が最も低いページのうちリリースされた前記1ページの位置において、前記データのページを前記二次メモリから前記メインメモリに転送することを含む、請求項13から16のいずれか1項に記載のプログラム。
JP2019183022A 2016-08-12 2019-10-03 ハイブリッドメモリ管理 Active JP6944983B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/236,171 2016-08-12
US15/235,495 US10152427B2 (en) 2016-08-12 2016-08-12 Hybrid memory management
US15/236,171 US10037173B2 (en) 2016-08-12 2016-08-12 Hybrid memory management
US15/235,495 2016-08-12
JP2017156543A JP2018026136A (ja) 2016-08-12 2017-08-14 ハイブリッドメモリ管理

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017156543A Division JP2018026136A (ja) 2016-08-12 2017-08-14 ハイブリッドメモリ管理

Publications (3)

Publication Number Publication Date
JP2020009492A JP2020009492A (ja) 2020-01-16
JP2020009492A5 true JP2020009492A5 (ja) 2020-09-24
JP6944983B2 JP6944983B2 (ja) 2021-10-06

Family

ID=60579714

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017156543A Pending JP2018026136A (ja) 2016-08-12 2017-08-14 ハイブリッドメモリ管理
JP2019183022A Active JP6944983B2 (ja) 2016-08-12 2019-10-03 ハイブリッドメモリ管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017156543A Pending JP2018026136A (ja) 2016-08-12 2017-08-14 ハイブリッドメモリ管理

Country Status (6)

Country Link
US (1) US10037173B2 (ja)
EP (2) EP3282364B1 (ja)
JP (2) JP2018026136A (ja)
CN (2) CN107729168A (ja)
DE (2) DE202017104840U1 (ja)
TW (1) TWI643073B (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108550B2 (en) 2016-09-22 2018-10-23 Google Llc Memory management supporting huge pages
US10437799B2 (en) * 2016-12-02 2019-10-08 International Business Machines Corporation Data migration using a migration data placement tool between storage systems based on data access
US10437800B2 (en) * 2016-12-02 2019-10-08 International Business Machines Corporation Data migration using a migration data placement tool between storage systems based on data access
US20180336158A1 (en) * 2017-05-16 2018-11-22 Dell Products L.P. Systems and methods for data transfer with coherent and non-coherent bus topologies and attached external memory
WO2020056610A1 (zh) * 2018-09-18 2020-03-26 华为技术有限公司 一种存储装置及电子设备
US11609858B2 (en) 2018-12-26 2023-03-21 Samsung Electronics Co., Ltd. Bypass predictor for an exclusive last-level cache
US11113207B2 (en) * 2018-12-26 2021-09-07 Samsung Electronics Co., Ltd. Bypass predictor for an exclusive last-level cache
KR20200085522A (ko) * 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템 및 그것의 데이터 관리 방법
US11055221B2 (en) * 2019-03-22 2021-07-06 Samsung Electronics Co., Ltd. Speculative DRAM read, in parallel with cache level search, leveraging interconnect directory
US11474828B2 (en) 2019-10-03 2022-10-18 Micron Technology, Inc. Initial data distribution for different application processes
US11599384B2 (en) 2019-10-03 2023-03-07 Micron Technology, Inc. Customized root processes for individual applications
US11436041B2 (en) 2019-10-03 2022-09-06 Micron Technology, Inc. Customized root processes for groups of applications
US11429445B2 (en) 2019-11-25 2022-08-30 Micron Technology, Inc. User interface based page migration for performance enhancement
KR102400977B1 (ko) * 2020-05-29 2022-05-25 성균관대학교산학협력단 프로세서를 통한 페이지 폴트 처리 방법
US11393548B2 (en) * 2020-12-18 2022-07-19 Micron Technology, Inc. Workload adaptive scans for memory sub-systems
JP2022161746A (ja) 2021-04-09 2022-10-21 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
CN113311994A (zh) * 2021-04-09 2021-08-27 中企云链(北京)金融信息服务有限公司 一种基于高并发的数据缓存方法
US11733902B2 (en) 2021-04-30 2023-08-22 International Business Machines Corporation Integrating and increasing performance of disaggregated memory in operating systems
CN114201444B (zh) * 2021-12-06 2023-11-14 海飞科(南京)信息技术有限公司 用于存储管理的方法、介质、程序产品、系统和装置
CN115794397A (zh) * 2022-11-29 2023-03-14 阿里云计算有限公司 冷热页管理加速设备、方法、mmu、处理器及电子设备

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6159557A (ja) * 1984-08-30 1986-03-27 Toshiba Corp 仮想記憶制御装置
JPH047653A (ja) * 1990-04-25 1992-01-13 Matsushita Electric Ind Co Ltd 仮想記憶メモリ装置
US5361345A (en) 1991-09-19 1994-11-01 Hewlett-Packard Company Critical line first paging system
JPH05241958A (ja) * 1992-02-26 1993-09-21 Nec Corp 仮想記憶制御方式
US5493663A (en) 1992-04-22 1996-02-20 International Business Machines Corporation Method and apparatus for predetermining pages for swapping from physical memory in accordance with the number of accesses
US5432917A (en) * 1992-04-22 1995-07-11 International Business Machines Corporation Tabulation of multi-bit vector history
US5613153A (en) 1994-10-03 1997-03-18 International Business Machines Corporation Coherency and synchronization mechanisms for I/O channel controllers in a data processing system
US6029224A (en) 1995-06-07 2000-02-22 Lucent Technologies Inc. Self-contained memory apparatus having diverse types of memory and distributed control
US6671791B1 (en) 2001-06-15 2003-12-30 Advanced Micro Devices, Inc. Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms
US6782453B2 (en) * 2002-02-12 2004-08-24 Hewlett-Packard Development Company, L.P. Storing data in memory
JP3982353B2 (ja) 2002-07-12 2007-09-26 日本電気株式会社 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US6804729B2 (en) 2002-09-30 2004-10-12 International Business Machines Corporation Migrating a memory page by modifying a page migration state of a state machine associated with a DMA mapper based on a state notification from an operating system kernel
US20040117587A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corp. Hardware managed virtual-to-physical address translation mechanism
JP2005216053A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 最適メモリ配置演算装置及び最適メモリ配置方法
US7409580B2 (en) 2005-02-09 2008-08-05 International Business Machines Corporation System and method for recovering from errors in a data processing system
US7546416B2 (en) * 2006-06-26 2009-06-09 Micron Technology, Inc. Method for substantially uninterrupted cache readout
US7882309B2 (en) * 2007-07-26 2011-02-01 Globalfoundries Inc. Method and apparatus for handling excess data during memory access
US8055876B2 (en) 2008-06-06 2011-11-08 International Business Machines Corporation Selectively mark free frames as unused for cooperative memory over-commitment
US20100070678A1 (en) * 2008-09-12 2010-03-18 Vmware, Inc. Saving and Restoring State Information for Virtualized Computer Systems
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
JP2011165093A (ja) * 2010-02-12 2011-08-25 Nippon Telegr & Teleph Corp <Ntt> メモリアクセス調査装置、メモリアクセス調査方法、及びプログラム
US9015441B2 (en) * 2010-04-30 2015-04-21 Microsoft Technology Licensing, Llc Memory usage scanning
US9195612B2 (en) * 2011-11-29 2015-11-24 Microsoft Technology Licensing, Llc Computer system with memory aging for high performance
US9330736B2 (en) * 2012-11-09 2016-05-03 Qualcomm Incorporated Processor memory optimization via page access counting
US10133677B2 (en) 2013-03-14 2018-11-20 Nvidia Corporation Opportunistic migration of memory pages in a unified virtual memory system
US10409730B2 (en) 2013-03-15 2019-09-10 Nvidia Corporation Microcontroller for memory management unit
US20150058520A1 (en) 2013-08-22 2015-02-26 International Business Machines Corporation Detection of hot pages for partition migration
US9535831B2 (en) 2014-01-10 2017-01-03 Advanced Micro Devices, Inc. Page migration in a 3D stacked hybrid memory
US20170177482A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Computing system having multi-level system memory capable of operating in a single level system memory mode
US10114559B2 (en) 2016-08-12 2018-10-30 International Business Machines Corporation Generating node access information for a transaction accessing nodes of a data set index

Similar Documents

Publication Publication Date Title
JP2020009492A5 (ja)
US9842056B2 (en) Systems and methods for non-blocking implementation of cache flush instructions
TWI432963B (zh) 加速器之低成本快取一致
US9720831B2 (en) Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US8706973B2 (en) Unbounded transactional memory system and method
US7966453B2 (en) Method and apparatus for active software disown of cache line&#39;s exlusive rights
US7549025B2 (en) Efficient marking of shared cache lines
JP2019083045A (ja) データ処理のための方法及びプロセッサ
JP2009521767A (ja) 有限トランザクションメモリシステム
TW201107974A (en) Cache coherent support for flash in a memory hierarchy
JP2005276199A (ja) Dmaコントローラにキャッシュ管理コマンドを提供する方法
US20080104326A1 (en) Facilitating store reordering through cacheline marking
US8918587B2 (en) Multilevel cache hierarchy for finding a cache line on a remote node
US20130268735A1 (en) Support for speculative ownership without data
JP6568575B2 (ja) トランザクション・データ処理実行モードのための呼出しスタック維持
JP2008544417A (ja) キャッシュする方法、装置及びシステム
US20070027870A1 (en) Technique to perform concurrent updates to a shared data structure
JP2017520857A5 (ja)
US6892290B2 (en) Linked-list early race resolution mechanism
JP2009223759A (ja) 情報処理装置,メモリ制御方法およびメモリ制御装置
JP3550092B2 (ja) キャッシュ装置及び制御方法
EP3296872A1 (en) Speculative retirement of post-lock instructions
US10775870B2 (en) System and method for maintaining cache coherency
CN110083548B (zh) 数据处理方法及相关网元、设备、系统
US9244844B2 (en) Enabling hardware transactional memory to work more efficiently with readers that can tolerate stale data