(57)【要約】【課題】記憶媒体の性能の回復を効果的に行うことが可能な記憶装置、記憶装置の制御方法、プログラムの提供。【解決手段】第１の記憶媒体及び前記第１の記憶媒体よりも容量が大きい第２の記憶媒体における未使用領域を監視し、その監視結果に基づいて、第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、第１の記憶媒体における使用領域のデータを第２の記憶媒体へ移行し、第１の記憶媒体を初期化する。【選択図】図１
2018165861.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶媒体と、
前記第１の記憶媒体よりも容量が大きい第２の記憶媒体と、
前記第１の記憶媒体における未使用領域を監視する監視部と、
前記監視部による監視結果に基づいて、前記第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、前記第１の記憶媒体における使用領域のデータを前記第２の記憶媒体へ移行するデータ移行部と、
前記第１の記憶媒体を初期化する初期化部と、
を有する記憶装置。
【請求項２】
前記第２の記憶媒体を複数有し、
前記監視部は、前記第２の記憶媒体における未使用領域も監視し、
前記データ移行部は、複数の第２の記憶媒体の内で前記未使用領域が最も多い第２の記憶媒体をデータの移行先に決定する請求項１に記載の記憶装置。
【請求項３】
前記第２の記憶媒体を複数有し、
前記監視部は、前記記憶媒体への書き込み回数も監視し、
前記データ移行部は、複数の第２の記憶媒体の内で前記書き込み回数が最も少ない第２の記憶媒体をデータの移行先に決定する請求項１に記載の記憶装置。
【請求項４】
前記記憶媒体が、ＳＳＤ（solid state drive）である請求項１〜３のいずれか１項に記載の記憶装置。
【請求項５】
前記データ移行部は、前記第１の記憶媒体における使用領域のデータを分割して、複数の第２の記憶媒体へ移行する請求項１〜４のいずれか１項に記載の記憶装置。
【請求項６】
前記データ移行部は、データ移行先の第２の記憶媒体の未使用領域が前記所定の閾値以上になるように、データを分割して移行する請求項５に記載の記憶装置。
【請求項７】
第１の記憶媒体及び前記第１の記憶媒体よりも容量が大きい第２の記憶媒体における未使用領域を監視する監視ステップと、
前記監視ステップによる監視結果に基づいて、前記第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、前記第１の記憶媒体における使用領域のデータを前記第２の記憶媒体へ移行するデータ移行ステップと、
前記第１の記憶媒体を初期化する初期化ステップと、
を含む記憶装置の制御方法。
【請求項８】
第１の記憶媒体及び前記第１の記憶媒体よりも容量が大きい第２の記憶媒体における未使用領域を監視する監視処理と、
前記監視処理による監視結果に基づいて、前記第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、前記第１の記憶媒体における使用領域のデータを前記第２の記憶媒体へ移行するデータ移行処理と、
前記第１の記憶媒体を初期化する領域開放処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置、記憶装置の制御方法、プログラムに関する。特に、複数の記憶媒体を備えた記憶装置、記憶装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
ディスクアレイ装置などの記憶装置には、記憶媒体としてＳＳＤ（solid state drive）を複数備えたものが存在する（例えば、引用文献１〜３参照）。ＳＳＤは、使用領域が増えるにつれて性能が低下するという特徴、及び使用領域にデータを上書きできず、未使用領域にしかデータを書き込めないという特徴を有する。そのため、上記の記憶装置では、ガベージコレクションと呼ばれる不要な使用領域を解放して、未使用領域に改変する処理を行い、ＳＳＤの性能を回復させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１３／０４６４６３号
【特許文献２】特開２００９−２７７１４７号公報
【特許文献３】特開２００５−３３９１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下の分析は、本発明の観点からなされたものである。なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。
【０００５】
特許文献１〜３に開示の記憶装置では、記憶媒体の性能の回復を十分に行うことができないという問題点がある。
【０００６】
すなわち、ＳＳＤは初期状態が最も高性能であるため、ＳＳＤを初期化することができれば最も効果的な性能の回復が達成される。その一方で、ガベージコレクションは単に不要な使用領域を解放する処理であるため、ＳＳＤの初期化に比べて性能の回復が不十分である。
【０００７】
そこで、本発明では、記憶媒体の性能の回復を効果的に行うことが可能な記憶装置、記憶装置の制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の視点によれば、第１の記憶媒体と、
前記第１の記憶媒体よりも容量が大きい第２の記憶媒体と、
前記第１の記憶媒体における未使用領域を監視する監視部と、
前記監視部による監視結果に基づいて、前記第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、前記第１の記憶媒体における使用領域のデータを前記第２の記憶媒体へ移行するデータ移行部と、
前記第１の記憶媒体を初期化する初期化部と、
を有する記憶装置が提供される。
【０００９】
本発明の第２の視点によれば、第１の記憶媒体及び前記第１の記憶媒体よりも容量が大きい第２の記憶媒体における未使用領域を監視する監視ステップと、
前記監視ステップによる監視結果に基づいて、前記第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、前記第１の記憶媒体における使用領域のデータを前記第２の記憶媒体へ移行するデータ移行ステップと、
前記第１の記憶媒体を初期化する初期化ステップと、
を含む記憶装置の制御方法が提供される。
【００１０】
本発明の第３の視点によれば、第１の記憶媒体及び前記第１の記憶媒体よりも容量が大きい第２の記憶媒体における未使用領域を監視する監視処理と、
前記監視処理による監視結果に基づいて、前記第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、前記第１の記憶媒体における使用領域のデータを前記第２の記憶媒体へ移行するデータ移行処理と、
前記第１の記憶媒体を初期化する領域開放処理と、
をコンピュータに実行させるプログラムが提供される。
【発明の効果】
【００１１】
本発明の各視点によれば、性能の回復を効果的に行うことが可能な記憶装置、記憶装置の制御方法、プログラムが提供される。
【図面の簡単な説明】
【００１２】
【図１】一実施形態の概要を説明するための図である。
【図２】記憶装置１０の一構成を示すブロック図である。
【図３】監視結果３１０の一例を示した図である。
【図４】記憶装置１０の処理フローを示す図である。
【発明を実施するための形態】
【００１３】
本発明のとり得る好適な実施形態について図面を参照して詳細に説明する。なお、以下の記載に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、各図におけるブロック間の接続線は双方向及び単方向の双方を含み、図面の明瞭化を目的として適宜図示又は削除される。
【００１４】
図１に示すように、記憶装置１０は、制御部１００と、ＳＳＤ（solid state drive）部２００とを有する。制御部１００は、監視部１１０と、データ移行部１２０と、初期化部１３０とを有する。ＳＳＤ部２００は、複数のＳＳＤ２１０を有する。
【００１５】
ＳＳＤ２１０は、未使用領域と、使用領域とを有し、不要な使用領域を解放して未使用領域に改変する処理によって性能が改善される記憶媒体であり、特に、小容量のＳＳＤ２１０（＃０）と、大容量のＳＳＤ２１０（＃１）を含む。小容量のＳＳＤ２１０は、第１の記憶媒体とも称され、大容量のＳＳＤ２１０は第２の記憶媒体とも称される。監視部１１０は、ＳＳＤ２１０（＃０）の未使用領域を監視する。データ移行部１２０は、監視部１１０による監視結果に基づいて、ＳＳＤ２１０（＃０）の未使用領域が所定の閾値未満になったことを検出すると、ＳＳＤ２１０（＃０）における使用領域のデータをＳＳＤ２１０（＃１）へ移行する。そして初期化部１３０は、ＳＳＤ２１０（＃０）を初期化する。
【００１６】
上述の処理を、一のモデルを用いて概念的に説明する。前提として、ＳＳＤ２１０（＃１）は、ＳＳＤ２１０（＃０）の２倍の容量を有するものとし、ＳＳＤ２１０（＃０）のの未使用領域が４０％であり、ＳＳＤ２１０（＃１）の未使用領域が９０％であるものとする。また、各ＳＳＤ２１０は、未使用領域が５０％未満になるとその性能が著しく低下するものとし、そのため、閾値は５０％に設定されるものとする。
【００１７】
データ移行部１２０は、監視部１１０による監視結果に基づいて、ＳＳＤ２１０（＃０）の未使用領域が閾値（５０％）未満になったことを検出すると、ＳＳＤ２１０（＃０）における使用領域のデータをＳＳＤ２１０（＃１）へ移行する。そして初期化部１３０は、ＳＳＤ２１０（＃０）を初期化する。
【００１８】
上記のモデルでは、ＳＳＤ２１０（＃０）は初期状態に戻されており、最も効果的な性能の回復が達成されている。一方で、ＳＳＤ２１０（＃１）の未使用領域は６０％になり、多少の性能の低下が生じるものの、閾値（５０％）以上であるため著しい性能の低下は免れる。このように、図１の記憶装置１０は、記憶媒体の性能の回復を効果的に行うことが可能である。
【００１９】
以下では本発明のとり得る好適な実施形態について図面を参照して詳細に説明する。
【００２０】
［第１の実施形態］
図２に示すように、記憶装置１０は、制御部１００と、ＳＳＤ部２００と、記憶部３００とを有する。制御部１００は、監視部１１０と、データ移行部１２０と、初期化部１３０とを有し、記憶部３００からプログラム（図示せず）などを読み出して、記憶装置１０全体を制御する。
【００２１】
ＳＳＤ部２００は、複数のＳＳＤ２１０と、各ＳＳＤ２１０に対応付けられたコントローラ２２０を有する。ＳＳＤ２１０は、未使用領域と、使用領域とを有し、不要な使用領域を解放して未使用領域に改変する処理によって性能が改善される記憶媒体である。ここで、ＳＳＤ２１０（＃０、＃２）は、小容量の記憶媒体であり、ＳＳＤ２１０（＃１、＃３）は大容量の記憶媒体であるものとする。
【００２２】
コントローラ２２０は、対応付けられたＳＳＤ２１０の領域に関する情報とＳＳＤ２１０への書き込み回数を管理し、これらの情報が更新される場合に監視部１１０に対して更新後の情報を送信する。具体的には、ＳＳＤ２１０にデータが書き込まれると、コントローラ２２０は、未使用領域のパーセンテージを算出する。その際に、コントローラ２２０は、データ移行部１２０から書き込み回数を受信していれば既存の書き込み回数に受信した書き込み回数を加算する。また、データ移行部１２０から書き込み回数を受信していなければ、書き込み回数に１を加算する。そして、算出した未使用領域のパーセンテージと更新した書き込み回数を監視部１１０に対して送信する。
【００２３】
記憶部３００は、記憶装置１０全体を制御するためのプログラムなどを記憶し、特に、ＳＳＤ２１０の監視結果３１０を記憶する。例えば、監視結果３１０は、図３に示すように、ＳＳＤ２１０のＩＤ（identifier）に対応付けた、各ＳＳＤ２１０の容量の大小を示す情報と、各ＳＳＤ２１０における未使用領域のパーセンテージと、書き込み回数とである。
【００２４】
監視部１１０は、各ＳＳＤ２１０の未使用領域を監視する。具体的には、監視部１１０は、各コントローラ２２０から受け付けたＳＳＤ２１０の未使用領域に関する情報とＳＳＤ２１０への書き込み回数に基づいて、記憶部３００に記憶された監視結果３１０を更新する。
【００２５】
データ移行部１２０は、監視部１１０による監視結果に基づいて、一のＳＳＤ２１０の未使用領域が所定の閾値未満になったことを検出すると、一のＳＳＤ２１０における必要な使用領域のデータを他のＳＳＤ２１０へ移行する。
【００２６】
具体的な一例を挙げて説明すると、データ移行部１２０は、記憶部３００に記憶された監視結果３１０を参照してＳＳＤ２１０（＃０）の未使用領域が所定の閾値（例えば、５０％）未満であることを検出する。ここで、データ移行部１２０は、監視結果３１０を更に参照して、容量が大きいＳＳＤ２１０の内で、最も書き込み回数が少ないＳＳＤ２１０（＃１）をデータの移行先に決定する。続いて、データ移行部１２０は、ＳＳＤ２１０（＃０）から全てのデータを読み出して、ＳＳＤ２１０（＃１）に書き込むと共に、ＳＳＤ２１０（＃１）のコントローラ２２０に対して、ＳＳＤ２１０（＃０）の書き込み回数を通知する。そして、データ移行部１２０は、初期化部１３０に対してＳＳＤ２１０（＃０）のＩＤを通知して、ＳＳＤ２１０（＃０）の初期化を依頼する。
【００２７】
初期化部１３０は、小容量の記憶媒体を初期化する。具体的には、初期化部１３０は、データ移行部１２０からＳＳＤ２１０（＃０）における開放対象領域の依頼を受けると、ＳＳＤ２１０（＃０）を初期化する。
【００２８】
以下では、図面を参照しつつ、記憶装置１０による一連の処理の流れ、及び各機能部による処理を説明する。
【００２９】
図４は、記憶装置１０の処理フローを示す図である。データ移行部１２０は、監視結果３１０を参照して小容量のＳＳＤ２１０（＃０）の未使用領域が所定の閾値未満になったことを検出する（ステップＳ１１、ＹＥＳ）。ここで、データ移行部１２０は、大容量のＳＳＤ２１０の内で最も書き込み回数が少ないＳＳＤ２１０（＃１）をデータの移行先に決定する（ステップＳ１２）。そして、データ移行部１２０は、ＳＳＤ２１０（＃０）から全てのデータを読み出して、書き込み先に決定したＳＳＤ２１０に書き込む（ステップＳ１３）。そして、初期化部１３０は、ＳＳＤ２１０（＃０）を初期化する（ステップＳ１４）。
【００３０】
上述のように、第１の実施形態の記憶装置１０は、未使用領域が所定の閾値未満になったＳＳＤ２１０が初期状態に戻るようにその使用領域を開放する。そのため、単にＳＳＤ２１０に対してガベージコレクションを実行するよりも、効果的な性能の回復が達成される。
【００３１】
なお、第１の実施形態では、ＳＳＤ２１０は４つに限られず、２、３つ又は、５つ以上であっても良い。
【００３２】
また、第１の実施形態では、未使用領域が最も多いＳＳＤ２１０をデータの移行先に決定しても良い。
【００３３】
また、第１の実施形態では、データ移行先のＳＳＤ２１０の未使用領域が所定の閾値以上になるように、データを分割して移行しても良い。
【００３４】
また、第１の実施形態では、記憶装置１０は、ホスト端末に接続されるサーバ装置であっても良い。特に、サーバ装置のＯＳ（Operating System）がＴｒｉｍコマンドを発行できないものであっても、第１の実施形態に記載の制御部１００を搭載すればＴｒｉｍコマンドと同等の機能を実行することができる。
【００３５】
なお、記憶装置１０における各種処理は、例えば、処理モジュールを搭載したコンピュータによって実現される。当該処理モジュールは、例えば、メモリに格納されたプログラムをＣＰＵが実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能は、何らかのハードウェア及び／又はソフトウェアにより実現できればよい。
【００３６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００３７】
（付記１）
第１の記憶媒体と、
前記第１の記憶媒体よりも容量が大きい第２の記憶媒体と、
前記第１の記憶媒体における未使用領域を監視する監視部と、
前記監視部による監視結果に基づいて、前記第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、前記第１の記憶媒体における使用領域のデータを前記第２の記憶媒体へ移行するデータ移行部と、
前記第１の記憶媒体を初期化する初期化部と、
を有する記憶装置。
【００３８】
（付記２）
前記第２の記憶媒体を複数有し、
前記監視部は、前記第２の記憶媒体における未使用領域も監視し、
前記データ移行部は、複数の第２の記憶媒体の内で前記未使用領域が最も多い第２の記憶媒体をデータの移行先に決定する付記１に記載の記憶装置。
【００３９】
（付記３）
前記第２の記憶媒体を複数有し、
前記監視部は、前記記憶媒体への書き込み回数も監視し、
前記データ移行部は、複数の第２の記憶媒体の内で前記書き込み回数が最も少ない第２の記憶媒体をデータの移行先に決定する付記１に記載の記憶装置。
【００４０】
（付記４）
前記記憶媒体が、ＳＳＤ（solid state drive）である付記１〜３のいずれか１つに記載の記憶装置。
【００４１】
（付記５）
前記データ移行部は、前記第１の記憶媒体における使用領域のデータを分割して、複数の第２の記憶媒体へ移行する付記１〜４のいずれか１つに記載の記憶装置。
【００４２】
（付記６）
前記データ移行部は、データ移行先の第２の記憶媒体の未使用領域が前記所定の閾値以上になるように、データを分割して移行する付記５に記載の記憶装置。
【００４３】
（付記７）
第１の記憶媒体及び前記第１の記憶媒体よりも容量が大きい第２の記憶媒体における未使用領域を監視する監視ステップと、
前記監視ステップによる監視結果に基づいて、前記第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、前記第１の記憶媒体における使用領域のデータを前記第２の記憶媒体へ移行するデータ移行ステップと、
前記第１の記憶媒体を初期化する初期化ステップと、
を含む記憶装置の制御方法。
【００４４】
（付記８）
第１の記憶媒体及び前記第１の記憶媒体よりも容量が大きい第２の記憶媒体における未使用領域を監視する監視処理と、
前記監視処理による監視結果に基づいて、前記第１の記憶媒体における未使用領域が所定の閾値未満になったことを検出した場合に、前記第１の記憶媒体における使用領域のデータを前記第２の記憶媒体へ移行するデータ移行処理と、
前記第１の記憶媒体を初期化する領域開放処理と、
をコンピュータに実行させるプログラム。
【００４５】
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００４６】
１０  記憶装置
１００  制御部
１１０  監視部
１２０  データ移行部
１３０  初期化部
２００  ＳＳＤ部
２１０  ＳＳＤ
２２０  コントローラ
３００  記憶部
３１０  監視結果
【図１】
2018165861.tif 000003
【図２】
2018165861.tif 000004
【図３】
2018165861.tif 000005
【図４】
2018165861.tif 000006