(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025021984
(43)【公開日】2025-02-14
(54)【発明の名称】ストレージ装置、ストレージ制御方法、及びプログラム
(51)【国際特許分類】
G06F 3/06 20060101AFI20250206BHJP
G06F 3/08 20060101ALI20250206BHJP
G06F 11/30 20060101ALI20250206BHJP
G06F 12/06 20060101ALI20250206BHJP
G06F 16/185 20190101ALI20250206BHJP
【FI】
G06F3/06 302J
G06F3/06 304N
G06F3/08 H
G06F11/30 155
G06F11/30 140M
G06F12/06 515J
G06F12/06 522D
G06F16/185
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023126138
(22)【出願日】2023-08-02
(11)【特許番号】
(45)【特許公報発行日】2024-10-23
(71)【出願人】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【弁理士】
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】廣瀬 勝彦
(72)【発明者】
【氏名】鈴木 陽文
【テーマコード(参考)】
5B042
5B160
【Fターム(参考)】
5B042GA34
5B042JJ29
5B042MA08
5B042MC25
5B160AA14
5B160AA20
5B160MM03
(57)【要約】
【課題】 処理性能の低下を抑制することが可能なストレージ装置等を提供することを目的の一つとする。
【解決手段】 本開示の一態様にかかるストレージ装置は、不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有し、前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出する算出手段と、算出された使用頻度に基づいて、データの使用頻度の高低を判定する判定手段と、使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込むデータ制御手段と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有し、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出する算出手段と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定する判定手段と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込むデータ制御手段と、を備える、
ストレージ装置。
【請求項2】
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスするアクセス制御手段を備え、
前記算出手段は、前記第2記憶領域に格納される所定のデータの使用頻度を算出し、
前記判定手段は、前記所定のデータの使用頻度の高低を判定し、
前記所定のデータの使用頻度が高いと判定された場合、前記アクセス制御手段は、前記所定のデータに対するアクセスの要求があった場合、前記第1記憶領域に格納される前記所定のデータにアクセスする、
請求項1に記載のストレージ装置。
【請求項3】
前記データ制御手段は、使用頻度が高いと判定された前記所定のデータが、前記第1記憶領域に存在しない場合、前記第2記憶領域に格納される前記所定のデータを、前記第1記憶領域に書き込む、
請求項2に記載のストレージ装置。
【請求項4】
前記データ制御手段は、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込む、
請求項1に記載のストレージ装置。
【請求項5】
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
請求項4に記載のストレージ装置。
【請求項6】
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスするアクセス制御手段を備え、
ホスト装置からの読み出し要求に対して、前記アクセス制御手段が前記第1記憶領域の特定のデータにアクセスする際に、読み出しエラーが発生した場合、
前記データ制御手段は、前記第1記憶領域の前記特定のデータとともに格納される前記付加情報と、前記第2記憶領域の前記特定のデータとともに格納される前記付加情報と、に基づいて、前記第1記憶領域の前記特定のデータを修復する、
請求項5に記載のストレージ装置。
【請求項7】
前記第1メモリと前記第2メモリとを有するSSD(Solid State Drive)において構成される、
請求項1に記載のストレージ装置。
【請求項8】
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置において、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出し、
算出された使用頻度に基づいて、データの使用頻度の高低を判定し、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込む、
ストレージ制御方法。
【請求項9】
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置に、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出させる処理と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定させる処理と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込ませる処理と、
をコンピュータに実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ストレージの制御技術に関する。
【背景技術】
【0002】
ストレージ装置に関する技術が特許文献1に開示される。
【0003】
特許文献1では、高速不揮発性メモリと低速不揮発性メモリとを有するSSD(Solid State Drive)が開示される。具体的には、特許文献1に開示されるSSDは、受信したデータを高速不揮発性メモリに保存する。このとき、ホットデータと判別されたデータは、高速不揮発性メモリに保存され、コールドデータと判別されたデータは、高速不揮発性メモリから低速不揮発性メモリに移動される。なお、ホットデータは、書き込みアクセス頻度の高いデータである。コールドデータは、一度又は低い頻度で書き込まれ、高い頻度で読み出されるデータである。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
データの使用頻度は変化する可能性がある。例えば、所定のデータが、使用頻度が低いとして、低速不揮発性メモリに保存されたとする。後に、所定のデータの使用頻度が増加する場合がある。このとき、所定のデータは、低速不揮発性メモリにて管理されることとなる。すなわち、使用頻度が高いにも関わらず、所定のデータに対するアクセスは、低速不揮発性メモリに対して行われる。これは、SSD等のストレージ装置の処理性能の低下につながる虞がある。
【0006】
本開示は、上記課題を鑑みてなされたものであり、処理性能の低下を抑制することが可能なストレージ装置等を提供することを目的の一つとする。
【課題を解決するための手段】
【0007】
本開示の一態様にかかるストレージ装置は、不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有し、前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出する算出手段と、算出された使用頻度に基づいて、データの使用頻度の高低を判定する判定手段と、使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込むデータ制御手段と、を備える。
【0008】
本開示の一態様にかかるストレージ制御方法は、不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置において、前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出し、算出された使用頻度に基づいて、データの使用頻度の高低を判定し、使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込む。
【0009】
本開示の一態様にかかるプログラムは、不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置に、前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出させる処理と、算出された使用頻度に基づいて、データの使用頻度の高低を判定させる処理と、使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込ませる処理と、をコンピュータに実行させる。
【発明の効果】
【0010】
本開示によれば、処理性能の低下を抑制することができる。
【図面の簡単な説明】
【0011】
【
図1】本開示にかかるストレージ装置の機能構成の一例を示す図である。
【
図2】本開示にかかるストレージ装置の動作の一例を説明するフローチャートである。
【
図3】本開示にかかるストレージ装置100の機能構成の一例を含むブロック図である。
【
図4】本開示にかかるストレージ装置のハードウェア構成の一例を示すブロック図である。
【
図5】本開示にかかる管理テーブルの一例を示す図である。
【
図6】本開示にかかる使用頻度テーブルの一例を示す図である。
【
図7】本開示にかかるストレージ装置の動作の一例を説明する第1のフローチャートである。
【
図8】本開示にかかるストレージ装置の動作の一例を説明する第2のフローチャートである。
【発明を実施するための形態】
【0012】
以下に、本開示の実施形態について、図面を参照しつつ説明する。なお、本開示において、図面の各々は、1以上の実施形態に関連付けられる。
【0013】
<第1の実施形態>
第1の実施形態のストレージ装置の概要について説明する。
【0014】
図1は、ストレージ装置100の機能構成の一例を示す図である。ストレージ装置100は、不揮発性記憶媒体を備える。例えば、ストレージ装置100は、SSDによって構成される。
【0015】
図1に示すように、ストレージ装置100は、第1メモリ10と第2メモリ20とを有する。第1メモリ10及び第2メモリ20は、不揮発性記憶媒体である。例えば、第1メモリ10及び第2メモリ20は、それぞれフラッシュメモリである。第1メモリ10は、第2メモリ20に比べて処理性能が高いメモリである。例えば、第1メモリ10は、第2メモリ20より処理速度が速いメモリである。反対に、第2メモリ20は、第1メモリ10より、処理速度が遅いメモリである。また、第1メモリ10は、第2メモリ20に比べて、書き込み可能な回数が高いメモリであってよい。言い換えると、第1メモリ10は、第2メモリ20に比べて書き込み耐久性の高いメモリであってよい。
【0016】
ストレージ装置100に格納されるデータは、第1メモリ10または第2メモリ20によって構築される記憶領域に書き込まれる。第1メモリ10によって構築される記憶領域を第1記憶領域と称する。また、第2メモリ20によって構築される記憶領域を第2記憶領域と称する。
【0017】
第1メモリ10に格納されるデータの参照処理は、第2メモリ20に格納されるデータの参照処理に比べて高速である。そのため、第1メモリ10において多くデータを管理することによってストレージ装置全体としての参照処理の速度は向上する。一方で、いずれのメモリにも書き込み回数に制限が存在する。そのため、第1メモリ10でのみデータを管理すると、第1メモリ10の書き込み回数の制限に達するまでの時間が短縮する虞がある。そこで、参照回数の多いデータを第1メモリ10において管理し、参照回数の低いデータを第2メモリ20において管理することが考えられる。これにより、ストレージ装置全体として、処理の高速化を図るとともに、書き込み回数の制限に達するまでの時間の短縮の抑制を図ることができる。
【0018】
また、
図1に示すように、ストレージ装置100は、算出部110と判定部120とデータ制御部130とを備える。算出部110は、ストレージ装置100に格納されるデータの使用頻度を算出する。例えば、第1メモリによって構築される第1記憶領域にデータが格納される。当該データは、例えば外部の装置等からの要求によって参照される。算出部110は、このような、データに対する単位時間当たりの参照回数を、使用頻度として算出してよい。
【0019】
このように、算出部110は、第1メモリ10において構築される第1記憶領域に格納されるデータの使用頻度を算出する。算出部110は、算出手段の一例である。
【0020】
判定部120は、データの使用頻度が高いか低いかを判定する。例えば、判定部120は、算出された使用頻度と閾値とを比較する。そして、判定部120は、使用頻度が閾値以上である場合、データの使用頻度が高いと判定してよい。また、判定部120は、使用頻度が閾値未満である場合、データの使用頻度が低いと判定してよい。
【0021】
このように、判定部120は、算出された使用頻度に基づいて、データの使用頻度の高低を判定する。判定部120は、判定手段の一例である。
【0022】
データ制御部130は、第1記憶領域または第2記憶領域に格納されたデータに関する制御を行う。具体的には、データ制御部130は、第1記憶領域に格納されたデータのうち、使用頻度が低いと判定されたデータを第2記憶領域に書き込む。これにより、使用頻度が低いと判定されたデータは、第1記憶領域と第2記憶領域との双方に存在することとなる。
【0023】
このように、データ制御部130は、使用頻度が低いと判定されたデータを、第2メモリ20において構築される第2記憶領域に書き込む。データ制御部130は、データ制御手段の一例である。
【0024】
次に、ストレージ装置100の動作の一例を、
図2を用いて説明する。なお本開示において、フローチャートの各ステップを「S1」のように、各ステップに付した番号を用いて表現する。
【0025】
図2は、ストレージ装置100の動作の一例を説明するフローチャートである。算出部110は、第1メモリ10において構築される第1記憶領域に格納されるデータの使用頻度を算出する(S1)。判定部120は、算出された使用頻度に基づいて、データの使用頻度の高低を判定する(S2)。データ制御部130は、使用頻度が低いと判定されたデータを、第2メモリ20において構築される第2記憶領域に書き込む(S3)。
【0026】
このように、第1の実施形態のストレージ装置100は、不揮発性記憶媒体である第1メモリ10と、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリ20と、を有する。また、ストレージ装置100は、第1メモリ10において構築される第1記憶領域に格納されるデータの使用頻度を算出する。ストレージ装置100は、算出された使用頻度に基づいて、データの使用頻度の高低を判定する。そして、ストレージ装置100は、使用頻度が低いと判定されたデータを、第2メモリ20において構築される第2記憶領域に書き込む。
【0027】
データの使用頻度は変化する可能性がある。例えば、第2メモリ20において管理されているデータの使用頻度が増加する可能性がある。この場合、当該データを第2メモリ20で管理し続けると、装置全体としての処理性能の低下につながる虞がある。これに対して、ストレージ装置100は、使用頻度が低いと判定されたデータは、第1メモリ10と第2メモリ20との双方に格納される。そのため、第2メモリ20において管理されていたデータの使用頻度が増加した場合、ストレージ装置100は、当該データの管理を第1メモリ10に切り替えることが可能である。これにより、ストレージ装置100は、処理性能の低下を抑制することができる。
【0028】
<第2の実施形態>
次に、第2の実施形態のストレージ装置について説明する。第2の実施形態では、第1の実施形態で説明したストレージ装置100に関する更なる例を説明する。なお、第1の実施形態と重複する内容は、一部説明を省略する。
【0029】
[ストレージ装置100の詳細]
図3は、ストレージ装置100の機能構成の一例を含むブロック図である。この例では、ストレージ装置100は、ホスト装置200と通信可能に接続される。ホスト装置200は、データの入出力が可能なコンピュータである。ホスト装置200は、ストレージ装置100に対してアクセスが可能である。例えばホスト装置200は、ストレージ装置100にデータの読み出し要求または書き込み要求を送信する。これにより、ホスト装置200は、ストレージ装置100からデータを取得したり、ストレージ装置100にデータを格納したりする。
【0030】
ストレージ装置100は、ホスト装置200からの要求に応じて、データの読み出し処理または書き込み処理を行う。ストレージ装置100は、少なくとも第1メモリ10と第2メモリ20とを有する。すなわち、ストレージ装置100は、ホスト装置200からの要求に応じて、第1メモリ10によって構築される第1記憶領域、または、第2メモリ20によって構築される第2記憶領域にアクセスする。そして、ストレージ装置100は、データの読み出し処理または書き込み処理を行う。なお、ストレージ装置100が有するメモリはこの例に限られない。ストレージ装置100は、更なるメモリを有していてもよい。そして、ストレージ装置100は、更なるメモリによって構築される記憶領域に格納されたデータに対して、読み出し処理または書き込み処理を行ってよい。
【0031】
図4は、本開示にかかるストレージ装置のハードウェア構成の一例を示すブロック図である。本開示で説明するストレージ装置及びストレージ制御方法は、例えば、
図4に示すハードウェア構成を有する装置で実現される。ストレージ装置100は、例えば、SSDにおいて構成される。
図4の例では、ストレージ装置100は、インタフェース1、コントローラ2、バッファメモリ3、第1記憶素子群4、及び第2記憶素子群5を備える。ストレージ装置100は、複数の電気回路によって実現されてもよい。
【0032】
インタフェース1は、ストレージ装置100とホスト装置200とを接続する。インタフェース1は、例えば、IDE(Integrated Device Electronics)、SATA(Serial Advanced Technology Attachment)、及びPCIe(Peripheral Component Interconnect express)等の規格で実現されてよい。
【0033】
コントローラ2は、データに関する各種制御を行う。例えば、コントローラ2は、第1記憶素子群4及び第2記憶素子群5に対して、データの読み出しまたは書き込み処理を行う。
【0034】
バッファメモリ3は、データを一時的に格納する記憶媒体である。バッファメモリ3は、例えば、DRAM(Dynamic Random Access Memory)で構成されてよい。
【0035】
第1記憶素子群4及び第2記憶素子群5は、データを格納する不揮発性記憶媒体である。第1記憶素子群4及び第2記憶素子群5は、例えば、NAND型フラッシュメモリである。第1記憶素子群4は、第1記憶素子41-1、41-2、・・・、41-n(nは自然数)を有する。すなわち、第1記憶素子群4は、複数の第1記憶素子を有してよい。この例では、n個の第1記憶素子が直列に接続されている。
【0036】
また、第2記憶素子群5は、第2記憶素子51-1、51-2、・・・、51-m、・・・、5p-1、5p-2、・・・5p-m(m及びpは自然数)を有する。第2記憶素子群5は、複数の第2記憶素子を有してよい。この例では、直列に接続されるm個の第2記憶素子のセットが、p個並列に存在している。
【0037】
第1記憶素子群4は、本開示における第1メモリ10として機能してよい。また、第2記憶素子群5は、本開示における第2メモリ20として機能してよい。すなわち、第1記憶領域は、第1記憶素子群4において構築されてよい。また、第2記憶領域は、第2記憶素子群5において構築されてよい。
【0038】
第1記憶素子群4と第2記憶素子群5とは、性能の異なる記憶媒体である。例えば、第1記憶素子群4は、第2記憶素子群5に比べて、処理速度が速い。また、例えば、第1記憶素子群4は、第2記憶素子群5に比べて、書き込み耐久性が高い。また、例えば、第1記憶素子群4は、第2記憶素子群5に比べて、記憶容量が小さい。
【0039】
本開示のストレージ装置の機能における各構成は、例えば、コントローラ2において実現されてよい。あるいは、当該各構成は、第1記憶素子群4及び第2記憶素子群5と接続可能な更なるコンポーネントとして実現されてよい。なお、ストレージ装置の実現方法には様々な変形例がある。例えば、ストレージ装置に含まれる各構成は、それぞれ専用の装置として実現することができる。また、ストレージ装置は、複数の装置の組み合わせに基づいて実現することができる。
【0040】
また、本開示の各実施形態の機能における各構成を実現するためのプログラムを所定の記憶媒体に記録させ、当該所定の記憶媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記憶媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記憶媒体、及びそのプログラム自体も各実施形態に含まれる。当該所定の記憶媒体は、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD(Compact Disc)-ROM、磁気テープ、不揮発性メモリカード、またはROMであるが、この例に限られない。また当該所定の記憶媒体に記録されたプログラムは、単体で処理を実行しているプログラムに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS(Operating System)上で動作して処理を実行するプログラムも各実施形態の範疇に含まれる。
【0041】
図3に示すように、ストレージ装置100は、算出部110と判定部120とデータ制御部130とアクセス制御部140とを備える。
【0042】
アクセス制御部140は、ホスト装置200からの要求に応じてデータにアクセスする。具体的には、アクセス制御部140は、ホスト装置200からデータの読み出し要求または書き込み要求を受信する。読み出し要求は、リードコマンドと呼ばれることもある。また、書き込み要求は、ライトコマンドと呼ばれることもある。各要求には、要求に応じた情報が含まれる。
【0043】
例えば書き込み要求には、アドレス情報と書き込み対象となるデータが含まれる。アドレス情報は、データ位置を示す情報である。アドレス情報は、例えばLBA(Logical Block Addressing)に基づく情報であってよい。アクセス制御部140は、書き込み要求を受信した場合、書き込み要求に含まれるデータを、第1記憶領域に書き込む。さらに、書き込み要求には、書き込みの操作の種類を示すコマンド番号及び書き込みが行われた時刻の情報等が含まれてよい。
【0044】
このようにアクセス制御部140は、ホスト装置200からの書き込み要求に対しては、まず第1記憶領域にデータを書き込んでよい。
【0045】
また、読み出し要求には、アドレス情報が含まれる。アクセス制御部140は、読み出し要求を受信した場合、読み出し要求に含まれるアドレス情報に対応する記憶領域上の位置のデータを読み出す。
【0046】
ここで、アドレス情報と記憶領域上の位置とは対応づけられる。記憶領域上の位置を示す情報を位置情報と称する。例えば、アクセス制御部140は、管理テーブルを利用して、アドレス情報に対応する記憶領域上の位置へのアクセスを行ってよい。管理テーブルは、アドレス情報と位置情報とが対応付けられた情報である。
【0047】
図5は、管理テーブルの一例を示す図である。
図5の例では、管理テーブルには、アドレス情報と第1記憶領域の位置情報と第2記憶領域の位置情報と管理情報とが対応づけられた情報が含まれている。例えば、一行目のレコードは、アドレス情報「A1」のデータは、第1記憶領域上の位置である位置情報「X1」に格納され、第2記憶領域には格納されていないことが示されている。アクセス制御部140は、例えば、アドレス情報「A1」を含む読み出し要求を受信した場合、位置情報「X1」のデータを読み出す。
【0048】
また、
図5の例において二行目のレコードは、アドレス情報「A2」のデータは、第1記憶領域の位置情報「X2」と第2記憶領域上の位置情報「Y2」とに格納されていることが示されている。また、管理情報は「Y2」を示している。ここで、管理情報は、データが管理される位置を示す情報である。この例では、アドレス情報「A2」のデータは、第2記憶領域の位置情報「Y2」において管理される。そのため、アクセス制御部140は、例えば、アドレス情報「A2」を含む読み出し要求を受信した場合、位置情報「Y2」のデータを読み出す。
【0049】
ホスト装置200から書き込み要求があった場合、アクセス制御部140は、要求に含まれるアドレス情報に対応する第1記憶領域上の位置に、当該要求に含まれるデータを書き込む。そして、アクセス制御部140は、管理テーブルを更新する。例えば、書き込み要求に含まれるアドレス情報が「A4」であるとする。そして、アクセス制御部140は、第1記憶領域の位置情報「X4」にデータを書き込んだとする。このとき、アクセス制御部140は、アドレス情報「A4」と第1記憶領域の位置情報「X4」とを対応付けるよう、管理テーブルを更新する。このとき、アクセス制御部140は、アドレス情報「A4」には、「X4」を示す管理情報を対応付ける。
【0050】
なお、管理テーブルは、ストレージ装置100のいずれかの記憶媒体に格納されてよい。例えば、管理テーブルは、コントローラ2に含まれる記憶媒体に格納されてよい。または、管理テーブルは、第1メモリ10または第2メモリ20に格納されてよい。あるいは、管理テーブルは、記憶媒体の機能を有する更なるコンポーネントに格納されてよい。
【0051】
このように、アクセス制御部140は、ホスト装置200からの要求に応じて第1記憶領域または第2記憶領域のデータにアクセスする。アクセス制御部140は、アクセス制御手段の一例である。
【0052】
算出部110は、データの使用頻度を算出する。具体的には、算出部110は、第1記憶領域または第2記憶領域に格納されるデータに対するアクセスの回数を監視する。例えば、読み出し要求に応じて、第1記憶領域に格納される所定のデータが読み出された場合、算出部110は、当該所定のデータに対するアクセスの回数を1増加させる。このとき算出部110は、所定時間前までの所定のデータに対するアクセスを監視してよい。すなわち、算出部110は、現在時刻から所定時間前までの、データに対するアクセスの回数を、データの使用頻度として算出してよい。あるいは、算出部110は、所定時間ごとにアクセスの回数をリセットしてもよい。例えば、算出部110は、ある時点から所定時間経過するまで、当該所定のデータに対するアクセスの回数を監視する。そして、所定時間経過後、算出部110は、当該所定のデータに対するアクセスの回数を0に戻してもよい。このように、データの使用頻度は、単位時間あたりに、そのデータが読み出されたり、更新されたりした回数ともいえる。
【0053】
ストレージ装置100は、データの使用頻度を示す使用頻度テーブルを有する。使用頻度テーブルは、データを識別する情報と使用頻度とが関連付けられた情報を含む。使用頻度テーブルは、ストレージ装置100のいずれかの記憶媒体に格納されてよい。例えば、使用頻度テーブルは、コントローラ2に含まれる記憶媒体に格納されてよい。または、使用頻度テーブルは、第1メモリ10または第2メモリ20に格納されてよい。あるいは、使用頻度テーブルは、記憶媒体の機能を有する更なるコンポーネントに格納されてよい。
【0054】
図6は使用頻度テーブルの一例を示す図である。
図6の例では、記憶領域上の位置を示す位置情報と使用頻度とが対応づけられている。このように、データを識別する情報として、位置情報が用いられてもよい。例えば、一行目のレコードには、位置情報「X1」のデータに対する使用頻度が「10」であることが示されている。算出部110は、使用頻度の算出に応じて使用頻度テーブルを更新してよい。例えば、位置情報「X1」のデータが要求に応じて読み出された場合、算出部110は、位置情報「X1」に対応する使用頻度を1増加させ、「11」とする。また、例えば、算出部110は、所定時間経過後に、位置情報「X1」に対応する使用頻度を0に更新してよい。
【0055】
判定部120は、使用頻度の高低を判定する。具体的には、判定部120は、算出部110によって算出された使用頻度と閾値とを比較する。例えば、判定部120は、使用頻度テーブルを参照し、使用頻度のそれぞれと閾値とを比較する。そして、データ毎に、使用頻度が高いか低いかを判定する。
【0056】
データ制御部130は、判定部120による判定結果に基づいて、データを制御する。具体的には、第1記憶領域に格納されるデータについて、使用頻度が低いと判定された場合、データ制御部130は、当該データを第2記憶領域に書き込む。このとき、データ制御部130は、管理テーブルを更新する。
【0057】
図5の例の管理テーブルには、アドレス情報「A3」のデータは、第1記憶領域上の位置情報「X3」に格納されていることが示されている。ここで、判定部120によって、位置情報「X3」のデータに対する使用頻度が低いと判定されたとする。このとき、データ制御部130は、例えば、位置情報「X3」のデータを、第2記憶領域上の位置情報「Y3」に書き込む。そして、データ制御部130は、管理テーブルのアドレス情報「A3」に対応する第2記憶領域上の位置情報として、「Y3」を書き込む。また、データ制御部130は、アドレス情報「A3」に対応する管理情報を「Y3」に書き換える。これにより、例えば、ホスト装置200から、アドレス情報「A3」を含む読み出し要求が受信された場合、アクセス制御部140は、位置情報「Y3」のデータを読み出す。
【0058】
また、判定部120が、第1記憶領域に格納されるデータについて、使用頻度が高いと判定したとする。この場合、当該データは、第1記憶領域において管理される。すなわち、データ制御部130は、管理テーブルを更新しなくともよい。
【0059】
または、データ制御部130は、使用頻度が高いと判定された、第1記憶領域に格納されるデータを、定期的に第2記憶領域に書き込んでもよい。例えば、第1記憶領域に、使用頻度が高いと判定されたデータAが格納されているとする。このときデータ制御部130は、所定の時間間隔で、データAを第2記憶領域に書き込んでよい。当該所定の時間間隔は、例えば算出部110によって算出される使用頻度の単位時間より長い時間である。あるいは、データ制御部130は、データAに対して所定の回数アクセスされるごとに、データAを第2記憶領域に書き込んでよい。なお、管理テーブルには、データAについて、第2記憶領域の位置情報が示される。これにより、第2記憶領域に書き込まれたデータは、データAのバックアップとして利用可能となる。
【0060】
また、判定部120が、第2記憶領域に格納されるデータについて、使用頻度が高いと判定したとする。このとき、データ制御部130は、当該データを第1記憶領域で管理するよう制御する。具体的には、データ制御部130は、管理テーブルを更新する。例えば、
図5の例において、アドレス情報「A2」のデータは第2記憶領域において管理されている。そして、アドレス情報「A2」のデータの使用頻度が高いと判定された場合、データ制御部130は、アドレス情報「A2」に対応する管理情報「Y2」を「X2」に書き換える。これにより、アクセス制御部140は、アドレス情報「A2」のデータについては、位置情報「X2」にアクセスする。
【0061】
[ストレージ装置100の動作例]
次に、ストレージ装置100の動作の一例を、
図7及び
図8を用いて説明する。
【0062】
図7は、ストレージ装置100の動作の一例を説明する第1のフローチャートである。具体的には、
図7は、ホスト装置200から要求があったときのストレージ装置100の動作例である。アクセス制御部140は、ホスト装置200から要求を受け付ける(S101)。またアクセス制御部140は、要求に応じてデータにアクセスする(S102)。
【0063】
例えば、アクセス制御部140は、ホスト装置200から書き込み要求を受け付けると、書き込み要求に含まれるデータを、第1記憶領域に書き込む。そして、アクセス制御部140は、書き込み要求に含まれるアクセス情報と第1記憶領域の位置情報と管理情報とを対応づけた情報が示されるよう、管理テーブルを更新する。また例えば、アクセス制御部140は、ホスト装置200から読み出し要求を受け付けると、読み出し要求に含まれるアクセス情報と、管理テーブルとに基づいて、データが格納される記憶領域の位置を特定する。そして、アクセス制御部140は、特定された位置のデータを読み出す。
【0064】
算出部110は、データへのアクセスに応じて、データの使用頻度を算出する(S103)。例えば、算出部110は、使用頻度の算出に応じて使用頻度テーブルを更新してよい。
【0065】
図8は、ストレージ装置100の動作の一例を説明する第2のフローチャートである。具体的には、
図8は、使用頻度の判定を行う際のストレージ装置100の動作例である。本動作例において、ストレージ装置100は、
図7の動作例によって更新された使用頻度テーブルを用いる。判定部120は、記憶領域に格納されるデータの使用頻度の判定を行う。例えば、判定部120は、使用頻度テーブルと管理テーブルとに基づいて、データ使用頻度の高低、及び、当該データが第1記憶領域と第2記憶領域とのいずれで管理されるデータであるかを判定する。データの使用頻度が高いと判定された場合(S201の「Yes」)であって、当該データが第1記憶領域で管理されるデータである(S202の「Yes」)とする。この場合、ストレージ装置100は、S201の処理に戻る。なお、このときの第1記憶領域のデータについては、データ制御部130は、定期的に第2記憶領域に書き込んでよい。これにより、バックアップとして、第2記憶領域に書き込まれたデータを利用することができる。
【0066】
データの使用頻度が高いと判定された場合(S201の「Yes」)であって、当該データが第2記憶領域で管理されるデータである(S202の「No」)とする。この場合、データ制御部130は、当該データが、第1記憶領域で管理されるよう、管理テーブルを更新する(S203)。具体的には、データ制御部130は、管理テーブルにおいて、当該データに対応する管理情報を、第1記憶領域の位置情報に書き換える。
【0067】
データの使用頻度が低いと判定された場合(S201の「No」)であって、当該データが第1記憶領域で管理されるデータである(S203の「Yes」)とする。この場合、データ制御部130は、第2記憶領域に当該データを書き込む(S205)。そして、データ制御部130は、管理テーブルを更新する(S206)。
【0068】
データの使用頻度が低いと判定された場合(S201の「No」)であって、当該データが第2記憶領域で管理されるデータである(S203の「No」)とする。この場合、ストレージ装置100は、S201の処理に戻る。
【0069】
上述の動作例は、ストレージ装置100の動作のあくまで一例である。すなわち、ストレージ装置100の動作は、
図7及び
図8の例に限られない。
【0070】
このように、第2の実施形態のストレージ装置100は、不揮発性記憶媒体である第1メモリ10と、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリ20と、を有する。また、ストレージ装置100は、第1メモリ10において構築される第1記憶領域に格納されるデータの使用頻度を算出する。ストレージ装置100は、算出された使用頻度に基づいて、データの使用頻度の高低を判定する。そして、ストレージ装置100は、使用頻度が低いと判定されたデータを、第2メモリ20において構築される第2記憶領域に書き込む。
【0071】
また、第2の実施形態のストレージ装置100は、ホスト装置200からの要求に応じて第1記憶領域または第2記憶領域のデータにアクセスする。このとき、ストレージ装置100は、第2記憶領域に格納される所定のデータの使用頻度を算出し、当該所定のデータの使用頻度の高低を判定する。そして、ストレージ装置100は、当該所定のデータの使用頻度が高いと判定された場合、当該所定のデータに対するアクセスの要求があった場合、第1記憶領域に格納される当該所定のデータにアクセスする。
【0072】
データの使用頻度は変化する可能性がある。例えば、第2メモリ20において管理されているデータの使用頻度が増加する可能性がある。この場合、当該データを第2メモリ20で管理し続けると、装置全体としての処理性能の低下につながる虞がある。これに対して、ストレージ装置100は、使用頻度が低いと判定されたデータは、第1メモリ10と第2メモリ20との双方に格納される。そのため、第2メモリ20において管理されていたデータの使用頻度が増加した場合、ストレージ装置100は、データを移動させることなく、当該データの管理を第1メモリ10に切り替えることが可能である。これにより、ストレージ装置100は、処理性能の低下を抑制することができる。
【0073】
また、第2の実施形態のストレージ装置100は、第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に第2記憶領域に書き込んでよい。これにより、ストレージ装置100は、使用頻度が高いと判定された第1記憶領域に格納されるデータのバックアップをとることができる。
【0074】
[変形例1]
ストレージ装置100は、格納されたデータを削除してもよい。例えば、第1記憶領域にデータBが格納されているとする。そして、データBの使用頻度が低いと判定されたとする。このとき、データ制御部130は、データBを第2記憶領域に書き込む。そして、データ制御部130は、第1記憶領域に格納されるデータBを削除してもよい。
【0075】
例えば、所定期間、第2記憶領域に格納されたデータBの使用頻度が低いと判定されたとする。この場合にデータ制御部130は、第1記憶領域に格納されるデータBを削除する。そして、データ制御部130は、管理テーブルを更新する。具体的には、データ制御部130は、管理テーブルにおける、データBに対応する第1記憶領域の位置情報を削除する。
【0076】
なお、第2記憶領域に格納されたデータBの使用頻度が高いと判定されたとする。データBが第1記憶領域に存在しない場合、データ制御部130は、第2記憶領域に格納されたデータBを、第1記憶領域に書き込む。そして、データ制御部130は、管理テーブルにおける、データBに対応する第1記憶領域の位置情報を追加する。そして、データ制御部130は、データBに対応する管理情報を、第1記憶領域の位置情報に更新する。
【0077】
このように、ストレージ装置100は、使用頻度が高いと判定された第2記憶領域に格納される所定のデータが、第1記憶領域に存在しない場合、第2記憶領域に格納される所定のデータを、第1記憶領域に書き込んでよい。
【0078】
[変形例2]
ストレージ装置100に格納されるデータは、付加情報とともに格納されてよい。
【0079】
例えば、アクセス制御部140は、ホスト装置200からの書き込み要求に応じて、第1記憶領域にデータを書き込む。このとき、アクセス制御部140は、データとともに付加情報を格納する。付加情報には、書き込み要求に示されるコマンド番号が含まれる。さらに付加情報には、データのアドレス情報及び書き込み要求が行われた時刻等が含まれてよい。付加情報は、例えば、データの、読み出しまたは書き込みが行われる単位ごとに存在してよい。なお、データ制御部130によって、第1記憶領域のデータが第2記憶領域に書き込まれる際にも付加情報は格納される。
【0080】
このように、データは、付加情報とともに第1記憶領域または第2記憶領域に格納されてよい。そして、付加情報には、ホスト装置200からの書き込み要求に対応するコマンド番号が含まれてよい。
【0081】
この場合に、データ制御部130は、付加情報を利用して第1記憶領域のデータと第2記憶領域のデータとの整合性を確認してよい。例えば、
図5の例において、アドレス情報「A2」のデータは、第2記憶領域において管理されている。当該データに対応する第2記憶領域の位置情報は、「Y2」である。ここで、位置情報「Y2」のデータの使用頻度が高いと判定されたとする。
【0082】
データ制御部130は、第2記憶領域の位置情報「Y2」のデータの付加情報と、第1記憶領域の位置情報「X2」のデータの付加情報と、を比較する。このとき、付加情報に含まれるコマンド番号が同一であれば、位置情報「Y2」のデータと位置情報「X2」のデータとは同一である。そのため、コマンド番号が同一の場合、データ制御部130は、管理テーブルの管理情報を「Y2」から「X2」に更新する。
【0083】
一方で、コマンド番号が同一でない場合、位置情報「Y2」のデータと位置情報「X2」のデータとは同一ではない。この場合、位置情報「Y2」のデータの方が、位置情報「X2」のデータに比べて新しい。そのため、データ制御部130は、位置情報「Y2」のデータを、位置情報「X2」に上書きする。そして、データ制御部130は、管理テーブルの管理情報を「Y2」から「X2」に更新する。
【0084】
このように、付加情報を利用することにより、データそのものを比較する場合と比べて、データの整合性にかかる処理負荷を軽減することができる。
【0085】
また、データ制御部130は、付加情報を利用してデータを修復してよい。例えばアクセス制御部140が、ホスト装置200から読み出し要求を受信したとする。そして、アクセス制御部140が、読み出し要求に応じて第1記憶領域のデータを読み出そうとした際に、データの破損等により読み出しエラーが発生したとする。このような場合に、データ制御部130は、読み出しエラーが発生したデータの修復を行う。
【0086】
読み出しエラーが発生したデータのアドレス情報が「C1」であるとする。データ制御部130は、アドレス情報「C1」に対応する第1記憶領域のデータの付加情報と、アドレス情報「C1」に対応する第2記憶領域のデータの付加情報と、を比較する。このとき、付加情報に含まれるコマンド番号が同一であれば、第1記憶領域のデータと第2記憶領域のデータとは同一である。このような場合に、データ制御部130は、第2記憶領域のデータを、アドレス情報「C1」に対応する第1記憶領域上の位置に上書きする。
【0087】
このように、ホスト装置200からの読み出し要求に対して、アクセス制御部140が第1記憶領域の特定のデータにアクセスする際に、読み出しエラーが発生した場合、データ制御部130、第1記憶領域の特定のデータとともに格納される付加情報と、第2記憶領域の特定のデータとともに格納される付加情報と、に基づいて、第1記憶領域の特定のデータを修復してよい。
【0088】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【0089】
また、上記実施形態及び変形例は、適宜組み合わせることが可能である。
【0090】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0091】
<付記>
【0092】
[付記1]
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有し、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出する算出手段と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定する判定手段と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込むデータ制御手段と、を備える、
ストレージ装置。
【0093】
[付記2]
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスするアクセス制御手段を備え、
前記算出手段は、前記第2記憶領域に格納される所定のデータの使用頻度を算出し、
前記判定手段は、前記所定のデータの使用頻度の高低を判定し、
前記所定のデータの使用頻度が高いと判定された場合、前記アクセス制御手段は、前記所定のデータに対するアクセスの要求があった場合、前記第1記憶領域に格納される前記所定のデータにアクセスする、
付記1に記載のストレージ装置。
【0094】
[付記3]
前記データ制御手段は、使用頻度が高いと判定された前記所定のデータが、前記第1記憶領域に存在しない場合、前記第2記憶領域に格納される前記所定のデータを、前記第1記憶領域に書き込む、
付記2に記載のストレージ装置。
【0095】
[付記4]
前記データ制御手段は、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込む、
付記1に記載のストレージ装置。
【0096】
[付記5]
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
付記4に記載のストレージ装置。
【0097】
[付記6]
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスするアクセス制御手段を備え、
ホスト装置からの読み出し要求に対して、前記アクセス制御手段が前記第1記憶領域の特定のデータにアクセスする際に、読み出しエラーが発生した場合、
前記データ制御手段は、前記第1記憶領域の前記特定のデータとともに格納される前記付加情報と、前記第2記憶領域の前記特定のデータとともに格納される前記付加情報と、に基づいて、前記第1記憶領域の前記特定のデータを修復する、
付記5に記載のストレージ装置。
【0098】
[付記7]
前記第1メモリと前記第2メモリとを有するSSD(Solid State Drive)において構成される、
付記1に記載のストレージ装置。
【0099】
[付記8]
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置において、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出し、
算出された使用頻度に基づいて、データの使用頻度の高低を判定し、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込む、
ストレージ制御方法。
【0100】
[付記9]
前記第2記憶領域に格納される所定のデータの使用頻度を算出し、
前記所定のデータの使用頻度の高低を判定し、
前記所定のデータの使用頻度が高いと判定された場合、前記所定のデータに対するアクセスの要求があった場合、前記第1記憶領域に格納される前記所定のデータにアクセスする、
付記8に記載のストレージ制御方法。
【0101】
[付記10]
使用頻度が高いと判定された前記所定のデータが、前記第1記憶領域に存在しない場合、前記第2記憶領域に格納される前記所定のデータを、前記第1記憶領域に書き込む、
付記9に記載のストレージ制御方法。
【0102】
[付記11]
前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込む、
付記8に記載のストレージ制御方法。
【0103】
[付記12]
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
付記11に記載のストレージ制御方法。
【0104】
[付記13]
ホスト装置からの読み出し要求に対して、前記第1記憶領域の特定のデータにアクセスする際に、読み出しエラーが発生した場合、
前記第1記憶領域の前記特定のデータとともに格納される前記付加情報と、前記第2記憶領域の前記特定のデータとともに格納される前記付加情報と、に基づいて、前記第1記憶領域の前記特定のデータを修復する、
付記12に記載のストレージ制御方法。
【0105】
[付記14]
前記ストレージ装置は、前記第1メモリと前記第2メモリとを有するSSD(Solid State Drive)において構成される、
付記8に記載のストレージ制御方法。
【0106】
[付記15]
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置に、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出させる処理と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定させる処理と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込ませる処理と、
をコンピュータに実行させる、
プログラム。
【0107】
[付記16]
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスさせる処理をさらに実行させ、
前記算出させる処理において、前記第2記憶領域に格納される所定のデータの使用頻度を算出させ、
前記判定させる処理において、前記所定のデータの使用頻度の高低を判定させ、
前記所定のデータの使用頻度が高いと判定された場合、前記アクセスさせる処理において、前記所定のデータに対するアクセスの要求があった場合、前記第1記憶領域に格納される前記所定のデータにアクセスさせる、
付記15に記載のプログラム。
【0108】
[付記17]
前記書き込ませる処理において、使用頻度が高いと判定された前記所定のデータが、前記第1記憶領域に存在しない場合、前記第2記憶領域に格納される前記所定のデータを、前記第1記憶領域に書き込ませる、
付記16に記載のプログラム。
【0109】
[付記18]
前記書き込ませる処理において、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込ませる、
付記15に記載のプログラム。
【0110】
[付記19]
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
付記18に記載のプログラム。
【0111】
[付記20]
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスさせる処理をさらに実行させ、
ホスト装置からの読み出し要求に対して、前記第1記憶領域の特定のデータにアクセスさせる際に、読み出しエラーが発生した場合、
前記第1記憶領域の前記特定のデータとともに格納される前記付加情報と、前記第2記憶領域の前記特定のデータとともに格納される前記付加情報と、に基づいて、前記第1記憶領域の前記特定のデータを修復する、
付記15に記載のプログラム。
【0112】
[付記21]
前記ストレージ装置は、前記第1メモリと前記第2メモリとを有するSSD(Solid State Drive)において構成される、
付記15に記載のプログラム。
【符号の説明】
【0113】
100 ストレージ装置
110 算出部
120 判定部
130 データ制御部
140 アクセス制御部
200 ホスト装置
【手続補正書】
【提出日】2024-09-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有し、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出する算出手段と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定する判定手段と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込むデータ制御手段と、を備え、
前記データ制御手段は、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込み、
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
ストレージ装置。
【請求項2】
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスするアクセス制御手段を備え、
前記算出手段は、前記第2記憶領域に格納される所定のデータの使用頻度を算出し、
前記判定手段は、前記所定のデータの使用頻度の高低を判定し、
前記所定のデータの使用頻度が高いと判定された場合、前記アクセス制御手段は、前記所定のデータに対するアクセスの要求があった場合、前記第1記憶領域に格納される前記所定のデータにアクセスする、
請求項1に記載のストレージ装置。
【請求項3】
前記データ制御手段は、使用頻度が高いと判定された前記所定のデータが、前記第1記憶領域に存在しない場合、前記第2記憶領域に格納される前記所定のデータを、前記第1記憶領域に書き込む、
請求項2に記載のストレージ装置。
【請求項4】
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスするアクセス制御手段を備え、
ホスト装置からの読み出し要求に対して、前記アクセス制御手段が前記第1記憶領域の特定のデータにアクセスする際に、読み出しエラーが発生した場合、
前記データ制御手段は、前記第1記憶領域の前記特定のデータとともに格納される前記付加情報と、前記第2記憶領域の前記特定のデータとともに格納される前記付加情報と、に基づいて、前記第1記憶領域の前記特定のデータを修復する、
請求項1に記載のストレージ装置。
【請求項5】
前記第1メモリと前記第2メモリとを有するSSD(Solid State Drive)において構成される、
請求項1に記載のストレージ装置。
【請求項6】
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置において、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出し、
算出された使用頻度に基づいて、データの使用頻度の高低を判定し、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込み、
前記書き込むステップにおいて、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込み、
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
ストレージ制御方法。
【請求項7】
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置に、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出させる処理と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定させる処理と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込ませる処理と、
をコンピュータに実行させ、
前記書き込ませる処理において、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込ませ、
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
プログラム。