(57)【要約】【課題】特性の異なる複数の記憶素子を二次キャッシュメモリとして併用する時の導入コストおよび運用コストを削減できる記憶装置を提供する。【解決手段】ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込み、主記憶手段３から一次キャッシュメモリ４へのデータの格納、および一次キャッシュメモリ４から第１の二次キャッシュメモリ５または第２の二次キャッシュメモリ６へのデータの転送制御を行う制御手段２を備え、制御手段２は、転送制御を行うデータに再利用可能性があり、かつ更新頻度が所定値以上である場合は第１の二次キャッシュメモリ５にデータを転送し、データに再利用可能性があり、かつ更新頻度が所定値よりも低い場合は第２の二次キャッシュメモリ６にデータを転送する。【選択図】図１３
2014182674.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する主記憶手段と、
前記主記憶手段に格納されるデータをキャッシングするための一次キャッシュメモリと、
前記一次キャッシュメモリから削除されるデータを格納する第１の二次キャッシュメモリと、
データの書き込み可能回数が前記第１の二次キャッシュメモリの書き込み可能回数よりも少ない半導体記憶媒体が用いられ、前記一次キャッシュメモリから削除されるデータを格納する第２の二次キャッシュメモリと、
ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込み、前記主記憶手段から前記一次キャッシュメモリへのデータの格納、および前記一次キャッシュメモリから前記第１の二次キャッシュメモリまたは前記第２の二次キャッシュメモリへのデータの転送制御を行う制御手段とを備え、
前記制御手段は、前記転送制御を行う前記データに再利用可能性があり、かつ更新頻度が所定値以上である場合は前記第１の二次キャッシュメモリに前記データを転送し、前記データに再利用可能性があり、かつ更新頻度が前記所定値よりも低い場合は前記第２の二次キャッシュメモリに前記データを転送する
ことを特徴とする記憶装置。
【請求項２】
主記憶手段に記憶されている各データの再利用可能性と更新頻度の情報を含むアクセス情報を記憶するアクセス情報記憶手段を備え、
制御手段は、前記アクセス情報を参照してデータの転送制御を行う
請求項１記載の記憶装置。
【請求項３】
第１の二次キャッシュメモリに所定の期間以上格納されているデータを第２の二次キャッシュメモリに移動するように制御手段に指示する再設定手段を備える
請求項１または請求項２記載の記憶装置。
【請求項４】
第１の二次キャッシュメモリとして使用される半導体記憶媒体と第２の二次キャッシュメモリとして使用される半導体記憶媒体とのそれぞれへの書き込み回数を確認し、前記書き込み回数が所定のしきい値を超えている場合に前記しきい値を超えた方の二次キャッシュメモリとして使用される前記半導体記憶媒体を利用不可とする監視手段を備える
請求項１から請求項３のうちのいずれか１項に記載の記憶装置。
【請求項５】
データを記憶する主記憶手段と、前記主記憶手段に格納されるデータをキャッシングするための一次キャッシュメモリと、前記一次キャッシュメモリから削除されるデータを格納する第１の二次キャッシュメモリと、データの書き込み可能回数が前記第１の二次キャッシュメモリの書き込み可能回数よりも少ない半導体記憶媒体が用いられ、前記一次キャッシュメモリから削除されるデータを格納する第２の二次キャッシュメモリとを備える記憶装置において実行される記憶方法であって、
前記ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込みを行い、
前記主記憶手段から前記一次キャッシュメモリへデータを格納し、
前記一次キャッシュメモリから前記第１の二次キャッシュメモリまたは前記第２の二次キャッシュメモリへのデータの転送制御を行い、
前記転送制御を行う前記データに再利用可能性があり、かつ更新頻度が所定値以上である場合は前記第１の二次キャッシュメモリに前記データを転送し、前記データに再利用可能性があり、かつ更新頻度が前記所定値よりも低い場合は前記第２の二次キャッシュメモリに前記データを転送する
ことを特徴とする記憶方法。
【請求項６】
主記憶手段に記憶されている各データの再利用可能性と更新頻度の情報を含むアクセス情報を記憶し、
前記アクセス情報を参照してデータの転送制御を行う
請求項５記載の記憶方法。
【請求項７】
第１の二次キャッシュメモリに所定の期間以上格納されているデータを第２の二次キャッシュメモリに移動する
請求項５または請求項６記載の記憶方法。
【請求項８】
第１の二次キャッシュメモリとして使用される半導体記憶媒体と第２の二次キャッシュメモリとして使用される半導体記憶媒体とのそれぞれへの書き込み回数を確認し、前記書き込み回数が所定のしきい値を超えている場合に前記しきい値を超えた方の二次キャッシュメモリとして使用される前記半導体記憶媒体を利用不可とする
請求項５から請求項７のうちのいずれか１項に記載の記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュ機能を備えた記憶装置および記憶方法に関する。
【背景技術】
【０００２】
ディスクプールの記憶領域を論理的に分割した論理ディスクを備え、ネットワーク（ＳＡＮ：Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で接続されたホスト計算機から利用されるストレージシステムがある。ディスクプールは、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ   ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）に代表されるディスクアレイ装置のように、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気ディスクの集合から構成されている。
【０００３】
ディスクプールにＲＡＩＤが使用されている場合、ストレージシステムは、ＲＡＩＤを制御するコントローラを搭載している。また、ストレージシステムは、ホスト計算機からの論理ディスクへの読み書きアクセスをキャッシングするためのキャッシュメモリを搭載している場合もある。
【０００４】
ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ：半導体記憶媒体）は、記憶媒体としてフラッシュメモリを用いるドライブ装置である。ＳＳＤは、ＨＤＤよりもデータ転送速度等に関して高性能であり、永続的なデータの記憶媒体として利用される。
【０００５】
また、一次キャッシュメモリから削除されるデータをディスクアレイ装置に搭載されたＳＳＤに一時的に格納し、再びアクセス要求があった場合に、低速なＨＤＤから読み出すのではなく、高速なＳＳＤから一時的に格納したデータを読み出すという、ＳＳＤ二次キャッシュメモリ技術が存在する。ＳＳＤの高速な読み出し技術を活かすことで、ＳＳＤ二次キャッシュメモリ技術は、アクセス性能を向上させている。
【０００６】
ＳＳＤの書き込み回数には上限（寿命）が存在する。書き込み回数が上限に到達すると、ＳＳＤは読み書き不能になる。読み書き不能となった場合、ユーザは、対象のＳＳＤを交換することが求められる。
【０００７】
また、ＳＳＤには記録方式の違いにより、読み出しが高速で長寿命であるが高価なＳＬＣ（Ｓｉｎｇｌｅ  Ｌｅｖｅｌ  Ｃｅｌｌ）と、読み出しが高速で短寿命であるが比較的安価なＭＬＣ（Ｍｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ）とが存在する。
【０００８】
ＳＳＤを二次キャッシュメモリとして用いる場合、通常の記憶手段として利用されるよりも頻繁に書き換えが行われるため、ＳＳＤの書き込み回数は増加する傾向になる。すなわち、二次キャッシュメモリとして用いられたＳＳＤは、早く寿命に到達しやすい。
【０００９】
二次キャッシュメモリとして短寿命なＭＬＣを採用する場合、一次キャッシュメモリから削除されるデータを格納するための書き換えが頻繁に行われると、ＭＬＣは寿命に到達しやすい。その結果、媒体の交換が頻繁に発生し、運用コストがかかる傾向になる。
【００１０】
二次キャッシュメモリとして長寿命なＳＬＣを採用する場合、一次キャッシュメモリから削除されるデータを格納するための書き換えが頻繁に行われても、ＭＬＣと比較してＳＬＣは寿命に到達しにくい。その結果、媒体の交換に伴う運用コストは抑えられる。しかし、ＳＬＣは高価な媒体であるため、採用する場合の導入コストは大きくなる。
【００１１】
例えば、導入コストが１、寿命が１年のＭＬＣ２０台を用いて運用すると、導入コストは２０で済む。しかし、１年毎に全てのＭＬＣの交換が発生するため、５年運用すると総コストは１００かかる。
【００１２】
また、例えば、導入コストが５、寿命が１０年のＳＬＣ２０台を用いて運用すると、導入コストは１００かかる。しかし、導入してから１０年間はＳＬＣの交換が発生しないため、５年運用しても総コストは１００のままである。
【００１３】
従って、二次キャッシュメモリとして、ＳＬＣとＭＬＣのような特性の異なるＳＳＤを併用する場合、ＳＳＤ二次キャッシュメモリによるアクセス性能の向上を実現しつつ、ＳＳＤ二次キャッシュメモリの導入コストおよび運用コストを削減することが課題である。
【００１４】
特許文献１には、特性の異なるＳＳＤであるＳＬＣとＭＬＣを混載した構成において、ＳＳＤのブロックに対する書き込み頻度と書き込み回数を確認し、書き込み回数の上限値を超えたブロックの代替処理において、書き込み頻度の高いブロックには寿命の長いＳＬＣのブロックを割り当てることで、割り当てるブロックが枯渇しないように制御し、寿命を長期化することによって、コストを削減する方法が記載されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１０−１０８２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかし、特許文献１に記載された方法は、ＳＳＤにデータを格納した記憶手段の代替処理に関する方法であり、ＳＳＤを二次キャッシュメモリとして利用した場合は想定されていない。よって、特許文献１に記載された方法では、特性の異なる複数のＳＳＤを二次キャッシュメモリとして併用した場合の課題を解決できない。
【００１７】
そこで、本発明は、特性の異なる複数の記憶素子を二次キャッシュメモリとして併用する時の導入コストおよび運用コストを削減できる記憶装置および記憶方法を提供する。
【課題を解決するための手段】
【００１８】
本発明による記憶装置は、データを記憶する主記憶手段と、主記憶手段に格納されるデータをキャッシングするための一次キャッシュメモリと、一次キャッシュメモリから削除されるデータを格納する第１の二次キャッシュメモリと、データの書き込み可能回数が第１の二次キャッシュメモリの書き込み可能回数よりも少ない半導体記憶媒体が用いられ、一次キャッシュメモリから削除されるデータを格納する第２の二次キャッシュメモリと、ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込み、主記憶手段から一次キャッシュメモリへのデータの格納、および一次キャッシュメモリから第１の二次キャッシュメモリまたは第２の二次キャッシュメモリへのデータの転送制御を行う制御手段とを備え、制御手段は、転送制御を行うデータに再利用可能性があり、かつ更新頻度が所定値以上である場合は第１の二次キャッシュメモリにデータを転送し、データに再利用可能性があり、かつ更新頻度が所定値よりも低い場合は第２の二次キャッシュメモリにデータを転送することを特徴とする。
【００１９】
本発明による記憶方法は、データを記憶する主記憶手段と、主記憶手段に格納されるデータをキャッシングするための一次キャッシュメモリと、一次キャッシュメモリから削除されるデータを格納する第１の二次キャッシュメモリと、データの書き込み可能回数が第１の二次キャッシュメモリの書き込み可能回数よりも少ない半導体記憶媒体が用いられ、一次キャッシュメモリから削除されるデータを格納する第２の二次キャッシュメモリとを備える記憶装置において実行される記憶方法であって、ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込みを行い、主記憶手段から一次キャッシュメモリへデータを格納し、一次キャッシュメモリから第１の二次キャッシュメモリまたは第２の二次キャッシュメモリへのデータの転送制御を行い、転送制御を行うデータに再利用可能性があり、かつ更新頻度が所定値以上である場合は第１の二次キャッシュメモリにデータを転送し、データに再利用可能性があり、かつ更新頻度が所定値よりも低い場合は第２の二次キャッシュメモリにデータを転送することを特徴とする記憶方法。
【発明の効果】
【００２０】
本発明によれば、特性の異なる複数の記憶素子を二次キャッシュメモリとして併用する時の導入コストおよび運用コストを削減できる。
【図面の簡単な説明】
【００２１】
【図１】本発明による記憶装置の一実施形態の構成例を示すシステム構成図である。
【図２】ディスクアレイ装置２００の構成例を示すブロック図である。
【図３】ディスクアレイ装置データ記憶手段２１５に保存されているアクセス履歴情報の一例を示す説明図である。
【図４】ディスクアレイ装置データ記憶手段２１５に保存されているキャッシュ割り当て管理情報の一例を示す説明図である。
【図５】ディスクアレイ装置データ記憶手段２１５に保存されている一次キャッシュメモリ管理情報の一例を示す説明図である。
【図６】ディスクアレイ装置データ記憶手段２１５に保存されている二次キャッシュメモリ管理情報の一例を示す説明図である。
【図７】ディスクアレイ装置データ記憶手段２１５に保存されている二次キャッシュメモリ管理情報の一例を示す説明図である。
【図８】ディスクアレイ装置データ記憶手段２１５に保存されているＳＳＤ書き換え管理情報の一例を示す説明図である。
【図９】アクセス履歴記録手段２１０の動作を示すフローチャートである。
【図１０】二次キャッシュメモリ格納手段２１２の動作を示すフローチャートである。
【図１１】二次キャッシュメモリ再設定手段２１３の動作を示すフローチャートである。
【図１２】書き込み上限監視手段２１４の動作を示すフローチャートである。
【図１３】記憶装置の概要を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明による記憶装置の一実施形態の構成例を示すシステム構成図である。図１に示す記憶装置であるディスクアレイ装置２００は、ホスト計算機１００と通信路３００で接続されている。
【００２３】
ホスト計算機１００は、通信路３００を介して、ディスクアレイ装置２００にデータの読み出し要求、またはデータの書き込み要求を発行する。
【００２４】
ディスクアレイ装置２００は、ＭＬＣから構成される第一の二次キャッシュメモリと、ＳＬＣから構成される第二の二次キャッシュメモリの複数の二次キャッシュメモリを搭載している。また、ディスクアレイ装置２００は、装置内に構築された論理ディスクのブロック単位にアクセス情報を記録する。
【００２５】
二次キャッシュメモリにデータを格納する際、ディスクアレイ装置２００は、データが記憶されている論理ディスクのブロックに対する過去のアクセス傾向を分析する。そして、ディスクアレイ装置２００は、ＳＳＤの寿命をなるべく延ばすことを目的に、データの格納先として第一の二次キャッシュメモリか第二の二次キャッシュメモリを選択する。ディスクアレイ装置２００は、選択した二次キャッシュメモリにデータを格納する。
【００２６】
具体的な格納方法として、ディスクアレイ装置２００は、過去のアクセス傾向から、頻繁に書き換えが行われず長期的に再利用されると判断したブロックに記憶されているデータを、書き込み耐性の低いＭＬＣから構成される第一の二次キャッシュメモリに優先的に格納する。また、ディスクアレイ装置２００は、再利用されるが短期的に更新される可能性があると判断したブロックに記憶されているデータを、書き込み耐性の高いＳＬＣから構成される第二の二次キャッシュメモリに格納する。
【００２７】
また、ディスクアレイ装置２００は、書き込み耐性の高いＳＬＣから構成される第二の二次キャッシュメモリに、長期間更新されずに継続して格納されているデータに関して、書き込み耐性の低いＭＬＣから構成される第一の二次キャッシュメモリを利用するように再設定する。
【００２８】
上記の方法により、ＳＳＤ二次キャッシュメモリによる性能向上が図られるとともに、ＳＳＤ二次キャッシュメモリの導入コストおよび運用コストが削減される。
【００２９】
通信路３００は、ホスト計算機１００と、ディスクアレイ装置２００とを通信可能に接続する。通信路３００は、例えば、ＳＡＮである。
【００３０】
次に、ディスクアレイ装置２００の詳細な構成を図２を参照して説明する。図２は、ディスクアレイ装置２００の構成例を示すブロック図である。
【００３１】
図２に示すディスクアレイ装置２００は、ストレージコントローラ２０１と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０２〜２０４と、プール２０５と、論理ディスク２０６と、一次キャッシュメモリ２０７と、二次キャッシュメモリ２０８と、二次キャッシュメモリ２０９と、アクセス履歴記録手段２１０と、アクセス傾向分析手段２１１と、二次キャッシュメモリ格納手段２１２と、二次キャッシュメモリ再設定手段２１３と、書き込み上限監視手段２１４と、ディスクアレイ装置データ記憶手段２１５とを含む。
【００３２】
ストレージコントローラ２０１は、ホスト計算機１００からの読み出し要求あるいは書き込み要求に基づき、データの読み出し処理あるいは書き込み処理を制御する機能を有する。ストレージコントローラ２０１は、各手段の指示に基づき、データを論理ディスク２０６から一次キャッシュメモリ２０７へ格納したり、一次キャッシュメモリ２０７に格納されているデータを二次キャッシュメモリへ格納または破棄したりする。
【００３３】
ＨＤＤ２０２〜２０４は、ディスクアレイ装置２００に搭載されている磁気ディスクである。ＨＤＤ２０２〜２０４は、データを記憶する機能を有する。なお、ディスクアレイ装置２００に搭載されている磁気ディスクの数は３台以上でもよい。
【００３４】
プール２０５は、ＨＤＤ２０２〜２０４の集合から構成された仮想的なデータ記憶領域である。なお、ＨＤＤ２０２〜２０４は、ＲＡＩＤによりプール２０５を構成してもよい。
【００３５】
論理ディスク２０６は、プール２０５から切り出された仮想的なデータ記憶領域である。ストレージコントローラ２０１は、データの読み出し処理および書き込み処理をＨＤＤに対してではなく、論理ディスク２０６に対して行う。なお、プール２０５から切り出される論理ディスクは２台以上でもよい。
【００３６】
一次キャッシュメモリ２０７は、ストレージコントローラ２０１がホスト計算機１００からの書き込み要求により受け取ったデータを格納する機能を有する。また、一次キャッシュメモリ２０７は、ホスト計算機１００からの読み出し要求により、ストレージコントローラ２０１がホスト計算機１００へ返却するデータを格納する機能を有する。
【００３７】
一次キャッシュメモリ２０７には、直近の読み出し要求または書き込み要求に対するデータが格納される。しかし、新たなデータを格納するために新たな格納ブロックを確保することが求められる場合、所定の期間利用されていないデータは、一次キャッシュメモリ２０７から削除される。削除されるデータは、例えばＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）などのアルゴリズムによって選定される。
【００３８】
二次キャッシュメモリ２０８は、一次キャッシュメモリ２０７から削除されるデータを格納する第一の二次キャッシュメモリである。二次キャッシュメモリ２０８は、短寿命なＳＳＤであるＭＬＣから構成されている。
【００３９】
二次キャッシュメモリ２０９は、一次キャッシュメモリ２０７から削除されるデータを格納する第二の二次キャッシュメモリである。二次キャッシュメモリ２０９は、長寿命なＳＳＤであるＳＬＣから構成されている。
【００４０】
アクセス履歴記録手段２１０は、論理ディスク２０６のアドレス管理（ブロック）単位に、所定期間内の読み出し回数、所定期間内の書き込み回数、一次キャッシュメモリおよび二次キャッシュメモリに対するキャッシュヒット回数、更新時刻、および前回からの更新間隔等を、アクセス履歴情報として記録する機能を有する。
【００４１】
アクセス履歴記録手段２１０は、ストレージコントローラ２０１がホスト計算機１００から論理ディスク２０６に対する読み出し要求もしくは書き込み要求を受けた際、またはストレージコントローラ２０１が一次キャッシュメモリ２０７からデータを削除する際に動作する。
【００４２】
アクセス傾向分析手段２１１は、アクセス履歴情報から論理ディスク２０６のブロックごとに、ホスト計算機１００のブロックに対するアクセス傾向を分析し、アクセス傾向情報を導出する機能を有する。
【００４３】
二次キャッシュメモリ格納手段２１２は、一次キャッシュメモリ２０７からデータが削除される場合に、削除されるデータの格納先になる二次キャッシュメモリの候補を決定する機能を有する。
【００４４】
二次キャッシュメモリ格納手段２１２は、アクセス傾向分析手段２１１により導出されたアクセス傾向情報に応じて、データの格納先として第一の二次キャッシュメモリか第二の二次キャッシュメモリを選択する。次いで、二次キャッシュメモリ格納手段２１２は、選択した二次キャッシュメモリにデータを格納するよう、ストレージコントローラ２０１に指示する。
【００４５】
具体的に、二次キャッシュメモリ格納手段２１２は、一次キャッシュメモリ２０７から削除されるデータが記憶されている論理ディスク２０６のブロックに対するアクセス傾向情報を参照する。二次キャッシュメモリ格納手段２１２は、アクセス傾向情報を基に、データの再利用可能性の有無および更新頻度の高さを確認し、データの格納先になる二次キャッシュメモリを決定する。
【００４６】
データに再利用可能性が有り更新頻度が低く、かつＭＬＣから構成される二次キャッシュメモリ２０８が利用可能である場合、二次キャッシュメモリ格納手段２１２は、データの格納先を二次キャッシュメモリ２０８に決定する。
【００４７】
また、データに再利用可能性が有り更新頻度が高く、かつＳＬＣから構成される二次キャッシュメモリ２０９が利用可能である場合、二次キャッシュメモリ格納手段２１２は、データの格納先を二次キャッシュメモリ２０９に決定する。
【００４８】
データに再利用可能性は無いと判断した場合、二次キャッシュメモリ格納手段２１２は、データをいずれの二次キャッシュメモリにも格納せず破棄することを決定する。
【００４９】
二次キャッシュメモリ再設定手段２１３は、第二の二次キャッシュメモリに所定の保持間隔を超えて格納されているデータが存在する場合、対象データの格納場所を第二の二次キャッシュメモリから第一の二次キャッシュメモリに変更する機能を有する。
【００５０】
具体的に、二次キャッシュメモリ再設定手段２１３は、ＳＬＣから構成される二次キャッシュメモリ２０９に格納されているデータの中で、長期的に保持され続けているデータが存在するか否か確認する。
【００５１】
所定の期間を超えて保持されているデータが存在し、ＭＬＣから構成される二次キャッシュメモリ２０８が利用可能である場合、二次キャッシュメモリ再設定手段２１３は、二次キャッシュメモリ２０８に対象データを格納するようストレージコントローラ２０１に指示する。
【００５２】
次いで、二次キャッシュメモリ再設定手段２１３は、ＳＬＣから構成される二次キャッシュメモリ２０９に格納されている対象データを破棄するようストレージコントローラ２０１に指示する。このようにして、二次キャッシュメモリ再設定手段２１３は、二次キャッシュメモリ２０９に所定の保持間隔を超えて格納されているデータの格納場所を再設定する。
【００５３】
書き込み上限監視手段２１４は、二次キャッシュメモリを構成するＳＳＤに対するデータの書き込み回数を監視する機能を有する。そして、ＳＳＤの書き込み回数が所定の書き込み上限回数を超過した場合、書き込み上限監視手段２１４は、書き込み上限回数を超過したＳＳＤの利用を制限する。
【００５４】
具体的に、書き込み上限監視手段２１４は、二次キャッシュメモリを構成するＳＳＤに対する書き込み処理を監視する。そして、書き込み回数が所定のしきい値に到達した場合、書き込み上限監視手段２１４は、到達したＳＳＤの状態を注意状態に設定する。
【００５５】
さらに、書き込み回数が書き込み上限回数に到達した場合、書き込み上限監視手段２１４は、到達したＳＳＤの状態を利用不可状態とする。利用不可状態とすることによって、書き込み上限監視手段２１４は、対象のＳＳＤを利用できないようにする。
【００５６】
ディスクアレイ装置データ記憶手段２１５は、アクセス履歴情報、キャッシュ割り当て管理情報、一次キャッシュメモリ管理情報、二次キャッシュメモリ管理情報、およびＳＳＤ書き換え管理情報を記憶する機能を有する。
【００５７】
図３は、ディスクアレイ装置データ記憶手段２１５に保存されているアクセス履歴情報の一例を示す説明図である。アクセス履歴情報は、ホスト計算機１００からの要求に応じたストレージコントローラ２０１による読み出し処理または書き込み処理、一次キャッシュメモリ２０７のデータの削除処理、およびデータ格納先としての二次キャッシュメモリの再設定処理が行なわれる際に更新される。
【００５８】
ディスクアレイ装置データ記憶手段２１５に保存されているアクセス履歴情報は、ＬＤ（論理ディスク番号）３０１、ＬＤアドレス３０２、キャッシュヒット回数３０３、更新時刻３０４、更新間隔３０５、ｒｅａｄ回数３０６、ｗｒｉｔｅ回数３０７およびキャッシュ更新回数３０８から構成される。
【００５９】
ＬＤ３０１は、アクセス履歴を記録する対象の論理ディスク２０６の識別番号を示す情報である。ＬＤアドレス３０２は、アクセス履歴を記録する対象の論理ディスク２０６のブロックの識別番号を示す情報である。
【００６０】
キャッシュヒット回数３０３は、ホスト計算機１００から、対象の論理ディスク２０６のブロックに記憶されているデータに対するアクセス要求があった時に、データが一次キャッシュメモリ、または二次キャッシュメモリに存在していた回数を示す情報である。
【００６１】
更新時刻３０４は、ホスト計算機１００からの書き込み要求により、対象の論理ディスク２０６のブロックに書き込み処理が行なわれた最新の時刻を示す情報である。更新間隔３０５は、前回の更新時刻３０４と最新の更新時刻３０４との差分を示す情報である。
【００６２】
ｒｅａｄ回数３０６は、ホスト計算機１００から対象の論理ディスク２０６のブロックに対する読み出し処理が行なわれた回数を示す情報である。ｗｒｉｔｅ回数３０７は、ホスト計算機１００から対象の論理ディスク２０６のブロックに対する書き込み処理が行なわれた回数を示す情報である。
【００６３】
キャッシュ更新回数３０８は、対象の論理ディスク２０６のブロックに記憶されているデータが、一次キャッシュメモリまたは二次キャッシュメモリに格納された回数を示す情報である。
【００６４】
図４は、ディスクアレイ装置データ記憶手段２１５に保存されているキャッシュ割り当て管理情報の一例を示す説明図である。キャッシュ割り当て管理情報は、論理ディスク２０６の各ブロックのデータが一次キャッシュメモリまたは二次キャッシュメモリに格納されている場合、その格納先を示す情報である。
【００６５】
ディスクアレイ装置データ記憶手段２１５に保存されているキャッシュ割り当て管理情報は、ＬＤ３０１、ＬＤアドレス３０２、キャッシュフラグ３０９、格納先３１０および格納先アドレス３１１から構成される。
【００６６】
キャッシュフラグ３０９は、対象の論理ディスク２０６のブロックに記憶されているデータがキャッシュメモリに格納されているか否かを示す情報である。格納先３１０は、データがキャッシュメモリに格納されている場合、格納されているキャッシュメモリを示す情報である。格納先アドレス３１１は、データがキャッシュメモリに格納されている場合、格納されているキャッシュメモリのブロックを示す情報である。
【００６７】
図５は、ディスクアレイ装置データ記憶手段２１５に保存されている一次キャッシュメモリ管理情報の一例を示す説明図である。一次キャッシュメモリ管理情報は、一次キャッシュメモリ２０７のデータの格納状況を示す情報である。
【００６８】
ディスクアレイ装置データ記憶手段２１５に保存されている一次キャッシュメモリ管理情報は、アドレス３１２、キャッシュフラグ３１３、ＬＤ３０１およびＬＤアドレス３０２から構成される。
【００６９】
アドレス３１２は、キャッシュメモリのブロックの識別番号を示す情報である。キャッシュフラグ３１３は、対象のブロックがデータを格納しているか否かを示す情報である。ＬＤ３０１およびＬＤアドレス３０２は、格納されているデータが記憶されている論理ディスク２０６とブロックを示す。
【００７０】
図６は、ディスクアレイ装置データ記憶手段２１５に保存されている二次キャッシュメモリ管理情報の一例を示す説明図である。二次キャッシュメモリ管理情報は、二次キャッシュメモリ２０８および二次キャッシュメモリ２０９のデータの格納状況を示す情報である。なお、図７は、ディスクアレイ装置データ記憶手段２１５に保存されている二次キャッシュメモリ管理情報の他の一例を示す説明図である。
【００７１】
ディスクアレイ装置データ記憶手段２１５に保存されている二次キャッシュメモリ管理情報は、ＳＳＤ３１４、アドレス３１５、キャッシュフラグ３１６、ＬＤ３０１、ＬＤアドレス３０２および保持時刻３１７から構成される。
【００７２】
ＳＳＤ３１４は、対象の二次キャッシュメモリを構成するＳＳＤの識別番号を示す情報である。アドレス３１５は、対象のＳＳＤのブロックの識別番号を示す情報である。キャッシュフラグ３１６は、対象のブロックがデータを格納しているか否かを示す情報である。
【００７３】
ＬＤ３０１およびＬＤアドレス３０２は、格納されているデータが記憶されている論理ディスク２０６とブロックを示す。保持時刻３１７は、対象のブロックがデータを格納している場合、データを格納した時刻を示す情報である。
【００７４】
図８は、ディスクアレイ装置データ記憶手段２１５に保存されているＳＳＤ書き換え管理情報の一例を示す説明図である。ＳＳＤ書き換え管理情報は、ＳＳＤに対する書き換え状況を示す情報である。ＳＳＤ書き換え管理情報は、対象のＳＳＤが利用可能かどうか判断するための情報を保持する。
【００７５】
ディスクアレイ装置データ記憶手段２１５に保存されているＳＳＤ書き換え管理情報は、ＳＳＤ３１４、種別３１８、ｗｒｉｔｅ回数３１９、上限ｗｒｉｔｅ回数３２０、しきい値３２１および状態３２２から構成される。
【００７６】
種別３１８は、ＳＳＤ３１４に対応するＳＳＤの種類を示す情報である。ｗｒｉｔｅ回数３１９は、対象のＳＳＤの各ブロックにおけるｗｒｉｔｅ回数の総和を示す情報である。
【００７７】
上限ｗｒｉｔｅ回数３２０は、対象のＳＳＤへの書き込みが不可になる書き込み回数を示す情報である。しきい値３２１は、対象のＳＳＤの状態が「注意」になる書き込み回数を示す情報である。
【００７８】
状態３２２は、対象のＳＳＤの現在の状態を示す情報である。状態３２２には、「正常」、「注意」、「利用不可」のいずれかが表示される。状態３２２が「正常」である場合、対象のＳＳＤは正常に書き込むことができる状態である。
【００７９】
状態３２２が「注意」である場合、対象のＳＳＤは書き込み不可になる手前の状態である。状態３２２が「利用不可」である場合、対象のＳＳＤは書き込むことができない状態である。
【００８０】
なお、本実施形態におけるストレージコントローラ２０１、アクセス履歴記録手段２１０、アクセス傾向分析手段２１１、二次キャッシュメモリ格納手段２１２、二次キャッシュメモリ再設定手段２１３、および書き込み上限監視手段２１４は、例えば、プログラムに従って動作するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって実現される。
【００８１】
また、一次キャッシュメモリ２０７は、例えば、ＣＰＵが直接読み書きできるＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）によって実現される。
【００８２】
以下、本発明の動作を説明する。最初に、ホスト計算機１００が読み出し要求または書き込み要求を発行した際、またはストレージコントローラ２０１が一次キャッシュメモリ２０７に格納されたデータの削除処理を行った際の、アクセス履歴記録手段２１０の更新処理の動作を図９のフローチャートを参照して説明する。図９は、アクセス履歴記録手段２１０の動作を示すフローチャートである。
【００８３】
アクセス履歴記録手段２１０は、アクセス要求の対象の論理ディスク２０６のブロックを示すＬＤ３０１とＬＤアドレス３０２とを取得する。同時に、アクセス履歴記録手段２１０は、現在の時刻情報を取得する（ステップＳ１０１）。
【００８４】
次いで、アクセス履歴記録手段２１０は、アクセス要求が、ストレージコントローラ２０１による一次キャッシュメモリ２０７のデータの削除要求か否かを確認する（ステップＳ１０２）。アクセス要求がデータの削除要求でない場合（ステップＳ１０２のＮｏ）、アクセス履歴記録手段２１０は、ステップＳ１０５に処理を進める。
【００８５】
アクセス要求がストレージコントローラ２０１による一次キャッシュメモリ２０７のデータの削除要求である場合（ステップＳ１０２のＹｅｓ）、アクセス履歴記録手段２１０は、削除要求に伴って実行される二次キャッシュメモリへの格納処理によって、データが二次キャッシュメモリに格納されたか否かを確認する（ステップＳ１０３）。データが格納されなかった場合（ステップＳ１０３のＮｏ）、アクセス履歴記録手段２１０は、処理を終了する。
【００８６】
二次キャッシュメモリにデータが格納された場合（ステップＳ１０３のＹｅｓ）、アクセス履歴記録手段２１０は、データが格納された二次キャッシュメモリのブロックに対応する二次キャッシュメモリ管理情報の、ＬＤ３０１、ＬＤアドレス３０２および保持時刻３１７をそれぞれ更新する（ステップＳ１０４）。
【００８７】
また、アクセス履歴記録手段２１０は、格納されたデータが記憶されている論理ディスク２０６のブロックに対応するアクセス履歴情報の、キャッシュ更新回数３０８を更新する（ステップＳ１０５）。
【００８８】
また、アクセス履歴記録手段２１０は、データが格納された二次キャッシュメモリを構成するＳＳＤに対応するＳＳＤ書き換え管理情報の、ｗｒｉｔｅ回数３１９を更新する（ステップＳ１０６）。更新した後、アクセス履歴記録手段２１０は、処理を終了する。
【００８９】
ステップＳ１０５において、アクセス履歴記録手段２１０は、アクセス要求がホスト計算機１００による書き込み要求か否かを確認する（ステップＳ１０７）。
【００９０】
アクセス要求がホスト計算機１００による書き込み要求である場合（ステップＳ１０７のＹｅｓ）、アクセス履歴記録手段２１０は、書き込みが行なわれる論理ディスク２０６のアドレスに対応するアクセス履歴情報のｗｒｉｔｅ回数３０７および更新時刻３０４をそれぞれ更新する（ステップＳ１０８）。
【００９１】
同時に、アクセス履歴記録手段２１０は、前回の書き込み要求の更新時刻３０４と現在時刻との差分を計算し、更新間隔３０５を更新する（ステップＳ１０８）。更新した後、アクセス履歴記録手段２１０は、処理を終了する。
【００９２】
アクセス要求がホスト計算機１００による書き込み要求でない場合、すなわち読み出し要求である場合（ステップＳ１０７のＮｏ）、アクセス履歴記録手段２１０は、読み出し要求の対象のデータが、キャッシュメモリに存在するかどうかを確認する（ステップＳ１０９）。キャッシュメモリに存在しない場合（ステップＳ１０９のＮｏ）、アクセス履歴記録手段２１０は、ステップＳ１１１に処理を進める。
【００９３】
キャッシュメモリに存在する場合（ステップＳ１０９のＹｅｓ）、アクセス履歴記録手段２１０は、読み出し要求の対象のデータがキャッシュメモリから再利用されると判断する。次いで、アクセス履歴記録手段２１０は、対象データが記憶されている論理ディスク２０６のブロックに対応するアクセス履歴情報のキャッシュヒット回数３０３を更新する（ステップＳ１１０）。
【００９４】
次いで、アクセス履歴記録手段２１０は、読み出しが行なわれるデータが記憶されている論理ディスク２０６のブロックに対応するアクセス履歴情報のｒｅａｄ回数３０６を更新する（ステップＳ１１１）。更新した後、アクセス履歴記録手段２１０は、処理を終了する。
【００９５】
次に、一次キャッシュメモリ２０７に格納されているデータの削除処理が行われる際の、二次キャッシュメモリ格納手段２１２の格納処理の動作を図１０のフローチャートを参照して説明する。図１０は、二次キャッシュメモリ格納手段２１２の動作を示すフローチャートである。
【００９６】
アクセス傾向分析手段２１１は、アクセス履歴情報を参照し、削除されるデータが記憶されている論理ディスク２０６のブロックに対する過去のアクセス傾向を分析する（ステップＳ２０１）。具体的に、アクセス傾向分析手段２１１は、アクセス履歴情報を参照し、平均更新間隔、平均キャッシュヒット回数およびｒｅａｄ率を計算する。
【００９７】
二次キャッシュメモリ格納手段２１２は、アクセス傾向分析手段２１１によるアクセス傾向情報を参照する。そして、二次キャッシュメモリ格納手段２１２は、対象の論理ディスク２０６のブロックの平均キャッシュヒット回数が所定値を超えているか、またはｒｅａｄ率が所定値を超えているかを確認する（ステップＳ２０２）。
【００９８】
平均キャッシュヒット回数が所定値以下で、かつｒｅａｄ率も所定値以下の場合（ステップＳ２０２のＮｏ）、二次キャッシュメモリ格納手段２１２は、対象の論理ディスク２０６のブロックに格納されているデータに再利用可能性が無いと判断する。
【００９９】
二次キャッシュメモリ格納手段２１２は、一次キャッシュメモリ２０７に格納されている対象のデータを破棄するようストレージコントローラ２０１に指示する。指示を受けたストレージコントローラ２０１は、対象のデータを一次キャッシュメモリ２０７から破棄する（ステップＳ２０６）。
【０１００】
次いで、二次キャッシュメモリ格納手段２１２は、データが破棄されたため、対象のデータが記憶されている論理ディスク２０６のブロックに対応するキャッシュ割り当て管理情報と、対象のデータが格納されていた一次キャッシュメモリ２０７のブロックに対応する一次キャッシュメモリ管理情報を、データが格納されていない状態にそれぞれ更新する（ステップＳ２０８）。更新した後、二次キャッシュメモリ格納手段２１２は、処理を終了する。
【０１０１】
平均キャッシュヒット回数が所定値を超えている場合、またはｒｅａｄ率が所定値を超えている場合（ステップＳ２０２のＹｅｓ）、二次キャッシュメモリ格納手段２１２は、対象の論理ディスク２０６のブロックに記憶されているデータに再利用可能性があると判断する。
【０１０２】
次いで、二次キャッシュメモリ格納手段２１２は、削除されるデータが記憶されている論理ディスク２０６のブロックに対する平均更新間隔が所定値以上、かつ、キャッシュ更新回数３０８が所定値以下であるかを確認する（ステップＳ２０３）。
【０１０３】
平均更新間隔が所定値以上、かつ、キャッシュ更新回数３０８が所定値以下である場合（ステップＳ２０３のＹｅｓ）、二次キャッシュメモリ格納手段２１２は、対象の論理ディスク２０６のブロックに記憶されているデータが、再利用されるが更新頻度の低いデータであると判断する。すなわち、二次キャッシュメモリ格納手段２１２は、削除されるデータを書き込み耐性の低いＭＬＣから構成される二次キャッシュメモリ２０８に格納できると判断する。
【０１０４】
二次キャッシュメモリ格納手段２１２は、ＳＳＤ書き換え管理情報を参照して、二次キャッシュメモリ２０８が利用可能かどうか確認する。ＳＳＤ書き換え管理情報を参照した時に、二次キャッシュメモリ２０８を構成するＳＳＤの状態が「利用不可」の他に「注意」である場合にも、二次キャッシュメモリ格納手段２１２は、二次キャッシュメモリ２０８を利用不可と判断してもよい。
【０１０５】
ステップＳ２０３で二次キャッシュメモリ２０８に格納できると判断し、二次キャッシュメモリ２０８が利用可能である場合、二次キャッシュメモリ格納手段２１２は、一次キャッシュメモリ２０７に格納されている対象のデータを二次キャッシュメモリ２０８に格納するようストレージコントローラ２０１に指示する。指示を受けたストレージコントローラ２０１は、対象のデータを二次キャッシュメモリ２０８に格納する（ステップＳ２０４）。
【０１０６】
ステップＳ２０３で二次キャッシュメモリ２０８に格納できると判断したが、二次キャッシュメモリ２０８が利用不可である場合、二次キャッシュメモリ格納手段２１２は、利用可能であれば対象のデータを二次キャッシュメモリ２０９に格納してもよい。二次キャッシュメモリ２０９も利用不可である場合、二次キャッシュメモリ格納手段２１２は、対象のデータを破棄してもよい。
【０１０７】
平均更新間隔が所定値未満である場合、または、キャッシュ更新回数３０８が所定値より大きい場合（ステップＳ２０３のＮｏ）、二次キャッシュメモリ格納手段２１２は、対象の論理ディスク２０６のブロックに記憶されているデータが、再利用され、かつ更新頻度の高いデータであると判断する。すなわち、二次キャッシュメモリ格納手段２１２は、削除されるデータを書き込み耐性の高いＳＬＣから構成される二次キャッシュメモリ２０９に格納できると判断する。
【０１０８】
二次キャッシュメモリ格納手段２１２は、ＳＳＤ書き換え管理情報を参照して、二次キャッシュメモリ２０９が利用可能かどうか確認する。ＳＳＤ書き換え管理情報を参照した時に、二次キャッシュメモリ２０９を構成するＳＳＤの状態が「利用不可」の他に「注意」である場合にも、二次キャッシュメモリ格納手段２１２は、二次キャッシュメモリ２０９を利用不可と判断してもよい。
【０１０９】
ステップＳ２０３で二次キャッシュメモリ２０９に格納できると判断し、二次キャッシュメモリ２０９が利用可能である場合、二次キャッシュメモリ格納手段２１２は、一次キャッシュメモリ２０７に格納されている対象のデータを二次キャッシュメモリ２０９に格納するようストレージコントローラ２０１に指示する。指示を受けたストレージコントローラ２０１は、対象のデータを二次キャッシュメモリ２０９に格納する（ステップＳ２０５）。
【０１１０】
ステップＳ２０３で二次キャッシュメモリ２０９に格納できると判断したが、二次キャッシュメモリ２０９が利用不可である場合、二次キャッシュメモリ格納手段２１２は、利用可能であれば対象のデータを二次キャッシュメモリ２０８に格納してもよい。二次キャッシュメモリ２０８も利用不可である場合、二次キャッシュメモリ格納手段２１２は、対象のデータを破棄してもよい。
【０１１１】
ステップＳ２０４またはステップＳ２０５の処理後、二次キャッシュメモリ格納手段２１２は、対象データが記憶されている論理ディスク２０６のブロックに対応するアクセス履歴情報に対して、二次キャッシュメモリにデータが格納されたことを反映する（ステップＳ２０７）。
【０１１２】
次いで、二次キャッシュメモリ格納手段２１２は、対象のデータが記憶されている論理ディスク２０６のブロックに対応するキャッシュ割り当て管理情報に対して、二次キャッシュメモリにデータが格納されたことを反映する（ステップＳ２０９）。
【０１１３】
また、二次キャッシュメモリ格納手段２１２は、対象のデータが格納されていた一次キャッシュメモリ２０７のブロックに対応する一次キャッシュメモリ管理情報をデータが格納されていない状態に、対象のデータが格納された二次キャッシュメモリのブロックに対応する二次キャッシュメモリ管理情報をデータが格納されている状態にそれぞれ更新する（ステップＳ２０９）。
【０１１４】
また、二次キャッシュメモリ格納手段２１２は、データが格納された二次キャッシュメモリを構成するＳＳＤに対応するＳＳＤ書き換え管理情報の、ｗｒｉｔｅ回数３１９を更新する（ステップＳ２０９）。更新した後、二次キャッシュメモリ格納手段２１２は、処理を終了する。
【０１１５】
次に、書き込み耐性の高いＳＬＣから構成される二次キャッシュメモリ２０９に頻繁に書き換えが行われていないデータが格納されていないかどうか確認する時の、二次キャッシュメモリ再設定手段２１３の格納処理の動作を図１１のフローチャートを参照して説明する。図１１は、二次キャッシュメモリ再設定手段２１３の動作を示すフローチャートである。
【０１１６】
二次キャッシュメモリ再設定手段２１３は、二次キャッシュメモリ２０９に対応する二次キャッシュメモリ管理情報を参照し、二次キャッシュメモリ２０９の各ブロックについて定期的にキャッシュ保持状況を分析する（ステップＳ３０１）。
【０１１７】
具体的には、二次キャッシュメモリ再設定手段２１３は、二次キャッシュメモリ２０９の各ブロックの保持時刻３１７と現在時刻との差分を計算し、キャッシュ保持期間である差分時間を算出する。
【０１１８】
二次キャッシュメモリ再設定手段２１３は、算出したキャッシュ保持期間が所定値以上であるか否かを確認する（ステップＳ３０２）。キャッシュ保持期間が所定値未満の場合（ステップＳ３０２のＮｏ）、二次キャッシュメモリ再設定手段２１３は、対象とするブロックについて処理を終了する。
【０１１９】
キャッシュ保持期間が所定値以上の場合（ステップＳ３０２のＹｅｓ）、対象とするブロックに記憶されているデータの更新頻度は低い。
【０１２０】
よって、二次キャッシュメモリ再設定手段２１３は、対象のデータを書き込み耐性の低いＭＬＣから構成される二次キャッシュメモリ２０８に再設定可能と判断する。ただし、ＳＳＤ書き換え管理情報を参照した結果、二次キャッシュメモリ２０８が利用不可の状態である場合、二次キャッシュメモリ再設定手段２１３は、二次キャッシュメモリ２０８へ再設定不可と判断する。
【０１２１】
ステップＳ３０２において再設定可能と判断した場合、二次キャッシュメモリ再設定手段２１３は、対象のデータを二次キャッシュメモリ２０９から二次キャッシュメモリ２０８に格納するよう、ストレージコントローラ２０１に指示する。指示を受けたストレージコントローラ２０１は、対象のデータを二次キャッシュメモリ２０８に格納する（ステップＳ３０３）。
【０１２２】
格納した後、二次キャッシュメモリ再設定手段２１３は、対象のデータが記憶されている論理ディスク２０６のブロックに対応するアクセス履歴情報およびキャッシュ割り当て管理情報、対象のデータが格納された二次キャッシュメモリ２０８のブロックおよび二次キャッシュメモリ２０９のブロックに対応する二次キャッシュメモリ管理情報をそれぞれ更新する（ステップＳ３０４）。
【０１２３】
また、二次キャッシュメモリ再設定手段２１３は、データが格納された二次キャッシュメモリを構成するＳＳＤに対応するＳＳＤ書き換え管理情報の、ｗｒｉｔｅ回数３１９を更新する（ステップＳ３０４）。
【０１２４】
各管理情報を更新した後、二次キャッシュメモリ再設定手段２１３は、二次キャッシュメモリ２０９に格納されている対象のデータを破棄するよう、ストレージコントローラ２０１に指示する。指示を受けたストレージコントローラ２０１は、対象のデータを二次キャッシュメモリ２０９から破棄する（ステップＳ３０５）。破棄した後、二次キャッシュメモリ再設定手段２１３は、処理を終了する。
【０１２５】
次に、ホスト計算機１００による書き込み要求の発行またはストレージコントローラ２０１による二次キャッシュメモリへの格納処理が行われる際に、二次キャッシュメモリとして利用されているＳＳＤの書き込み上限を確認する時の、書き込み上限監視手段２１４の監視処理の動作を図１２のフローチャートを参照して説明する。図１２は、書き込み上限監視手段２１４の動作を示すフローチャートである。
【０１２６】
書き込み上限監視手段２１４は、ＳＳＤ書き換え管理情報を参照することで、アクセス対象である二次キャッシュメモリを構成するＳＳＤの状況を分析する（ステップＳ４０１）。そして、書き込み上限監視手段２１４は、対象のＳＳＤ（ＳＬＣとＭＬＣとのそれぞれ）のｗｒｉｔｅ回数３１９が上限ｗｒｉｔｅ回数３２０を超えているか確認する（ステップＳ４０２）。
【０１２７】
ｗｒｉｔｅ回数３１９が上限ｗｒｉｔｅ回数３２０を超えている場合（ステップＳ４０２のＹｅｓ）、書き込み上限監視手段２１４は、対象のＳＳＤに対応するＳＳＤ書き換え管理情報の状態３２２を「利用不可」に更新する（ステップＳ４０４）。更新した後、書き込み上限監視手段２１４は、対象のＳＳＤについて監視処理を終了する。
【０１２８】
ｗｒｉｔｅ回数３１９が上限ｗｒｉｔｅ回数３２０未満の場合（ステップＳ４０２のＮｏ）、書き込み上限監視手段２１４は、ＳＳＤのｗｒｉｔｅ回数３１９がしきい値３２１を超えているか確認する（ステップＳ４０３）。ｗｒｉｔｅ回数３１９がしきい値３２１を超えていない場合（ステップＳ４０３のＮｏ）、書き込み上限監視手段２１４は、対象のＳＳＤについて監視処理を終了する。
【０１２９】
ｗｒｉｔｅ回数３１９がしきい値３２１を超えている場合（ステップＳ４０３のＹｅｓ）、書き込み上限監視手段２１４は、対象のＳＳＤに対応するＳＳＤ書き換え管理情報の状態３２２を「注意」に更新する（ステップＳ４０５）。更新した後、書き込み上限監視手段２１４は、対象のＳＳＤについて監視処理を終了する。
【０１３０】
本実施形態の記憶装置は、特性の異なるＳＳＤから構成される複数の二次キャッシュメモリを、格納対象のデータの更新頻度に応じて使い分けることができる。
【０１３１】
具体的に、記憶装置は、過去のアクセス傾向から、更新されずに長期的に再利用される可能性が高いと判断したデータを、格納コストの低いＭＬＣから構成される第一の二次キャッシュメモリを利用するように配置する。また、再利用されるが短期的に更新されると判断したデータを、寿命が長く格納コストの高いＳＬＣから構成される第二の二次キャッシュメモリを利用するように配置する。
【０１３２】
また、記憶装置は、ＳＬＣから構成される第二の二次キャッシュメモリに長期的に保存されていて再利用されるデータを、ＭＬＣから構成される第一の二次キャッシュメモリに再配置する。これらの手段により、寿命の短いＭＬＣに対する書き換え頻度を極力低減し、ＭＬＣの寿命を長期化させて、寿命到達によるＭＬＣの交換頻度を抑えることができる。
【０１３３】
よって、特性やコストの異なる複数のＳＳＤ（ＳＬＣおよびＭＬＣ）から構成される二次キャッシュメモリを搭載したディスクアレイ装置として、本実施形態の記憶装置を使用するユーザは、コストの低いＳＳＤの寿命を長期化することが可能となり、ＳＳＤ二次キャッシュメモリの導入および運用にかかる総コストを削減できる。
【０１３４】
例えば、導入コストが１、寿命が１年のＭＬＣ１０台と、導入コストが５、寿命が１０年のＳＬＣ１０台とを併用して５年運用した場合、これまでの技術でかかる総コストは５０＋５０で１００になる。これに対して、本実施形態の記憶装置を使用するとＭＬＣの交換頻度を抑えることができるため、最良時には５年間ＭＬＣの交換が不要となり、総コストを１０＋５０の６０にまで抑えることができる。
【０１３５】
次に、本発明の概要を説明する。図１３は、記憶装置の概要を示すブロック図である。本発明による記憶装置１は、データを記憶する主記憶手段３（例えば、論理ディスク２０６）と、主記憶手段３に格納されるデータをキャッシングするための一次キャッシュメモリ４（例えば、一次キャッシュメモリ２０７）と、一次キャッシュメモリ４から削除されるデータを格納する第１の二次キャッシュメモリ５（例えば、二次キャッシュメモリ２０９）と、データの書き込み可能回数が第１の二次キャッシュメモリ５の書き込み可能回数よりも少ない半導体記憶媒体が用いられ、一次キャッシュメモリ４から削除されるデータを格納する第２の二次キャッシュメモリ６（例えば、二次キャッシュメモリ２０８）と、ホスト端末からの要求に応じたデータの読み出しおよびデータの書き込み、主記憶手段３から一次キャッシュメモリ４へのデータの格納、および一次キャッシュメモリ４から第１の二次キャッシュメモリ５または第２の二次キャッシュメモリ６へのデータの転送制御を行う制御手段２（例えば、ストレージコントローラ２０１）とを備え、制御手段２は、転送制御を行うデータに再利用可能性があり、かつ更新頻度が所定値以上である場合は第１の二次キャッシュメモリ５にデータを転送し、データに再利用可能性があり、かつ更新頻度が所定値よりも低い場合は第２の二次キャッシュメモリ６にデータを転送する。
【０１３６】
そのような構成により、記憶装置を使用する場合、使用するユーザは、特性の異なる複数の記憶素子を二次キャッシュメモリとして併用する時の導入コストおよび運用コストを削減できる。
【０１３７】
記憶装置１は、主記憶手段３に記憶されている各データの再利用可能性と更新頻度の情報を含むアクセス情報を記憶するアクセス情報記憶手段（例えば、ディスクアレイ装置データ記憶手段２１５）を備え、制御手段２は、アクセス情報を参照してデータの転送制御を行ってもよい。
【０１３８】
そのような構成により、記憶装置を使用する場合、使用するユーザは、各データのアクセス情報を保存できる。
【０１３９】
記憶装置１は、第１の二次キャッシュメモリ５に所定の期間以上格納されているデータを第２の二次キャッシュメモリ６に移動するように制御手段２に指示する再設定手段（例えば、二次キャッシュメモリ再設定手段２１３）を備えていてもよい。
【０１４０】
そのような構成により、記憶装置を使用する場合、使用するユーザは、書き込み耐性の低いＭＬＣから構成される二次キャッシュメモリの寿命を延ばすことができる。
【０１４１】
記憶装置１は、第１の二次キャッシュメモリ５として使用される半導体記憶媒体と第２の二次キャッシュメモリ６として使用される半導体記憶媒体とのそれぞれへの書き込み回数を確認し、書き込み回数が所定のしきい値を超えている場合にしきい値を超えた方の二次キャッシュメモリとして使用される半導体記憶媒体を利用不可とする監視手段（例えば、書き込み上限監視手段２１４）を備えていてもよい。
【０１４２】
そのような構成により、記憶装置を使用する場合、書き込み回数が上限に達する前にＳＳＤへの書き込みが中止されるため、使用するユーザはＳＳＤが読み書き不能な状態になることを回避できる。
【符号の説明】
【０１４３】
１  記憶装置
２  制御手段
３  主記憶手段
４  一次キャッシュメモリ
５  第１の二次キャッシュメモリ
６  第２の二次キャッシュメモリ
１００  ホスト計算機
２００  ディスクアレイ装置
２０１  ストレージコントローラ
２０２〜２０４  ＨＤＤ
２０５  プール
２０６  論理ディスク
２０７  一次キャッシュメモリ
２０８、２０９  二次キャッシュメモリ
２１０  アクセス履歴記録手段
２１１  アクセス傾向分析手段
２１２  二次キャッシュメモリ格納手段
２１３  二次キャッシュメモリ再設定手段
２１４  書き込み上限監視手段
２１５  ディスクアレイ装置データ記憶手段
３００  通信路
３０１  ＬＤ
３０２  ＬＤアドレス
３０３  キャッシュヒット回数
３０４  更新時刻
３０５  更新間隔
３０６  ｒｅａｄ回数
３０７  ｗｒｉｔｅ回数
３０８  キャッシュ更新回数
３０９  キャッシュフラグ
３１０  格納先
３１１  格納先アドレス
３１２  アドレス
３１３  キャッシュフラグ
３１４  ＳＳＤ
３１５  アドレス
３１６  キャッシュフラグ
３１７  保持時刻
３１８  種別
３１９  ｗｒｉｔｅ回数
３２０  上限ｗｒｉｔｅ回数
３２１  しきい値
３２２  状態
【図１】
2014182674.tif 000003
【図２】
2014182674.tif 000004
【図３】
2014182674.tif 000005
【図４】
2014182674.tif 000006
【図５】
2014182674.tif 000007
【図６】
2014182674.tif 000008
【図７】
2014182674.tif 000009
【図８】
2014182674.tif 000010
【図９】
2014182674.tif 000011
【図１０】
2014182674.tif 000012
【図１１】
2014182674.tif 000013
【図１２】
2014182674.tif 000014
【図１３】
2014182674.tif 000015