JP2020009492A5 - - Google Patents
Download PDFInfo
- 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
Links
- 230000004044 response Effects 0.000 claims 9
Claims (17)
- コンピュータによって実現される方法であって、
データのページの第1のキャッシュラインにアクセスするようにとの要求をメインメモリから受取るステップと、
前記第1のキャッシュラインが前記メインメモリに格納されず、二次メモリに格納されていると判断するステップと、これに応じて、
データのページ全体を転送することなく、前記データのページの前記第1のキャッシュラインを前記二次メモリから前記メインメモリに転送するステップとを含み、前記データのページの残余部分は前記二次メモリに格納されたままであり、前記方法はさらに、
前記データのページに関連付けられたページテーブルエントリを更新して、前記メインメモリにおける前記データのページの位置を示すステップと、
前記データのページの第2のキャッシュラインのアクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送するステップとを含み、前記転送するステップは、
前記データのページにおけるキャッシュラインの所有権についての要求を、キャッシュエージェントによって発行するステップと、
前記キャッシュエージェントにより、前記キャッシュラインが前記二次メモリから前記メインメモリに転送されていることに応じて各キャッシュラインの前記キャッシュエージェントによる所有権をリリースするステップとを含む、方法。 - キャッシュ・コヒーレンシ・メカニズムは、前記データのページの前記第2のキャッシュラインの前記アクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送する間に、実現される、請求項1に記載の方法。
- 前記キャッシュエージェントのキャッシュに前記データのページのキャッシュラインを格納するステップをさらに含む、請求項1または2に記載の方法。
- 前記データのページのキャッシュラインに関連付けられたタグおよびコヒーレンス状態ビットを格納するステップをさらに含む、請求項1から3のいずれか1項に記載の方法。
- 前記データのページの前記残余部分が転送されている間に、前記データのページの前記第2のキャッシュラインにアクセスするようにとの要求に応じて、前記第2のキャッシュラインについてのスヌープ要求を認識し、前記第2のキャッシュラインが前記二次メモリから転送されると前記スヌープ要求に応じて前記第2のキャッシュラインを戻すステップをさらに含む、請求項1から4のいずれか1項に記載の方法。
- 前記メインメモリがページ転送を受取ることができない場合、前記メインメモリに格納された使用頻度が最も低いページのうちの1ページを決定し、前記使用頻度が最も低いページのうちの前記1ページを前記二次メモリにリリースし、前記使用頻度が最も低いページのうちリリースされた前記1ページの位置において、前記データのページを前記二次メモリから前記メインメモリに転送するステップをさらに含む、請求項1から5のいずれか1項に記載の方法。
- システムであって、
1つ以上のプロセッサと、
実施可能な命令を格納する1つ以上の記憶装置とを備え、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに以下の動作を実行させ、前記以下の動作は、
データのページの第1のキャッシュラインにアクセスするようにとの要求をメインメモリから受取る動作と、
前記第1のキャッシュラインが前記メインメモリに格納されず、二次メモリに格納されていると判断する動作と、
データのページ全体を転送することなく、前記データのページの前記第1のキャッシュラインを前記二次メモリから前記メインメモリに転送する動作とを含み、前記データのページの残余部分は前記二次メモリに格納されたままであり、前記以下の動作はさらに、
前記データのページに関連付けられたページテーブルエントリを更新して、前記メインメモリにおける前記データのページの位置を示す動作と、
前記データのページの第2のキャッシュラインのアクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送する動作とを含み、前記転送する動作は、
前記データのページにおけるキャッシュラインの所有権についての要求を、キャッシュエージェントによって発行する動作と、
前記キャッシュエージェントにより、前記キャッシュラインが前記二次メモリから前記メインメモリに転送されていることに応じて各キャッシュラインの前記キャッシュエージェントによる所有権をリリースする動作とを含む、システム。 - キャッシュ・コヒーレンシ・メカニズムは、前記データのページの前記第2のキャッシュラインの前記アクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送する間に、実現される、請求項7に記載のシステム。
- 前記動作はさらに、
前記キャッシュエージェントのキャッシュに前記データのページのキャッシュラインを格納することを含む、請求項7または8に記載のシステム。 - 前記動作はさらに、
前記データのページのキャッシュラインに関連付けられたタグおよびコヒーレンス状態ビットを格納することを含む、請求項7から9のいずれか1項に記載のシステム。 - 前記動作はさらに、
前記データのページの前記残余部分が転送されている間に、前記データのページの前記第2のキャッシュラインにアクセスするようにとの要求に応じて、前記第2のキャッシュラインについてのスヌープ要求を認識し、前記第2のキャッシュラインが前記二次メモリから転送されると前記スヌープ要求に応じて前記第2のキャッシュラインを戻すことを含む、請求項7から10のいずれか1項に記載のシステム。 - 前記動作はさらに、
前記メインメモリがページ転送を受取ることができない場合、前記メインメモリに格納された使用頻度が最も低いページのうちの1ページを決定し、前記使用頻度が最も低いページのうちの前記1ページを前記二次メモリにリリースし、前記使用頻度が最も低いページのうちリリースされた前記1ページの位置において、前記データのページを前記二次メモリから前記メインメモリに転送することを含む、請求項7から11のいずれか1項に記載のシステム。 - 1つ以上のプロセッサに命令を実行させるプログラムであって、前記命令は、実行されると、前記1つ以上のプロセッサに以下の動作を実行させ、前記以下の動作は、
データのページの第1のキャッシュラインにアクセスするようにとの要求をメインメモリから受取ることと、
前記第1のキャッシュラインが前記メインメモリに格納されず、二次メモリに格納されていると判断することと、
データのページ全体を転送することなく、前記データのページの前記第1のキャッシュラインを前記二次メモリから前記メインメモリに転送することとを含み、前記データのページの残余部分は前記二次メモリに格納されたままであり、前記以下の動作はさらに、
前記データのページに関連付けられたページテーブルエントリを更新して、前記メインメモリにおける前記データのページの位置を示すことと、
前記データのページの第2のキャッシュラインのアクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送することとを含み、前記転送することは、
前記データのページにおけるキャッシュラインの所有権についての要求を、キャッシュエージェントによって発行することと、
前記キャッシュエージェントにより、前記キャッシュラインが前記二次メモリから前記メインメモリに転送されていることに応じて各キャッシュラインの前記キャッシュエージェントによる所有権をリリースすることとを含む、プログラム。 - キャッシュ・コヒーレンシ・メカニズムは、前記データのページの前記第2のキャッシュラインの前記アクセスを処理するために、前記データのページの前記残余部分を前記二次メモリから前記メインメモリに転送する間に、実現される、請求項13に記載のプログラム。
- 前記動作はさらに、
(i)前記キャッシュエージェントのキャッシュにおける前記データのページのキャッシュライン、または、(ii)前記データのページのキャッシュラインに関連付けられたタグおよびコヒーレンス状態ビット、のうち1つを格納することを含む、請求項13または14に記載のプログラム。 - 前記動作はさらに、
前記データのページの前記残余部分が転送されている間に、前記データのページの前記第2のキャッシュラインにアクセスするようにとの要求に応じて、前記第2のキャッシュラインについてのスヌープ要求を認識し、前記第2のキャッシュラインが前記二次メモリから転送されると前記スヌープ要求に応じて前記第2のキャッシュラインを戻すことを含む、請求項13から15のいずれか1項に記載のプログラム。 - 前記動作はさらに、
前記メインメモリがページ転送を受取ることができない場合、前記メインメモリに格納された使用頻度が最も低いページのうちの1ページを決定し、前記使用頻度が最も低いページのうちの前記1ページを前記二次メモリにリリースし、前記使用頻度が最も低いページのうちリリースされた前記1ページの位置において、前記データのページを前記二次メモリから前記メインメモリに転送することを含む、請求項13から16のいずれか1項に記載のプログラム。
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)
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)
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 |
-
2016
- 2016-08-12 US US15/236,171 patent/US10037173B2/en active Active
-
2017
- 2017-08-11 DE DE202017104840.3U patent/DE202017104840U1/de active Active
- 2017-08-11 TW TW106127201A patent/TWI643073B/zh active
- 2017-08-11 EP EP17185833.5A patent/EP3282364B1/en active Active
- 2017-08-11 DE DE202017104841.1U patent/DE202017104841U1/de active Active
- 2017-08-11 EP EP17185832.7A patent/EP3291097A3/en not_active Withdrawn
- 2017-08-14 CN CN201710691364.2A patent/CN107729168A/zh active Pending
- 2017-08-14 JP JP2017156543A patent/JP2018026136A/ja active Pending
- 2017-08-14 CN CN201911227514.XA patent/CN111177030B/zh active Active
-
2019
- 2019-10-03 JP JP2019183022A patent/JP6944983B2/ja active Active
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'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 |