JP3864256B2 - 仮想メモリを管理するための方法およびプロファイリング・キャッシュ - Google Patents
仮想メモリを管理するための方法およびプロファイリング・キャッシュ Download PDFInfo
- Publication number
- JP3864256B2 JP3864256B2 JP2003345159A JP2003345159A JP3864256B2 JP 3864256 B2 JP3864256 B2 JP 3864256B2 JP 2003345159 A JP2003345159 A JP 2003345159A JP 2003345159 A JP2003345159 A JP 2003345159A JP 3864256 B2 JP3864256 B2 JP 3864256B2
- Authority
- JP
- Japan
- Prior art keywords
- tlb
- entries
- entry
- section
- 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.)
- Expired - Fee Related
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
前記LRUカウントを使用して前記プロファイリング・キャッシュ内のエントリを放出するステップと、
一時的にピン固定される複数のエントリを格納する第1の変換索引バッファ(TLB)セクション、およびピン固定されない複数のエントリを格納する第2のTLBセクションを含むTLBを提供するステップと、
TLBの割込みに応答して、先入れ先出しアルゴリズムを使用して前記ピン固定されないエントリのうちの1つを置き換えて前記第2のTLBセクション内にエントリをロードするステップと、
最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリを使用して前記第1のTLBセクションを定期的に更新するステップと
を備える仮想メモリを管理するためのプロファイリング・キャッシュを使用する方法。
(2)最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリが最も頻繁に使用されるページ・テーブル・エントリを表す上記(1)に記載の方法。
(3)前記第1のTLBセクションを定期的に更新するステップが、満了した下方カウンタを識別するステップと、前記第1のTLBセクションを更新するステップと、前記プロファイリング・キャッシュをクリアするステップと、下方カウンタを再開するステップとを含む上記(1)に記載の方法。
(4)前記第1のTLBセクションの更新に応答して、前記第2のTLBセクション内の前記ピン固定されない複数のエントリをクリアするステップを含む上記(1)に記載の方法。
(5)前記第1のTLBセクションを定期的に更新するステップが、最も古いタイム・スタンプを有する前記識別されたプロファイリング・キャッシュ・エントリ内に含まれる前記第2のTLBセクション内のエントリを識別し、前記第2のTLBセクションから前記エントリを取り除き、前記第1のTLBセクション内に前記エントリを入れるステップを含む上記(1)に記載の方法。
(6)一時的にピン固定される複数のエントリを格納する第1のTLBセクション、およびピン固定されない複数のエントリを格納する第2のTLBセクションを含むTLBと、
各エントリがページ・アドレス、前記ページ・アドレスのタイム・スタンプ、および前記ページ・アドレスのアクセスごとに更新される最長時間未使用(LRU)カウントを含む1組のエントリを格納するプロファイリング・キャッシュと、
最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリを使用して前記第1のTLBセクションを定期的に更新する仮想メモリ管理手段と
を備える仮想メモリを管理するための装置。
(7)前記ピン固定されない複数のエントリを格納する前記第2のTLBセクションが先入れ先出し(FIFO)アルゴリズムを使用して更新される上記(6)に記載の仮想メモリを管理するための装置。
(8)前記プロファイリング・キャッシュが前記最長時間未使用(LRU)カウントを使用して更新される上記(6)に記載の仮想メモリを管理するための装置。
(9)TLBの割込みに応答してエントリが前記第2のTLBセクションにロードされる上記(6)に記載の仮想メモリを管理するための装置。
(10)先入れ先出しアルゴリズムを使用して前記ピン固定されないエントリの1つを置き換えて前記エントリをロードする上記(9)に記載の仮想メモリを管理するための装置。
102 プロセッサ
104 変換索引バッファ(TLB)
106 プロセッサL1キャッシュ
108 プロファイリング・ページ・アドレス・キャッシュ
110 最長時間未使用(LRU)テーブル
112 タイム・スタンプ・テーブル
114 下方カウンタ
120 オペレーティング・システム
122 仮想メモリ管理プログラム
130 第1のTLBセクション
132 第2のTLBセクション
300 キャッシュ・ソート機能
400 コンピュータ・プログラム製品
402 記録媒体
404 プログラム手段
406 プログラム手段
408 プログラム手段
410 プログラム手段
Claims (10)
- 各エントリがページ・アドレス、前記ページ・アドレスのタイム・スタンプ、および前記ページ・アドレスのアクセスごとに更新される最長時間未使用(LRU)カウントを含む1組のエントリをプロファイリング・キャッシュ内に格納するステップと、
前記LRUカウントを使用して前記プロファイリング・キャッシュ内のエントリを放出するステップと、
一時的にピン固定される複数のエントリを格納する第1の変換索引バッファ(TLB)セクション、およびピン固定されない複数のエントリを格納する第2のTLBセクションを含むTLBを提供するステップと、
TLBの割込みに応答して、先入れ先出しアルゴリズムを使用して前記ピン固定されないエントリのうちの1つを置き換えて前記第2のTLBセクション内にエントリをロードするステップと、
最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリを使用して前記第1のTLBセクションを定期的に更新するステップと
を備える仮想メモリを管理するためのプロファイリング・キャッシュを使用する方法。 - 最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリが最も頻繁に使用されるページ・テーブル・エントリを表す請求項1に記載の方法。
- 前記第1のTLBセクションを定期的に更新するステップが、満了した下方カウンタを識別するステップと、前記第1のTLBセクションを更新するステップと、前記プロファイリング・キャッシュをクリアするステップと、下方カウンタを再開するステップとを含む請求項1に記載の方法。
- 前記第1のTLBセクションの更新に応答して、前記第2のTLBセクション内の前記ピン固定されない複数のエントリをクリアするステップを含む請求項1に記載の方法。
- 前記第1のTLBセクションを定期的に更新するステップが、最も古いタイム・スタンプを有する前記識別されたプロファイリング・キャッシュ・エントリ内に含まれる前記第2のTLBセクション内のエントリを識別し、前記第2のTLBセクションから前記エントリを取り除き、前記第1のTLBセクション内に前記エントリを入れるステップを含む請求項1に記載の方法。
- 一時的にピン固定される複数のエントリを格納する第1のTLBセクション、およびピン固定されない複数のエントリを格納する第2のTLBセクションを含むTLBと、
各エントリがページ・アドレス、前記ページ・アドレスのタイム・スタンプ、および前記ページ・アドレスのアクセスごとに更新される最長時間未使用(LRU)カウントを含む1組のエントリを格納するプロファイリング・キャッシュと、
最も古いタイム・スタンプを有する前記プロファイリング・キャッシュ内の前記1組のエントリのうちの識別されたエントリを使用して前記第1のTLBセクションを定期的に更新する仮想メモリ管理手段と
を備える仮想メモリを管理するための装置。 - 前記ピン固定されない複数のエントリを格納する前記第2のTLBセクションが先入れ先出し(FIFO)アルゴリズムを使用して更新される請求項6に記載の仮想メモリを管理するための装置。
- 前記プロファイリング・キャッシュが前記最長時間未使用(LRU)カウントを使用して更新される請求項6に記載の仮想メモリを管理するための装置。
- TLBの割込みに応答してエントリが前記第2のTLBセクションにロードされる請求項6に記載の仮想メモリを管理するための装置。
- 先入れ先出しアルゴリズムを使用して前記ピン固定されないエントリの1つを置き換えて前記エントリをロードする請求項9に記載の仮想メモリを管理するための装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/268,474 US7089396B2 (en) | 2002-10-10 | 2002-10-10 | Method and profiling cache for management of virtual memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004133933A JP2004133933A (ja) | 2004-04-30 |
JP3864256B2 true JP3864256B2 (ja) | 2006-12-27 |
Family
ID=32068572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003345159A Expired - Fee Related JP3864256B2 (ja) | 2002-10-10 | 2003-10-03 | 仮想メモリを管理するための方法およびプロファイリング・キャッシュ |
Country Status (3)
Country | Link |
---|---|
US (1) | US7089396B2 (ja) |
JP (1) | JP3864256B2 (ja) |
CN (1) | CN1303535C (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7574451B2 (en) * | 2004-11-02 | 2009-08-11 | Microsoft Corporation | System and method for speeding up database lookups for multiple synchronized data streams |
US7543123B2 (en) * | 2005-11-07 | 2009-06-02 | International Business Machines Corporation | Multistage virtual memory paging system |
JP2007233615A (ja) * | 2006-02-28 | 2007-09-13 | Fujitsu Ltd | アドレス変換装置 |
CN100520710C (zh) * | 2006-07-27 | 2009-07-29 | 中国科学院计算技术研究所 | 复杂指令系统中tlbr内部例外的处理方法和处理器 |
GB2445965B (en) * | 2007-01-26 | 2011-05-04 | Advanced Risc Mach Ltd | Entry replacement within a data store |
JP2009043030A (ja) * | 2007-08-09 | 2009-02-26 | Hitachi Ltd | ストレージシステム |
JP5119994B2 (ja) * | 2008-03-14 | 2013-01-16 | 富士通株式会社 | 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置 |
US8464021B2 (en) * | 2008-05-28 | 2013-06-11 | Spansion Llc | Address caching stored translation |
US8244978B2 (en) * | 2010-02-17 | 2012-08-14 | Advanced Micro Devices, Inc. | IOMMU architected TLB support |
US8898378B2 (en) * | 2011-02-23 | 2014-11-25 | International Business Machines Co | Retention management and reordering the data based on retention times on tape |
JP2012203443A (ja) * | 2011-03-23 | 2012-10-22 | Toshiba Corp | メモリシステムおよびメモリシステムの制御方法 |
US9230305B2 (en) * | 2012-12-31 | 2016-01-05 | Nvidia Corporation | Summed area computation using ripmap of partial sums |
US9235512B2 (en) * | 2013-01-18 | 2016-01-12 | Nvidia Corporation | System, method, and computer program product for graphics processing unit (GPU) demand paging |
CN104239237B (zh) * | 2013-06-20 | 2017-07-14 | 华为技术有限公司 | 一种tlb管理方法及装置 |
CN105993005B (zh) | 2014-07-21 | 2019-06-04 | 上海兆芯集成电路有限公司 | 具有地址转译快取的处理器及其操作方法 |
CN106326150B (zh) * | 2015-06-26 | 2020-09-15 | 中兴通讯股份有限公司 | 内存访问处理方法及装置 |
CN105183566B (zh) * | 2015-10-16 | 2019-01-29 | 上海恺英网络科技有限公司 | 3d游戏渲染引擎的资源管理方法 |
CN107305532B (zh) * | 2016-04-25 | 2023-04-07 | 中兴通讯股份有限公司 | 一种表项替换方法、装置及终端 |
CN106227679B (zh) * | 2016-07-25 | 2018-12-28 | 北京邮电大学 | 一种数据缓存替换方法及装置 |
US11237758B2 (en) * | 2016-08-06 | 2022-02-01 | Wolley Inc. | Apparatus and method of wear leveling for storage class memory using address cache |
CN107870875A (zh) * | 2017-08-09 | 2018-04-03 | 成都萌想科技有限责任公司 | 一种基于分布式内存可定制智能数据缓存方法 |
US10747679B1 (en) * | 2017-12-11 | 2020-08-18 | Amazon Technologies, Inc. | Indexing a memory region |
US20190188154A1 (en) * | 2017-12-15 | 2019-06-20 | Intel Corporation | Translation pinning in translation lookaside buffers |
KR102355374B1 (ko) * | 2019-09-27 | 2022-01-25 | 에스케이하이닉스 주식회사 | 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법 |
US11403211B2 (en) * | 2020-01-31 | 2022-08-02 | Enmotus, Inc. | Storage system with file priority mechanism and method of operation thereof |
US11599462B1 (en) * | 2021-11-03 | 2023-03-07 | Google Llc | Memory cache entry management with pinned cache entries |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5307477A (en) * | 1989-12-01 | 1994-04-26 | Mips Computer Systems, Inc. | Two-level cache memory system |
US5491806A (en) * | 1990-06-26 | 1996-02-13 | Lsi Logic Corporation | Optimized translation lookaside buffer slice having stored mask bits |
US5940872A (en) * | 1996-11-01 | 1999-08-17 | Intel Corporation | Software and hardware-managed translation lookaside buffer |
US6205531B1 (en) * | 1998-07-02 | 2001-03-20 | Silicon Graphics Incorporated | Method and apparatus for virtual address translation |
US6418521B1 (en) * | 1998-12-23 | 2002-07-09 | Intel Corporation | Hierarchical fully-associative-translation lookaside buffer structure |
US6442666B1 (en) * | 1999-01-28 | 2002-08-27 | Infineon Technologies Ag | Techniques for improving memory access in a virtual memory system |
US6510508B1 (en) * | 2000-06-15 | 2003-01-21 | Advanced Micro Devices, Inc. | Translation lookaside buffer flush filter |
US6715039B1 (en) * | 2001-09-12 | 2004-03-30 | Emc Corporation | Cache slot promotion in a replacement queue cache using determinations of probabilities and costs |
-
2002
- 2002-10-10 US US10/268,474 patent/US7089396B2/en not_active Expired - Fee Related
-
2003
- 2003-10-03 JP JP2003345159A patent/JP3864256B2/ja not_active Expired - Fee Related
- 2003-10-09 CN CNB2003101006721A patent/CN1303535C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1303535C (zh) | 2007-03-07 |
US7089396B2 (en) | 2006-08-08 |
US20040073768A1 (en) | 2004-04-15 |
JP2004133933A (ja) | 2004-04-30 |
CN1512352A (zh) | 2004-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3864256B2 (ja) | 仮想メモリを管理するための方法およびプロファイリング・キャッシュ | |
US6216199B1 (en) | Hardware mechanism for managing cache structures in a data storage system | |
US7096321B2 (en) | Method and system for a cache replacement technique with adaptive skipping | |
US8041897B2 (en) | Cache management within a data processing apparatus | |
US6738866B2 (en) | Memory management of data buffers incorporating hierarchical victim selection | |
US7424577B2 (en) | Dynamic optimization of cache memory | |
US6119209A (en) | Backup directory for a write cache | |
US6877065B2 (en) | Advanced read cache management | |
KR101372964B1 (ko) | 메모리 페이지 관리 | |
US6581142B1 (en) | Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer | |
US20030135694A1 (en) | Apparatus for cache compression engine for data compression of on-chip caches to increase effective cache size | |
US20050268046A1 (en) | Compressed cache lines incorporating embedded prefetch history data | |
US20030196075A1 (en) | Memory disambiguation for large instruction windows | |
EP2541423B1 (en) | Replacement policy for resource container | |
US5802571A (en) | Apparatus and method for enforcing data coherency in an information handling system having multiple hierarchical levels of cache memory | |
US20130191610A1 (en) | Data staging area | |
EP2416251A1 (en) | A method of managing computer memory, corresponding computer program product, and data storage device therefor | |
US8261022B2 (en) | Method and apparatus for adaptive cache frame locking and unlocking | |
US20170262485A1 (en) | Non-transitory computer-readable recording medium, data management device, and data management method | |
US6412050B1 (en) | Memory record update filtering | |
JP4189342B2 (ja) | ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法 | |
JP4812876B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
US20180181318A1 (en) | Storage control device | |
CN109478163B (zh) | 用于在高速缓存条目处标识存储器访问请求的待决的系统和方法 | |
JPS59220853A (ja) | デイスクキヤツシユシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060530 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060711 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20060711 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060711 |
|
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: 20060905 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060912 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131013 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |