[go: up one dir, main page]

JP2014182674A - Storage device and storage method - Google Patents

Storage device and storage method Download PDF

Info

Publication number
JP2014182674A
JP2014182674A JP2013057550A JP2013057550A JP2014182674A JP 2014182674 A JP2014182674 A JP 2014182674A JP 2013057550 A JP2013057550 A JP 2013057550A JP 2013057550 A JP2013057550 A JP 2013057550A JP 2014182674 A JP2014182674 A JP 2014182674A
Authority
JP
Japan
Prior art keywords
cache memory
data
secondary cache
storage
stored
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
JP2013057550A
Other languages
Japanese (ja)
Other versions
JP6098262B2 (en
Inventor
Hiroyuki Otani
寛之 大谷
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2013057550A priority Critical patent/JP6098262B2/en
Publication of JP2014182674A publication Critical patent/JP2014182674A/en
Application granted granted Critical
Publication of JP6098262B2 publication Critical patent/JP6098262B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】特性の異なる複数の記憶素子を二次キャッシュメモリとして併用する時の導入コストおよび運用コストを削減できる記憶装置を提供する。
【解決手段】ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込み、主記憶手段3から一次キャッシュメモリ4へのデータの格納、および一次キャッシュメモリ4から第1の二次キャッシュメモリ5または第2の二次キャッシュメモリ6へのデータの転送制御を行う制御手段2を備え、制御手段2は、転送制御を行うデータに再利用可能性があり、かつ更新頻度が所定値以上である場合は第1の二次キャッシュメモリ5にデータを転送し、データに再利用可能性があり、かつ更新頻度が所定値よりも低い場合は第2の二次キャッシュメモリ6にデータを転送する。
【選択図】図13
There is provided a storage device capable of reducing introduction cost and operation cost when a plurality of storage elements having different characteristics are used together as a secondary cache memory.
Data reading and data writing in response to a request from a host terminal, data storage from a main storage means 3 to a primary cache memory 4, and primary cache memory 4 to first secondary cache memory 5 or When the control means 2 for controlling the transfer of data to the second secondary cache memory 6 is provided, the control means 2 may be reused for the data for which the transfer control is performed, and the update frequency is equal to or higher than a predetermined value Transfers data to the first secondary cache memory 5 and transfers the data to the second secondary cache memory 6 when the data can be reused and the update frequency is lower than a predetermined value.
[Selection] Figure 13

Description

本発明は、キャッシュ機能を備えた記憶装置および記憶方法に関する。   The present invention relates to a storage device having a cache function and a storage method.

ディスクプールの記憶領域を論理的に分割した論理ディスクを備え、ネットワーク(SAN:Storage Area Network)で接続されたホスト計算機から利用されるストレージシステムがある。ディスクプールは、RAID(Redundant Array of Inexpensive Disk Drive)に代表されるディスクアレイ装置のように、HDD(Hard Disk Drive)等の磁気ディスクの集合から構成されている。   There is a storage system that includes a logical disk that logically divides a storage area of a disk pool and that is used from a host computer connected via a network (SAN: Storage Area Network). The disk pool is composed of a set of magnetic disks such as HDDs (Hard Disk Drives) as in a disk array device represented by RAID (Redundant Array of Inexpensive Disk Drives).

ディスクプールにRAIDが使用されている場合、ストレージシステムは、RAIDを制御するコントローラを搭載している。また、ストレージシステムは、ホスト計算機からの論理ディスクへの読み書きアクセスをキャッシングするためのキャッシュメモリを搭載している場合もある。   When RAID is used for the disk pool, the storage system is equipped with a controller that controls RAID. The storage system may also be equipped with a cache memory for caching read / write access to the logical disk from the host computer.

SSD(Solid State Drive:半導体記憶媒体)は、記憶媒体としてフラッシュメモリを用いるドライブ装置である。SSDは、HDDよりもデータ転送速度等に関して高性能であり、永続的なデータの記憶媒体として利用される。   An SSD (Solid State Drive) is a drive device that uses a flash memory as a storage medium. The SSD has higher performance than the HDD in terms of data transfer speed, and is used as a permanent data storage medium.

また、一次キャッシュメモリから削除されるデータをディスクアレイ装置に搭載されたSSDに一時的に格納し、再びアクセス要求があった場合に、低速なHDDから読み出すのではなく、高速なSSDから一時的に格納したデータを読み出すという、SSD二次キャッシュメモリ技術が存在する。SSDの高速な読み出し技術を活かすことで、SSD二次キャッシュメモリ技術は、アクセス性能を向上させている。   In addition, data to be deleted from the primary cache memory is temporarily stored in the SSD mounted in the disk array device, and when there is an access request again, it is temporarily read from the high-speed SSD instead of being read from the low-speed HDD. There is an SSD secondary cache memory technology that reads data stored in the. By utilizing the high-speed reading technology of SSD, the SSD secondary cache memory technology improves access performance.

SSDの書き込み回数には上限(寿命)が存在する。書き込み回数が上限に到達すると、SSDは読み書き不能になる。読み書き不能となった場合、ユーザは、対象のSSDを交換することが求められる。   There is an upper limit (lifetime) for the number of SSD writes. When the number of writes reaches the upper limit, the SSD becomes unreadable / writable. When reading / writing becomes impossible, the user is required to replace the target SSD.

また、SSDには記録方式の違いにより、読み出しが高速で長寿命であるが高価なSLC(Single Level Cell)と、読み出しが高速で短寿命であるが比較的安価なMLC(Multi Level Cell)とが存在する。   Moreover, due to the difference in recording methods, SSD has a high speed and long life but is expensive SLC (Single Level Cell), and MLC (Multi Level Cell) which is high speed and short life but relatively inexpensive. Exists.

SSDを二次キャッシュメモリとして用いる場合、通常の記憶手段として利用されるよりも頻繁に書き換えが行われるため、SSDの書き込み回数は増加する傾向になる。すなわち、二次キャッシュメモリとして用いられたSSDは、早く寿命に到達しやすい。   When an SSD is used as a secondary cache memory, the number of SSD writes tends to increase because rewriting is performed more frequently than when used as a normal storage unit. That is, the SSD used as the secondary cache memory tends to reach the end of its life quickly.

二次キャッシュメモリとして短寿命なMLCを採用する場合、一次キャッシュメモリから削除されるデータを格納するための書き換えが頻繁に行われると、MLCは寿命に到達しやすい。その結果、媒体の交換が頻繁に発生し、運用コストがかかる傾向になる。   When the short-life MLC is adopted as the secondary cache memory, the MLC is likely to reach the lifetime if rewriting for storing data to be deleted from the primary cache memory is frequently performed. As a result, medium replacement frequently occurs and operation costs tend to increase.

二次キャッシュメモリとして長寿命なSLCを採用する場合、一次キャッシュメモリから削除されるデータを格納するための書き換えが頻繁に行われても、MLCと比較してSLCは寿命に到達しにくい。その結果、媒体の交換に伴う運用コストは抑えられる。しかし、SLCは高価な媒体であるため、採用する場合の導入コストは大きくなる。   When the long-life SLC is adopted as the secondary cache memory, the SLC is less likely to reach the life as compared with the MLC even if rewriting for storing data to be deleted from the primary cache memory is frequently performed. As a result, the operation cost associated with medium replacement can be suppressed. However, since the SLC is an expensive medium, the introduction cost when it is adopted becomes large.

例えば、導入コストが1、寿命が1年のMLC20台を用いて運用すると、導入コストは20で済む。しかし、1年毎に全てのMLCの交換が発生するため、5年運用すると総コストは100かかる。   For example, if the operation is performed using 20 MLCs having an introduction cost of 1 and a lifetime of 1 year, the introduction cost is only 20. However, since all MLCs are exchanged every year, the total cost is 100 when operated for 5 years.

また、例えば、導入コストが5、寿命が10年のSLC20台を用いて運用すると、導入コストは100かかる。しかし、導入してから10年間はSLCの交換が発生しないため、5年運用しても総コストは100のままである。   Further, for example, when an operation is performed using 20 SLC units having an introduction cost of 5 and a lifetime of 10 years, the introduction cost is 100. However, since the SLC is not exchanged for 10 years after the introduction, the total cost remains 100 even after 5 years of operation.

従って、二次キャッシュメモリとして、SLCとMLCのような特性の異なるSSDを併用する場合、SSD二次キャッシュメモリによるアクセス性能の向上を実現しつつ、SSD二次キャッシュメモリの導入コストおよび運用コストを削減することが課題である。   Therefore, when using SSDs with different characteristics, such as SLC and MLC, as the secondary cache memory, it is possible to improve the access performance of the SSD secondary cache memory while reducing the introduction cost and operation cost of the SSD secondary cache memory. Reduction is a challenge.

特許文献1には、特性の異なるSSDであるSLCとMLCを混載した構成において、SSDのブロックに対する書き込み頻度と書き込み回数を確認し、書き込み回数の上限値を超えたブロックの代替処理において、書き込み頻度の高いブロックには寿命の長いSLCのブロックを割り当てることで、割り当てるブロックが枯渇しないように制御し、寿命を長期化することによって、コストを削減する方法が記載されている。   Japanese Patent Application Laid-Open No. 2004-228688 confirms the writing frequency and the number of times of writing to an SSD block in a configuration in which SLC and MLC which are SSDs having different characteristics are mixedly mounted, and in the replacement processing of a block exceeding the upper limit of the number of times of writing It describes a method for reducing costs by allocating long-life SLC blocks to high-blocks so that the allocated blocks are not exhausted and extending their lifetimes.

特開2010−108246号公報JP 2010-108246 A

しかし、特許文献1に記載された方法は、SSDにデータを格納した記憶手段の代替処理に関する方法であり、SSDを二次キャッシュメモリとして利用した場合は想定されていない。よって、特許文献1に記載された方法では、特性の異なる複数のSSDを二次キャッシュメモリとして併用した場合の課題を解決できない。   However, the method described in Patent Document 1 is a method related to an alternative process of a storage unit that stores data in an SSD, and is not assumed when the SSD is used as a secondary cache memory. Therefore, the method described in Patent Document 1 cannot solve the problem when a plurality of SSDs having different characteristics are used in combination as a secondary cache memory.

そこで、本発明は、特性の異なる複数の記憶素子を二次キャッシュメモリとして併用する時の導入コストおよび運用コストを削減できる記憶装置および記憶方法を提供する。   Therefore, the present invention provides a storage device and a storage method capable of reducing the introduction cost and the operation cost when a plurality of storage elements having different characteristics are used together as a secondary cache memory.

本発明による記憶装置は、データを記憶する主記憶手段と、主記憶手段に格納されるデータをキャッシングするための一次キャッシュメモリと、一次キャッシュメモリから削除されるデータを格納する第1の二次キャッシュメモリと、データの書き込み可能回数が第1の二次キャッシュメモリの書き込み可能回数よりも少ない半導体記憶媒体が用いられ、一次キャッシュメモリから削除されるデータを格納する第2の二次キャッシュメモリと、ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込み、主記憶手段から一次キャッシュメモリへのデータの格納、および一次キャッシュメモリから第1の二次キャッシュメモリまたは第2の二次キャッシュメモリへのデータの転送制御を行う制御手段とを備え、制御手段は、転送制御を行うデータに再利用可能性があり、かつ更新頻度が所定値以上である場合は第1の二次キャッシュメモリにデータを転送し、データに再利用可能性があり、かつ更新頻度が所定値よりも低い場合は第2の二次キャッシュメモリにデータを転送することを特徴とする。   A storage device according to the present invention includes a main storage means for storing data, a primary cache memory for caching data stored in the main storage means, and a first secondary for storing data to be deleted from the primary cache memory A cache memory, and a second secondary cache memory that stores data to be deleted from the primary cache memory, using a semiconductor storage medium in which the number of times data can be written is less than the number of times that the first secondary cache memory can be written , Reading and writing data in response to a request from the host terminal, storing data from the main storage means to the primary cache memory, and from the primary cache memory to the first secondary cache memory or the second secondary cache memory Control means for controlling the transfer of data to the control means, the control means If the data to be controlled is reusable and the update frequency is greater than or equal to a predetermined value, the data is transferred to the first secondary cache memory, the data may be reusable, and the update frequency is predetermined If the value is lower than the value, the data is transferred to the second secondary cache memory.

本発明による記憶方法は、データを記憶する主記憶手段と、主記憶手段に格納されるデータをキャッシングするための一次キャッシュメモリと、一次キャッシュメモリから削除されるデータを格納する第1の二次キャッシュメモリと、データの書き込み可能回数が第1の二次キャッシュメモリの書き込み可能回数よりも少ない半導体記憶媒体が用いられ、一次キャッシュメモリから削除されるデータを格納する第2の二次キャッシュメモリとを備える記憶装置において実行される記憶方法であって、ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込みを行い、主記憶手段から一次キャッシュメモリへデータを格納し、一次キャッシュメモリから第1の二次キャッシュメモリまたは第2の二次キャッシュメモリへのデータの転送制御を行い、転送制御を行うデータに再利用可能性があり、かつ更新頻度が所定値以上である場合は第1の二次キャッシュメモリにデータを転送し、データに再利用可能性があり、かつ更新頻度が所定値よりも低い場合は第2の二次キャッシュメモリにデータを転送することを特徴とする記憶方法。   The storage method according to the present invention comprises a main storage means for storing data, a primary cache memory for caching data stored in the main storage means, and a first secondary for storing data to be deleted from the primary cache memory. A cache memory, and a second secondary cache memory that stores data to be deleted from the primary cache memory, using a semiconductor storage medium in which the number of times data can be written is less than the number of times that the first secondary cache memory can be written A storage method executed in a storage device comprising: reading data and writing data in response to a request from a host terminal; storing data from a main storage means into a primary cache memory; Data to one secondary cache memory or second secondary cache memory If transfer control is performed, the data to be transferred may be reused, and if the update frequency is greater than or equal to a predetermined value, the data is transferred to the first secondary cache memory and may be reused. In addition, when the update frequency is lower than a predetermined value, the data is transferred to the second secondary cache memory.

本発明によれば、特性の異なる複数の記憶素子を二次キャッシュメモリとして併用する時の導入コストおよび運用コストを削減できる。   According to the present invention, it is possible to reduce the introduction cost and the operation cost when a plurality of storage elements having different characteristics are used together as a secondary cache memory.

本発明による記憶装置の一実施形態の構成例を示すシステム構成図である。1 is a system configuration diagram illustrating a configuration example of an embodiment of a storage device according to the present invention. ディスクアレイ装置200の構成例を示すブロック図である。2 is a block diagram showing a configuration example of a disk array device 200. FIG. ディスクアレイ装置データ記憶手段215に保存されているアクセス履歴情報の一例を示す説明図である。6 is an explanatory diagram showing an example of access history information stored in a disk array device data storage unit 215. FIG. ディスクアレイ装置データ記憶手段215に保存されているキャッシュ割り当て管理情報の一例を示す説明図である。6 is an explanatory diagram showing an example of cache allocation management information stored in a disk array device data storage unit 215. FIG. ディスクアレイ装置データ記憶手段215に保存されている一次キャッシュメモリ管理情報の一例を示す説明図である。5 is an explanatory diagram showing an example of primary cache memory management information stored in a disk array device data storage unit 215. FIG. ディスクアレイ装置データ記憶手段215に保存されている二次キャッシュメモリ管理情報の一例を示す説明図である。6 is an explanatory diagram showing an example of secondary cache memory management information stored in a disk array device data storage unit 215. FIG. ディスクアレイ装置データ記憶手段215に保存されている二次キャッシュメモリ管理情報の一例を示す説明図である。6 is an explanatory diagram showing an example of secondary cache memory management information stored in a disk array device data storage unit 215. FIG. ディスクアレイ装置データ記憶手段215に保存されているSSD書き換え管理情報の一例を示す説明図である。It is explanatory drawing which shows an example of the SSD rewrite management information preserve | saved at the disk array apparatus data storage means 215. アクセス履歴記録手段210の動作を示すフローチャートである。4 is a flowchart showing the operation of access history recording means 210. 二次キャッシュメモリ格納手段212の動作を示すフローチャートである。4 is a flowchart showing the operation of the secondary cache memory storage means 212. 二次キャッシュメモリ再設定手段213の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the secondary cache memory resetting means 213. 書き込み上限監視手段214の動作を示すフローチャートである。4 is a flowchart showing the operation of the write upper limit monitoring means 214. 記憶装置の概要を示すブロック図である。It is a block diagram which shows the outline | summary of a memory | storage device.

以下、本発明の実施形態を図面を参照して説明する。図1は、本発明による記憶装置の一実施形態の構成例を示すシステム構成図である。図1に示す記憶装置であるディスクアレイ装置200は、ホスト計算機100と通信路300で接続されている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a system configuration diagram showing a configuration example of an embodiment of a storage device according to the present invention. A disk array device 200 that is a storage device shown in FIG. 1 is connected to a host computer 100 via a communication path 300.

ホスト計算機100は、通信路300を介して、ディスクアレイ装置200にデータの読み出し要求、またはデータの書き込み要求を発行する。   The host computer 100 issues a data read request or a data write request to the disk array device 200 via the communication path 300.

ディスクアレイ装置200は、MLCから構成される第一の二次キャッシュメモリと、SLCから構成される第二の二次キャッシュメモリの複数の二次キャッシュメモリを搭載している。また、ディスクアレイ装置200は、装置内に構築された論理ディスクのブロック単位にアクセス情報を記録する。   The disk array device 200 includes a plurality of secondary cache memories including a first secondary cache memory composed of MLC and a second secondary cache memory composed of SLC. The disk array device 200 records access information in block units of logical disks built in the device.

二次キャッシュメモリにデータを格納する際、ディスクアレイ装置200は、データが記憶されている論理ディスクのブロックに対する過去のアクセス傾向を分析する。そして、ディスクアレイ装置200は、SSDの寿命をなるべく延ばすことを目的に、データの格納先として第一の二次キャッシュメモリか第二の二次キャッシュメモリを選択する。ディスクアレイ装置200は、選択した二次キャッシュメモリにデータを格納する。   When data is stored in the secondary cache memory, the disk array device 200 analyzes the past access tendency with respect to the block of the logical disk in which the data is stored. Then, the disk array device 200 selects the first secondary cache memory or the second secondary cache memory as a data storage destination for the purpose of extending the life of the SSD as much as possible. The disk array device 200 stores the data in the selected secondary cache memory.

具体的な格納方法として、ディスクアレイ装置200は、過去のアクセス傾向から、頻繁に書き換えが行われず長期的に再利用されると判断したブロックに記憶されているデータを、書き込み耐性の低いMLCから構成される第一の二次キャッシュメモリに優先的に格納する。また、ディスクアレイ装置200は、再利用されるが短期的に更新される可能性があると判断したブロックに記憶されているデータを、書き込み耐性の高いSLCから構成される第二の二次キャッシュメモリに格納する。   As a specific storage method, the disk array device 200 reads data stored in a block that is determined not to be frequently rewritten and reused in the long term from the past access tendency from the MLC having low write endurance. Store preferentially in the configured first secondary cache memory. In addition, the disk array device 200 stores the data stored in the block that has been determined to be reused but may be updated in the short term, as a second secondary cache composed of SLC having high write resistance. Store in memory.

また、ディスクアレイ装置200は、書き込み耐性の高いSLCから構成される第二の二次キャッシュメモリに、長期間更新されずに継続して格納されているデータに関して、書き込み耐性の低いMLCから構成される第一の二次キャッシュメモリを利用するように再設定する。   In addition, the disk array device 200 is composed of MLC with low write endurance with respect to data continuously stored in the second secondary cache memory composed of SLC with high write endurance without being updated for a long time. To use the first secondary cache memory.

上記の方法により、SSD二次キャッシュメモリによる性能向上が図られるとともに、SSD二次キャッシュメモリの導入コストおよび運用コストが削減される。   With the above method, the performance of the SSD secondary cache memory is improved, and the introduction cost and operation cost of the SSD secondary cache memory are reduced.

通信路300は、ホスト計算機100と、ディスクアレイ装置200とを通信可能に接続する。通信路300は、例えば、SANである。   The communication path 300 connects the host computer 100 and the disk array device 200 so that they can communicate with each other. The communication path 300 is, for example, a SAN.

次に、ディスクアレイ装置200の詳細な構成を図2を参照して説明する。図2は、ディスクアレイ装置200の構成例を示すブロック図である。   Next, a detailed configuration of the disk array device 200 will be described with reference to FIG. FIG. 2 is a block diagram illustrating a configuration example of the disk array device 200.

図2に示すディスクアレイ装置200は、ストレージコントローラ201と、HDD(Hard Disk Drive)202〜204と、プール205と、論理ディスク206と、一次キャッシュメモリ207と、二次キャッシュメモリ208と、二次キャッシュメモリ209と、アクセス履歴記録手段210と、アクセス傾向分析手段211と、二次キャッシュメモリ格納手段212と、二次キャッシュメモリ再設定手段213と、書き込み上限監視手段214と、ディスクアレイ装置データ記憶手段215とを含む。   2 includes a storage controller 201, HDDs (Hard Disk Drives) 202 to 204, a pool 205, a logical disk 206, a primary cache memory 207, a secondary cache memory 208, and a secondary cache memory. Cache memory 209, access history recording means 210, access trend analysis means 211, secondary cache memory storage means 212, secondary cache memory resetting means 213, write upper limit monitoring means 214, disk array device data storage Means 215.

ストレージコントローラ201は、ホスト計算機100からの読み出し要求あるいは書き込み要求に基づき、データの読み出し処理あるいは書き込み処理を制御する機能を有する。ストレージコントローラ201は、各手段の指示に基づき、データを論理ディスク206から一次キャッシュメモリ207へ格納したり、一次キャッシュメモリ207に格納されているデータを二次キャッシュメモリへ格納または破棄したりする。   The storage controller 201 has a function of controlling data read processing or write processing based on a read request or write request from the host computer 100. The storage controller 201 stores data from the logical disk 206 to the primary cache memory 207 and stores or discards data stored in the primary cache memory 207 in the secondary cache memory based on instructions from each means.

HDD202〜204は、ディスクアレイ装置200に搭載されている磁気ディスクである。HDD202〜204は、データを記憶する機能を有する。なお、ディスクアレイ装置200に搭載されている磁気ディスクの数は3台以上でもよい。   The HDDs 202 to 204 are magnetic disks mounted on the disk array device 200. The HDDs 202 to 204 have a function of storing data. The number of magnetic disks mounted on the disk array device 200 may be three or more.

プール205は、HDD202〜204の集合から構成された仮想的なデータ記憶領域である。なお、HDD202〜204は、RAIDによりプール205を構成してもよい。   The pool 205 is a virtual data storage area configured from a set of HDDs 202 to 204. The HDDs 202 to 204 may configure the pool 205 by RAID.

論理ディスク206は、プール205から切り出された仮想的なデータ記憶領域である。ストレージコントローラ201は、データの読み出し処理および書き込み処理をHDDに対してではなく、論理ディスク206に対して行う。なお、プール205から切り出される論理ディスクは2台以上でもよい。   The logical disk 206 is a virtual data storage area cut out from the pool 205. The storage controller 201 performs data read processing and data write processing on the logical disk 206 instead of the HDD. Two or more logical disks may be cut out from the pool 205.

一次キャッシュメモリ207は、ストレージコントローラ201がホスト計算機100からの書き込み要求により受け取ったデータを格納する機能を有する。また、一次キャッシュメモリ207は、ホスト計算機100からの読み出し要求により、ストレージコントローラ201がホスト計算機100へ返却するデータを格納する機能を有する。   The primary cache memory 207 has a function of storing data received by the storage controller 201 in response to a write request from the host computer 100. The primary cache memory 207 has a function of storing data that the storage controller 201 returns to the host computer 100 in response to a read request from the host computer 100.

一次キャッシュメモリ207には、直近の読み出し要求または書き込み要求に対するデータが格納される。しかし、新たなデータを格納するために新たな格納ブロックを確保することが求められる場合、所定の期間利用されていないデータは、一次キャッシュメモリ207から削除される。削除されるデータは、例えばLRU(Least Recently Used)などのアルゴリズムによって選定される。   The primary cache memory 207 stores data for the most recent read request or write request. However, when it is required to secure a new storage block for storing new data, data that has not been used for a predetermined period is deleted from the primary cache memory 207. The data to be deleted is selected by an algorithm such as LRU (Least Recently Used).

二次キャッシュメモリ208は、一次キャッシュメモリ207から削除されるデータを格納する第一の二次キャッシュメモリである。二次キャッシュメモリ208は、短寿命なSSDであるMLCから構成されている。   The secondary cache memory 208 is a first secondary cache memory that stores data to be deleted from the primary cache memory 207. The secondary cache memory 208 is composed of an MLC that is a short-lived SSD.

二次キャッシュメモリ209は、一次キャッシュメモリ207から削除されるデータを格納する第二の二次キャッシュメモリである。二次キャッシュメモリ209は、長寿命なSSDであるSLCから構成されている。   The secondary cache memory 209 is a second secondary cache memory that stores data to be deleted from the primary cache memory 207. The secondary cache memory 209 is composed of SLC, which is a long-lifetime SSD.

アクセス履歴記録手段210は、論理ディスク206のアドレス管理(ブロック)単位に、所定期間内の読み出し回数、所定期間内の書き込み回数、一次キャッシュメモリおよび二次キャッシュメモリに対するキャッシュヒット回数、更新時刻、および前回からの更新間隔等を、アクセス履歴情報として記録する機能を有する。   The access history recording unit 210 includes, for each address management (block) of the logical disk 206, the number of reads within a predetermined period, the number of writes within a predetermined period, the number of cache hits for the primary cache memory and the secondary cache memory, the update time, It has a function of recording an update interval from the previous time as access history information.

アクセス履歴記録手段210は、ストレージコントローラ201がホスト計算機100から論理ディスク206に対する読み出し要求もしくは書き込み要求を受けた際、またはストレージコントローラ201が一次キャッシュメモリ207からデータを削除する際に動作する。   The access history recording unit 210 operates when the storage controller 201 receives a read request or write request for the logical disk 206 from the host computer 100 or when the storage controller 201 deletes data from the primary cache memory 207.

アクセス傾向分析手段211は、アクセス履歴情報から論理ディスク206のブロックごとに、ホスト計算機100のブロックに対するアクセス傾向を分析し、アクセス傾向情報を導出する機能を有する。   The access trend analysis unit 211 has a function of analyzing the access trend for the block of the host computer 100 for each block of the logical disk 206 from the access history information, and deriving the access trend information.

二次キャッシュメモリ格納手段212は、一次キャッシュメモリ207からデータが削除される場合に、削除されるデータの格納先になる二次キャッシュメモリの候補を決定する機能を有する。   The secondary cache memory storage unit 212 has a function of determining a candidate for a secondary cache memory that is a storage destination of data to be deleted when data is deleted from the primary cache memory 207.

二次キャッシュメモリ格納手段212は、アクセス傾向分析手段211により導出されたアクセス傾向情報に応じて、データの格納先として第一の二次キャッシュメモリか第二の二次キャッシュメモリを選択する。次いで、二次キャッシュメモリ格納手段212は、選択した二次キャッシュメモリにデータを格納するよう、ストレージコントローラ201に指示する。   The secondary cache memory storage unit 212 selects the first secondary cache memory or the second secondary cache memory as the data storage destination according to the access trend information derived by the access trend analysis unit 211. Next, the secondary cache memory storage unit 212 instructs the storage controller 201 to store data in the selected secondary cache memory.

具体的に、二次キャッシュメモリ格納手段212は、一次キャッシュメモリ207から削除されるデータが記憶されている論理ディスク206のブロックに対するアクセス傾向情報を参照する。二次キャッシュメモリ格納手段212は、アクセス傾向情報を基に、データの再利用可能性の有無および更新頻度の高さを確認し、データの格納先になる二次キャッシュメモリを決定する。   Specifically, the secondary cache memory storage unit 212 refers to access tendency information for a block of the logical disk 206 in which data to be deleted from the primary cache memory 207 is stored. The secondary cache memory storage unit 212 confirms the possibility of data reusability and the high update frequency based on the access trend information, and determines the secondary cache memory to be the data storage destination.

データに再利用可能性が有り更新頻度が低く、かつMLCから構成される二次キャッシュメモリ208が利用可能である場合、二次キャッシュメモリ格納手段212は、データの格納先を二次キャッシュメモリ208に決定する。   When the data is reusable, the update frequency is low, and the secondary cache memory 208 configured by MLC is available, the secondary cache memory storage unit 212 sets the data storage destination to the secondary cache memory 208. To decide.

また、データに再利用可能性が有り更新頻度が高く、かつSLCから構成される二次キャッシュメモリ209が利用可能である場合、二次キャッシュメモリ格納手段212は、データの格納先を二次キャッシュメモリ209に決定する。   Further, when the data is reusable, the update frequency is high, and the secondary cache memory 209 configured by SLC is available, the secondary cache memory storage unit 212 sets the data storage destination to the secondary cache. The memory 209 is determined.

データに再利用可能性は無いと判断した場合、二次キャッシュメモリ格納手段212は、データをいずれの二次キャッシュメモリにも格納せず破棄することを決定する。   If it is determined that the data is not reusable, the secondary cache memory storage unit 212 determines to discard the data without storing it in any of the secondary cache memories.

二次キャッシュメモリ再設定手段213は、第二の二次キャッシュメモリに所定の保持間隔を超えて格納されているデータが存在する場合、対象データの格納場所を第二の二次キャッシュメモリから第一の二次キャッシュメモリに変更する機能を有する。   The secondary cache memory resetting means 213 changes the storage location of the target data from the second secondary cache memory to the second secondary cache memory when there is data stored beyond the predetermined holding interval in the second secondary cache memory. It has a function of changing to one secondary cache memory.

具体的に、二次キャッシュメモリ再設定手段213は、SLCから構成される二次キャッシュメモリ209に格納されているデータの中で、長期的に保持され続けているデータが存在するか否か確認する。   Specifically, the secondary cache memory resetting unit 213 confirms whether there is data that has been retained for a long time among the data stored in the secondary cache memory 209 composed of SLC. To do.

所定の期間を超えて保持されているデータが存在し、MLCから構成される二次キャッシュメモリ208が利用可能である場合、二次キャッシュメモリ再設定手段213は、二次キャッシュメモリ208に対象データを格納するようストレージコントローラ201に指示する。   When there is data held beyond a predetermined period and the secondary cache memory 208 configured by MLC is available, the secondary cache memory resetting unit 213 stores the target data in the secondary cache memory 208. Is stored in the storage controller 201.

次いで、二次キャッシュメモリ再設定手段213は、SLCから構成される二次キャッシュメモリ209に格納されている対象データを破棄するようストレージコントローラ201に指示する。このようにして、二次キャッシュメモリ再設定手段213は、二次キャッシュメモリ209に所定の保持間隔を超えて格納されているデータの格納場所を再設定する。   Next, the secondary cache memory resetting unit 213 instructs the storage controller 201 to discard the target data stored in the secondary cache memory 209 composed of SLC. In this way, the secondary cache memory resetting unit 213 resets the storage location of data stored in the secondary cache memory 209 beyond a predetermined holding interval.

書き込み上限監視手段214は、二次キャッシュメモリを構成するSSDに対するデータの書き込み回数を監視する機能を有する。そして、SSDの書き込み回数が所定の書き込み上限回数を超過した場合、書き込み上限監視手段214は、書き込み上限回数を超過したSSDの利用を制限する。   The write upper limit monitoring unit 214 has a function of monitoring the number of data writes to the SSD constituting the secondary cache memory. When the SSD write count exceeds a predetermined write upper limit count, the write upper limit monitoring unit 214 limits the use of the SSD exceeding the write upper limit count.

具体的に、書き込み上限監視手段214は、二次キャッシュメモリを構成するSSDに対する書き込み処理を監視する。そして、書き込み回数が所定のしきい値に到達した場合、書き込み上限監視手段214は、到達したSSDの状態を注意状態に設定する。   Specifically, the write upper limit monitoring unit 214 monitors the write process for the SSD constituting the secondary cache memory. When the write count reaches a predetermined threshold value, the write upper limit monitoring unit 214 sets the reached SSD state as a caution state.

さらに、書き込み回数が書き込み上限回数に到達した場合、書き込み上限監視手段214は、到達したSSDの状態を利用不可状態とする。利用不可状態とすることによって、書き込み上限監視手段214は、対象のSSDを利用できないようにする。   Further, when the write count reaches the write upper limit count, the write upper limit monitoring unit 214 sets the reached SSD state to the unusable state. The write upper limit monitoring unit 214 prevents the target SSD from being used by making it unavailable.

ディスクアレイ装置データ記憶手段215は、アクセス履歴情報、キャッシュ割り当て管理情報、一次キャッシュメモリ管理情報、二次キャッシュメモリ管理情報、およびSSD書き換え管理情報を記憶する機能を有する。   The disk array device data storage means 215 has a function of storing access history information, cache allocation management information, primary cache memory management information, secondary cache memory management information, and SSD rewrite management information.

図3は、ディスクアレイ装置データ記憶手段215に保存されているアクセス履歴情報の一例を示す説明図である。アクセス履歴情報は、ホスト計算機100からの要求に応じたストレージコントローラ201による読み出し処理または書き込み処理、一次キャッシュメモリ207のデータの削除処理、およびデータ格納先としての二次キャッシュメモリの再設定処理が行なわれる際に更新される。   FIG. 3 is an explanatory diagram showing an example of access history information stored in the disk array device data storage means 215. The access history information is read or written by the storage controller 201 in response to a request from the host computer 100, deleted from the primary cache memory 207, and resetted from the secondary cache memory as a data storage destination. Will be updated when

ディスクアレイ装置データ記憶手段215に保存されているアクセス履歴情報は、LD(論理ディスク番号)301、LDアドレス302、キャッシュヒット回数303、更新時刻304、更新間隔305、read回数306、write回数307およびキャッシュ更新回数308から構成される。   The access history information stored in the disk array device data storage means 215 includes an LD (logical disk number) 301, an LD address 302, a cache hit count 303, an update time 304, an update interval 305, a read count 306, a write count 307, and It consists of cache update count 308.

LD301は、アクセス履歴を記録する対象の論理ディスク206の識別番号を示す情報である。LDアドレス302は、アクセス履歴を記録する対象の論理ディスク206のブロックの識別番号を示す情報である。   The LD 301 is information indicating the identification number of the logical disk 206 for which the access history is recorded. The LD address 302 is information indicating the block identification number of the logical disk 206 for which the access history is recorded.

キャッシュヒット回数303は、ホスト計算機100から、対象の論理ディスク206のブロックに記憶されているデータに対するアクセス要求があった時に、データが一次キャッシュメモリ、または二次キャッシュメモリに存在していた回数を示す情報である。   The number of cache hits 303 is the number of times that data exists in the primary cache memory or the secondary cache memory when the host computer 100 makes an access request to the data stored in the block of the target logical disk 206. It is information to show.

更新時刻304は、ホスト計算機100からの書き込み要求により、対象の論理ディスク206のブロックに書き込み処理が行なわれた最新の時刻を示す情報である。更新間隔305は、前回の更新時刻304と最新の更新時刻304との差分を示す情報である。   The update time 304 is information indicating the latest time when a write process was performed on a block of the target logical disk 206 in response to a write request from the host computer 100. The update interval 305 is information indicating a difference between the previous update time 304 and the latest update time 304.

read回数306は、ホスト計算機100から対象の論理ディスク206のブロックに対する読み出し処理が行なわれた回数を示す情報である。write回数307は、ホスト計算機100から対象の論理ディスク206のブロックに対する書き込み処理が行なわれた回数を示す情報である。   The read count 306 is information indicating the number of times that the read processing for the block of the target logical disk 206 has been performed from the host computer 100. The write count 307 is information indicating the number of times the host computer 100 has performed write processing on the target logical disk 206 block.

キャッシュ更新回数308は、対象の論理ディスク206のブロックに記憶されているデータが、一次キャッシュメモリまたは二次キャッシュメモリに格納された回数を示す情報である。   The cache update count 308 is information indicating the number of times data stored in the block of the target logical disk 206 is stored in the primary cache memory or the secondary cache memory.

図4は、ディスクアレイ装置データ記憶手段215に保存されているキャッシュ割り当て管理情報の一例を示す説明図である。キャッシュ割り当て管理情報は、論理ディスク206の各ブロックのデータが一次キャッシュメモリまたは二次キャッシュメモリに格納されている場合、その格納先を示す情報である。   FIG. 4 is an explanatory diagram showing an example of cache allocation management information stored in the disk array device data storage means 215. The cache allocation management information is information indicating a storage destination when data of each block of the logical disk 206 is stored in the primary cache memory or the secondary cache memory.

ディスクアレイ装置データ記憶手段215に保存されているキャッシュ割り当て管理情報は、LD301、LDアドレス302、キャッシュフラグ309、格納先310および格納先アドレス311から構成される。   The cache allocation management information stored in the disk array device data storage unit 215 includes an LD 301, an LD address 302, a cache flag 309, a storage destination 310, and a storage destination address 311.

キャッシュフラグ309は、対象の論理ディスク206のブロックに記憶されているデータがキャッシュメモリに格納されているか否かを示す情報である。格納先310は、データがキャッシュメモリに格納されている場合、格納されているキャッシュメモリを示す情報である。格納先アドレス311は、データがキャッシュメモリに格納されている場合、格納されているキャッシュメモリのブロックを示す情報である。   The cache flag 309 is information indicating whether the data stored in the block of the target logical disk 206 is stored in the cache memory. The storage destination 310 is information indicating the stored cache memory when data is stored in the cache memory. The storage destination address 311 is information indicating a block of the stored cache memory when data is stored in the cache memory.

図5は、ディスクアレイ装置データ記憶手段215に保存されている一次キャッシュメモリ管理情報の一例を示す説明図である。一次キャッシュメモリ管理情報は、一次キャッシュメモリ207のデータの格納状況を示す情報である。   FIG. 5 is an explanatory diagram showing an example of primary cache memory management information stored in the disk array device data storage means 215. The primary cache memory management information is information indicating the data storage status of the primary cache memory 207.

ディスクアレイ装置データ記憶手段215に保存されている一次キャッシュメモリ管理情報は、アドレス312、キャッシュフラグ313、LD301およびLDアドレス302から構成される。   The primary cache memory management information stored in the disk array device data storage means 215 includes an address 312, a cache flag 313, an LD 301, and an LD address 302.

アドレス312は、キャッシュメモリのブロックの識別番号を示す情報である。キャッシュフラグ313は、対象のブロックがデータを格納しているか否かを示す情報である。LD301およびLDアドレス302は、格納されているデータが記憶されている論理ディスク206とブロックを示す。   The address 312 is information indicating the identification number of the block of the cache memory. The cache flag 313 is information indicating whether or not the target block stores data. An LD 301 and an LD address 302 indicate a logical disk 206 and a block in which stored data is stored.

図6は、ディスクアレイ装置データ記憶手段215に保存されている二次キャッシュメモリ管理情報の一例を示す説明図である。二次キャッシュメモリ管理情報は、二次キャッシュメモリ208および二次キャッシュメモリ209のデータの格納状況を示す情報である。なお、図7は、ディスクアレイ装置データ記憶手段215に保存されている二次キャッシュメモリ管理情報の他の一例を示す説明図である。   FIG. 6 is an explanatory diagram showing an example of secondary cache memory management information stored in the disk array device data storage means 215. The secondary cache memory management information is information indicating the data storage status of the secondary cache memory 208 and the secondary cache memory 209. FIG. 7 is an explanatory diagram showing another example of the secondary cache memory management information stored in the disk array device data storage unit 215.

ディスクアレイ装置データ記憶手段215に保存されている二次キャッシュメモリ管理情報は、SSD314、アドレス315、キャッシュフラグ316、LD301、LDアドレス302および保持時刻317から構成される。   The secondary cache memory management information stored in the disk array device data storage unit 215 includes an SSD 314, an address 315, a cache flag 316, an LD 301, an LD address 302, and a holding time 317.

SSD314は、対象の二次キャッシュメモリを構成するSSDの識別番号を示す情報である。アドレス315は、対象のSSDのブロックの識別番号を示す情報である。キャッシュフラグ316は、対象のブロックがデータを格納しているか否かを示す情報である。   The SSD 314 is information indicating the identification number of the SSD constituting the target secondary cache memory. The address 315 is information indicating the identification number of the target SSD block. The cache flag 316 is information indicating whether or not the target block stores data.

LD301およびLDアドレス302は、格納されているデータが記憶されている論理ディスク206とブロックを示す。保持時刻317は、対象のブロックがデータを格納している場合、データを格納した時刻を示す情報である。   An LD 301 and an LD address 302 indicate a logical disk 206 and a block in which stored data is stored. The retention time 317 is information indicating the time when data is stored when the target block stores data.

図8は、ディスクアレイ装置データ記憶手段215に保存されているSSD書き換え管理情報の一例を示す説明図である。SSD書き換え管理情報は、SSDに対する書き換え状況を示す情報である。SSD書き換え管理情報は、対象のSSDが利用可能かどうか判断するための情報を保持する。   FIG. 8 is an explanatory diagram showing an example of SSD rewrite management information stored in the disk array device data storage means 215. The SSD rewrite management information is information indicating the rewrite status of the SSD. The SSD rewrite management information holds information for determining whether the target SSD can be used.

ディスクアレイ装置データ記憶手段215に保存されているSSD書き換え管理情報は、SSD314、種別318、write回数319、上限write回数320、しきい値321および状態322から構成される。   The SSD rewrite management information stored in the disk array device data storage unit 215 includes an SSD 314, a type 318, a write count 319, an upper limit write count 320, a threshold value 321 and a state 322.

種別318は、SSD314に対応するSSDの種類を示す情報である。write回数319は、対象のSSDの各ブロックにおけるwrite回数の総和を示す情報である。   The type 318 is information indicating the type of SSD corresponding to the SSD 314. The write count 319 is information indicating the sum of the write counts in each block of the target SSD.

上限write回数320は、対象のSSDへの書き込みが不可になる書き込み回数を示す情報である。しきい値321は、対象のSSDの状態が「注意」になる書き込み回数を示す情報である。   The upper limit number of times of writing 320 is information indicating the number of times of writing at which writing to the target SSD becomes impossible. The threshold value 321 is information indicating the number of times the target SSD is in a “Caution” state.

状態322は、対象のSSDの現在の状態を示す情報である。状態322には、「正常」、「注意」、「利用不可」のいずれかが表示される。状態322が「正常」である場合、対象のSSDは正常に書き込むことができる状態である。   The state 322 is information indicating the current state of the target SSD. In the status 322, one of “normal”, “caution”, and “unusable” is displayed. When the state 322 is “normal”, the target SSD can be written normally.

状態322が「注意」である場合、対象のSSDは書き込み不可になる手前の状態である。状態322が「利用不可」である場合、対象のSSDは書き込むことができない状態である。   When the state 322 is “Caution”, the target SSD is in a state before writing becomes impossible. When the status 322 is “unusable”, the target SSD cannot be written.

なお、本実施形態におけるストレージコントローラ201、アクセス履歴記録手段210、アクセス傾向分析手段211、二次キャッシュメモリ格納手段212、二次キャッシュメモリ再設定手段213、および書き込み上限監視手段214は、例えば、プログラムに従って動作するCPU(Central Processing Unit)によって実現される。   The storage controller 201, the access history recording unit 210, the access tendency analysis unit 211, the secondary cache memory storage unit 212, the secondary cache memory resetting unit 213, and the write upper limit monitoring unit 214 in this embodiment are, for example, a program This is realized by a CPU (Central Processing Unit) that operates according to the above.

また、一次キャッシュメモリ207は、例えば、CPUが直接読み書きできるSRAM(Static Random Access Memory)によって実現される。   The primary cache memory 207 is realized by, for example, an SRAM (Static Random Access Memory) that can be directly read and written by the CPU.

以下、本発明の動作を説明する。最初に、ホスト計算機100が読み出し要求または書き込み要求を発行した際、またはストレージコントローラ201が一次キャッシュメモリ207に格納されたデータの削除処理を行った際の、アクセス履歴記録手段210の更新処理の動作を図9のフローチャートを参照して説明する。図9は、アクセス履歴記録手段210の動作を示すフローチャートである。   The operation of the present invention will be described below. First, an operation of update processing of the access history recording unit 210 when the host computer 100 issues a read request or a write request, or when the storage controller 201 performs a deletion process of data stored in the primary cache memory 207. Will be described with reference to the flowchart of FIG. FIG. 9 is a flowchart showing the operation of the access history recording unit 210.

アクセス履歴記録手段210は、アクセス要求の対象の論理ディスク206のブロックを示すLD301とLDアドレス302とを取得する。同時に、アクセス履歴記録手段210は、現在の時刻情報を取得する(ステップS101)。   The access history recording unit 210 acquires the LD 301 and the LD address 302 indicating the block of the logical disk 206 that is the target of the access request. At the same time, the access history recording unit 210 acquires current time information (step S101).

次いで、アクセス履歴記録手段210は、アクセス要求が、ストレージコントローラ201による一次キャッシュメモリ207のデータの削除要求か否かを確認する(ステップS102)。アクセス要求がデータの削除要求でない場合(ステップS102のNo)、アクセス履歴記録手段210は、ステップS105に処理を進める。   Next, the access history recording unit 210 confirms whether or not the access request is a request to delete data in the primary cache memory 207 from the storage controller 201 (step S102). If the access request is not a data deletion request (No in step S102), the access history recording unit 210 advances the process to step S105.

アクセス要求がストレージコントローラ201による一次キャッシュメモリ207のデータの削除要求である場合(ステップS102のYes)、アクセス履歴記録手段210は、削除要求に伴って実行される二次キャッシュメモリへの格納処理によって、データが二次キャッシュメモリに格納されたか否かを確認する(ステップS103)。データが格納されなかった場合(ステップS103のNo)、アクセス履歴記録手段210は、処理を終了する。   When the access request is a deletion request for data in the primary cache memory 207 by the storage controller 201 (Yes in step S102), the access history recording unit 210 performs the storage process in the secondary cache memory that is executed in accordance with the deletion request. Whether the data is stored in the secondary cache memory is checked (step S103). When the data is not stored (No in step S103), the access history recording unit 210 ends the process.

二次キャッシュメモリにデータが格納された場合(ステップS103のYes)、アクセス履歴記録手段210は、データが格納された二次キャッシュメモリのブロックに対応する二次キャッシュメモリ管理情報の、LD301、LDアドレス302および保持時刻317をそれぞれ更新する(ステップS104)。   When data is stored in the secondary cache memory (Yes in step S103), the access history recording unit 210 includes the LD 301, LD of the secondary cache memory management information corresponding to the block of the secondary cache memory in which the data is stored. The address 302 and the holding time 317 are each updated (step S104).

また、アクセス履歴記録手段210は、格納されたデータが記憶されている論理ディスク206のブロックに対応するアクセス履歴情報の、キャッシュ更新回数308を更新する(ステップS105)。   Further, the access history recording unit 210 updates the cache update count 308 of the access history information corresponding to the block of the logical disk 206 in which the stored data is stored (step S105).

また、アクセス履歴記録手段210は、データが格納された二次キャッシュメモリを構成するSSDに対応するSSD書き換え管理情報の、write回数319を更新する(ステップS106)。更新した後、アクセス履歴記録手段210は、処理を終了する。   Further, the access history recording unit 210 updates the write count 319 of the SSD rewrite management information corresponding to the SSD constituting the secondary cache memory in which the data is stored (step S106). After the update, the access history recording unit 210 ends the process.

ステップS105において、アクセス履歴記録手段210は、アクセス要求がホスト計算機100による書き込み要求か否かを確認する(ステップS107)。   In step S105, the access history recording unit 210 confirms whether the access request is a write request by the host computer 100 (step S107).

アクセス要求がホスト計算機100による書き込み要求である場合(ステップS107のYes)、アクセス履歴記録手段210は、書き込みが行なわれる論理ディスク206のアドレスに対応するアクセス履歴情報のwrite回数307および更新時刻304をそれぞれ更新する(ステップS108)。   When the access request is a write request by the host computer 100 (Yes in step S107), the access history recording unit 210 sets the write history information write count 307 and the update time 304 corresponding to the address of the logical disk 206 to be written. Each is updated (step S108).

同時に、アクセス履歴記録手段210は、前回の書き込み要求の更新時刻304と現在時刻との差分を計算し、更新間隔305を更新する(ステップS108)。更新した後、アクセス履歴記録手段210は、処理を終了する。   At the same time, the access history recording unit 210 calculates the difference between the update time 304 of the previous write request and the current time, and updates the update interval 305 (step S108). After the update, the access history recording unit 210 ends the process.

アクセス要求がホスト計算機100による書き込み要求でない場合、すなわち読み出し要求である場合(ステップS107のNo)、アクセス履歴記録手段210は、読み出し要求の対象のデータが、キャッシュメモリに存在するかどうかを確認する(ステップS109)。キャッシュメモリに存在しない場合(ステップS109のNo)、アクセス履歴記録手段210は、ステップS111に処理を進める。   When the access request is not a write request by the host computer 100, that is, when it is a read request (No in step S107), the access history recording unit 210 confirms whether or not the target data for the read request exists in the cache memory. (Step S109). If it does not exist in the cache memory (No in step S109), the access history recording unit 210 advances the process to step S111.

キャッシュメモリに存在する場合(ステップS109のYes)、アクセス履歴記録手段210は、読み出し要求の対象のデータがキャッシュメモリから再利用されると判断する。次いで、アクセス履歴記録手段210は、対象データが記憶されている論理ディスク206のブロックに対応するアクセス履歴情報のキャッシュヒット回数303を更新する(ステップS110)。   If it exists in the cache memory (Yes in step S109), the access history recording unit 210 determines that the data targeted for the read request is reused from the cache memory. Next, the access history recording unit 210 updates the cache hit count 303 of the access history information corresponding to the block of the logical disk 206 in which the target data is stored (step S110).

次いで、アクセス履歴記録手段210は、読み出しが行なわれるデータが記憶されている論理ディスク206のブロックに対応するアクセス履歴情報のread回数306を更新する(ステップS111)。更新した後、アクセス履歴記録手段210は、処理を終了する。   Next, the access history recording unit 210 updates the read count 306 of the access history information corresponding to the block of the logical disk 206 in which the data to be read is stored (step S111). After the update, the access history recording unit 210 ends the process.

次に、一次キャッシュメモリ207に格納されているデータの削除処理が行われる際の、二次キャッシュメモリ格納手段212の格納処理の動作を図10のフローチャートを参照して説明する。図10は、二次キャッシュメモリ格納手段212の動作を示すフローチャートである。   Next, the operation of the storage process of the secondary cache memory storage unit 212 when the process of deleting the data stored in the primary cache memory 207 is performed will be described with reference to the flowchart of FIG. FIG. 10 is a flowchart showing the operation of the secondary cache memory storage unit 212.

アクセス傾向分析手段211は、アクセス履歴情報を参照し、削除されるデータが記憶されている論理ディスク206のブロックに対する過去のアクセス傾向を分析する(ステップS201)。具体的に、アクセス傾向分析手段211は、アクセス履歴情報を参照し、平均更新間隔、平均キャッシュヒット回数およびread率を計算する。   The access trend analysis unit 211 refers to the access history information and analyzes the past access trend with respect to the block of the logical disk 206 in which the data to be deleted is stored (step S201). Specifically, the access trend analysis unit 211 refers to the access history information and calculates an average update interval, an average cache hit count, and a read rate.

二次キャッシュメモリ格納手段212は、アクセス傾向分析手段211によるアクセス傾向情報を参照する。そして、二次キャッシュメモリ格納手段212は、対象の論理ディスク206のブロックの平均キャッシュヒット回数が所定値を超えているか、またはread率が所定値を超えているかを確認する(ステップS202)。   The secondary cache memory storage unit 212 refers to the access trend information from the access trend analysis unit 211. Then, the secondary cache memory storage unit 212 confirms whether the average cache hit count of the block of the target logical disk 206 exceeds a predetermined value or whether the read rate exceeds a predetermined value (step S202).

平均キャッシュヒット回数が所定値以下で、かつread率も所定値以下の場合(ステップS202のNo)、二次キャッシュメモリ格納手段212は、対象の論理ディスク206のブロックに格納されているデータに再利用可能性が無いと判断する。   If the average cache hit count is less than or equal to the predetermined value and the read rate is also less than or equal to the predetermined value (No in step S202), the secondary cache memory storage unit 212 re-stores the data stored in the block of the target logical disk 206. Judge that there is no availability.

二次キャッシュメモリ格納手段212は、一次キャッシュメモリ207に格納されている対象のデータを破棄するようストレージコントローラ201に指示する。指示を受けたストレージコントローラ201は、対象のデータを一次キャッシュメモリ207から破棄する(ステップS206)。   The secondary cache memory storage unit 212 instructs the storage controller 201 to discard the target data stored in the primary cache memory 207. Receiving the instruction, the storage controller 201 discards the target data from the primary cache memory 207 (step S206).

次いで、二次キャッシュメモリ格納手段212は、データが破棄されたため、対象のデータが記憶されている論理ディスク206のブロックに対応するキャッシュ割り当て管理情報と、対象のデータが格納されていた一次キャッシュメモリ207のブロックに対応する一次キャッシュメモリ管理情報を、データが格納されていない状態にそれぞれ更新する(ステップS208)。更新した後、二次キャッシュメモリ格納手段212は、処理を終了する。   Next, since the data is discarded, the secondary cache memory storage unit 212 stores the cache allocation management information corresponding to the block of the logical disk 206 in which the target data is stored, and the primary cache memory in which the target data is stored. The primary cache memory management information corresponding to the block 207 is updated to a state in which no data is stored (step S208). After the update, the secondary cache memory storage unit 212 ends the process.

平均キャッシュヒット回数が所定値を超えている場合、またはread率が所定値を超えている場合(ステップS202のYes)、二次キャッシュメモリ格納手段212は、対象の論理ディスク206のブロックに記憶されているデータに再利用可能性があると判断する。   When the average number of cache hits exceeds a predetermined value, or when the read rate exceeds a predetermined value (Yes in step S202), the secondary cache memory storage unit 212 is stored in a block of the target logical disk 206. It is determined that the data that can be reused is reusable.

次いで、二次キャッシュメモリ格納手段212は、削除されるデータが記憶されている論理ディスク206のブロックに対する平均更新間隔が所定値以上、かつ、キャッシュ更新回数308が所定値以下であるかを確認する(ステップS203)。   Next, the secondary cache memory storage unit 212 confirms whether the average update interval for the block of the logical disk 206 in which the data to be deleted is stored is greater than or equal to a predetermined value and the cache update count 308 is less than or equal to the predetermined value. (Step S203).

平均更新間隔が所定値以上、かつ、キャッシュ更新回数308が所定値以下である場合(ステップS203のYes)、二次キャッシュメモリ格納手段212は、対象の論理ディスク206のブロックに記憶されているデータが、再利用されるが更新頻度の低いデータであると判断する。すなわち、二次キャッシュメモリ格納手段212は、削除されるデータを書き込み耐性の低いMLCから構成される二次キャッシュメモリ208に格納できると判断する。   When the average update interval is not less than the predetermined value and the cache update count 308 is not more than the predetermined value (Yes in step S203), the secondary cache memory storage unit 212 stores the data stored in the block of the target logical disk 206. However, it is determined that the data is reused but the update frequency is low. That is, the secondary cache memory storage unit 212 determines that the data to be deleted can be stored in the secondary cache memory 208 composed of MLC with low write endurance.

二次キャッシュメモリ格納手段212は、SSD書き換え管理情報を参照して、二次キャッシュメモリ208が利用可能かどうか確認する。SSD書き換え管理情報を参照した時に、二次キャッシュメモリ208を構成するSSDの状態が「利用不可」の他に「注意」である場合にも、二次キャッシュメモリ格納手段212は、二次キャッシュメモリ208を利用不可と判断してもよい。   The secondary cache memory storage unit 212 refers to the SSD rewrite management information to check whether the secondary cache memory 208 is usable. Even when the state of the SSD constituting the secondary cache memory 208 is “notice” when referring to the SSD rewrite management information, the secondary cache memory storage unit 212 also stores the secondary cache memory. 208 may be determined as unusable.

ステップS203で二次キャッシュメモリ208に格納できると判断し、二次キャッシュメモリ208が利用可能である場合、二次キャッシュメモリ格納手段212は、一次キャッシュメモリ207に格納されている対象のデータを二次キャッシュメモリ208に格納するようストレージコントローラ201に指示する。指示を受けたストレージコントローラ201は、対象のデータを二次キャッシュメモリ208に格納する(ステップS204)。   If it is determined in step S203 that the secondary cache memory 208 can be stored, and the secondary cache memory 208 is available, the secondary cache memory storage unit 212 stores the target data stored in the primary cache memory 207 as a second data. The storage controller 201 is instructed to store in the next cache memory 208. Receiving the instruction, the storage controller 201 stores the target data in the secondary cache memory 208 (step S204).

ステップS203で二次キャッシュメモリ208に格納できると判断したが、二次キャッシュメモリ208が利用不可である場合、二次キャッシュメモリ格納手段212は、利用可能であれば対象のデータを二次キャッシュメモリ209に格納してもよい。二次キャッシュメモリ209も利用不可である場合、二次キャッシュメモリ格納手段212は、対象のデータを破棄してもよい。   If it is determined in step S203 that the secondary cache memory 208 can be stored, but the secondary cache memory 208 is unavailable, the secondary cache memory storage unit 212 stores the target data in the secondary cache memory if available. 209 may be stored. When the secondary cache memory 209 is also unavailable, the secondary cache memory storage unit 212 may discard the target data.

平均更新間隔が所定値未満である場合、または、キャッシュ更新回数308が所定値より大きい場合(ステップS203のNo)、二次キャッシュメモリ格納手段212は、対象の論理ディスク206のブロックに記憶されているデータが、再利用され、かつ更新頻度の高いデータであると判断する。すなわち、二次キャッシュメモリ格納手段212は、削除されるデータを書き込み耐性の高いSLCから構成される二次キャッシュメモリ209に格納できると判断する。   When the average update interval is less than the predetermined value, or when the cache update count 308 is larger than the predetermined value (No in step S203), the secondary cache memory storage unit 212 is stored in the block of the target logical disk 206. It is determined that the existing data is reused and frequently updated. That is, the secondary cache memory storage unit 212 determines that the data to be deleted can be stored in the secondary cache memory 209 composed of an SLC with high write endurance.

二次キャッシュメモリ格納手段212は、SSD書き換え管理情報を参照して、二次キャッシュメモリ209が利用可能かどうか確認する。SSD書き換え管理情報を参照した時に、二次キャッシュメモリ209を構成するSSDの状態が「利用不可」の他に「注意」である場合にも、二次キャッシュメモリ格納手段212は、二次キャッシュメモリ209を利用不可と判断してもよい。   The secondary cache memory storage unit 212 refers to the SSD rewrite management information and checks whether the secondary cache memory 209 is available. Even when the state of the SSD constituting the secondary cache memory 209 is “notice” when referring to the SSD rewrite management information, the secondary cache memory storage unit 212 also stores the secondary cache memory. 209 may be determined as unusable.

ステップS203で二次キャッシュメモリ209に格納できると判断し、二次キャッシュメモリ209が利用可能である場合、二次キャッシュメモリ格納手段212は、一次キャッシュメモリ207に格納されている対象のデータを二次キャッシュメモリ209に格納するようストレージコントローラ201に指示する。指示を受けたストレージコントローラ201は、対象のデータを二次キャッシュメモリ209に格納する(ステップS205)。   If it is determined in step S203 that the secondary cache memory 209 can be stored and the secondary cache memory 209 is available, the secondary cache memory storage unit 212 stores the target data stored in the primary cache memory 207 as the secondary cache memory 209. Instructs the storage controller 201 to store in the next cache memory 209. Receiving the instruction, the storage controller 201 stores the target data in the secondary cache memory 209 (step S205).

ステップS203で二次キャッシュメモリ209に格納できると判断したが、二次キャッシュメモリ209が利用不可である場合、二次キャッシュメモリ格納手段212は、利用可能であれば対象のデータを二次キャッシュメモリ208に格納してもよい。二次キャッシュメモリ208も利用不可である場合、二次キャッシュメモリ格納手段212は、対象のデータを破棄してもよい。   If it is determined in step S203 that the secondary cache memory 209 can be stored, but the secondary cache memory 209 is unavailable, the secondary cache memory storage unit 212 stores the target data in the secondary cache memory if available. 208 may be stored. When the secondary cache memory 208 is also unavailable, the secondary cache memory storage unit 212 may discard the target data.

ステップS204またはステップS205の処理後、二次キャッシュメモリ格納手段212は、対象データが記憶されている論理ディスク206のブロックに対応するアクセス履歴情報に対して、二次キャッシュメモリにデータが格納されたことを反映する(ステップS207)。   After the processing in step S204 or step S205, the secondary cache memory storage unit 212 stores the data in the secondary cache memory for the access history information corresponding to the block of the logical disk 206 in which the target data is stored. This is reflected (step S207).

次いで、二次キャッシュメモリ格納手段212は、対象のデータが記憶されている論理ディスク206のブロックに対応するキャッシュ割り当て管理情報に対して、二次キャッシュメモリにデータが格納されたことを反映する(ステップS209)。   Next, the secondary cache memory storage unit 212 reflects that the data is stored in the secondary cache memory in the cache allocation management information corresponding to the block of the logical disk 206 in which the target data is stored ( Step S209).

また、二次キャッシュメモリ格納手段212は、対象のデータが格納されていた一次キャッシュメモリ207のブロックに対応する一次キャッシュメモリ管理情報をデータが格納されていない状態に、対象のデータが格納された二次キャッシュメモリのブロックに対応する二次キャッシュメモリ管理情報をデータが格納されている状態にそれぞれ更新する(ステップS209)。   Further, the secondary cache memory storage unit 212 stores the target data in a state where the data is not stored in the primary cache memory management information corresponding to the block of the primary cache memory 207 in which the target data was stored. The secondary cache memory management information corresponding to the secondary cache memory block is updated to a state where data is stored (step S209).

また、二次キャッシュメモリ格納手段212は、データが格納された二次キャッシュメモリを構成するSSDに対応するSSD書き換え管理情報の、write回数319を更新する(ステップS209)。更新した後、二次キャッシュメモリ格納手段212は、処理を終了する。   In addition, the secondary cache memory storage unit 212 updates the write count 319 of the SSD rewrite management information corresponding to the SSD constituting the secondary cache memory in which the data is stored (step S209). After the update, the secondary cache memory storage unit 212 ends the process.

次に、書き込み耐性の高いSLCから構成される二次キャッシュメモリ209に頻繁に書き換えが行われていないデータが格納されていないかどうか確認する時の、二次キャッシュメモリ再設定手段213の格納処理の動作を図11のフローチャートを参照して説明する。図11は、二次キャッシュメモリ再設定手段213の動作を示すフローチャートである。   Next, the storage processing of the secondary cache memory resetting unit 213 when it is confirmed whether or not data that has not been frequently rewritten is stored in the secondary cache memory 209 composed of SLC having high write endurance. Will be described with reference to the flowchart of FIG. FIG. 11 is a flowchart showing the operation of the secondary cache memory resetting means 213.

二次キャッシュメモリ再設定手段213は、二次キャッシュメモリ209に対応する二次キャッシュメモリ管理情報を参照し、二次キャッシュメモリ209の各ブロックについて定期的にキャッシュ保持状況を分析する(ステップS301)。   The secondary cache memory resetting means 213 refers to the secondary cache memory management information corresponding to the secondary cache memory 209, and periodically analyzes the cache holding status for each block of the secondary cache memory 209 (step S301). .

具体的には、二次キャッシュメモリ再設定手段213は、二次キャッシュメモリ209の各ブロックの保持時刻317と現在時刻との差分を計算し、キャッシュ保持期間である差分時間を算出する。   Specifically, the secondary cache memory resetting unit 213 calculates the difference between the retention time 317 of each block of the secondary cache memory 209 and the current time, and calculates a difference time that is a cache retention period.

二次キャッシュメモリ再設定手段213は、算出したキャッシュ保持期間が所定値以上であるか否かを確認する(ステップS302)。キャッシュ保持期間が所定値未満の場合(ステップS302のNo)、二次キャッシュメモリ再設定手段213は、対象とするブロックについて処理を終了する。   The secondary cache memory resetting unit 213 checks whether or not the calculated cache retention period is equal to or greater than a predetermined value (step S302). When the cache retention period is less than the predetermined value (No in step S302), the secondary cache memory resetting unit 213 ends the process for the target block.

キャッシュ保持期間が所定値以上の場合(ステップS302のYes)、対象とするブロックに記憶されているデータの更新頻度は低い。   When the cache retention period is equal to or longer than the predetermined value (Yes in step S302), the update frequency of the data stored in the target block is low.

よって、二次キャッシュメモリ再設定手段213は、対象のデータを書き込み耐性の低いMLCから構成される二次キャッシュメモリ208に再設定可能と判断する。ただし、SSD書き換え管理情報を参照した結果、二次キャッシュメモリ208が利用不可の状態である場合、二次キャッシュメモリ再設定手段213は、二次キャッシュメモリ208へ再設定不可と判断する。   Therefore, the secondary cache memory resetting unit 213 determines that the target data can be reset in the secondary cache memory 208 configured by MLC having low write endurance. However, when the secondary cache memory 208 is in an unusable state as a result of referring to the SSD rewrite management information, the secondary cache memory resetting unit 213 determines that resetting to the secondary cache memory 208 is impossible.

ステップS302において再設定可能と判断した場合、二次キャッシュメモリ再設定手段213は、対象のデータを二次キャッシュメモリ209から二次キャッシュメモリ208に格納するよう、ストレージコントローラ201に指示する。指示を受けたストレージコントローラ201は、対象のデータを二次キャッシュメモリ208に格納する(ステップS303)。   If it is determined in step S302 that resetting is possible, the secondary cache memory resetting unit 213 instructs the storage controller 201 to store the target data from the secondary cache memory 209 into the secondary cache memory 208. Receiving the instruction, the storage controller 201 stores the target data in the secondary cache memory 208 (step S303).

格納した後、二次キャッシュメモリ再設定手段213は、対象のデータが記憶されている論理ディスク206のブロックに対応するアクセス履歴情報およびキャッシュ割り当て管理情報、対象のデータが格納された二次キャッシュメモリ208のブロックおよび二次キャッシュメモリ209のブロックに対応する二次キャッシュメモリ管理情報をそれぞれ更新する(ステップS304)。   After the storage, the secondary cache memory resetting means 213 receives the access history information and cache allocation management information corresponding to the block of the logical disk 206 in which the target data is stored, and the secondary cache memory in which the target data is stored. The secondary cache memory management information corresponding to the 208 block and the secondary cache memory 209 block is updated (step S304).

また、二次キャッシュメモリ再設定手段213は、データが格納された二次キャッシュメモリを構成するSSDに対応するSSD書き換え管理情報の、write回数319を更新する(ステップS304)。   Further, the secondary cache memory resetting unit 213 updates the write count 319 of the SSD rewrite management information corresponding to the SSD constituting the secondary cache memory storing the data (step S304).

各管理情報を更新した後、二次キャッシュメモリ再設定手段213は、二次キャッシュメモリ209に格納されている対象のデータを破棄するよう、ストレージコントローラ201に指示する。指示を受けたストレージコントローラ201は、対象のデータを二次キャッシュメモリ209から破棄する(ステップS305)。破棄した後、二次キャッシュメモリ再設定手段213は、処理を終了する。   After updating each management information, the secondary cache memory resetting unit 213 instructs the storage controller 201 to discard the target data stored in the secondary cache memory 209. Receiving the instruction, the storage controller 201 discards the target data from the secondary cache memory 209 (step S305). After discarding, the secondary cache memory resetting means 213 terminates the processing.

次に、ホスト計算機100による書き込み要求の発行またはストレージコントローラ201による二次キャッシュメモリへの格納処理が行われる際に、二次キャッシュメモリとして利用されているSSDの書き込み上限を確認する時の、書き込み上限監視手段214の監視処理の動作を図12のフローチャートを参照して説明する。図12は、書き込み上限監視手段214の動作を示すフローチャートである。   Next, when issuing a write request by the host computer 100 or performing storage processing in the secondary cache memory by the storage controller 201, the write when checking the write upper limit of the SSD used as the secondary cache memory The monitoring processing operation of the upper limit monitoring unit 214 will be described with reference to the flowchart of FIG. FIG. 12 is a flowchart showing the operation of the write upper limit monitoring unit 214.

書き込み上限監視手段214は、SSD書き換え管理情報を参照することで、アクセス対象である二次キャッシュメモリを構成するSSDの状況を分析する(ステップS401)。そして、書き込み上限監視手段214は、対象のSSD(SLCとMLCとのそれぞれ)のwrite回数319が上限write回数320を超えているか確認する(ステップS402)。   The write upper limit monitoring unit 214 refers to the SSD rewrite management information, and analyzes the status of the SSD constituting the secondary cache memory to be accessed (step S401). Then, the write upper limit monitoring unit 214 confirms whether the write count 319 of the target SSD (each of SLC and MLC) exceeds the upper limit write count 320 (step S402).

write回数319が上限write回数320を超えている場合(ステップS402のYes)、書き込み上限監視手段214は、対象のSSDに対応するSSD書き換え管理情報の状態322を「利用不可」に更新する(ステップS404)。更新した後、書き込み上限監視手段214は、対象のSSDについて監視処理を終了する。   When the write count 319 exceeds the maximum write count 320 (Yes in step S402), the write upper limit monitoring unit 214 updates the state 322 of the SSD rewrite management information corresponding to the target SSD to “unusable” (step S402). S404). After the update, the write upper limit monitoring unit 214 ends the monitoring process for the target SSD.

write回数319が上限write回数320未満の場合(ステップS402のNo)、書き込み上限監視手段214は、SSDのwrite回数319がしきい値321を超えているか確認する(ステップS403)。write回数319がしきい値321を超えていない場合(ステップS403のNo)、書き込み上限監視手段214は、対象のSSDについて監視処理を終了する。   When the write count 319 is less than the upper limit write count 320 (No in step S402), the write upper limit monitoring unit 214 confirms whether the SSD write count 319 exceeds the threshold 321 (step S403). If the write count 319 does not exceed the threshold value 321 (No in step S403), the write upper limit monitoring unit 214 ends the monitoring process for the target SSD.

write回数319がしきい値321を超えている場合(ステップS403のYes)、書き込み上限監視手段214は、対象のSSDに対応するSSD書き換え管理情報の状態322を「注意」に更新する(ステップS405)。更新した後、書き込み上限監視手段214は、対象のSSDについて監視処理を終了する。   When the write count 319 exceeds the threshold value 321 (Yes in step S403), the write upper limit monitoring unit 214 updates the state 322 of the SSD rewrite management information corresponding to the target SSD to “caution” (step S405). ). After the update, the write upper limit monitoring unit 214 ends the monitoring process for the target SSD.

本実施形態の記憶装置は、特性の異なるSSDから構成される複数の二次キャッシュメモリを、格納対象のデータの更新頻度に応じて使い分けることができる。   The storage device of the present embodiment can use a plurality of secondary cache memories composed of SSDs having different characteristics according to the update frequency of data to be stored.

具体的に、記憶装置は、過去のアクセス傾向から、更新されずに長期的に再利用される可能性が高いと判断したデータを、格納コストの低いMLCから構成される第一の二次キャッシュメモリを利用するように配置する。また、再利用されるが短期的に更新されると判断したデータを、寿命が長く格納コストの高いSLCから構成される第二の二次キャッシュメモリを利用するように配置する。   Specifically, the storage device stores the first secondary cache constituted by the MLC with a low storage cost for the data that is determined to have a high possibility of being reused in the long term without being updated based on the past access tendency. Arrange to use memory. Further, data that is determined to be reused but is updated in the short term is arranged so as to use the second secondary cache memory that is composed of SLC having a long life and high storage cost.

また、記憶装置は、SLCから構成される第二の二次キャッシュメモリに長期的に保存されていて再利用されるデータを、MLCから構成される第一の二次キャッシュメモリに再配置する。これらの手段により、寿命の短いMLCに対する書き換え頻度を極力低減し、MLCの寿命を長期化させて、寿命到達によるMLCの交換頻度を抑えることができる。   In addition, the storage device rearranges data stored in the second secondary cache memory configured by SLC for a long time and reused in the first secondary cache memory configured by MLC. By these means, it is possible to reduce the rewriting frequency for the MLC having a short life as much as possible, to prolong the life of the MLC, and to suppress the replacement frequency of the MLC when the life is reached.

よって、特性やコストの異なる複数のSSD(SLCおよびMLC)から構成される二次キャッシュメモリを搭載したディスクアレイ装置として、本実施形態の記憶装置を使用するユーザは、コストの低いSSDの寿命を長期化することが可能となり、SSD二次キャッシュメモリの導入および運用にかかる総コストを削減できる。   Therefore, a user who uses the storage device of this embodiment as a disk array device equipped with a secondary cache memory composed of a plurality of SSDs (SLC and MLC) having different characteristics and costs has a low-cost SSD life span. It becomes possible to extend the time, and the total cost for the introduction and operation of the SSD secondary cache memory can be reduced.

例えば、導入コストが1、寿命が1年のMLC10台と、導入コストが5、寿命が10年のSLC10台とを併用して5年運用した場合、これまでの技術でかかる総コストは50+50で100になる。これに対して、本実施形態の記憶装置を使用するとMLCの交換頻度を抑えることができるため、最良時には5年間MLCの交換が不要となり、総コストを10+50の60にまで抑えることができる。   For example, if 10 MLCs with an introduction cost of 1 and a lifetime of 1 year and 10 SLCs with an introduction cost of 5 and a lifetime of 10 years are used together for 5 years, the total cost of the technology so far is 50 + 50 100. On the other hand, since the frequency of MLC replacement can be suppressed by using the storage device of the present embodiment, the MLC replacement is not required at the best for five years, and the total cost can be suppressed to 60 of 10 + 50.

次に、本発明の概要を説明する。図13は、記憶装置の概要を示すブロック図である。本発明による記憶装置1は、データを記憶する主記憶手段3(例えば、論理ディスク206)と、主記憶手段3に格納されるデータをキャッシングするための一次キャッシュメモリ4(例えば、一次キャッシュメモリ207)と、一次キャッシュメモリ4から削除されるデータを格納する第1の二次キャッシュメモリ5(例えば、二次キャッシュメモリ209)と、データの書き込み可能回数が第1の二次キャッシュメモリ5の書き込み可能回数よりも少ない半導体記憶媒体が用いられ、一次キャッシュメモリ4から削除されるデータを格納する第2の二次キャッシュメモリ6(例えば、二次キャッシュメモリ208)と、ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込み、主記憶手段3から一次キャッシュメモリ4へのデータの格納、および一次キャッシュメモリ4から第1の二次キャッシュメモリ5または第2の二次キャッシュメモリ6へのデータの転送制御を行う制御手段2(例えば、ストレージコントローラ201)とを備え、制御手段2は、転送制御を行うデータに再利用可能性があり、かつ更新頻度が所定値以上である場合は第1の二次キャッシュメモリ5にデータを転送し、データに再利用可能性があり、かつ更新頻度が所定値よりも低い場合は第2の二次キャッシュメモリ6にデータを転送する。   Next, the outline of the present invention will be described. FIG. 13 is a block diagram illustrating an outline of the storage device. The storage device 1 according to the present invention includes a main storage unit 3 (for example, a logical disk 206) for storing data, and a primary cache memory 4 (for example, a primary cache memory 207) for caching data stored in the main storage unit 3. ), The first secondary cache memory 5 (for example, the secondary cache memory 209) that stores data to be deleted from the primary cache memory 4, and the number of times the data can be written is written to the first secondary cache memory 5. A semiconductor storage medium less than the possible number of times is used, a second secondary cache memory 6 (for example, secondary cache memory 208) for storing data to be deleted from the primary cache memory 4, and a request from the host terminal Data read and data write, main memory means 3 to primary cache memory 4 Control means 2 (for example, a storage controller 201) for storing the data and controlling the transfer of data from the primary cache memory 4 to the first secondary cache memory 5 or the second secondary cache memory 6. The control means 2 transfers the data to the first secondary cache memory 5 when there is a possibility of reusing the data for which transfer control is performed and the update frequency is equal to or higher than a predetermined value. If the update frequency is lower than the predetermined value, the data is transferred to the second secondary cache memory 6.

そのような構成により、記憶装置を使用する場合、使用するユーザは、特性の異なる複数の記憶素子を二次キャッシュメモリとして併用する時の導入コストおよび運用コストを削減できる。   With such a configuration, when a storage device is used, a user who uses the storage device can reduce the introduction cost and the operation cost when using a plurality of storage elements having different characteristics as a secondary cache memory.

記憶装置1は、主記憶手段3に記憶されている各データの再利用可能性と更新頻度の情報を含むアクセス情報を記憶するアクセス情報記憶手段(例えば、ディスクアレイ装置データ記憶手段215)を備え、制御手段2は、アクセス情報を参照してデータの転送制御を行ってもよい。   The storage device 1 includes access information storage means (for example, disk array device data storage means 215) that stores access information including information on the reusability of each data stored in the main storage means 3 and the update frequency. The control unit 2 may perform data transfer control with reference to the access information.

そのような構成により、記憶装置を使用する場合、使用するユーザは、各データのアクセス情報を保存できる。   With such a configuration, when the storage device is used, the user who uses the storage device can save the access information of each data.

記憶装置1は、第1の二次キャッシュメモリ5に所定の期間以上格納されているデータを第2の二次キャッシュメモリ6に移動するように制御手段2に指示する再設定手段(例えば、二次キャッシュメモリ再設定手段213)を備えていてもよい。   The storage device 1 has a resetting unit (for example, a second resetting unit) that instructs the control unit 2 to move the data stored in the first secondary cache memory 5 for a predetermined period or longer to the second secondary cache memory 6. Next cache memory resetting means 213) may be provided.

そのような構成により、記憶装置を使用する場合、使用するユーザは、書き込み耐性の低いMLCから構成される二次キャッシュメモリの寿命を延ばすことができる。   With such a configuration, when the storage device is used, the user who uses the storage device can extend the life of the secondary cache memory including the MLC having low write endurance.

記憶装置1は、第1の二次キャッシュメモリ5として使用される半導体記憶媒体と第2の二次キャッシュメモリ6として使用される半導体記憶媒体とのそれぞれへの書き込み回数を確認し、書き込み回数が所定のしきい値を超えている場合にしきい値を超えた方の二次キャッシュメモリとして使用される半導体記憶媒体を利用不可とする監視手段(例えば、書き込み上限監視手段214)を備えていてもよい。   The storage device 1 checks the number of writes to each of the semiconductor storage medium used as the first secondary cache memory 5 and the semiconductor storage medium used as the second secondary cache memory 6, and the number of writes is There may be provided monitoring means (for example, write upper limit monitoring means 214) that disables the use of the semiconductor storage medium used as the secondary cache memory that exceeds the threshold when the predetermined threshold is exceeded. Good.

そのような構成により、記憶装置を使用する場合、書き込み回数が上限に達する前にSSDへの書き込みが中止されるため、使用するユーザはSSDが読み書き不能な状態になることを回避できる。   With such a configuration, when the storage device is used, writing to the SSD is stopped before the number of times of writing reaches the upper limit, so that the user who uses the storage device can avoid the state in which the SSD cannot be read and written.

1 記憶装置
2 制御手段
3 主記憶手段
4 一次キャッシュメモリ
5 第1の二次キャッシュメモリ
6 第2の二次キャッシュメモリ
100 ホスト計算機
200 ディスクアレイ装置
201 ストレージコントローラ
202〜204 HDD
205 プール
206 論理ディスク
207 一次キャッシュメモリ
208、209 二次キャッシュメモリ
210 アクセス履歴記録手段
211 アクセス傾向分析手段
212 二次キャッシュメモリ格納手段
213 二次キャッシュメモリ再設定手段
214 書き込み上限監視手段
215 ディスクアレイ装置データ記憶手段
300 通信路
301 LD
302 LDアドレス
303 キャッシュヒット回数
304 更新時刻
305 更新間隔
306 read回数
307 write回数
308 キャッシュ更新回数
309 キャッシュフラグ
310 格納先
311 格納先アドレス
312 アドレス
313 キャッシュフラグ
314 SSD
315 アドレス
316 キャッシュフラグ
317 保持時刻
318 種別
319 write回数
320 上限write回数
321 しきい値
322 状態
1 storage device 2 control means 3 main storage means 4 primary cache memory 5 first secondary cache memory 6 second secondary cache memory 100 host computer 200 disk array device 201 storage controllers 202 to 204 HDD
205 Pool 206 Logical disk 207 Primary cache memory 208, 209 Secondary cache memory 210 Access history recording means 211 Access trend analysis means 212 Secondary cache memory storage means 213 Secondary cache memory resetting means 214 Write upper limit monitoring means 215 Disk array device Data storage means 300 communication path 301 LD
302 LD address 303 Cache hit count 304 Update time 305 Update interval 306 Read count 307 Write count 308 Cache update count 309 Cache flag 310 Storage destination 311 Storage destination address 312 Address 313 Cache flag 314 SSD
315 Address 316 Cache flag 317 Retention time 318 Type 319 Write count 320 Upper limit write count 321 Threshold 322 Status

Claims (8)

データを記憶する主記憶手段と、
前記主記憶手段に格納されるデータをキャッシングするための一次キャッシュメモリと、
前記一次キャッシュメモリから削除されるデータを格納する第1の二次キャッシュメモリと、
データの書き込み可能回数が前記第1の二次キャッシュメモリの書き込み可能回数よりも少ない半導体記憶媒体が用いられ、前記一次キャッシュメモリから削除されるデータを格納する第2の二次キャッシュメモリと、
ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込み、前記主記憶手段から前記一次キャッシュメモリへのデータの格納、および前記一次キャッシュメモリから前記第1の二次キャッシュメモリまたは前記第2の二次キャッシュメモリへのデータの転送制御を行う制御手段とを備え、
前記制御手段は、前記転送制御を行う前記データに再利用可能性があり、かつ更新頻度が所定値以上である場合は前記第1の二次キャッシュメモリに前記データを転送し、前記データに再利用可能性があり、かつ更新頻度が前記所定値よりも低い場合は前記第2の二次キャッシュメモリに前記データを転送する
ことを特徴とする記憶装置。
Main storage means for storing data;
A primary cache memory for caching data stored in the main storage means;
A first secondary cache memory for storing data to be deleted from the primary cache memory;
A second secondary cache memory for storing data to be deleted from the primary cache memory, using a semiconductor storage medium in which the number of times data can be written is less than the number of writeable times of the first secondary cache memory;
Reading data and writing data in response to a request from the host terminal, storing data from the main storage means to the primary cache memory, and from the primary cache memory to the first secondary cache memory or the second Control means for controlling the transfer of data to the secondary cache memory,
The control means transfers the data to the first secondary cache memory when the data subjected to the transfer control can be reused and the update frequency is equal to or higher than a predetermined value, and re-transfers the data to the data. The storage device, wherein the data is transferred to the second secondary cache memory when there is a possibility of use and the update frequency is lower than the predetermined value.
主記憶手段に記憶されている各データの再利用可能性と更新頻度の情報を含むアクセス情報を記憶するアクセス情報記憶手段を備え、
制御手段は、前記アクセス情報を参照してデータの転送制御を行う
請求項1記載の記憶装置。
Access information storage means for storing access information including information on reusability of each data stored in the main storage means and update frequency,
The storage device according to claim 1, wherein the control unit performs data transfer control with reference to the access information.
第1の二次キャッシュメモリに所定の期間以上格納されているデータを第2の二次キャッシュメモリに移動するように制御手段に指示する再設定手段を備える
請求項1または請求項2記載の記憶装置。
The storage according to claim 1 or 2, further comprising resetting means for instructing the control means to move data stored in the first secondary cache memory for a predetermined period or longer to the second secondary cache memory. apparatus.
第1の二次キャッシュメモリとして使用される半導体記憶媒体と第2の二次キャッシュメモリとして使用される半導体記憶媒体とのそれぞれへの書き込み回数を確認し、前記書き込み回数が所定のしきい値を超えている場合に前記しきい値を超えた方の二次キャッシュメモリとして使用される前記半導体記憶媒体を利用不可とする監視手段を備える
請求項1から請求項3のうちのいずれか1項に記載の記憶装置。
The number of writes to each of the semiconductor storage medium used as the first secondary cache memory and the semiconductor storage medium used as the second secondary cache memory is confirmed, and the number of writes reaches a predetermined threshold value. 4. The monitoring device according to claim 1, further comprising a monitoring unit that disables use of the semiconductor storage medium that is used as a secondary cache memory that exceeds the threshold when exceeding the threshold value. 5. The storage device described.
データを記憶する主記憶手段と、前記主記憶手段に格納されるデータをキャッシングするための一次キャッシュメモリと、前記一次キャッシュメモリから削除されるデータを格納する第1の二次キャッシュメモリと、データの書き込み可能回数が前記第1の二次キャッシュメモリの書き込み可能回数よりも少ない半導体記憶媒体が用いられ、前記一次キャッシュメモリから削除されるデータを格納する第2の二次キャッシュメモリとを備える記憶装置において実行される記憶方法であって、
前記ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込みを行い、
前記主記憶手段から前記一次キャッシュメモリへデータを格納し、
前記一次キャッシュメモリから前記第1の二次キャッシュメモリまたは前記第2の二次キャッシュメモリへのデータの転送制御を行い、
前記転送制御を行う前記データに再利用可能性があり、かつ更新頻度が所定値以上である場合は前記第1の二次キャッシュメモリに前記データを転送し、前記データに再利用可能性があり、かつ更新頻度が前記所定値よりも低い場合は前記第2の二次キャッシュメモリに前記データを転送する
ことを特徴とする記憶方法。
Main storage means for storing data, a primary cache memory for caching data stored in the main storage means, a first secondary cache memory for storing data to be deleted from the primary cache memory, and data A memory comprising a second secondary cache memory for storing data to be deleted from the primary cache memory, wherein a semiconductor storage medium having a smaller number of writable times than the first secondary cache memory is used. A storage method executed in a device comprising:
Read and write data in response to a request from the host terminal,
Storing data from the main storage means to the primary cache memory;
Performing transfer control of data from the primary cache memory to the first secondary cache memory or the second secondary cache memory;
The data for which the transfer control is performed may be reused, and if the update frequency is equal to or higher than a predetermined value, the data is transferred to the first secondary cache memory, and the data may be reused. And when the update frequency is lower than the predetermined value, the data is transferred to the second secondary cache memory.
主記憶手段に記憶されている各データの再利用可能性と更新頻度の情報を含むアクセス情報を記憶し、
前記アクセス情報を参照してデータの転送制御を行う
請求項5記載の記憶方法。
Storing access information including information on reusability and update frequency of each data stored in the main storage means;
The storage method according to claim 5, wherein data transfer control is performed with reference to the access information.
第1の二次キャッシュメモリに所定の期間以上格納されているデータを第2の二次キャッシュメモリに移動する
請求項5または請求項6記載の記憶方法。
The storage method according to claim 5 or 6, wherein data stored in the first secondary cache memory for a predetermined period or more is moved to the second secondary cache memory.
第1の二次キャッシュメモリとして使用される半導体記憶媒体と第2の二次キャッシュメモリとして使用される半導体記憶媒体とのそれぞれへの書き込み回数を確認し、前記書き込み回数が所定のしきい値を超えている場合に前記しきい値を超えた方の二次キャッシュメモリとして使用される前記半導体記憶媒体を利用不可とする
請求項5から請求項7のうちのいずれか1項に記載の記憶方法。
The number of writes to each of the semiconductor storage medium used as the first secondary cache memory and the semiconductor storage medium used as the second secondary cache memory is confirmed, and the number of writes reaches a predetermined threshold value. The storage method according to any one of claims 5 to 7, wherein the semiconductor storage medium that is used as a secondary cache memory that exceeds the threshold when the threshold is exceeded is unavailable. .
JP2013057550A 2013-03-21 2013-03-21 Storage device and storage method Active JP6098262B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013057550A JP6098262B2 (en) 2013-03-21 2013-03-21 Storage device and storage method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013057550A JP6098262B2 (en) 2013-03-21 2013-03-21 Storage device and storage method

Publications (2)

Publication Number Publication Date
JP2014182674A true JP2014182674A (en) 2014-09-29
JP6098262B2 JP6098262B2 (en) 2017-03-22

Family

ID=51701304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013057550A Active JP6098262B2 (en) 2013-03-21 2013-03-21 Storage device and storage method

Country Status (1)

Country Link
JP (1) JP6098262B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015179320A (en) * 2014-03-18 2015-10-08 株式会社東芝 cache memory and processor system
JP5992592B1 (en) * 2015-09-16 2016-09-14 株式会社東芝 Cache memory system
US9558065B2 (en) 2015-02-02 2017-01-31 Kabushiki Kaisha Toshiba Memory system including cache
JP2017091527A (en) * 2015-11-05 2017-05-25 華為技術有限公司Huawei Technologies Co.,Ltd. Method and device for determining hot page in database
JP2018036711A (en) * 2016-08-29 2018-03-08 富士通株式会社 Storage system, storage control device, and control program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101549950B1 (en) 2014-10-16 2015-09-03 경희대학교 산학협력단 Carbon Dioxide Absorbent Comprising Triamine

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628246A (en) * 1991-06-24 1994-02-04 Nec Corp Storage device
JP2003076498A (en) * 2001-09-05 2003-03-14 Hitachi Ltd Disk storage device
JP2006302255A (en) * 2005-04-15 2006-11-02 Samsung Electronics Co Ltd Data storage device having heterogeneous non-volatile memory and driving method thereof
JP2009205335A (en) * 2008-02-27 2009-09-10 Hitachi Ltd Storage system using two kinds of memory devices for cache and method for controlling the storage system
JP2010165251A (en) * 2009-01-16 2010-07-29 Toshiba Corp Information processing device, processor, and information processing method
JP2011022933A (en) * 2009-07-17 2011-02-03 Toshiba Corp Information processing apparatus including memory management device, and memory management method
JP2011204060A (en) * 2010-03-26 2011-10-13 Nec Corp Disk device
WO2014103489A1 (en) * 2012-12-28 2014-07-03 株式会社日立製作所 Information processing device having a plurality of types of memory caches with different characteristics

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628246A (en) * 1991-06-24 1994-02-04 Nec Corp Storage device
JP2003076498A (en) * 2001-09-05 2003-03-14 Hitachi Ltd Disk storage device
JP2006302255A (en) * 2005-04-15 2006-11-02 Samsung Electronics Co Ltd Data storage device having heterogeneous non-volatile memory and driving method thereof
JP2009205335A (en) * 2008-02-27 2009-09-10 Hitachi Ltd Storage system using two kinds of memory devices for cache and method for controlling the storage system
JP2010165251A (en) * 2009-01-16 2010-07-29 Toshiba Corp Information processing device, processor, and information processing method
JP2011022933A (en) * 2009-07-17 2011-02-03 Toshiba Corp Information processing apparatus including memory management device, and memory management method
JP2011204060A (en) * 2010-03-26 2011-10-13 Nec Corp Disk device
WO2014103489A1 (en) * 2012-12-28 2014-07-03 株式会社日立製作所 Information processing device having a plurality of types of memory caches with different characteristics

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015179320A (en) * 2014-03-18 2015-10-08 株式会社東芝 cache memory and processor system
US9558065B2 (en) 2015-02-02 2017-01-31 Kabushiki Kaisha Toshiba Memory system including cache
JP5992592B1 (en) * 2015-09-16 2016-09-14 株式会社東芝 Cache memory system
JP2017091527A (en) * 2015-11-05 2017-05-25 華為技術有限公司Huawei Technologies Co.,Ltd. Method and device for determining hot page in database
US10331652B2 (en) 2015-11-05 2019-06-25 Huawei Technologies Co., Ltd. Method and apparatus for determining hot page in database
JP2018036711A (en) * 2016-08-29 2018-03-08 富士通株式会社 Storage system, storage control device, and control program

Also Published As

Publication number Publication date
JP6098262B2 (en) 2017-03-22

Similar Documents

Publication Publication Date Title
JP6098262B2 (en) Storage device and storage method
JP5192352B2 (en) Storage device and data storage area management method
US9575672B2 (en) Storage system comprising flash memory and storage control method in which a storage controller is configured to determine the number of allocatable pages in a pool based on compression information
US9569130B2 (en) Storage system having a plurality of flash packages
JP4437489B2 (en) Storage system having volatile cache memory and nonvolatile memory
CN107622022B (en) Cache over-provisioning in a data storage device
JP4863814B2 (en) Storage system that suppresses storage media group failures
US20080010398A1 (en) Storage system and write distribution method
US9400759B2 (en) Cache load balancing in storage controllers
JP2014522537A (en) Use to manage data placement on flash-based storage
JP6097845B2 (en) Storage system that backs up data to non-volatile cache memory
JP2016162397A (en) Storage control device, control system, and control program
US20160259571A1 (en) Storage subsystem
US20150205538A1 (en) Storage apparatus and method for selecting storage area where data is written
EP2381354A2 (en) Data recording device
US20200104384A1 (en) Systems and methods for continuous trim commands for memory systems
JP6907668B2 (en) Information processing equipment, information processing methods, and programs
JP2012038212A (en) Storage device and control method thereof
JP5953245B2 (en) Information processing system
JP6015700B2 (en) Information storage device and information storage method
CN111913661B (en) Cache equipment replacement method and electronic equipment
JP2014112377A (en) Storage system with plurality of flash packages
JP2011175532A (en) Control device, memory control method and program
JP2014178867A (en) Storage control device and storage control system
JP2014085794A (en) Storage device and memory control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161227

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: 20170124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170206

R150 Certificate of patent or registration of utility model

Ref document number: 6098262

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150