JP7572520B1 - STORAGE APPARATUS, STORAGE CONTROL METHOD, AND PROGRAM - Google Patents
STORAGE APPARATUS, STORAGE CONTROL METHOD, AND PROGRAM Download PDFInfo
- Publication number
- JP7572520B1 JP7572520B1 JP2023126138A JP2023126138A JP7572520B1 JP 7572520 B1 JP7572520 B1 JP 7572520B1 JP 2023126138 A JP2023126138 A JP 2023126138A JP 2023126138 A JP2023126138 A JP 2023126138A JP 7572520 B1 JP7572520 B1 JP 7572520B1
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage area
- memory
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Memory System (AREA)
Abstract
【課題】 処理性能の低下を抑制することが可能なストレージ装置等を提供することを目的の一つとする。【解決手段】 本開示の一態様にかかるストレージ装置は、不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有し、前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出する算出手段と、算出された使用頻度に基づいて、データの使用頻度の高低を判定する判定手段と、使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込むデータ制御手段と、を備える。【選択図】 図1[Problem] One of the objectives is to provide a storage device or the like capable of suppressing degradation of processing performance. [Solution] A storage device according to one aspect of the present disclosure has a first memory which is a non-volatile storage medium, and a second memory which is a non-volatile storage medium having a processing speed slower than that of the first memory, and is equipped with a calculation means for calculating the usage frequency of data stored in a first storage area constructed in the first memory, a determination means for determining whether the data is used frequently based on the calculated usage frequency, and a data control means for writing data determined to be used infrequently to a second storage area constructed in the second memory. [Selected Figure] Figure 1
Description
本開示は、ストレージの制御技術に関する。 This disclosure relates to storage control technology.
ストレージ装置に関する技術が特許文献1に開示される。
Technology relating to storage devices is disclosed in
特許文献1では、高速不揮発性メモリと低速不揮発性メモリとを有するSSD(Solid State Drive)が開示される。具体的には、特許文献1に開示されるSSDは、受信したデータを高速不揮発性メモリに保存する。このとき、ホットデータと判別されたデータは、高速不揮発性メモリに保存され、コールドデータと判別されたデータは、高速不揮発性メモリから低速不揮発性メモリに移動される。なお、ホットデータは、書き込みアクセス頻度の高いデータである。コールドデータは、一度又は低い頻度で書き込まれ、高い頻度で読み出されるデータである。
データの使用頻度は変化する可能性がある。例えば、所定のデータが、使用頻度が低いとして、低速不揮発性メモリに保存されたとする。後に、所定のデータの使用頻度が増加する場合がある。このとき、所定のデータは、低速不揮発性メモリにて管理されることとなる。すなわち、使用頻度が高いにも関わらず、所定のデータに対するアクセスは、低速不揮発性メモリに対して行われる。これは、SSD等のストレージ装置の処理性能の低下につながる虞がある。 The frequency of data usage may change. For example, suppose that certain data is stored in a low-speed non-volatile memory because it is used infrequently. Later, the frequency of use of the certain data may increase. In this case, the certain data will be managed in the low-speed non-volatile memory. In other words, even if the certain data is used frequently, access to the certain data will be made to the low-speed non-volatile memory. This may lead to a decrease in the processing performance of storage devices such as SSDs.
本開示は、上記課題を鑑みてなされたものであり、処理性能の低下を抑制することが可能なストレージ装置等を提供することを目的の一つとする。 This disclosure was made in consideration of the above-mentioned problems, and one of its objectives is to provide a storage device etc. that can suppress a decrease in processing performance.
本開示の一態様にかかるストレージ装置は、不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有し、前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出する算出手段と、算出された使用頻度に基づいて、データの使用頻度の高低を判定する判定手段と、使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込むデータ制御手段と、を備える。 A storage device according to one aspect of the present disclosure has a first memory which is a non-volatile storage medium, and a second memory which is a non-volatile storage medium having a processing speed slower than that of the first memory, and is equipped with a calculation means for calculating the usage frequency of data stored in a first storage area constructed in the first memory, a determination means for determining whether the data is used frequently based on the calculated usage frequency, and a data control means for writing data determined to be used infrequently to a second storage area constructed in the second memory.
本開示の一態様にかかるストレージ制御方法は、不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置において、前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出し、算出された使用頻度に基づいて、データの使用頻度の高低を判定し、使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込む。 A storage control method according to one aspect of the present disclosure, in a storage device having a first memory, which is a non-volatile storage medium, and a second memory, which is a non-volatile storage medium having a processing speed slower than that of the first memory, calculates the frequency of use of data stored in a first storage area constructed in the first memory, determines whether the data is used frequently based on the calculated frequency of use, and writes data determined to be used less frequently to a second storage area constructed in the second memory.
本開示の一態様にかかるプログラムは、不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置に、前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出させる処理と、算出された使用頻度に基づいて、データの使用頻度の高低を判定させる処理と、使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込ませる処理と、をコンピュータに実行させる。 A program according to one aspect of the present disclosure causes a computer to execute the following processes in a storage device having a first memory, which is a non-volatile storage medium, and a second memory, which is a non-volatile storage medium having a slower processing speed than the first memory: calculating the frequency of use of data stored in a first storage area constructed in the first memory; determining whether the data is used frequently based on the calculated frequency of use; and writing data determined to be used infrequently to a second storage area constructed in the second memory.
本開示によれば、処理性能の低下を抑制することができる。 This disclosure makes it possible to suppress degradation of processing performance.
以下に、本開示の実施形態について、図面を参照しつつ説明する。なお、本開示において、図面の各々は、1以上の実施形態に関連付けられる。 Embodiments of the present disclosure will be described below with reference to the drawings. Note that in this disclosure, each of the drawings is associated with one or more embodiments.
<第1の実施形態>
第1の実施形態のストレージ装置の概要について説明する。
First Embodiment
An overview of the storage device of the first embodiment will be described.
図1は、ストレージ装置100の機能構成の一例を示す図である。ストレージ装置100は、不揮発性記憶媒体を備える。例えば、ストレージ装置100は、SSDによって構成される。
Figure 1 is a diagram showing an example of the functional configuration of a
図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に比べて書き込み耐久性の高いメモリであってよい。
As shown in FIG. 1, the
ストレージ装置100に格納されるデータは、第1メモリ10または第2メモリ20によって構築される記憶領域に書き込まれる。第1メモリ10によって構築される記憶領域を第1記憶領域と称する。また、第2メモリ20によって構築される記憶領域を第2記憶領域と称する。
Data stored in the
第1メモリ10に格納されるデータの参照処理は、第2メモリ20に格納されるデータの参照処理に比べて高速である。そのため、第1メモリ10において多くデータを管理することによってストレージ装置全体としての参照処理の速度は向上する。一方で、いずれのメモリにも書き込み回数に制限が存在する。そのため、第1メモリ10でのみデータを管理すると、第1メモリ10の書き込み回数の制限に達するまでの時間が短縮する虞がある。そこで、参照回数の多いデータを第1メモリ10において管理し、参照回数の低いデータを第2メモリ20において管理することが考えられる。これにより、ストレージ装置全体として、処理の高速化を図るとともに、書き込み回数の制限に達するまでの時間の短縮の抑制を図ることができる。
The reference process of data stored in the
また、図1に示すように、ストレージ装置100は、算出部110と判定部120とデータ制御部130とを備える。算出部110は、ストレージ装置100に格納されるデータの使用頻度を算出する。例えば、第1メモリによって構築される第1記憶領域にデータが格納される。当該データは、例えば外部の装置等からの要求によって参照される。算出部110は、このような、データに対する単位時間当たりの参照回数を、使用頻度として算出してよい。
As shown in FIG. 1, the
このように、算出部110は、第1メモリ10において構築される第1記憶領域に格納されるデータの使用頻度を算出する。算出部110は、算出手段の一例である。
In this manner, the
判定部120は、データの使用頻度が高いか低いかを判定する。例えば、判定部120は、算出された使用頻度と閾値とを比較する。そして、判定部120は、使用頻度が閾値以上である場合、データの使用頻度が高いと判定してよい。また、判定部120は、使用頻度が閾値未満である場合、データの使用頻度が低いと判定してよい。
The
このように、判定部120は、算出された使用頻度に基づいて、データの使用頻度の高低を判定する。判定部120は、判定手段の一例である。
In this way, the
データ制御部130は、第1記憶領域または第2記憶領域に格納されたデータに関する制御を行う。具体的には、データ制御部130は、第1記憶領域に格納されたデータのうち、使用頻度が低いと判定されたデータを第2記憶領域に書き込む。これにより、使用頻度が低いと判定されたデータは、第1記憶領域と第2記憶領域との双方に存在することとなる。
The
このように、データ制御部130は、使用頻度が低いと判定されたデータを、第2メモリ20において構築される第2記憶領域に書き込む。データ制御部130は、データ制御手段の一例である。
In this way, the
次に、ストレージ装置100の動作の一例を、図2を用いて説明する。なお本開示において、フローチャートの各ステップを「S1」のように、各ステップに付した番号を用いて表現する。
Next, an example of the operation of the
図2は、ストレージ装置100の動作の一例を説明するフローチャートである。算出部110は、第1メモリ10において構築される第1記憶領域に格納されるデータの使用頻度を算出する(S1)。判定部120は、算出された使用頻度に基づいて、データの使用頻度の高低を判定する(S2)。データ制御部130は、使用頻度が低いと判定されたデータを、第2メモリ20において構築される第2記憶領域に書き込む(S3)。
Figure 2 is a flowchart explaining an example of the operation of the
このように、第1の実施形態のストレージ装置100は、不揮発性記憶媒体である第1メモリ10と、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリ20と、を有する。また、ストレージ装置100は、第1メモリ10において構築される第1記憶領域に格納されるデータの使用頻度を算出する。ストレージ装置100は、算出された使用頻度に基づいて、データの使用頻度の高低を判定する。そして、ストレージ装置100は、使用頻度が低いと判定されたデータを、第2メモリ20において構築される第2記憶領域に書き込む。
Thus, the
データの使用頻度は変化する可能性がある。例えば、第2メモリ20において管理されているデータの使用頻度が増加する可能性がある。この場合、当該データを第2メモリ20で管理し続けると、装置全体としての処理性能の低下につながる虞がある。これに対して、ストレージ装置100は、使用頻度が低いと判定されたデータは、第1メモリ10と第2メモリ20との双方に格納される。そのため、第2メモリ20において管理されていたデータの使用頻度が増加した場合、ストレージ装置100は、当該データの管理を第1メモリ10に切り替えることが可能である。これにより、ストレージ装置100は、処理性能の低下を抑制することができる。
The frequency of data usage may change. For example, the frequency of use of data managed in the
<第2の実施形態>
次に、第2の実施形態のストレージ装置について説明する。第2の実施形態では、第1の実施形態で説明したストレージ装置100に関する更なる例を説明する。なお、第1の実施形態と重複する内容は、一部説明を省略する。
Second Embodiment
Next, a storage device according to a second embodiment will be described. In the second embodiment, a further example of the
[ストレージ装置100の詳細]
図3は、ストレージ装置100の機能構成の一例を含むブロック図である。この例では、ストレージ装置100は、ホスト装置200と通信可能に接続される。ホスト装置200は、データの入出力が可能なコンピュータである。ホスト装置200は、ストレージ装置100に対してアクセスが可能である。例えばホスト装置200は、ストレージ装置100にデータの読み出し要求または書き込み要求を送信する。これにより、ホスト装置200は、ストレージ装置100からデータを取得したり、ストレージ装置100にデータを格納したりする。
[Details of storage device 100]
3 is a block diagram including an example of a functional configuration of the
ストレージ装置100は、ホスト装置200からの要求に応じて、データの読み出し処理または書き込み処理を行う。ストレージ装置100は、少なくとも第1メモリ10と第2メモリ20とを有する。すなわち、ストレージ装置100は、ホスト装置200からの要求に応じて、第1メモリ10によって構築される第1記憶領域、または、第2メモリ20によって構築される第2記憶領域にアクセスする。そして、ストレージ装置100は、データの読み出し処理または書き込み処理を行う。なお、ストレージ装置100が有するメモリはこの例に限られない。ストレージ装置100は、更なるメモリを有していてもよい。そして、ストレージ装置100は、更なるメモリによって構築される記憶領域に格納されたデータに対して、読み出し処理または書き込み処理を行ってよい。
The
図4は、本開示にかかるストレージ装置のハードウェア構成の一例を示すブロック図である。本開示で説明するストレージ装置及びストレージ制御方法は、例えば、図4に示すハードウェア構成を有する装置で実現される。ストレージ装置100は、例えば、SSDにおいて構成される。図4の例では、ストレージ装置100は、インタフェース1、コントローラ2、バッファメモリ3、第1記憶素子群4、及び第2記憶素子群5を備える。ストレージ装置100は、複数の電気回路によって実現されてもよい。
FIG. 4 is a block diagram showing an example of the hardware configuration of a storage device according to the present disclosure. The storage device and storage control method described in this disclosure are realized, for example, by a device having the hardware configuration shown in FIG. 4. The
インタフェース1は、ストレージ装置100とホスト装置200とを接続する。インタフェース1は、例えば、IDE(Integrated Device Electronics)、SATA(Serial Advanced Technology Attachment)、及びPCIe(Peripheral Component Interconnect express)等の規格で実現されてよい。
The
コントローラ2は、データに関する各種制御を行う。例えば、コントローラ2は、第1記憶素子群4及び第2記憶素子群5に対して、データの読み出しまたは書き込み処理を行う。
The
バッファメモリ3は、データを一時的に格納する記憶媒体である。バッファメモリ3は、例えば、DRAM(Dynamic Random Access Memory)で構成されてよい。 The buffer memory 3 is a storage medium that temporarily stores data. The buffer memory 3 may be composed of, for example, a dynamic random access memory (DRAM).
第1記憶素子群4及び第2記憶素子群5は、データを格納する不揮発性記憶媒体である。第1記憶素子群4及び第2記憶素子群5は、例えば、NAND型フラッシュメモリである。第1記憶素子群4は、第1記憶素子41-1、41-2、・・・、41-n(nは自然数)を有する。すなわち、第1記憶素子群4は、複数の第1記憶素子を有してよい。この例では、n個の第1記憶素子が直列に接続されている。
The first memory element group 4 and the second
また、第2記憶素子群5は、第2記憶素子51-1、51-2、・・・、51-m、・・・、5p-1、5p-2、・・・5p-m(m及びpは自然数)を有する。第2記憶素子群5は、複数の第2記憶素子を有してよい。この例では、直列に接続されるm個の第2記憶素子のセットが、p個並列に存在している。
The second
第1記憶素子群4は、本開示における第1メモリ10として機能してよい。また、第2記憶素子群5は、本開示における第2メモリ20として機能してよい。すなわち、第1記憶領域は、第1記憶素子群4において構築されてよい。また、第2記憶領域は、第2記憶素子群5において構築されてよい。
The first memory element group 4 may function as the
第1記憶素子群4と第2記憶素子群5とは、性能の異なる記憶媒体である。例えば、第1記憶素子群4は、第2記憶素子群5に比べて、処理速度が速い。また、例えば、第1記憶素子群4は、第2記憶素子群5に比べて、書き込み耐久性が高い。また、例えば、第1記憶素子群4は、第2記憶素子群5に比べて、記憶容量が小さい。
The first memory element group 4 and the second
本開示のストレージ装置の機能における各構成は、例えば、コントローラ2において実現されてよい。あるいは、当該各構成は、第1記憶素子群4及び第2記憶素子群5と接続可能な更なるコンポーネントとして実現されてよい。なお、ストレージ装置の実現方法には様々な変形例がある。例えば、ストレージ装置に含まれる各構成は、それぞれ専用の装置として実現することができる。また、ストレージ装置は、複数の装置の組み合わせに基づいて実現することができる。
Each component in the functions of the storage device of the present disclosure may be realized, for example, in the
また、本開示の各実施形態の機能における各構成を実現するためのプログラムを所定の記憶媒体に記録させ、当該所定の記憶媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記憶媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記憶媒体、及びそのプログラム自体も各実施形態に含まれる。当該所定の記憶媒体は、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD(Compact Disc)-ROM、磁気テープ、不揮発性メモリカード、またはROMであるが、この例に限られない。また当該所定の記憶媒体に記録されたプログラムは、単体で処理を実行しているプログラムに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS(Operating System)上で動作して処理を実行するプログラムも各実施形態の範疇に含まれる。 Also included in the scope of each embodiment is a processing method in which a program for realizing each configuration in the functions of each embodiment of the present disclosure is recorded on a specified storage medium, the program recorded on the specified storage medium is read as code, and executed on a computer. That is, a computer-readable storage medium is also included in the scope of each embodiment. Also included in each embodiment are a storage medium on which the above-mentioned program is recorded, and the program itself. The specified storage medium is, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, a CD (Compact Disc)-ROM, a magnetic tape, a non-volatile memory card, or a ROM, but is not limited to these examples. Also included in the scope of each embodiment is a program recorded on the specified storage medium that is not limited to a program that executes processing by itself, but also includes a program that operates on an OS (Operating System) to execute processing in cooperation with other software or functions of an expansion board.
図3に示すように、ストレージ装置100は、算出部110と判定部120とデータ制御部130とアクセス制御部140とを備える。
As shown in FIG. 3, the
アクセス制御部140は、ホスト装置200からの要求に応じてデータにアクセスする。具体的には、アクセス制御部140は、ホスト装置200からデータの読み出し要求または書き込み要求を受信する。読み出し要求は、リードコマンドと呼ばれることもある。また、書き込み要求は、ライトコマンドと呼ばれることもある。各要求には、要求に応じた情報が含まれる。
The
例えば書き込み要求には、アドレス情報と書き込み対象となるデータが含まれる。アドレス情報は、データ位置を示す情報である。アドレス情報は、例えばLBA(Logical Block Addressing)に基づく情報であってよい。アクセス制御部140は、書き込み要求を受信した場合、書き込み要求に含まれるデータを、第1記憶領域に書き込む。さらに、書き込み要求には、書き込みの操作の種類を示すコマンド番号及び書き込みが行われた時刻の情報等が含まれてよい。
For example, a write request includes address information and the data to be written. The address information is information indicating the data location. The address information may be information based on LBA (Logical Block Addressing), for example. When the
このようにアクセス制御部140は、ホスト装置200からの書き込み要求に対しては、まず第1記憶領域にデータを書き込んでよい。
In this way, in response to a write request from the
また、読み出し要求には、アドレス情報が含まれる。アクセス制御部140は、読み出し要求を受信した場合、読み出し要求に含まれるアドレス情報に対応する記憶領域上の位置のデータを読み出す。
The read request also includes address information. When the
ここで、アドレス情報と記憶領域上の位置とは対応づけられる。記憶領域上の位置を示す情報を位置情報と称する。例えば、アクセス制御部140は、管理テーブルを利用して、アドレス情報に対応する記憶領域上の位置へのアクセスを行ってよい。管理テーブルは、アドレス情報と位置情報とが対応付けられた情報である。
Here, the address information and a position in the storage area are associated with each other. Information indicating a position in the storage area is called position information. For example, the
図5は、管理テーブルの一例を示す図である。図5の例では、管理テーブルには、アドレス情報と第1記憶領域の位置情報と第2記憶領域の位置情報と管理情報とが対応づけられた情報が含まれている。例えば、一行目のレコードは、アドレス情報「A1」のデータは、第1記憶領域上の位置である位置情報「X1」に格納され、第2記憶領域には格納されていないことが示されている。アクセス制御部140は、例えば、アドレス情報「A1」を含む読み出し要求を受信した場合、位置情報「X1」のデータを読み出す。
Figure 5 is a diagram showing an example of a management table. In the example of Figure 5, the management table contains information that associates address information, location information of the first storage area, location information of the second storage area, and management information. For example, the record in the first row indicates that data of address information "A1" is stored in location information "X1", which is a position in the first storage area, and is not stored in the second storage area. For example, when the
また、図5の例において二行目のレコードは、アドレス情報「A2」のデータは、第1記憶領域の位置情報「X2」と第2記憶領域上の位置情報「Y2」とに格納されていることが示されている。また、管理情報は「Y2」を示している。ここで、管理情報は、データが管理される位置を示す情報である。この例では、アドレス情報「A2」のデータは、第2記憶領域の位置情報「Y2」において管理される。そのため、アクセス制御部140は、例えば、アドレス情報「A2」を含む読み出し要求を受信した場合、位置情報「Y2」のデータを読み出す。
In the example of FIG. 5, the record on the second line indicates that the data of address information "A2" is stored in location information "X2" in the first storage area and location information "Y2" in the second storage area. The management information also indicates "Y2". Here, management information is information that indicates the location where data is managed. In this example, the data of address information "A2" is managed in location information "Y2" in the second storage area. Therefore, for example, when the
ホスト装置200から書き込み要求があった場合、アクセス制御部140は、要求に含まれるアドレス情報に対応する第1記憶領域上の位置に、当該要求に含まれるデータを書き込む。そして、アクセス制御部140は、管理テーブルを更新する。例えば、書き込み要求に含まれるアドレス情報が「A4」であるとする。そして、アクセス制御部140は、第1記憶領域の位置情報「X4」にデータを書き込んだとする。このとき、アクセス制御部140は、アドレス情報「A4」と第1記憶領域の位置情報「X4」とを対応付けるよう、管理テーブルを更新する。このとき、アクセス制御部140は、アドレス情報「A4」には、「X4」を示す管理情報を対応付ける。
When a write request is made by the
なお、管理テーブルは、ストレージ装置100のいずれかの記憶媒体に格納されてよい。例えば、管理テーブルは、コントローラ2に含まれる記憶媒体に格納されてよい。または、管理テーブルは、第1メモリ10または第2メモリ20に格納されてよい。あるいは、管理テーブルは、記憶媒体の機能を有する更なるコンポーネントに格納されてよい。
The management table may be stored in any storage medium of the
このように、アクセス制御部140は、ホスト装置200からの要求に応じて第1記憶領域または第2記憶領域のデータにアクセスする。アクセス制御部140は、アクセス制御手段の一例である。
In this way, the
算出部110は、データの使用頻度を算出する。具体的には、算出部110は、第1記憶領域または第2記憶領域に格納されるデータに対するアクセスの回数を監視する。例えば、読み出し要求に応じて、第1記憶領域に格納される所定のデータが読み出された場合、算出部110は、当該所定のデータに対するアクセスの回数を1増加させる。このとき算出部110は、所定時間前までの所定のデータに対するアクセスを監視してよい。すなわち、算出部110は、現在時刻から所定時間前までの、データに対するアクセスの回数を、データの使用頻度として算出してよい。あるいは、算出部110は、所定時間ごとにアクセスの回数をリセットしてもよい。例えば、算出部110は、ある時点から所定時間経過するまで、当該所定のデータに対するアクセスの回数を監視する。そして、所定時間経過後、算出部110は、当該所定のデータに対するアクセスの回数を0に戻してもよい。このように、データの使用頻度は、単位時間あたりに、そのデータが読み出されたり、更新されたりした回数ともいえる。
The
ストレージ装置100は、データの使用頻度を示す使用頻度テーブルを有する。使用頻度テーブルは、データを識別する情報と使用頻度とが関連付けられた情報を含む。使用頻度テーブルは、ストレージ装置100のいずれかの記憶媒体に格納されてよい。例えば、使用頻度テーブルは、コントローラ2に含まれる記憶媒体に格納されてよい。または、使用頻度テーブルは、第1メモリ10または第2メモリ20に格納されてよい。あるいは、使用頻度テーブルは、記憶媒体の機能を有する更なるコンポーネントに格納されてよい。
The
図6は使用頻度テーブルの一例を示す図である。図6の例では、記憶領域上の位置を示す位置情報と使用頻度とが対応づけられている。このように、データを識別する情報として、位置情報が用いられてもよい。例えば、一行目のレコードには、位置情報「X1」のデータに対する使用頻度が「10」であることが示されている。算出部110は、使用頻度の算出に応じて使用頻度テーブルを更新してよい。例えば、位置情報「X1」のデータが要求に応じて読み出された場合、算出部110は、位置情報「X1」に対応する使用頻度を1増加させ、「11」とする。また、例えば、算出部110は、所定時間経過後に、位置情報「X1」に対応する使用頻度を0に更新してよい。
Figure 6 is a diagram showing an example of a usage frequency table. In the example of Figure 6, location information indicating a location in a storage area is associated with the usage frequency. In this way, location information may be used as information for identifying data. For example, the record in the first row indicates that the usage frequency for data of location information "X1" is "10". The
判定部120は、使用頻度の高低を判定する。具体的には、判定部120は、算出部110によって算出された使用頻度と閾値とを比較する。例えば、判定部120は、使用頻度テーブルを参照し、使用頻度のそれぞれと閾値とを比較する。そして、データ毎に、使用頻度が高いか低いかを判定する。
The
データ制御部130は、判定部120による判定結果に基づいて、データを制御する。具体的には、第1記憶領域に格納されるデータについて、使用頻度が低いと判定された場合、データ制御部130は、当該データを第2記憶領域に書き込む。このとき、データ制御部130は、管理テーブルを更新する。
The data control
図5の例の管理テーブルには、アドレス情報「A3」のデータは、第1記憶領域上の位置情報「X3」に格納されていることが示されている。ここで、判定部120によって、位置情報「X3」のデータに対する使用頻度が低いと判定されたとする。このとき、データ制御部130は、例えば、位置情報「X3」のデータを、第2記憶領域上の位置情報「Y3」に書き込む。そして、データ制御部130は、管理テーブルのアドレス情報「A3」に対応する第2記憶領域上の位置情報として、「Y3」を書き込む。また、データ制御部130は、アドレス情報「A3」に対応する管理情報を「Y3」に書き換える。これにより、例えば、ホスト装置200から、アドレス情報「A3」を含む読み出し要求が受信された場合、アクセス制御部140は、位置情報「Y3」のデータを読み出す。
The management table in the example of FIG. 5 shows that the data of address information "A3" is stored in position information "X3" in the first storage area. Here, it is assumed that the
また、判定部120が、第1記憶領域に格納されるデータについて、使用頻度が高いと判定したとする。この場合、当該データは、第1記憶領域において管理される。すなわち、データ制御部130は、管理テーブルを更新しなくともよい。
Also, suppose that the
または、データ制御部130は、使用頻度が高いと判定された、第1記憶領域に格納されるデータを、定期的に第2記憶領域に書き込んでもよい。例えば、第1記憶領域に、使用頻度が高いと判定されたデータAが格納されているとする。このときデータ制御部130は、所定の時間間隔で、データAを第2記憶領域に書き込んでよい。当該所定の時間間隔は、例えば算出部110によって算出される使用頻度の単位時間より長い時間である。あるいは、データ制御部130は、データAに対して所定の回数アクセスされるごとに、データAを第2記憶領域に書き込んでよい。なお、管理テーブルには、データAについて、第2記憶領域の位置情報が示される。これにより、第2記憶領域に書き込まれたデータは、データAのバックアップとして利用可能となる。
Alternatively, the
また、判定部120が、第2記憶領域に格納されるデータについて、使用頻度が高いと判定したとする。このとき、データ制御部130は、当該データを第1記憶領域で管理するよう制御する。具体的には、データ制御部130は、管理テーブルを更新する。例えば、図5の例において、アドレス情報「A2」のデータは第2記憶領域において管理されている。そして、アドレス情報「A2」のデータの使用頻度が高いと判定された場合、データ制御部130は、アドレス情報「A2」に対応する管理情報「Y2」を「X2」に書き換える。これにより、アクセス制御部140は、アドレス情報「A2」のデータについては、位置情報「X2」にアクセスする。
Let us also assume that the
[ストレージ装置100の動作例]
次に、ストレージ装置100の動作の一例を、図7及び図8を用いて説明する。
[Example of Operation of Storage Apparatus 100]
Next, an example of the operation of the
図7は、ストレージ装置100の動作の一例を説明する第1のフローチャートである。具体的には、図7は、ホスト装置200から要求があったときのストレージ装置100の動作例である。アクセス制御部140は、ホスト装置200から要求を受け付ける(S101)。またアクセス制御部140は、要求に応じてデータにアクセスする(S102)。
Figure 7 is a first flowchart illustrating an example of the operation of the
例えば、アクセス制御部140は、ホスト装置200から書き込み要求を受け付けると、書き込み要求に含まれるデータを、第1記憶領域に書き込む。そして、アクセス制御部140は、書き込み要求に含まれるアクセス情報と第1記憶領域の位置情報と管理情報とを対応づけた情報が示されるよう、管理テーブルを更新する。また例えば、アクセス制御部140は、ホスト装置200から読み出し要求を受け付けると、読み出し要求に含まれるアクセス情報と、管理テーブルとに基づいて、データが格納される記憶領域の位置を特定する。そして、アクセス制御部140は、特定された位置のデータを読み出す。
For example, when the
算出部110は、データへのアクセスに応じて、データの使用頻度を算出する(S103)。例えば、算出部110は、使用頻度の算出に応じて使用頻度テーブルを更新してよい。
The
図8は、ストレージ装置100の動作の一例を説明する第2のフローチャートである。具体的には、図8は、使用頻度の判定を行う際のストレージ装置100の動作例である。本動作例において、ストレージ装置100は、図7の動作例によって更新された使用頻度テーブルを用いる。判定部120は、記憶領域に格納されるデータの使用頻度の判定を行う。例えば、判定部120は、使用頻度テーブルと管理テーブルとに基づいて、データ使用頻度の高低、及び、当該データが第1記憶領域と第2記憶領域とのいずれで管理されるデータであるかを判定する。データの使用頻度が高いと判定された場合(S201の「Yes」)であって、当該データが第1記憶領域で管理されるデータである(S202の「Yes」)とする。この場合、ストレージ装置100は、S201の処理に戻る。なお、このときの第1記憶領域のデータについては、データ制御部130は、定期的に第2記憶領域に書き込んでよい。これにより、バックアップとして、第2記憶領域に書き込まれたデータを利用することができる。
Figure 8 is a second flowchart for explaining an example of the operation of the
データの使用頻度が高いと判定された場合(S201の「Yes」)であって、当該データが第2記憶領域で管理されるデータである(S202の「No」)とする。この場合、データ制御部130は、当該データが、第1記憶領域で管理されるよう、管理テーブルを更新する(S203)。具体的には、データ制御部130は、管理テーブルにおいて、当該データに対応する管理情報を、第1記憶領域の位置情報に書き換える。
If it is determined that the data is frequently used ("Yes" in S201), the data is managed in the second storage area ("No" in S202). In this case, the
データの使用頻度が低いと判定された場合(S201の「No」)であって、当該データが第1記憶領域で管理されるデータである(S203の「Yes」)とする。この場合、データ制御部130は、第2記憶領域に当該データを書き込む(S205)。そして、データ制御部130は、管理テーブルを更新する(S206)。
If it is determined that the data is used infrequently ("No" in S201), and the data is managed in the first storage area ("Yes" in S203), the
データの使用頻度が低いと判定された場合(S201の「No」)であって、当該データが第2記憶領域で管理されるデータである(S203の「No」)とする。この場合、ストレージ装置100は、S201の処理に戻る。
If it is determined that the data is used infrequently ("No" in S201), and the data is managed in the second storage area ("No" in S203), the
上述の動作例は、ストレージ装置100の動作のあくまで一例である。すなわち、ストレージ装置100の動作は、図7及び図8の例に限られない。
The above-described operation example is merely one example of the operation of the
このように、第2の実施形態のストレージ装置100は、不揮発性記憶媒体である第1メモリ10と、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリ20と、を有する。また、ストレージ装置100は、第1メモリ10において構築される第1記憶領域に格納されるデータの使用頻度を算出する。ストレージ装置100は、算出された使用頻度に基づいて、データの使用頻度の高低を判定する。そして、ストレージ装置100は、使用頻度が低いと判定されたデータを、第2メモリ20において構築される第2記憶領域に書き込む。
In this way, the
また、第2の実施形態のストレージ装置100は、ホスト装置200からの要求に応じて第1記憶領域または第2記憶領域のデータにアクセスする。このとき、ストレージ装置100は、第2記憶領域に格納される所定のデータの使用頻度を算出し、当該所定のデータの使用頻度の高低を判定する。そして、ストレージ装置100は、当該所定のデータの使用頻度が高いと判定された場合、当該所定のデータに対するアクセスの要求があった場合、第1記憶領域に格納される当該所定のデータにアクセスする。
The
データの使用頻度は変化する可能性がある。例えば、第2メモリ20において管理されているデータの使用頻度が増加する可能性がある。この場合、当該データを第2メモリ20で管理し続けると、装置全体としての処理性能の低下につながる虞がある。これに対して、ストレージ装置100は、使用頻度が低いと判定されたデータは、第1メモリ10と第2メモリ20との双方に格納される。そのため、第2メモリ20において管理されていたデータの使用頻度が増加した場合、ストレージ装置100は、データを移動させることなく、当該データの管理を第1メモリ10に切り替えることが可能である。これにより、ストレージ装置100は、処理性能の低下を抑制することができる。
The frequency of data use may change. For example, the frequency of use of data managed in the
また、第2の実施形態のストレージ装置100は、第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に第2記憶領域に書き込んでよい。これにより、ストレージ装置100は、使用頻度が高いと判定された第1記憶領域に格納されるデータのバックアップをとることができる。
The
[変形例1]
ストレージ装置100は、格納されたデータを削除してもよい。例えば、第1記憶領域にデータBが格納されているとする。そして、データBの使用頻度が低いと判定されたとする。このとき、データ制御部130は、データBを第2記憶領域に書き込む。そして、データ制御部130は、第1記憶領域に格納されるデータBを削除してもよい。
[Modification 1]
The
例えば、所定期間、第2記憶領域に格納されたデータBの使用頻度が低いと判定されたとする。この場合にデータ制御部130は、第1記憶領域に格納されるデータBを削除する。そして、データ制御部130は、管理テーブルを更新する。具体的には、データ制御部130は、管理テーブルにおける、データBに対応する第1記憶領域の位置情報を削除する。
For example, suppose that it is determined that data B stored in the second storage area has been used infrequently for a specified period of time. In this case, the
なお、第2記憶領域に格納されたデータBの使用頻度が高いと判定されたとする。データBが第1記憶領域に存在しない場合、データ制御部130は、第2記憶領域に格納されたデータBを、第1記憶領域に書き込む。そして、データ制御部130は、管理テーブルにおける、データBに対応する第1記憶領域の位置情報を追加する。そして、データ制御部130は、データBに対応する管理情報を、第1記憶領域の位置情報に更新する。
Let us assume that data B stored in the second storage area is determined to be frequently used. If data B does not exist in the first storage area, the
このように、ストレージ装置100は、使用頻度が高いと判定された第2記憶領域に格納される所定のデータが、第1記憶領域に存在しない場合、第2記憶領域に格納される所定のデータを、第1記憶領域に書き込んでよい。
In this way, if the specified data stored in the second storage area determined to be frequently used is not present in the first storage area, the
[変形例2]
ストレージ装置100に格納されるデータは、付加情報とともに格納されてよい。
[Modification 2]
The data stored in the
例えば、アクセス制御部140は、ホスト装置200からの書き込み要求に応じて、第1記憶領域にデータを書き込む。このとき、アクセス制御部140は、データとともに付加情報を格納する。付加情報には、書き込み要求に示されるコマンド番号が含まれる。さらに付加情報には、データのアドレス情報及び書き込み要求が行われた時刻等が含まれてよい。付加情報は、例えば、データの、読み出しまたは書き込みが行われる単位ごとに存在してよい。なお、データ制御部130によって、第1記憶領域のデータが第2記憶領域に書き込まれる際にも付加情報は格納される。
For example, the
このように、データは、付加情報とともに第1記憶領域または第2記憶領域に格納されてよい。そして、付加情報には、ホスト装置200からの書き込み要求に対応するコマンド番号が含まれてよい。
In this manner, the data may be stored in the first storage area or the second storage area together with the additional information. The additional information may include a command number corresponding to the write request from the
この場合に、データ制御部130は、付加情報を利用して第1記憶領域のデータと第2記憶領域のデータとの整合性を確認してよい。例えば、図5の例において、アドレス情報「A2」のデータは、第2記憶領域において管理されている。当該データに対応する第2記憶領域の位置情報は、「Y2」である。ここで、位置情報「Y2」のデータの使用頻度が高いと判定されたとする。
In this case, the
データ制御部130は、第2記憶領域の位置情報「Y2」のデータの付加情報と、第1記憶領域の位置情報「X2」のデータの付加情報と、を比較する。このとき、付加情報に含まれるコマンド番号が同一であれば、位置情報「Y2」のデータと位置情報「X2」のデータとは同一である。そのため、コマンド番号が同一の場合、データ制御部130は、管理テーブルの管理情報を「Y2」から「X2」に更新する。
The data control
一方で、コマンド番号が同一でない場合、位置情報「Y2」のデータと位置情報「X2」のデータとは同一ではない。この場合、位置情報「Y2」のデータの方が、位置情報「X2」のデータに比べて新しい。そのため、データ制御部130は、位置情報「Y2」のデータを、位置情報「X2」に上書きする。そして、データ制御部130は、管理テーブルの管理情報を「Y2」から「X2」に更新する。
On the other hand, if the command numbers are not the same, the data in location information "Y2" and the data in location information "X2" are not the same. In this case, the data in location information "Y2" is newer than the data in location information "X2". Therefore, the
このように、付加情報を利用することにより、データそのものを比較する場合と比べて、データの整合性にかかる処理負荷を軽減することができる。 In this way, by using additional information, the processing load required for data consistency can be reduced compared to when comparing the data itself.
また、データ制御部130は、付加情報を利用してデータを修復してよい。例えばアクセス制御部140が、ホスト装置200から読み出し要求を受信したとする。そして、アクセス制御部140が、読み出し要求に応じて第1記憶領域のデータを読み出そうとした際に、データの破損等により読み出しエラーが発生したとする。このような場合に、データ制御部130は、読み出しエラーが発生したデータの修復を行う。
The data control
読み出しエラーが発生したデータのアドレス情報が「C1」であるとする。データ制御部130は、アドレス情報「C1」に対応する第1記憶領域のデータの付加情報と、アドレス情報「C1」に対応する第2記憶領域のデータの付加情報と、を比較する。このとき、付加情報に含まれるコマンド番号が同一であれば、第1記憶領域のデータと第2記憶領域のデータとは同一である。このような場合に、データ制御部130は、第2記憶領域のデータを、アドレス情報「C1」に対応する第1記憶領域上の位置に上書きする。
Let us assume that the address information of the data where a read error occurred is "C1". The data control
このように、ホスト装置200からの読み出し要求に対して、アクセス制御部140が第1記憶領域の特定のデータにアクセスする際に、読み出しエラーが発生した場合、データ制御部130、第1記憶領域の特定のデータとともに格納される付加情報と、第2記憶領域の特定のデータとともに格納される付加情報と、に基づいて、第1記憶領域の特定のデータを修復してよい。
In this way, if a read error occurs when the
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。 The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above-mentioned embodiments. Various modifications that can be understood by a person skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
また、上記実施形態及び変形例は、適宜組み合わせることが可能である。 The above embodiments and variations can be combined as appropriate.
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。 Some or all of the above embodiments may be described as follows, but are not limited to the following:
<付記> <Additional Notes>
[付記1]
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有し、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出する算出手段と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定する判定手段と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込むデータ制御手段と、を備える、
ストレージ装置。
[Appendix 1]
A first memory which is a non-volatile storage medium and a second memory which is a non-volatile storage medium having a processing speed slower than that of the first memory,
a calculation means for calculating a usage frequency of data stored in a first storage area constructed in the first memory;
A determination means for determining whether the data is used frequently or not based on the calculated frequency of use;
and a data control means for writing data determined to be used infrequently into a second storage area constructed in the second memory.
Storage device.
[付記2]
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスするアクセス制御手段を備え、
前記算出手段は、前記第2記憶領域に格納される所定のデータの使用頻度を算出し、
前記判定手段は、前記所定のデータの使用頻度の高低を判定し、
前記所定のデータの使用頻度が高いと判定された場合、前記アクセス制御手段は、前記所定のデータに対するアクセスの要求があった場合、前記第1記憶領域に格納される前記所定のデータにアクセスする、
付記1に記載のストレージ装置。
[Appendix 2]
an access control unit that accesses data in the first storage area or the second storage area in response to a request from a host device;
The calculation means calculates a frequency of use of the predetermined data stored in the second storage area,
The determining means determines whether the predetermined data is used frequently,
when it is determined that the predetermined data is frequently used, the access control means accesses the predetermined data stored in the first storage area when there is a request for access to the predetermined data;
2. The storage device of
[付記3]
前記データ制御手段は、使用頻度が高いと判定された前記所定のデータが、前記第1記憶領域に存在しない場合、前記第2記憶領域に格納される前記所定のデータを、前記第1記憶領域に書き込む、
付記2に記載のストレージ装置。
[Appendix 3]
when the predetermined data determined to be frequently used is not present in the first storage area, the data control means writes the predetermined data stored in the second storage area to the first storage area;
3. The storage device of
[付記4]
前記データ制御手段は、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込む、
付記1に記載のストレージ装置。
[Appendix 4]
the data control means periodically writes data stored in the first storage area and determined to be frequently used to the second storage area;
2. The storage device of
[付記5]
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
付記4に記載のストレージ装置。
[Appendix 5]
The data is stored in the first storage area or the second storage area together with additional information;
The additional information includes a command number corresponding to a write request from a host device.
5. The storage device of claim 4.
[付記6]
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスするアクセス制御手段を備え、
ホスト装置からの読み出し要求に対して、前記アクセス制御手段が前記第1記憶領域の特定のデータにアクセスする際に、読み出しエラーが発生した場合、
前記データ制御手段は、前記第1記憶領域の前記特定のデータとともに格納される前記付加情報と、前記第2記憶領域の前記特定のデータとともに格納される前記付加情報と、に基づいて、前記第1記憶領域の前記特定のデータを修復する、
付記5に記載のストレージ装置。
[Appendix 6]
an access control unit that accesses data in the first storage area or the second storage area in response to a request from a host device;
When a read error occurs when the access control means accesses specific data in the first storage area in response to a read request from a host device,
the data control means restores the specific data in the first storage area based on the additional information stored together with the specific data in the first storage area and the additional information stored together with the specific data in the second storage area;
6. The storage device of
[付記7]
前記第1メモリと前記第2メモリとを有するSSD(Solid State Drive)において構成される、
付記1に記載のストレージ装置。
[Appendix 7]
The present invention is configured in a solid state drive (SSD) having the first memory and the second memory,
2. The storage device of
[付記8]
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置において、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出し、
算出された使用頻度に基づいて、データの使用頻度の高低を判定し、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込む、
ストレージ制御方法。
[Appendix 8]
A storage device having a first memory which is a non-volatile storage medium and a second memory which is a non-volatile storage medium having a processing speed slower than that of the first memory,
Calculating a usage frequency of data stored in a first storage area constructed in the first memory;
Based on the calculated frequency of use, the frequency of use of the data is determined,
writing the data determined to be used infrequently into a second storage area constructed in the second memory;
Storage control methods.
[付記9]
前記第2記憶領域に格納される所定のデータの使用頻度を算出し、
前記所定のデータの使用頻度の高低を判定し、
前記所定のデータの使用頻度が高いと判定された場合、前記所定のデータに対するアクセスの要求があった場合、前記第1記憶領域に格納される前記所定のデータにアクセスする、
付記8に記載のストレージ制御方法。
[Appendix 9]
Calculating a frequency of use of the predetermined data stored in the second storage area;
determining whether the predetermined data is used frequently,
when it is determined that the frequency of use of the predetermined data is high, and when there is a request to access the predetermined data, accessing the predetermined data stored in the first storage area;
9. The storage control method according to claim 8.
[付記10]
使用頻度が高いと判定された前記所定のデータが、前記第1記憶領域に存在しない場合、前記第2記憶領域に格納される前記所定のデータを、前記第1記憶領域に書き込む、
付記9に記載のストレージ制御方法。
[Appendix 10]
if the predetermined data determined to be frequently used is not present in the first storage area, writing the predetermined data stored in the second storage area to the first storage area;
10. The storage control method according to claim 9.
[付記11]
前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込む、
付記8に記載のストレージ制御方法。
[Appendix 11]
periodically writing data stored in the first storage area and determined to be frequently used to the second storage area;
9. The storage control method according to claim 8.
[付記12]
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
付記11に記載のストレージ制御方法。
[Appendix 12]
The data is stored in the first storage area or the second storage area together with additional information;
The additional information includes a command number corresponding to a write request from a host device.
12. The storage control method according to claim 11.
[付記13]
ホスト装置からの読み出し要求に対して、前記第1記憶領域の特定のデータにアクセスする際に、読み出しエラーが発生した場合、
前記第1記憶領域の前記特定のデータとともに格納される前記付加情報と、前記第2記憶領域の前記特定のデータとともに格納される前記付加情報と、に基づいて、前記第1記憶領域の前記特定のデータを修復する、
付記12に記載のストレージ制御方法。
[Appendix 13]
When a read error occurs in accessing specific data in the first storage area in response to a read request from a host device,
recovering the specific data in the first storage area based on the additional information stored together with the specific data in the first storage area and the additional information stored together with the specific data in the second storage area;
13. The storage control method according to claim 12.
[付記14]
前記ストレージ装置は、前記第1メモリと前記第2メモリとを有するSSD(Solid State Drive)において構成される、
付記8に記載のストレージ制御方法。
[Appendix 14]
The storage device is configured in a solid state drive (SSD) having the first memory and the second memory.
9. The storage control method according to claim 8.
[付記15]
不揮発性記憶媒体である第1メモリと、前記第1メモリより処理速度が遅い不揮発性記憶媒体である第2メモリと、を有するストレージ装置に、
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出させる処理と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定させる処理と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込ませる処理と、
をコンピュータに実行させる、
プログラム。
[Appendix 15]
A storage device having a first memory which is a non-volatile storage medium and a second memory which is a non-volatile storage medium having a processing speed slower than that of the first memory,
A process of calculating a frequency of use of data stored in a first storage area constructed in the first memory;
A process of determining whether the data is used frequently or not based on the calculated frequency of use;
A process of writing data determined to be used infrequently into a second storage area constructed in the second memory;
to cause a computer to execute
program.
[付記16]
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスさせる処理をさらに実行させ、
前記算出させる処理において、前記第2記憶領域に格納される所定のデータの使用頻度を算出させ、
前記判定させる処理において、前記所定のデータの使用頻度の高低を判定させ、
前記所定のデータの使用頻度が高いと判定された場合、前記アクセスさせる処理において、前記所定のデータに対するアクセスの要求があった場合、前記第1記憶領域に格納される前記所定のデータにアクセスさせる、
付記15に記載のプログラム。
[Appendix 16]
further executing a process of accessing data in the first storage area or the second storage area in response to a request from a host device;
In the calculation process, a frequency of use of the predetermined data stored in the second storage area is calculated;
In the process of making the determination, a determination is made as to whether the predetermined data is used frequently or not;
when it is determined that the predetermined data is frequently used, in the accessing process, when there is a request for access to the predetermined data, the predetermined data stored in the first storage area is accessed;
16. The program according to claim 15.
[付記17]
前記書き込ませる処理において、使用頻度が高いと判定された前記所定のデータが、前記第1記憶領域に存在しない場合、前記第2記憶領域に格納される前記所定のデータを、前記第1記憶領域に書き込ませる、
付記16に記載のプログラム。
[Appendix 17]
when the predetermined data determined to be frequently used is not present in the first storage area in the writing process, the predetermined data stored in the second storage area is written to the first storage area;
17. The program according to claim 16.
[付記18]
前記書き込ませる処理において、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込ませる、
付記15に記載のプログラム。
[Appendix 18]
In the writing process, data stored in the first storage area and determined to be frequently used is periodically written to the second storage area.
16. The program according to claim 15.
[付記19]
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
付記18に記載のプログラム。
[Appendix 19]
The data is stored in the first storage area or the second storage area together with additional information;
The additional information includes a command number corresponding to a write request from a host device.
19. The program according to claim 18.
[付記20]
ホスト装置からの要求に応じて前記第1記憶領域または前記第2記憶領域のデータにアクセスさせる処理をさらに実行させ、
ホスト装置からの読み出し要求に対して、前記第1記憶領域の特定のデータにアクセスさせる際に、読み出しエラーが発生した場合、
前記第1記憶領域の前記特定のデータとともに格納される前記付加情報と、前記第2記憶領域の前記特定のデータとともに格納される前記付加情報と、に基づいて、前記第1記憶領域の前記特定のデータを修復する、
付記15に記載のプログラム。
[Appendix 20]
further executing a process of accessing data in the first storage area or the second storage area in response to a request from a host device;
When a read error occurs in accessing specific data in the first storage area in response to a read request from a host device,
recovering the specific data in the first storage area based on the additional information stored together with the specific data in the first storage area and the additional information stored together with the specific data in the second storage area;
16. The program according to claim 15.
[付記21]
前記ストレージ装置は、前記第1メモリと前記第2メモリとを有するSSD(Solid State Drive)において構成される、
付記15に記載のプログラム。
[Appendix 21]
The storage device is configured in a solid state drive (SSD) having the first memory and the second memory.
16. The program according to claim 15.
100 ストレージ装置
110 算出部
120 判定部
130 データ制御部
140 アクセス制御部
200 ホスト装置
REFERENCE SIGNS
Claims (7)
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出する算出手段と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定する判定手段と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込むデータ制御手段と、を備え、
前記データ制御手段は、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込み、
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
ストレージ装置。 A first memory which is a non-volatile storage medium and a second memory which is a non-volatile storage medium having a processing speed slower than that of the first memory,
a calculation means for calculating a usage frequency of data stored in a first storage area constructed in the first memory;
A determination means for determining whether the data is used frequently or not based on the calculated frequency of use;
a data control means for writing data determined to be used infrequently into a second storage area constructed in the second memory,
the data control means periodically writes data stored in the first storage area and determined to be frequently used to the second storage area;
The data is stored in the first storage area or the second storage area together with additional information;
The additional information includes a command number corresponding to a write request from a host device.
Storage device.
前記算出手段は、前記第2記憶領域に格納される所定のデータの使用頻度を算出し、
前記判定手段は、前記所定のデータの使用頻度の高低を判定し、
前記所定のデータの使用頻度が高いと判定された場合、前記アクセス制御手段は、前記所定のデータに対するアクセスの要求があった場合、前記第1記憶領域に格納される前記所定のデータにアクセスする、
請求項1に記載のストレージ装置。 an access control unit that accesses data in the first storage area or the second storage area in response to a request from a host device;
The calculation means calculates a frequency of use of the predetermined data stored in the second storage area,
The determining means determines whether the predetermined data is used frequently,
when it is determined that the predetermined data is frequently used, the access control means accesses the predetermined data stored in the first storage area when there is a request for access to the predetermined data;
The storage device according to claim 1.
請求項2に記載のストレージ装置。 when the predetermined data determined to be frequently used is not present in the first storage area, the data control means writes the predetermined data stored in the second storage area to the first storage area;
The storage device according to claim 2.
ホスト装置からの読み出し要求に対して、前記アクセス制御手段が前記第1記憶領域の特定のデータにアクセスする際に、読み出しエラーが発生した場合、
前記データ制御手段は、前記第1記憶領域の前記特定のデータとともに格納される前記付加情報と、前記第2記憶領域の前記特定のデータとともに格納される前記付加情報と、に基づいて、前記第1記憶領域の前記特定のデータを修復する、
請求項1に記載のストレージ装置。 an access control unit that accesses data in the first storage area or the second storage area in response to a request from a host device;
When a read error occurs when the access control means accesses specific data in the first storage area in response to a read request from a host device,
the data control means restores the specific data in the first storage area based on the additional information stored together with the specific data in the first storage area and the additional information stored together with the specific data in the second storage area;
The storage device according to claim 1 .
請求項1に記載のストレージ装置。 The present invention is configured in a solid state drive (SSD) having the first memory and the second memory,
The storage device according to claim 1.
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出し、
算出された使用頻度に基づいて、データの使用頻度の高低を判定し、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込み、
前記書き込むステップにおいて、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込み、
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
ストレージ制御方法。 A storage device having a first memory which is a non-volatile storage medium and a second memory which is a non-volatile storage medium having a processing speed slower than that of the first memory,
Calculating a usage frequency of data stored in a first storage area constructed in the first memory;
Based on the calculated frequency of use, the frequency of use of the data is determined,
writing the data determined to be used infrequently into a second storage area constructed in the second memory;
In the writing step, data stored in the first storage area and determined to be frequently used is periodically written to the second storage area;
The data is stored in the first storage area or the second storage area together with additional information;
The additional information includes a command number corresponding to a write request from a host device.
Storage control methods.
前記第1メモリにおいて構築される第1記憶領域に格納されるデータの使用頻度を算出させる処理と、
算出された使用頻度に基づいて、データの使用頻度の高低を判定させる処理と、
使用頻度が低いと判定されたデータを、前記第2メモリにおいて構築される第2記憶領域に書き込ませる処理と、
をコンピュータに実行させ、
前記書き込ませる処理において、前記第1記憶領域に格納されるデータであって、使用頻度が高いと判定されたデータを、定期的に前記第2記憶領域に書き込ませ、
データは、付加情報とともに前記第1記憶領域または前記第2記憶領域に格納され、
前記付加情報には、ホスト装置からの書き込み要求に対応するコマンド番号が含まれる、
プログラム。 A storage device having a first memory which is a non-volatile storage medium and a second memory which is a non-volatile storage medium having a processing speed slower than that of the first memory,
A process of calculating a frequency of use of data stored in a first storage area constructed in the first memory;
A process of determining whether the data is used frequently or not based on the calculated frequency of use;
A process of writing data determined to be used infrequently into a second storage area constructed in the second memory;
on the computer ,
In the writing process, data stored in the first storage area and determined to be frequently used is periodically written to the second storage area;
The data is stored in the first storage area or the second storage area together with additional information;
The additional information includes a command number corresponding to a write request from a host device.
program.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023126138A JP7572520B1 (en) | 2023-08-02 | 2023-08-02 | STORAGE APPARATUS, STORAGE CONTROL METHOD, AND PROGRAM |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023126138A JP7572520B1 (en) | 2023-08-02 | 2023-08-02 | STORAGE APPARATUS, STORAGE CONTROL METHOD, AND PROGRAM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP7572520B1 true JP7572520B1 (en) | 2024-10-23 |
| JP2025021984A JP2025021984A (en) | 2025-02-14 |
Family
ID=93150895
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023126138A Active JP7572520B1 (en) | 2023-08-02 | 2023-08-02 | STORAGE APPARATUS, STORAGE CONTROL METHOD, AND PROGRAM |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7572520B1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006139552A (en) | 2004-11-12 | 2006-06-01 | Hitachi Ltd | Storage device and data lifecycle management method for storage device |
| JP2009048613A (en) | 2007-08-14 | 2009-03-05 | Samsung Electronics Co Ltd | Solid-state memory, computer system including the same, and operation method thereof |
| JP2011242862A (en) | 2010-05-14 | 2011-12-01 | Hitachi Ltd | Storage subsystem and control method for the same |
| JP2012164136A (en) | 2011-02-07 | 2012-08-30 | Nec Corp | Storage device, storage device control program, and storage device control method |
| JP2019159639A (en) | 2018-03-12 | 2019-09-19 | 株式会社日立製作所 | Storage system, data management method and data management program |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0628246A (en) * | 1991-06-24 | 1994-02-04 | Nec Corp | Storage device |
| JP4593721B2 (en) * | 1999-05-19 | 2010-12-08 | グンゼ株式会社 | Touch panel |
-
2023
- 2023-08-02 JP JP2023126138A patent/JP7572520B1/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006139552A (en) | 2004-11-12 | 2006-06-01 | Hitachi Ltd | Storage device and data lifecycle management method for storage device |
| JP2009048613A (en) | 2007-08-14 | 2009-03-05 | Samsung Electronics Co Ltd | Solid-state memory, computer system including the same, and operation method thereof |
| JP2011242862A (en) | 2010-05-14 | 2011-12-01 | Hitachi Ltd | Storage subsystem and control method for the same |
| JP2012164136A (en) | 2011-02-07 | 2012-08-30 | Nec Corp | Storage device, storage device control program, and storage device control method |
| JP2019159639A (en) | 2018-03-12 | 2019-09-19 | 株式会社日立製作所 | Storage system, data management method and data management program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2025021984A (en) | 2025-02-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10776153B2 (en) | Information processing device and system capable of preventing loss of user data | |
| JP5002719B1 (en) | Information processing device, external storage device, host device, relay device, control program, and information processing device control method | |
| JP4372134B2 (en) | Storage system with data comparison function | |
| US10198318B2 (en) | Storage apparatus having nonvolatile memory device, and nonvolatile memory device | |
| JP4806089B1 (en) | Information processing apparatus, RAID controller card, and mirroring method | |
| US8725936B2 (en) | Storage system with flash memory, and storage control method | |
| JP6017065B2 (en) | Storage system and cache control method | |
| US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
| US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
| CN107608908A (en) | Wear leveling method for data storage device | |
| US20100169556A1 (en) | Nonvolatile storage device, information recording system, and information recording method | |
| WO2016135954A1 (en) | Storage device and nonvolatile memory device | |
| JP2008015769A (en) | Storage system and write distribution method | |
| WO2009118917A1 (en) | Storage device using flash memory | |
| CN112306401B (en) | Storage device and data storage method | |
| WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
| JP2011221996A (en) | Nonvolatile memory controller and nonvolatile storage device | |
| JP2013222435A (en) | Semiconductor storage device and method of controlling the same | |
| US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
| US8527733B2 (en) | Memory system | |
| US10162573B2 (en) | Storage management system, storage management method, storage medium and information processing system | |
| JP7572520B1 (en) | STORAGE APPARATUS, STORAGE CONTROL METHOD, AND PROGRAM | |
| US20110087828A1 (en) | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof | |
| CN106021124B (en) | Data storage method and storage system | |
| JP4837121B1 (en) | Data storage device and data writing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230802 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240723 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240902 |
|
| 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: 20240917 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241010 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7572520 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |