JP4369524B2 - Lru制御装置およびlru制御プログラム - Google Patents
Lru制御装置およびlru制御プログラム Download PDFInfo
- Publication number
- JP4369524B2 JP4369524B2 JP2008501578A JP2008501578A JP4369524B2 JP 4369524 B2 JP4369524 B2 JP 4369524B2 JP 2008501578 A JP2008501578 A JP 2008501578A JP 2008501578 A JP2008501578 A JP 2008501578A JP 4369524 B2 JP4369524 B2 JP 4369524B2
- Authority
- JP
- Japan
- Prior art keywords
- lru
- information
- entry
- control
- read
- 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/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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
- G06F12/125—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage
-
- 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
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
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
まず最初に、図1を用いて、実施例1に係るLRU装置の概要および特徴を説明する。
図1は、実施例1に係るLRU制御装置の概要を説明するための図である。同図に示すように、実施例1に係るLRU制御装置は、記憶装置(例えば、メインメモリやキャッシュメモリ、RAMなど)に備えられた複数のエントリからLRU制御する(Least Recently Used、つまり、最終使用時の最も古いエントリ内のデータを追い出す)エントリを選択することを概要とするが、対象エントリ数が多い場合のLRU制御に必要なビット数を抑えるとともに、完全なLRU制御を実現する点に主たる特徴がある。
次に、図2を用いて、実施例1に係るLRU制御装置の構成を説明する。図2は、実施例1に係るLRU制御装置の構成を示すブロック図である。なお、同図においては、実施例1に係るLRU制御装置を実現するうえで必要となる処理部のみを示しており、その他の処理部の記載については省略している。
次に、図6を用いて、実施例1に係るLRU制御装置による処理を説明する。図6は、実施例1に係るLRU制御装置の処理の流れを示すフローチャートである。同図に示すように、所定のデータに対してユーザなどからアクセス要求があると(ステップS601肯定)、LRU制御装置10のLRU候補選択部13bは、LRU情報記憶部12aからLRU情報を読み出す(ステップS602)。
上述してきたように、実施例1によれば、このLRU制御装置は、複数のエントリのそれぞれを識別する識別情報(例えば、エントリごとに一意に付与されたIDなど)を最終使用時が古い順に並べてLRU情報として記憶し、複数のエントリの中のいずれかのエントリが使用された場合に、各識別情報の中から当該使用されたエントリの識別情報を取り出すとともに最後尾に移動させてLRU情報を更新し、記憶しているLRU情報を参照して、複数のエントリの中からLRU制御する候補を選択するので、対象エントリ数が多い場合のLRU制御に必要なビット数を抑えるとともに、完全なLRU制御を実現することが可能となる。
まず最初に、図7を用いて、実施例2に係るLRU制御装置の構成を説明する。なお、実施例2に係るLRU制御装置は、実施例1に係るLRU制御装置と基本的に同様の構成であるが、以下に説明する点が異なる。
次に、図9を用いて、実施例2に係るLRU制御装置の処理を説明する。図9は、実施例2に係るLRU制御装置の処理の流れを示すフローチャートである。同図に示すように、所定のデータに対してユーザなどからリードアクセス要求があると(ステップS901肯定)、LRU制御装置20のLRU候補選択部23bは、LRU情報記憶部22aからLRU情報を読み出す(ステップS902)。
上述してきたように、実施例2によれば、このLRU制御装置は、LRU制御する候補として選択可能であるか否かを示す情報を複数のエントリの各識別情報にそれぞれ対応付けて選択可否情報として記憶し、記憶している選択可否情報をさらに参照して、選択可能なエントリの中からLRU制御する候補を選択するので、使用不可のエントリの選択の仕方によってLRU制御の結果に偏りが生じることを防止することができ、完全なLRU制御を実現することが可能となる。
上記の実施例2において、LRU候補選択部23bによってLRU情報記憶部22aから読み出されたLRU情報に参照エラーが発生(例えば、LRU情報として不整合な情報が読み出されてしまうエラーが発生)した場合には、LRU候補予備選択部23cは、選択可否情報の中から選択可能なエントリのいずれを選択する場合を説明したが、本発明はこれに限定されるものではなく、LRU情報内のエントリの識別情報(例えば、ID)を選択可能なエントリの識別情報で更新するようにしてもよい。そこで、以下では、図10、図11および図13を用いて、LRU情報内のエントリの識別情報を更新する場合を説明する。
また、図2、図7および図10示した各LRU制御装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各LRU制御装置の分散・統合の具体的形態は図示のものに限られず、例えば、LRU制御装置10のLRU情報格納制御部13aとLRU候補選択部13bとを統合し、LRU制御装置20のLRU候補選択部23bとLRU候補予備選択部23cとを統合し、LRU制御装置30のLRU情報記憶部32aと選択可否情報記憶部32bとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各LRU制御装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、図14を用いて、上記の実施例1で説明したLRU制御装置10の処理(LRU制御処理)と同様の機能を有するLRU制御プログラムを実行するコンピュータの一例を説明する。図14は、LRU制御プログラムを実行するコンピュータを示す図である。
11 入出力制御部
12 記憶部
12a LRU情報記憶部
13 制御部
13a LRU情報格納制御部
13b LRU候補選択部
13c LRU情報更新部
20 LRU制御装置
21 入出力制御部
22 記憶部
22a LRU情報記憶部
22b 選択可否情報記憶部
23 制御部
23a LRU情報格納制御部
23b LRU候補選択部
23c LRU候補予備選択部
23d LRU情報更新部
30 LRU制御装置
31 入出力制御部
32 記憶部
32a LRU情報記憶部
32b 選択可否情報記憶部
32c 更新情報記憶部
33 制御部
33a LRU情報格納制御部
33b LRU候補選択部
33c LRU候補予備選択部
33d LRU情報更新部
40 コンピュータ
41 入出力制御部
42 HDD(Hard disk drive)
43 RAM(Random access memory)
44 ROM(Read only memory)
45 CPU(Central processing unit)
50 バス
Claims (2)
- 記憶装置に備えられた複数のエントリからLRU制御するエントリを選択するLRU制御装置において、
前記複数のエントリのそれぞれを識別する識別情報がエントリの最終使用時の古い順に書き込まれたLRU情報を記憶するLRU情報記憶手段と、
LRU制御する候補として選択可能であるか否かを示す情報を前記識別情報にそれぞれ対応付けて選択可否情報として記憶する選択可否情報記憶手段と、
前記複数のエントリの中のいずれかのエントリが使用された場合に、前記LRU情報記憶手段から前記LRU情報を読み込んで、当該読み込んだLRU情報に含まれる各識別情報の内、前記使用されたエントリの識別情報を最終使用時の最も新しいエントリであることを示す位置に移動させることにより、前記LRU情報を更新するLRU情報更新手段と、
前記LRU情報記憶手段から読込んだ前記LRU情報と、前記選択可否情報記憶手段から読込んだ選択可否情報とを用いて、前記複数のエントリの内、選択可能であることを示す情報に対応付けられたエントリの中からLRU制御する候補を選択するLRU制御候補選択手段と、
前記LRU情報記憶手段から読込んだ前記LRU情報に前記識別情報が重複して存在するエラーが発生している場合に、前記LRU制御候補選択手段により前記LRU制御する候補の選択に用いられる前記LRU情報の代替の情報として、複数のエントリにそれぞれ対応する各識別情報が重複することなく含まれた更新情報を記憶する更新情報記憶手段と
を備え、
前記LRU情報更新手段は、前記LRU情報記憶手段から読込まれた前記LRU情報に前記識別情報が重複して存在するエラーが発生している旨を前記LRU制御候補選択手段から受け付けた場合には、前記更新情報記憶手段から前記更新情報を読み込んで、当該読込んだ更新情報に含まれる各識別情報の内、前記使用されたエントリの識別情報を最終使用時の最も新しいエントリであることを示す位置に移動させてから、前記LRU情報記憶手段に書き込むことで前記LRU情報を更新することを特徴とするLRU制御装置。 - 記憶装置に備えられた複数のエントリからLRU制御するエントリを選択する処理をコンピュータに実行させるLRU制御プログラムにおいて、
前記コンピュータに、
前記複数のエントリの中のいずれかのエントリが使用された場合に、前記複数のエントリのそれぞれを識別する識別情報がエントリの最終使用時の古い順に書き込まれたLRU情報を記憶するLRU情報記憶手段から当該LRU情報を読込んで、当該読込んだLRU情報を構成する各識別情報の内、前記使用されたエントリの識別情報を最終使用時の最も新しいエントリであることを示す位置に移動させることにより、前記LRU情報を更新するLRU情報更新手順と、
前記LRU情報記憶手段から読込んだ前記LRU情報と、LRU制御する候補として選択可能であるか否かを示す情報を前記識別情報にそれぞれ対応付けて選択可否情報として記憶する選択可否情報記憶手段から読込んだ当該選択可否情報とを用いて、前記複数のエントリの内、選択可能であることを示す情報に対応付けられたエントリの中からLRU制御する候補を選択するLRU制御候補選択手順と、
を実行させ、
前記LRU情報更新手順は、前記LRU情報記憶手段から読込まれた前記LRU情報に前記識別情報が重複して存在するエラーが発生している旨を前記LRU制御候補選択手順から受け付けた場合に、前記LRU情報の代替の情報として、複数のエントリにそれぞれ対応する各識別情報が重複することなく含まれた更新情報を記憶する更新情報記憶手段から当該更新情報を読込んで、当該読込んだ更新情報に含まれる識別情報の内、前記使用されたエントリの識別情報を最終使用時の最も新しいエントリであることを示す位置に移動させてから、前記LRU情報記憶手段に書き込むことで前記LRU情報を更新することを特徴とするLRU制御プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2006/303620 WO2007097028A1 (ja) | 2006-02-27 | 2006-02-27 | Lru制御装置、lru制御方法およびlru制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007097028A1 JPWO2007097028A1 (ja) | 2009-07-09 |
JP4369524B2 true JP4369524B2 (ja) | 2009-11-25 |
Family
ID=38437087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008501578A Expired - Fee Related JP4369524B2 (ja) | 2006-02-27 | 2006-02-27 | Lru制御装置およびlru制御プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8065496B2 (ja) |
EP (1) | EP1990732A4 (ja) |
JP (1) | JP4369524B2 (ja) |
WO (1) | WO2007097028A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5534912B2 (ja) * | 2010-04-13 | 2014-07-02 | 三菱電機株式会社 | データ記憶装置 |
US8468536B2 (en) * | 2010-06-24 | 2013-06-18 | International Business Machines Corporation | Multiple level linked LRU priority |
JP5627521B2 (ja) * | 2011-03-24 | 2014-11-19 | 株式会社東芝 | キャッシュシステムおよび処理装置 |
US10635806B2 (en) * | 2017-05-04 | 2020-04-28 | Crowdstrike, Inc. | Least recently used (LRU)-based event suppression |
US10838659B2 (en) | 2019-02-08 | 2020-11-17 | International Business Machines Corporation | Controlling write access to a memory structure based on write request priority |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6049950B2 (ja) * | 1981-08-27 | 1985-11-06 | 富士通株式会社 | Lruエラ−処理方式 |
JP2541528B2 (ja) | 1986-12-26 | 1996-10-09 | 日本電気株式会社 | Lruエラ−処理方式 |
JPH01154265A (ja) | 1987-12-10 | 1989-06-16 | Fujitsu Ltd | キャシュ更新障害監視回路 |
JPH01314359A (ja) * | 1988-06-14 | 1989-12-19 | Mitsubishi Electric Corp | 最優劣決定回路 |
US5140690A (en) * | 1988-06-14 | 1992-08-18 | Mitsubishi Denki Kabushiki Kaisha | Least-recently-used circuit |
JPH0264832A (ja) | 1988-08-31 | 1990-03-05 | Nec Corp | ディスク・キャッシュ・メモリ管理装置 |
US5249286A (en) * | 1990-05-29 | 1993-09-28 | National Semiconductor Corporation | Selectively locking memory locations within a microprocessor's on-chip cache |
US5353425A (en) * | 1992-04-29 | 1994-10-04 | Sun Microsystems, Inc. | Methods and apparatus for implementing a pseudo-LRU cache memory replacement scheme with a locking feature |
EP0624844A2 (en) * | 1993-05-11 | 1994-11-17 | International Business Machines Corporation | Fully integrated cache architecture |
JPH09288617A (ja) | 1996-04-19 | 1997-11-04 | Nec Corp | Lru制御方式 |
US6134636A (en) * | 1997-12-31 | 2000-10-17 | Intel Corporation | Method and apparatus for storing data in a memory array |
US6202129B1 (en) * | 1998-03-31 | 2001-03-13 | Intel Corporation | Shared cache structure for temporal and non-temporal information using indicative bits |
JP3279253B2 (ja) | 1998-05-27 | 2002-04-30 | 日本電気株式会社 | キャッシュページの管理方法およびキャッシュページの管理プログラムを記憶した媒体 |
US6490666B1 (en) * | 1999-08-20 | 2002-12-03 | Microsoft Corporation | Buffering data in a hierarchical data storage environment |
JP2003131946A (ja) * | 2001-10-19 | 2003-05-09 | Nec Corp | キャッシュメモリ制御装置及び方法 |
US20070118695A1 (en) * | 2005-11-18 | 2007-05-24 | International Business Machines Corporation | Decoupling storage controller cache read replacement from write retirement |
-
2006
- 2006-02-27 JP JP2008501578A patent/JP4369524B2/ja not_active Expired - Fee Related
- 2006-02-27 WO PCT/JP2006/303620 patent/WO2007097028A1/ja active Application Filing
- 2006-02-27 EP EP06714757A patent/EP1990732A4/en not_active Withdrawn
-
2008
- 2008-08-27 US US12/230,329 patent/US8065496B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2007097028A1 (ja) | 2007-08-30 |
EP1990732A1 (en) | 2008-11-12 |
JPWO2007097028A1 (ja) | 2009-07-09 |
EP1990732A4 (en) | 2009-09-02 |
US20080320256A1 (en) | 2008-12-25 |
US8065496B2 (en) | 2011-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8583872B2 (en) | Cache memory having sector function | |
CN101587447B (zh) | 基于预测的事务执行***和方法 | |
US8832159B2 (en) | Systems and methods for asynchronous schema changes | |
CN101183322B (zh) | 延迟日志生成的方法及其设备 | |
JP5211514B2 (ja) | 更新装置、更新方法および更新プログラム | |
JP4369524B2 (ja) | Lru制御装置およびlru制御プログラム | |
TWI533201B (zh) | 縮減交易回復的快取控制 | |
JP2001507845A (ja) | キャッシュメモリにおけるプリフェッチ管理 | |
CN100361064C (zh) | 写入过程管理方法和*** | |
JP2008107983A (ja) | キャッシュメモリ | |
JP5108252B2 (ja) | インデクス更新方法及びそのシステム | |
JPWO2005050454A1 (ja) | キャッシュメモリおよびその制御方法 | |
JP5186270B2 (ja) | データベースのキャッシュシステム | |
CN112035493A (zh) | 用户属性数据的更新方法、装置、服务器和存储介质 | |
JP4369523B2 (ja) | 縮退制御装置 | |
CN107391041A (zh) | 一种数据访问方法及装置 | |
JP2002278752A (ja) | 命令の実行結果予測装置 | |
JP2007272681A (ja) | キャッシュメモリ装置及びそのキャッシュラインの入れ替え方法 | |
US20070226274A1 (en) | Database device, and computer product | |
JP2006343928A (ja) | 情報処理装置およびプログラム | |
US7457919B2 (en) | Method for memory page management | |
US7376797B2 (en) | Cache memory system and method using reference bits | |
US11625386B2 (en) | Fast skip list purge | |
JP2845762B2 (ja) | 階層バッファメモリ装置 | |
JP2022545859A (ja) | ランダムアクセシング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090807 |
|
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: 20090825 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090827 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4369524 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130904 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |