(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【0017】
なお、各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
【0018】
また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【0019】
<第1の実施形態>
まず、本発明のおける第1の実施形態に係る情報処理装置10を説明するために、情報処理装置10を含む情報処理システム90の一例について説明する。
【0020】
図3は、第1の実施形態に係る情報処理装置10を含む情報処理システム90の構成の一例を示すブロック図である。
【0021】
情報処理システム90は、情報処理装置10と、1台又は複数台のSSD40と、支援機器80とを含む。
【0022】
SSD40は、記憶装置として動作し、受信したデータを記憶し、要求に応じて記憶したデータを出力する。なお、SSD40は、一般的なSSDでよいため、詳細な説明を省略する。
【0023】
支援機器80は、情報処理装置10に接続され、情報処理装置10に情報(例えば、指示)を送信し、情報処理装置10から情報(例えば、SSD40の状態)を受信する。なお、支援機器80は、受信した情報を表示してもよい。
【0024】
情報処理装置10は、1台又は複数台のSSD40と接続され、SSD40へのデータの書き込み、及び、SSD40からのデータの読み出しを実行する。なお、情報処理装置10は、SSD40以外の1台又は複数台の記憶装置(例えば、
図3に示すようにHDD(Hard Disc Drive)50)と接続されてもよい。
【0025】
なお、情報処理装置10は、SSD40(及びHDD50)を装置内部に含んでもよい。
【0026】
次に、本発明における第1の実施形態に係る情報処理装置10の構成について説明する。
【0027】
図1は、第1の実施形態に係る情報処理装置10の構成の一例を示すブロック図である。
【0028】
図1を参照すると、情報処理装置10は、SSD制御部20と、SSD支援部30とを含む。そして、SSD制御部20は、圧縮部25を含む。
【0029】
情報処理装置10は、これらの構成を基に、SSD40の寿命を把握する。そして、情報処理装置10は、SSD40の短命化が懸念されると判定した場合(例えば、ライトデータ量が多い場合)、ライトデータを圧縮し、SSD40に書き込まれるライトデータ量を削減し、SSD40の延命化を実現する。
【0030】
次に、各構成について、より詳細に説明する。
【0031】
なお、以下の説明の前提として、SSD40は、予め、寿命を示す寿命パラメータ(寿命年数(X)と寿命到達までの総ライトデータ量(W))を記憶しているとする。例えば、一般的に、SSD40は、工場出荷時に寿命パラメータを記憶される。なお、SSD40が寿命を記憶していない場合、SSD制御部20は、図示しない管理装置等からSSD40の寿命パラメータを取得してもよい。その場合、SSD制御部20は、以下の説明におけるSSD40からの寿命パラメータの取得動作を、その装置からの取得動作に変更して動作すればよい。また、寿命パラメータは、寿命年数(X)と寿命到達までの総ライトデータ量(W)に限らず、以下で説明するSSD支援部30が、SSD40の寿命の判定に用いることができるデータであればよい。
【0032】
SSD制御部20は、SSD40へのアクセスを制御する。具体的には、SSD制御部20は、データの書き込み及びデータの読み出しを制御する。そして、SSD制御部20は、SSD40へのライトデータ量(Y)を計測(カウント)する。また、SSD制御部20は、SSD40の稼働時間(Z)を計測する。
【0033】
圧縮部25は、SSD制御部20に制御され、SSD制御部20がSSD40に書き込むデータを圧縮する。
【0034】
圧縮部25におけるデータの圧縮率が高い場合、SSD40に書き込まれるデータ量は少なくなる。しかし、圧縮率が高い場合、圧縮部25における圧縮のための処理が多くなり、アクセス性能が低下する。そのため、圧縮部25における圧縮は、必要最小限の圧縮率であることが望ましい。
【0035】
さらに、圧縮部25は、複数のデータの圧縮率(データ圧縮レベル)を備えることが望ましい。
【0036】
SSD支援部30は、SSD制御部20から現在までのライトデータ量(Y)及び稼働時間(Z)と、SSD40の寿命パラメータとを取得する。そして、SSD支援部30は、ライトデータ量(Y)と稼働時間(Z)と寿命パラメータとを基に、圧縮が必要か否かの判定に用いる寿命閾値と、寿命閾値と比較する値(寿命判定値)とを算出する。そして、SSD支援部30は、寿命閾値と寿命判定値とを基にSSD制御部20において、圧縮が必要か否かを判定する。寿命閾値と寿命判定値とについては、後ほど、詳細に説明する。
【0037】
なお、圧縮部25が複数のデータ圧縮レベルを備える場合、SSD支援部30は、圧縮部25におけるデータ圧縮レベルを選択してもよい。
【0038】
そして、SSD支援部30は、圧縮を必要と判定した場合、SSD制御部20にデータの圧縮を指示する。さらに、データ圧縮レベルを選択した場合、SSD支援部30は、SSD制御部20に、データ圧縮レベルを通知する。
【0039】
SSD制御部20は、SSD支援部30からの圧縮(及びデータ圧縮レベル)の指示を基に、圧縮部25を用いてライトデータを圧縮後、SSD40にデータを書き込む。
【0040】
なお、SSD支援部30は、
図3に示す支援機器80等の外部の装置に、SSD40の圧縮の実施の有無、及び/又は、データ圧縮レベルを通知してもよい。
【0041】
次に、情報処理装置10の動作について、図面を参照して説明する。
【0042】
図2は、情報処理装置10の動作の一例を示すシーケンス図である。
【0043】
SSD40は、予め、寿命パラメータを記憶する(S102)。
【0044】
SSD制御部20は、SSD40へのライトデータ量(Y)と稼働時間(Z)とを計測する(S101)。なお、SSD制御部20は、計測に先立ち、接続されている装置がSSD40であるか否かを判定してもよい。例えば、SSD制御部20は、接続されている装置の回転速度(Rotational Speed)パラメータを参照し、回転速度が「0」の場合に、SSD40と判定してもよい。
【0045】
SSD支援部30は、所定のタイミング(例えば、所定の周期、又は、支援機器80からの依頼の受信時)に、SSD制御部20に寿命を判定するための情報(寿命パラメータ等)を依頼する(S103)。ここでの情報は、SSD40の寿命パラメータに加え、SSD制御部20が計測するライトデータ量(Y)及び稼働時間(Z)を含む情報である。
【0046】
SSD制御部20は、SSD支援部30からの依頼を基に、SSD40に寿命パラメータ(総ライトデータ量(W)と寿命年数(X))を要求する(S104)。なお、SSD制御部20は、既に寿命パラメータを受信済みの場合(例えば、SSD40の初期化処理で寿命パラメータを受信済みの場合)、この処理を省略してもよい。
【0047】
SSD40は、SSD制御部20に、寿命パラメータを送信する(S105)。
【0048】
SSD制御部20は、受信した寿命パラメータと、計測したライトデータ量(Y)と、稼働時間(Z)とをSSD支援部30に送信する(S106)。
【0049】
SSD支援部30は、受信した情報を基に、寿命閾値を算出し、SSD40の寿命の状態(例えば、寿命到達の予測時間と寿命閾値との大小比較)を判定する(S107)。
【0050】
そして、SSD支援部30は、判定を基に、SSD制御部20における圧縮の必要の有無、及び、データ圧縮レベル(データ圧縮率)を決定する(S108)。
【0051】
圧縮が必要な場合(S108でYes)、SSD支援部30は、SSD制御部20に圧縮を指示する。そして、圧縮部25が、複数のデータ圧縮レベル(データ圧縮率)に対応する場合、SSD支援部30は、SSD制御部20にデータ圧縮レベルを指示する。
【0052】
なお、既に、圧縮を指示している場合、SSD支援部30は、SSD制御部20への指示を省略してもよい。ただし、圧縮を指示後でも、データ圧縮レベルが変更となった場合、SSD支援部30は、SSD制御部20にデータ圧縮レベルの変更を指示する。
【0053】
SSD支援部30からデータ圧縮の指示を受けた場合、SSD制御部20は、圧縮部25を用いて、SSD40へのライドデータを圧縮する(S109)。さらに、データ圧縮レベルを受信した場合、SSD制御部20は、圧縮部25にデータ圧縮レベルを設定する。そして、SSD制御部20は、圧縮部25を用いて、以降のライトデータを圧縮後、SSD40に書き込む。この結果、情報処理装置10は、SSD40に書き込むデータ量を削減し、SSD40の延命化を実現する。
【0054】
圧縮が必要ない場合(S108でNo)、SSD支援部30は、SSD制御部20に対して何も指示しない。なお、既に圧縮を指示している場合、SSD支援部30は、SSD制御部20に対して、圧縮の停止を指示してもよい。
【0055】
SSD支援部30は、判定後、判定結果を保管することが望ましい。さらに、SSD支援部30は、ログのように、時間情報とともに判定結果を保管することが望ましい。
【0056】
そして、SSD支援部30は、保管した情報、SSD40の寿命情報として、図示しない表示機器に表示、又は、外部の装置(例えば、支援機器80)に送信(出力)してもよい(S110)。例えば、SSD支援部30は、次回の寿命の確認の実施までの間、寿命情報を図示しない表示機器に表示してもよい。
【0057】
[判定の説明]
次に、S108におけるSSD支援部30におけるSSD40の寿命判定の具体的な一例を示す。
【0058】
まず、説明に用いる変数をまとめると、次のとおりである。
【0059】
W:SSD40における寿命到達までの総ライトデータ量(SSD40が記憶)
X:SSD40の寿命年数(SSD40が記憶)
Y:現在までのSSD40へのライトデータ量(SSD制御部20が計測)
Z:現在までのSSD40の稼働時間(SSD制御部20が計測)
SSD支援部30は、「W/X」を寿命閾値として用いる。また、SSD支援部30は、寿命閾値と比較する値(寿命判定値)として「Y/Z」として用いる。ここで、寿命判定値は、寿命到達の予測時間に相当する。ただし、SSD支援部30は、比較において、例えば、寿命年数を時間に変更する等、適宜、変換処理を実行する。
【0060】
そして、圧縮部25は、次に示す3つのデータ圧縮レベル(データ圧縮率)での圧縮が可能とする。
(1)データ圧縮レベル1:低い圧縮率(処理時間が少ない)
(2)データ圧縮レベル2:中程度の圧縮率(処理時間は中程度)
(3)データ圧縮レベル3:高い圧縮率(処理時間が多い)
この場合、SSD支援部30は、例えば、次のように判定して、SSD制御部20に指示を送信する。
【0061】
(1)寿命判定値(Y/Z)/寿命閾値(W/X)≦1.0
SSD支援部30は、圧縮が不要と判定する。
【0062】
(2)1.0<寿命判定値(Y/Z)/寿命閾値(W/X)≦1.2
SSD支援部30は、SSD制御部20に圧縮レベル1(低圧縮)を指示する。
【0063】
(3)1.2<寿命判定値(Y/Z)/寿命閾値(W/X)≦1.4
SSD支援部30は、SSD制御部20に圧縮レベル2(中圧縮)を指示する。
【0064】
(4)1.4<寿命判定値(Y/Z)/寿命閾値(W/X)
SSD支援部30は、SSD制御部20に圧縮レベル3(高圧縮)を指示する。
【0065】
このように、SSD支援部30は、寿命閾値に対する寿命判定値の大きさを基に、圧縮の要否と、圧縮の程度を設定する。
【0066】
次に、本実施形態の効果について説明する。
【0067】
本実施形態の情報処理装置10は、SSD40の延命化を実現するとの効果を奏することができる。
【0069】
SSD制御部20は、SSD40へのライトデータ量と、SSD40の稼働時間とを計測する。そして、SSD支援部30は、ライトデータ量及び稼働時間を用いて算出する寿命判定値と、SSD40の寿命年数及び総ライトデータ量と基に算出する寿命閾値とを比較し、SSD40の寿命を判定する。そして、SSD支援部30が、判定結果を基に、所定の圧縮を判定する。そして、SSD制御部20が、圧縮部25を用いて、判定結果の圧縮率で圧縮したデータをSSD40に書き込む。そのため、情報処理装置10は、データの書き込みが多い場合に、SSD40の延命化を実現できるためである。
【0070】
また、一般的なSSD40は、寿命到達までの管理を、SSD40が内部で実施している。そして、SSD40内部での寿命の管理方法及びSSD40が残寿命として公開するパラメータは、SSD40のベンダー及び機種毎に異なる。そのため、SSD40を使う場合、一律的に適用できる管理方法がなかった。
【0071】
これに対し、本実施形態の情報処理装置10は、情報処理装置10からSSD40に対するライトのデータ量と、情報処理装置10にSSD40が接続されて動作する稼働時間とを用いてSSD40を管理する。また、情報処理装置10は、SSD40の寿命パラメータとして、SSD40の寿命時間と、総ライトデータ量とを用いる。ここで、SSD40の寿命時間と、総ライトデータ量とは、SSD40に共通的なパラメータである。そのため、情報処理装置10は、SSD40を一律的に管理するとの効果を奏することができる。
【0072】
[変形例]
以上の説明した情報処理装置10は、次のように構成される。
【0073】
例えば、情報処理装置10の各構成部は、ハードウェア回路で構成されても良い。例えば、圧縮を実行する場合の性能に影響する圧縮部25は、ハードウェア回路で構成されることが望ましい。
【0074】
また、情報処理装置10は、各構成部が、ネットワークを介して接続した複数の装置を用いて、構成されても良い。
【0075】
また、情報処理装置10は、複数の構成部を1つのハードウェアで構成しても良い。
【0076】
また、情報処理装置10は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを含むコンピュータ装置として実現してもよい。情報処理装置10は、上記構成に加え、さらに、入出力接続回路(IOC:Input Output Circuit)と、ネットワークインターフェース回路(NIC:Network Interface Circuit)とを含むコンピュータ装置として実現しても良い。
【0077】
図4は、本変形例に係る情報処理装置600の構成の一例を示すブロック図である。
【0078】
情報処理装置600は、CPU610と、ROM620と、RAM630と、内部記憶装置640と、IOC650と、NIC680と、NIC690とを含み、コンピュータ装置を構成している。
【0079】
CPU610は、ROM620からプログラムを読み込む。そして、CPU610は、読み込んだプログラムに基づいて、RAM630と、内部記憶装置640と、IOC650と、NIC680と、NIC690とを制御する。そして、CPU610を含むコンピュータは、これらの構成を制御し、
図1に示す、SSD制御部20と、SSD支援部30としての各機能を実現する。
【0080】
CPU610は、各機能を実現する際に、RAM630又は内部記憶装置640を、プログラムの一時記憶として使用しても良い。
【0081】
また、CPU610は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体700が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでも良い。あるいは、CPU610は、NIC680又はNIC690を介して、図示しない外部の装置からプログラムを受け取り、RAM630に保存して、保存したプログラムを基に動作しても良い。
【0082】
ROM620は、CPU610が実行するプログラム及び固定的なデータを記憶する。ROM620は、例えば、P−ROM(Programmable-ROM)又はフラッシュROMである。
【0083】
RAM630は、CPU610が実行するプログラム及びデータを一時的に記憶する。RAM630は、例えば、D−RAM(Dynamic-RAM)である。
【0084】
内部記憶装置640は、情報処理装置600が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置640は、CPU610の一時記憶装置として動作しても良い。内部記憶装置640は、例えば、ハードディスク装置、光磁気ディスク装置、SSD又はディスクアレイ装置である。
【0085】
ここで、ROM620と内部記憶装置640は、不揮発性(non-transitory)の記憶媒体である。一方、RAM630は、揮発性(transitory)の記憶媒体である。そして、CPU610は、ROM620、内部記憶装置640、又は、RAM630に記憶されているプログラムを基に動作可能である。つまり、CPU610は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
【0086】
IOC650は、CPU610と、入力機器660及び表示機器670とのデータを仲介する。IOC650は、例えば、IOインターフェースカード又はUSB(Universal Serial Bus)カードである。
【0087】
入力機器660は、情報処理装置600の操作者からの入力指示を受け取る機器である。入力機器660は、例えば、キーボード、マウス又はタッチパネルである。
【0088】
表示機器670は、情報処理装置600の操作者に情報を表示する機器である。表示機器670は、例えば、液晶ディスプレイである。
【0089】
NIC680及びNIC690は、ネットワークを介した図示しない外部の装置(例えば、SSD40及び支援機器80)とのデータのやり取りを中継する。NIC680及びNIC690は、例えば、PCIe(Peripheral Component Interconnect express)カード、又は、LAN(Local Area Network)カードである。
【0090】
このように構成された情報処理装置600は、情報処理装置10と同様の効果を得ることができる。
【0091】
その理由は、情報処理装置600のCPU610が、プログラムに基づいて情報処理装置10と同様の機能を実現できるためである。
【0092】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。