JP2017058904A - Cache device and control method for cache device - Google Patents

Cache device and control method for cache device Download PDF

Info

Publication number
JP2017058904A
JP2017058904A JP2015182609A JP2015182609A JP2017058904A JP 2017058904 A JP2017058904 A JP 2017058904A JP 2015182609 A JP2015182609 A JP 2015182609A JP 2015182609 A JP2015182609 A JP 2015182609A JP 2017058904 A JP2017058904 A JP 2017058904A
Authority
JP
Japan
Prior art keywords
cache
data
priority
access
storage device
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.)
Pending
Application number
JP2015182609A
Other languages
Japanese (ja)
Inventor
稔典 福永
Toshinori Fukunaga
稔典 福永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2015182609A priority Critical patent/JP2017058904A/en
Publication of JP2017058904A publication Critical patent/JP2017058904A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a cache device capable of holding data in a cache so as to correspond to variation in access density, and a control method thereof.SOLUTION: A cache device includes: a cache 1; access density variation analysis means 2; cache holding priority setting means 3; and cache data control means 4. The cache temporarily holds the data of a storage device. The access density variation analysis means monitors access to the storage device, and analyzes variation in access density. The cache holding priority setting means sets the priority of data to be held in the cache on the basis of the analysis result of the access density variation analysis means. The cache data control means controls the arrangement of the data held in the cache on the basis of the priority.SELECTED DRAWING: Figure 1

Description

本発明は、キャッシュ装置およびキャッシュ装置の制御方法に関する。   The present invention relates to a cache device and a cache device control method.

近年、ストレージシステムの大容量化が進んでいる。大容量のストレージシステムでは、記憶手段として、ディスクアレイに代表される大容量の記憶デバイスが用いられる。しかしながら、上記の大容量記憶デバイスは多くの場合、レスポンス性能が低い。このため、記憶デバイスに比べ、レスポンス性能が高く、容量が小さいキャッシュを用いてレスポンス性能の向上を図っている。   In recent years, the capacity of storage systems has been increasing. In a large-capacity storage system, a large-capacity storage device represented by a disk array is used as a storage means. However, the mass storage devices described above often have low response performance. For this reason, the response performance is improved by using a cache having a higher response performance and a smaller capacity than the storage device.

キャッシュは記憶デバイスにアクセスのあったデータを一時的に保持する。このデータが保持されている間に、次のアクセス要求があった場合は、記憶デバイスにアクセスすることなくレスポンスを返すことができるため、レスポンスを高速化することができる。   The cache temporarily holds data accessed by the storage device. If the next access request is made while this data is held, the response can be returned without accessing the storage device, so that the response can be speeded up.

一般的な動作として、あるデータにアクセスがあると、当該データは、新しいデータとしてキャッシュの保持順の先頭に配置される。この時、キャッシュが一杯であった場合は、保持順が最後尾のデータがキャッシュから破棄される。したがって、アクセス要求があった時にキャッシュ上にデータがある場合と無い場合が存在する。データがキャッシュ上にある場合は、キャッシュヒットと呼ばれる。一方、要求されたデータがキャッシュ上に無い場合は、キャッシュミスヒットと呼ばれる。上記の動作から明らかなように、ストレージのパフォーマンスを向上するためにはキャッシュヒット率を高くする仕組みが必要になる。   As a general operation, when certain data is accessed, the data is arranged as new data at the head of the cache retention order. At this time, if the cache is full, the last data in the retention order is discarded from the cache. Therefore, there is a case where there is data on the cache when there is an access request and a case where there is no data on the cache. When the data is on the cache, it is called a cache hit. On the other hand, when the requested data is not in the cache, it is called a cache miss hit. As is apparent from the above operation, a mechanism for increasing the cache hit rate is required to improve storage performance.

最も一般的な方式は、LRU(Least Recently Used)である。LRUでは、キャッシュに保持されたデータの中で、参照されていない時間が最も長いデータを破棄する。これは、長い時間参照されていないデータは、今後も参照される蓋然性が低いとの仮定に基づいた概念である。ところが、LRUでは、最近参照されたが、使用頻度が低いデータがあると、使われないまま長くキャッシュに残ってしまう、という問題がある。   The most common method is LRU (Least Recently Used). In the LRU, the data that has not been referred to for the longest time among the data held in the cache is discarded. This is a concept based on the assumption that data that has not been referenced for a long time has a low probability of being referred to in the future. However, in LRU, there is a problem that if there is data that has been recently referenced but is not used frequently, it remains in the cache for a long time without being used.

その問題点を解決する方法の一つに、使用頻度が最も少ないデータを破棄するLFU(Least Frequently Used)がある。LFUでは、一定期間に各データが参照された回数のテーブルを作成し、そのテーブルに基づいて破棄するデータを決定する。このため、使用頻度が少ないデータが残るという問題は解決される。ところがLFUでは、上記のテーブルを作成した期間と、当該テーブルを使用してデータを制御する期間とにずれがある。このため、アクセス頻度が動的に変化する環境では有効に機能しないという問題がある。   One of the methods for solving the problem is LFU (Least Frequently Used) that discards data that is least frequently used. In the LFU, a table of the number of times each data is referred to in a certain period is created, and data to be discarded is determined based on the table. For this reason, the problem that data with low usage frequency remains is solved. However, in the LFU, there is a difference between a period in which the table is created and a period in which data is controlled using the table. For this reason, there is a problem that it does not function effectively in an environment where the access frequency changes dynamically.

上記のLRUやLFUの問題点を解決する方法が種々提案されている。例えば特許文献1には、LFUの課題である、アクセス頻度が動的に変化する環境に対応する技術が開示されている。この技術では、アクセス頻度採取用のテーブルとデータ制御用のテーブルを同時に用意し、所定間隔(例えば1秒)で交互に切り替える。これにより、アクセス頻度の採取と制御のタイムラグを小さくし、アクセス頻度が動的に変化しても、それに追従することができるようにしている。   Various methods for solving the above-mentioned problems of LRU and LFU have been proposed. For example, Patent Document 1 discloses a technique corresponding to an environment where the access frequency dynamically changes, which is a problem of LFU. In this technique, an access frequency collection table and a data control table are prepared at the same time, and are switched alternately at a predetermined interval (for example, 1 second). As a result, the time lag between the collection and control of the access frequency is reduced, and even if the access frequency changes dynamically, it can be followed.

また例えば、特許文献2には、レスポンス性能の高さで階層化した階層的なキャッシュシステムを構成し、動的なアクセス環境下でも、データを適切な階層に保持させる技術が開示されている。この技術では、上位のキャッシュから降格されたデータを下位のキャッシュが受け入れるか否かの閾値を設け、閾値を動的に調整する。具体的には、下位キャッシュに最後に挿入されたデータMRIと最後に削除されたデータのキャッシュMREのヒットカウントを比較し、MRI>MREであれば閾値を小さくし、MRI<MREであれば、閾値を大きくする。このように動的に閾値を調整することで、アクセス頻度が動的に変化しても、適切なデータをキャッシュに保持することができる。   Further, for example, Patent Document 2 discloses a technology that configures a hierarchical cache system that is hierarchized with high response performance and holds data in an appropriate hierarchy even in a dynamic access environment. In this technique, a threshold value is set to determine whether the lower cache accepts data demoted from the upper cache, and the threshold is dynamically adjusted. Specifically, the hit count of the data MRI inserted last in the lower cache and the cache MRE of the data deleted last is compared. If MRI> MRE, the threshold is decreased, and if MRI <MRE, Increase the threshold. By dynamically adjusting the threshold in this way, appropriate data can be held in the cache even if the access frequency changes dynamically.

再特WO1099/40516号公報Re-specialized WO1099 / 40516 特表2014−535106号公報Special table 2014-535106 gazette

しかし、特許文献1、2の技術には、アクセスの全体量があまり変化せず、個々のデータへのアクセス頻度が変化する場合には有効であるが、アクセスの全体量が変化する場合には有効でない、という問題がある。   However, the techniques of Patent Documents 1 and 2 are effective when the total amount of access does not change so much and the frequency of access to individual data changes, but when the total amount of access changes. There is a problem that it is not valid.

例えば、近年問題となっている、ログオンストームには効果を発揮しない。ログオンストームとは、仮想化デスクトップ環境などで、多数のクライアント端末がサーバやストレージに一斉にログオンし、レスポンスが著しく低下する問題のことである。例えば、企業等の始業時を例に取ると、ログオンストームは、平日では1日に1回の頻度で発生する。ここでアクセスが集中したデータは、他の時間には、ほとんど参照されることがないので、特許文献1、2いずれの技術でも、翌日の始業前までにキャッシュから破棄されてしまう。このため、翌日の始業時に、再びアクセスが集中するとともに、一斉にキャッシュデータの入れ替えが起こる。その結果、キャッシュが無い場合よりも、逆に負荷が大きくなってしまう。   For example, it is not effective for a logon storm, which has been a problem in recent years. A logon storm is a problem in which a large number of client terminals log on to a server or storage all at once in a virtual desktop environment or the like, resulting in a significant decrease in response. For example, taking the start time of a company or the like as an example, a logon storm occurs once a day on weekdays. Here, the data on which access is concentrated are rarely referred to at other times, and therefore, in any of the techniques of Patent Documents 1 and 2, they are discarded from the cache before the start of the next day. For this reason, at the start of the next day, access is concentrated again, and cache data is exchanged all at once. As a result, the load becomes larger than when there is no cache.

本発明は、上記の問題点に鑑みてなされたものであり、アクセス密度の時間変動に対応するようにデータをキャッシュに保持できるキャッシュ装置、を提供することを目的としている。   The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a cache device that can hold data in a cache so as to cope with time fluctuations in access density.

上記の課題を解決するため、本発明のキャッシュ装置は、キャッシュと、アクセス密度変動分析手段と、キャッシュ保持優先度設定手段と、キャッシュデータ制御手段と、を有している。キャッシュは、記憶装置のデータを一時的に保持する。アクセス密度変動分析手段は、記憶装置に対するアクセスを監視し前記アクセスの密度変動を分析する。キャッシュ保持優先度設定手段は、アクセス密度変動分析手段の分析結果に基づいてキャッシュに保持するデータの優先度を設定する。キャッシュデータ制御手段は、優先度に基づいてキャッシュに保持されたデータを配置を制御する。   In order to solve the above-described problems, the cache device of the present invention includes a cache, an access density fluctuation analysis unit, a cache retention priority setting unit, and a cache data control unit. The cache temporarily holds data in the storage device. The access density fluctuation analyzing means monitors access to the storage device and analyzes the density fluctuation of the access. The cache holding priority setting means sets the priority of data held in the cache based on the analysis result of the access density fluctuation analyzing means. The cache data control means controls the arrangement of the data held in the cache based on the priority.

本発明の効果は、アクセス密度の変動に対応するようにデータをキャッシュに保持できるキャッシュ装置を、提供できることである。   An effect of the present invention is to provide a cache device that can hold data in a cache so as to cope with a change in access density.

第1の実施形態を示すブロック図である。It is a block diagram which shows 1st Embodiment. 第2の実施形態を示すブロック図である。It is a block diagram which shows 2nd Embodiment. アクセス密度の変動を表すグラフの一例である。It is an example of the graph showing the fluctuation | variation of access density. 第2の実施形態の動作を示すフローチャートである。It is a flowchart which shows operation | movement of 2nd Embodiment. 第2の実施形態の定義済み処理を示すフローチャートである。It is a flowchart which shows the defined process of 2nd Embodiment. 第3の実施形態のデータ配置例を示す概念図である。It is a conceptual diagram which shows the example of data arrangement | positioning of 3rd Embodiment. 第3の実施形態の重み付け例を示す表である。It is a table | surface which shows the example of weighting of 3rd Embodiment. 第3の実施形態の動作の一例を示す模式図である。It is a schematic diagram which shows an example of operation | movement of 3rd Embodiment. 第3の実施形態の動作の別の一例を示す模式図である。It is a schematic diagram which shows another example of operation | movement of 3rd Embodiment.

以下、図面を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお各図面の同様の構成要素には同じ番号を付し、説明を省略する場合がある。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. However, the preferred embodiments described below are technically preferable for carrying out the present invention, but the scope of the invention is not limited to the following. In addition, the same number is attached | subjected to the same component of each drawing, and description may be abbreviate | omitted.

(第1の実施形態)
図1は、第1の実施形態を示すブロック図である。キャッシュ装置は、キャッシュ1と、アクセス密度変動分析手段2と、キャッシュ保持優先度設定手段3と、キャッシュデータ制御手段4と、を有している。キャッシュ1は、記憶装置のデータを一時的に保持する。アクセス密度変動分析手段2は、記憶装置に対するアクセスを監視し前記アクセスの密度変動を分析する。キャッシュ保持優先度設定手段3は、アクセス密度変動分析手段の分析結果に基づいてキャッシュに保持するデータの優先度を設定する。キャッシュデータ制御手段4は、優先度に基づいて前記キャッシュに保持されたデータを配置を制御する。
(First embodiment)
FIG. 1 is a block diagram showing the first embodiment. The cache device includes a cache 1, an access density fluctuation analysis unit 2, a cache retention priority setting unit 3, and a cache data control unit 4. The cache 1 temporarily holds data in the storage device. The access density fluctuation analyzing means 2 monitors access to the storage device and analyzes the access density fluctuation. The cache holding priority setting means 3 sets the priority of data held in the cache based on the analysis result of the access density fluctuation analyzing means. The cache data control means 4 controls the arrangement of the data held in the cache based on the priority.

以上の構成により、アクセス密度の変動に応じた優先度をデータに設定し、データをキャッシュに保持することができる。   With the above configuration, it is possible to set the priority according to the fluctuation of the access density to the data and hold the data in the cache.

(第2の実施形態)
第1の実施形態のキャッシュ装置を用いて、ストレージシステムを構成することができる。図2は、本実施の形態のストレージシステムを示すブロック図である。ストレージシステムは、記憶デバイス100と、キャッシュ装置200と、ストレージ制御装置300と、を有する。なお、図2では記憶デバイス100は1つしか描いていないが、複数であってもよい。
(Second Embodiment)
A storage system can be configured using the cache device of the first embodiment. FIG. 2 is a block diagram showing the storage system of this embodiment. The storage system includes a storage device 100, a cache device 200, and a storage control device 300. In FIG. 2, only one storage device 100 is illustrated, but a plurality of storage devices 100 may be provided.

記憶デバイス100は、データを永続的に記憶する。具体的には、磁気ディスク、光学ディスクや、これらをアレイ化したディスクアレイなどとすることができる。なお、本実施の形態は、記憶デバイスの記憶方式には制限されない。   The storage device 100 stores data permanently. Specifically, a magnetic disk, an optical disk, a disk array obtained by arraying them, and the like can be used. Note that the present embodiment is not limited to the storage method of the storage device.

キャッシュ装置200は、アクセス密度変動分析部210と、キャッシュ保持優先度設定部220と、データ配置制御部230と、キャッシュ240と、を有している。   The cache device 200 includes an access density fluctuation analysis unit 210, a cache retention priority setting unit 220, a data arrangement control unit 230, and a cache 240.

キャッシュ240は、記憶デバイス100よりアクセス性能が高く、一時的にデータを保持する記憶装置である。例えば、不揮発性メモリを用いたSSD(solid state drive)を用いることができる。ただし、これに限られるものではない。   The cache 240 is a storage device that has higher access performance than the storage device 100 and temporarily holds data. For example, an SSD (solid state drive) using a nonvolatile memory can be used. However, the present invention is not limited to this.

アクセス密度変動分析部210は、所定の単位時間におけるアクセス数をアクセス密度としてカウントし、その変動を分析する。分析により、定期的にアクセス密度が高くなる時間帯がある等の、アクセス密度変動の傾向を把握することができる。   The access density fluctuation analysis unit 210 counts the number of accesses in a predetermined unit time as the access density, and analyzes the fluctuation. By analysis, it is possible to grasp a tendency of access density fluctuation such as a period of time when the access density is regularly increased.

キャッシュ保持優先度設定部230は、アクセス密度変動分析部220の分析結果に基づいて、キャッシュに保持するデータに対して、その保持を続ける優先度を設定する。   Based on the analysis result of the access density fluctuation analysis unit 220, the cache retention priority setting unit 230 sets a priority for continuing the retention for the data held in the cache.

データ配置制御部230は、キャッシュ保持優先度設定部220が設定した優先度に従ってキャッシュ210にデータを配置する。その配置は、例えば優先度の高いものから低いものが順番に並ぶようにする。   The data arrangement control unit 230 arranges data in the cache 210 according to the priority set by the cache holding priority setting unit 220. The arrangement is such that, for example, the one with the highest priority is arranged in order.

本実施の形態の動作について説明する前に、本実施の形態が解決する問題について説明する。   Before describing the operation of the present embodiment, the problem solved by the present embodiment will be described.

近年、仮想マシン(Virtual Machine、VM)やデスクトップ仮想化(Virtual Desktop Infrastructure、VDI)の導入が進んでいる。このような環境では、特定の時間にアクセスが集中するという問題がある。図2はアクセス密度の時間変動の一例を表すグラフである。この例では、8:20過ぎから8:50前の時間帯に、アクセスが集中するログオンストームの状態になっている。このような状況は、例えば、平日の始業時の同じ時間帯に定期的に発生する。   In recent years, virtual machines (Virtual Machines, VMs) and desktop virtualization (Virtual Desktop Infrastructures, VDIs) have been introduced. In such an environment, there is a problem that access concentrates at a specific time. FIG. 2 is a graph showing an example of time variation of access density. In this example, the state is a logon storm where access is concentrated in the time zone from 8:20 to 8:50. Such a situation occurs periodically, for example, in the same time zone at the start of work on weekdays.

前述したように、一般的な技術では、キャッシュ装置は、短期間におけるアクセス頻度についてキャッシュに保持するデータの最適化を行っている。そして、上述のような、所定期間におけるアクセスの総量、すなわち密度の変動についてはキャッシュ装置が解決する課題とはしていない。本実施の形態は、上記のログオンストームのような、アクセス密度の急上昇によるパフォーマンス低下の改善に、キャッシュ装置を積極的に利用するものである。   As described above, in a general technique, a cache device optimizes data held in a cache for an access frequency in a short period. The total amount of access during the predetermined period, that is, the variation in density as described above is not a problem to be solved by the cache device. In the present embodiment, a cache device is actively used to improve performance degradation caused by a rapid increase in access density, such as the above-described logon storm.

次に、ストレージシステムにおけるキャッシュ装置の動作について説明する。図4は、キャッシュ装置の動作を示すフローチャートである。   Next, the operation of the cache device in the storage system will be described. FIG. 4 is a flowchart showing the operation of the cache device.

まず、アクセス密度変動分析部がアクセス密度変動を分析する(S1)。そして、例えば、アクセス密度が急増する時間帯と、その時にアクセスされる記憶装置の領域を、分析結果として抽出する。具体的には、図3のようなアクセス密度の変動からは、毎日8:20から8:50の間にアクセス密度が急増するといった分析結果を得る。   First, the access density fluctuation analysis unit analyzes the access density fluctuation (S1). Then, for example, a time zone in which the access density rapidly increases and a storage device area accessed at that time are extracted as analysis results. Specifically, an analysis result that the access density rapidly increases between 8:20 and 8:50 every day is obtained from the fluctuation of the access density as shown in FIG.

次に時間帯ごとにデータに付与する係数として重みaを設定する(S2)。次にストレージシステムが、キャッシュに保持されていないデータへのアクセスを受け付けると、キャッシュ装置は当該データを新規にキャッシュに保持する(S3)。このとき、最も優先度の低いデータをキャッシュから破棄し、新規に保持するデータに重み係数aを付与してキャッシュの先頭(最も優先度が高い位置)に保持する(S4)。以降、キャッシュ保持優先度設定の定義済み処理を行う(S5)。次に、データ配置制御部がS5で設定された優先度の順にキャッシュにデータを配置する(S6)。   Next, a weight a is set as a coefficient to be given to the data for each time zone (S2). Next, when the storage system accepts access to data not held in the cache, the cache device newly holds the data in the cache (S3). At this time, the data with the lowest priority is discarded from the cache, and the weight coefficient a is assigned to the newly held data and held at the head of the cache (position with the highest priority) (S4). Thereafter, a predefined process for setting the cache holding priority is performed (S5). Next, the data arrangement control unit arranges data in the cache in the order of the priority set in S5 (S6).

次にS5のキャッシュ保持優先度設定の動作の一例にについて説明する。ここでは、優先度を累積重みで定量化する方法について述べる。累積重みとは、その大きさで優先度を数値化したものである。そして累積重みは、それぞれのデータに付与され、以下の手順で更新されるものとする。   Next, an example of the operation for setting the cache holding priority in S5 will be described. Here, a method for quantifying priority with cumulative weight will be described. The cumulative weight is a numerical value of the priority based on the magnitude. The cumulative weight is assigned to each data and updated in the following procedure.

まず、優先度設定部が、アクセス密度変動分析結果に基づいて重み係数aを決定する。重み係数aは、a≧1として、アクセス密度が高い時間帯で大きくなり、アクセス密度が低い時間帯で小さくなるように設定する。   First, the priority setting unit determines the weight coefficient a based on the access density fluctuation analysis result. The weighting factor a is set such that a ≧ 1 and increases in the time zone when the access density is high and decreases in the time zone where the access density is low.

まず、キャッシュに未保持のデータにアクセスがあり、新規にキャッシュに保持されるときに、未保持の時の累積重みを1として、保持した段階で1×a=aを初期値として付与する。   First, when data that is not held in the cache is accessed and is newly held in the cache, the accumulated weight when the data is not held is set to 1, and 1 × a = a is assigned as an initial value at the holding stage.

次に、キャッシュに保持中のデータにアクセスがあったら、現在の累積重みにaを乗じた値で累積重みを更新する。   Next, when there is an access to data held in the cache, the cumulative weight is updated with a value obtained by multiplying the current cumulative weight by a.

上記の動作をフローチャートで示すと図5のようになる。まず外部からのアクセス要求により、キャッシュに保持中のデータへのアクセスを受付ける(S51)。当該データへのアクセスがあると、キャッシュ保持優先度設定部は、当該データが持つ元の累積重みに重み係数aを乗じた値を算出し、これを新しい値として累積重みを更新する(S52)。以上により、1回のアクセスによる累積重みの更新が完了する。   The above operation is shown in a flowchart in FIG. First, access to data held in the cache is accepted by an external access request (S51). When there is an access to the data, the cache retention priority setting unit calculates a value obtained by multiplying the original accumulated weight of the data by the weighting factor a, and updates the accumulated weight using this as a new value (S52). . Thus, the update of the accumulated weight by one access is completed.

上記の動作によれば、データにアクセスがある度に累積重みが増加するため、アクセスがあればあるほどキャッシュ保持優先度が高くなる。   According to the above operation, the cumulative weight increases every time data is accessed. Therefore, the higher the access, the higher the cache retention priority.

ここで、アクセス密度変動分析で高密度(高負荷)と判定された時間帯について考える。まず、この時間帯にアクセスされるデータには大きな重み係数が付与されている。さらに当該データはこの時間帯に繰り返しアクセスを受け、その度に累積重みが増加する。その結果、当該データの累積重みは非常に大きくなり、二次キャッシュ上に保持する期間が非常に長くなる。他方、この時間帯にアクセスを受けないデータは、累積重みが小さいためキャッシュから優先的に破棄される。上記の動作により、特定の時間帯に高頻度のアクセスが発生するデータは当該時間帯でのキャッシュヒット率が高くなり、低速の記憶デバイスにアクセスせずにデータをホストへ出力できる。こうして、ストレージシステムの性能低下を抑制することが可能になる。   Here, a time zone determined as high density (high load) by the access density fluctuation analysis will be considered. First, a large weighting factor is given to data accessed in this time zone. Further, the data is repeatedly accessed during this time period, and the cumulative weight increases each time. As a result, the cumulative weight of the data becomes very large, and the period for holding it on the secondary cache becomes very long. On the other hand, data that is not accessed during this time zone is preferentially discarded from the cache because the accumulated weight is small. With the above operation, the data hit frequently in a specific time zone has a high cache hit rate in the time zone, and the data can be output to the host without accessing a low-speed storage device. In this way, it is possible to suppress the performance degradation of the storage system.

なお、上記では重み係数をアクセスの度に乗じる算出方法を例示したが、アクセス回数が増えるごとに優先度が高くなるような他の計算方法で優先度を数値化しても良い。   In the above description, the calculation method of multiplying the weighting factor by the number of accesses is exemplified, but the priority may be quantified by another calculation method in which the priority increases as the number of accesses increases.

以上、説明したように、本実施の形態によれば、定期的にアクセス密度が急増する時間帯にアクセスされるデータのキャッシュヒット率を高くすることができる。その結果、上記の時間帯におけるストレージシステムのパフォーマンスを大幅に向上することができる。
(第3の実施形態)
本実施の形態では、キャッシュ装置の構成と動作の具体例について説明する。
As described above, according to the present embodiment, it is possible to increase the cache hit rate of data that is accessed during a period of time when the access density increases rapidly. As a result, the performance of the storage system in the above time zone can be greatly improved.
(Third embodiment)
In this embodiment, a specific example of the configuration and operation of the cache device will be described.

図6は、キャッシュ内のデータ配置を示す概念図である。ここでは、キャッシュが一次キャッシュ241、二次キャッシュ242の階層構造を有しているとしている。一次キャッシュ241はFIFO(First−In First−Out)で動作し、二次キャッシュ242は、第2の実施形態の累積重みによる優先度設定にしたがって動作する。   FIG. 6 is a conceptual diagram showing data arrangement in the cache. Here, it is assumed that the cache has a hierarchical structure of a primary cache 241 and a secondary cache 242. The primary cache 241 operates by FIFO (First-In First-Out), and the secondary cache 242 operates according to the priority setting by the cumulative weight of the second embodiment.

データにアクセスがあると、当該データは、一次キャッシュ241の先頭に配置される。図6では、アクセスが新しい順番にH、G,Fの順でデータが配置されている。この配置はFIFOで行われ、各データの累積重みは無視される。   When data is accessed, the data is placed at the head of the primary cache 241. In FIG. 6, data is arranged in the order of H, G, and F in the order of new access. This arrangement is performed by FIFO, and the cumulative weight of each data is ignored.

一次キャッシュ241から追い出されたデータは二次キャッシュ242に保持される。二次キャッシュ242では、データは累積重みによって優先順付されて保持される。図6では、累積重みにしたがって、データA、C、B、E、D、・・・ZZの順で並んでいる。この場合、次に新しいデータが保持されるときの追い出し対象はZZである。   Data evicted from the primary cache 241 is held in the secondary cache 242. In the secondary cache 242, data is prioritized and held by the cumulative weight. In FIG. 6, the data A, C, B, E, D,. In this case, the eviction target when the new data is held next is ZZ.

図7は重み係数の一設定例を示す表である。この例では、論理ディスクごとに各時間帯における重み係数が設定されている。この例では論理ディスク00においては、08:20で重み係数が1から2に切り替わり、08:20〜08:30では2となっている(その他の時間帯は図示なし)。08:20で重み係数が1から2に切り替わるのは、例えば図3のようなアクセス密度の急増を反映したものである。また論理ディスク10も同様である。なお、ここでは、論理ディスク00と論理ディスク10に同じ重み係数を設定しているが、異なる値とすることもできる。論理ディスクあるいは記憶デバイスを区切った領域に分けて別々に重み係数を設定しても良い。また、特定のホストからのアクセスに対し、大きな重み係数を設定しても良い。例えば、高速なレスポンスを保証するライセンスを導入しているホストに対して、大きな重み係数を設定することができる。これにより、高速なレスポンスのサービスを提供することが可能である。   FIG. 7 is a table showing an example of setting weighting factors. In this example, a weighting coefficient in each time zone is set for each logical disk. In this example, in the logical disk 00, the weighting coefficient is switched from 1 to 2 at 08:20, and is 2 from 08:20 to 08:30 (other time zones are not shown). The fact that the weighting factor is switched from 1 to 2 at 08:20 reflects the rapid increase in access density as shown in FIG. 3, for example. The same applies to the logical disk 10. In this example, the same weighting factor is set for the logical disk 00 and the logical disk 10, but different values may be used. The weighting factor may be set separately for each area divided into logical disks or storage devices. A large weighting factor may be set for access from a specific host. For example, a large weighting factor can be set for a host that has installed a license that guarantees a high-speed response. This makes it possible to provide a high-speed response service.

次にデータの配置動作の具体例について説明する。ここでは、重み係数が2の時間帯の動作であるとする。図8(a)は、キャッシュ内の初期のデータ配置である。ここでキャッシュに無く、記憶デバイス100に格納されたデータKにアクセスがあると、データKは図2(b)のように重み係数2を付加されて一次キャッシュ241の先頭に配置される(図の実線矢印)。一方、二次キャッシュ242の中で最も優先順位の低いZZが追い出されて記憶デバイス100に格納される(図の点線矢印)。   Next, a specific example of the data arrangement operation will be described. Here, it is assumed that the operation is in a time zone in which the weighting factor is 2. FIG. 8A shows an initial data arrangement in the cache. If there is an access to the data K stored in the storage device 100 that is not in the cache, the data K is added with a weighting factor 2 as shown in FIG. 2B and placed at the head of the primary cache 241 (see FIG. 2). Solid line arrow). On the other hand, the ZZ having the lowest priority in the secondary cache 242 is evicted and stored in the storage device 100 (dotted line arrow in the figure).

図8(b)の状態から、一次キャッシュ内のデータHにアクセスがあると、元の累積重みに重み係数2を乗じ、16×2=32を累積重みとして一次キャッシュ241の先頭に配置される(図9(a))。次に二次キャッシュ242内のデータAにアクセスがあると、元の累積重みに重み係数2を乗じ、64×2=128を累積重みとして一次キャッシュ241の先頭に配置される(図9(b))。一方一次キャッシュから追い出されたデータGは、累積重みが2であるため、二次キャッシュ242内で累積重みが16のデータBの下に配置される。   When the data H in the primary cache is accessed from the state of FIG. 8B, the original cumulative weight is multiplied by the weighting factor 2, and 16 × 2 = 32 is set at the head of the primary cache 241 as the cumulative weight. (FIG. 9A). Next, when the data A in the secondary cache 242 is accessed, the original accumulated weight is multiplied by the weighting factor 2, and the accumulated weight is set to 64 × 2 = 128 at the head of the primary cache 241 (FIG. 9B). )). On the other hand, since the data G evicted from the primary cache has a cumulative weight of 2, it is arranged under the data B having a cumulative weight of 16 in the secondary cache 242.

以上に例を示したように、本実施の形態によれば、アクセス密度の高い時間帯にアクセスを受けたデータが、二次キャッシュにとどまりやすくなる。このため定期的にアクセス密度が高くなる場面において、二次キャッシュのデータを利用できる確率が上がり、パフォーマンスを向上することができる。   As described above, according to this embodiment, data accessed in a time zone with a high access density is likely to stay in the secondary cache. For this reason, in a scene where the access density increases regularly, the probability that the data of the secondary cache can be used increases, and the performance can be improved.

以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上記実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。   The present invention has been described above using the above-described embodiment as an exemplary example. However, the present invention is not limited to the above embodiment. That is, the present invention can apply various modes that can be understood by those skilled in the art within the scope of the present invention.

1 キャッシュ
2 アクセス密度変動分析手段
3 キャッシュ保持優先度設定手段
4 キャッシュデータ制御手段
100 記憶デバイス
200 キャッシュ装置
210 アクセス密度変動分析部
220 キャッシュ保持優先度設定部
230 データ配置制御部
240 キャッシュ
241 一次キャッシュ
242 二次キャッシュ
300 ストレージ制御装置
DESCRIPTION OF SYMBOLS 1 Cache 2 Access density fluctuation | variation analysis means 3 Cache retention priority setting means 4 Cache data control means 100 Storage device 200 Cache apparatus 210 Access density fluctuation analysis part 220 Cache retention priority setting part 230 Data arrangement control part 240 Cache 241 Primary cache 242 Secondary cache 300 storage controller

Claims (10)

記憶装置のデータを一時的に保持するキャッシュと、
前記記憶装置に対するアクセスを監視し前記アクセスの密度の変動を分析するアクセス密度変動分析手段と、
前記アクセス密度変動分析手段の分析結果に基づいて前記キャッシュに保持するデータの優先度を設定するキャッシュ保持優先度設定手段と、
前記優先度に基づいて前記キャッシュに保持するデータの配置を制御するキャッシュデータ制御手段と、
を有することを特徴とするキャッシュ装置。
A cache that temporarily holds data in the storage device;
Access density fluctuation analysis means for monitoring access to the storage device and analyzing fluctuations in the access density;
Cache holding priority setting means for setting the priority of data held in the cache based on the analysis result of the access density fluctuation analyzing means;
Cache data control means for controlling the arrangement of data held in the cache based on the priority;
A cache device comprising:
前記アクセス密度変動分析手段が、
前記記憶デバイスへのアクセス密度が定期的に所定値より大きくなる時間帯を抽出する、
ことを特徴とするキャッシュ装置。
The access density fluctuation analysis means
Extracting a time period in which the access density to the storage device is regularly larger than a predetermined value;
A cache device.
前記キャッシュ保持優先度設定手段が、
前記時間帯にアクセスのあったデータに前記時間帯にアクセスが無かったデータよりも高い優先度を付与する、
ことを特徴とする請求項2に記載のキャッシュ装置。
The cache retention priority setting means includes
Giving higher priority to data accessed during the time period than data not accessed during the time period;
The cache device according to claim 2.
前記キャッシュ保持優先度設定手段が、
前記分析結果に基づいて前記アクセス密度に対応する優先度の重み係数を設定し、
前記優先度を前記重み係数とアクセス回数とに基づいて数値化し前記データに設定する、
ことを特徴とする請求項1に記載のキャッシュ装置。
The cache retention priority setting means includes
Set a priority weighting factor corresponding to the access density based on the analysis result,
The priority is quantified based on the weighting factor and the number of accesses, and set in the data.
The cache device according to claim 1.
請求項1乃至請求項4いずれか一項に記載のキャッシュ装置と、
前記キャッシュよりアクセス性能が低くデータを永続的に記憶する記憶デバイスと、
前記キャッシュに保持されたデータと前記記憶デバイスに記憶されたデータとを制御するデータ制御装置と、
を有することを特徴とするストレージシステム。
A cache device according to any one of claims 1 to 4,
A storage device having lower access performance than the cache and permanently storing data;
A data control device that controls data held in the cache and data stored in the storage device;
A storage system comprising:
記憶装置のデータを一時的にキャッシュ保持し、
前記記憶装置に対するアクセスを監視し前記アクセスの密度の変動を分析し、
前記アクセスの密度の変動の分析結果に基づいて前記キャッシュに保持するデータの優先度を設定し、
前記優先度に基づいて前記キャッシュに保持するデータの配置を制御する、
ことを特徴とするキャッシュ装置の制御方法。
Temporarily cache storage device data,
Monitor accesses to the storage device and analyze variations in the access density;
Set the priority of data held in the cache based on the analysis result of the access density variation,
Controlling the placement of data held in the cache based on the priority;
And a control method for the cache device.
前記アクセス密度変動分析手段が、
前記記憶デバイスへのアクセス密度が定期的に所定値より大きくなる時間帯を抽出する、
ことを特徴とする請求項6に記載のキャッシュ装置の制御方法。
The access density fluctuation analysis means
Extracting a time period in which the access density to the storage device is regularly larger than a predetermined value;
The method of controlling a cache device according to claim 6.
前記キャッシュ保持優先度設定手段が、
前記時間帯にアクセスのあったデータに前記時間帯にアクセスが無かったデータよりも高い優先度を付与する、
ことを特徴とする請求項7に記載のキャッシュ装置の制御方法。
The cache retention priority setting means includes
Giving higher priority to data accessed during the time period than data not accessed during the time period;
The method of controlling a cache device according to claim 7.
前記キャッシュ保持優先度設定手段が、
前記分析結果に基づいて前記アクセス密度に対応する優先度の重み係数を設定し、
前記優先度を前記重み係数とアクセス回数とに基づいて数値化してデータに設定する、
ことを特徴とする請求項7に記載のキャッシュ装置の制御方法。
The cache retention priority setting means includes
Set a priority weighting factor corresponding to the access density based on the analysis result,
The priority is digitized based on the weighting factor and the number of accesses, and set in data.
The method of controlling a cache device according to claim 7.
記憶装置のデータを一時的にキャッシュ保持するステップと、
前記記憶装置に対するアクセスを監視し前記アクセスの密度の変動を分析するステップと、
前記アクセスの密度の変動の分析結果に基づいて前記キャッシュに保持するデータの優先度を設定するステップと、
前記優先度に基づいて前記キャッシュに保持するデータの配置を制御するステップと、
を有することを特徴とするキャッシュ装置の制御プログラム。
Temporarily caching data in the storage device;
Monitoring access to the storage device and analyzing variations in the density of the access;
Setting the priority of the data held in the cache based on the analysis result of the variation in the access density;
Controlling the placement of data held in the cache based on the priority;
A control program for a cache device, comprising:
JP2015182609A 2015-09-16 2015-09-16 Cache device and control method for cache device Pending JP2017058904A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015182609A JP2017058904A (en) 2015-09-16 2015-09-16 Cache device and control method for cache device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015182609A JP2017058904A (en) 2015-09-16 2015-09-16 Cache device and control method for cache device

Publications (1)

Publication Number Publication Date
JP2017058904A true JP2017058904A (en) 2017-03-23

Family

ID=58391641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015182609A Pending JP2017058904A (en) 2015-09-16 2015-09-16 Cache device and control method for cache device

Country Status (1)

Country Link
JP (1) JP2017058904A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5750379A (en) * 1980-09-08 1982-03-24 Hitachi Ltd Buffer storage control system
US20020103965A1 (en) * 2001-01-26 2002-08-01 Dell Products, L.P. System and method for time window access frequency based caching for memory controllers
JP2009157749A (en) * 2007-12-27 2009-07-16 Fujitsu Ltd Control unit, storage system, and memory control method
JP2011216052A (en) * 2010-04-02 2011-10-27 Hitachi Ltd Management system and computer system management method
JP2015141545A (en) * 2014-01-29 2015-08-03 日本電気株式会社 Storage control device, storage control method, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5750379A (en) * 1980-09-08 1982-03-24 Hitachi Ltd Buffer storage control system
US20020103965A1 (en) * 2001-01-26 2002-08-01 Dell Products, L.P. System and method for time window access frequency based caching for memory controllers
JP2009157749A (en) * 2007-12-27 2009-07-16 Fujitsu Ltd Control unit, storage system, and memory control method
JP2011216052A (en) * 2010-04-02 2011-10-27 Hitachi Ltd Management system and computer system management method
JP2015141545A (en) * 2014-01-29 2015-08-03 日本電気株式会社 Storage control device, storage control method, and program

Similar Documents

Publication Publication Date Title
US11698857B2 (en) Storage system for migrating data between tiers
EP3388935B1 (en) Cache management method, cache controller and computer system
CN110058786B (en) Method, apparatus and computer program product for controlling write requests in a storage system
KR100338224B1 (en) A very efficient technique for dynamically tracking locality of a reference
US9529724B2 (en) Layered architecture for hybrid controller
EP2539821B1 (en) Caching based on spatial distribution of accesses to data storage devices
US6728837B2 (en) Adaptive data insertion for caching
TW201432451A (en) Method to throttle rate of data caching for improved I/O performance
EP3089039B1 (en) Cache management method and device
US9971698B2 (en) Using access-frequency hierarchy for selection of eviction destination
EP2889776B1 (en) Data arrangement control program, data arrangement control method and data arrangment control apparatus
US9141525B2 (en) Adaptive prestaging in a storage controller
CN107430551B (en) Data caching method, storage control device and storage equipment
US11194725B2 (en) Method and apparatus for adjusting cache prefetch policies based on predicted cache pollution from dynamically evolving workloads
JP2023507078A (en) Downgrade prefetch level
US20170024147A1 (en) Storage control device and hierarchized storage control method
JP5585330B2 (en) Information processing apparatus, information processing method, and computer program
JP2017058904A (en) Cache device and control method for cache device
JP2016114967A (en) Cache device, cache system, cache method and cache program
JP2009199367A (en) Computer system, i/o scheduler and i/o scheduling method
CN109783006A (en) The method of computing system and Operations Computing System
CN112445794B (en) Caching method of big data system
US10691614B1 (en) Adaptive page replacement
JP5678923B2 (en) Storage system, input / output control device, input / output control method, and computer program
CN111309257A (en) Pre-reading method and device for reading file at constant speed and computer readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190313

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190806