JP6536614B2 - ストレージ装置、ストレージ装置の制御方法及びプログラム - Google Patents

ストレージ装置、ストレージ装置の制御方法及びプログラム Download PDF

Info

Publication number
JP6536614B2
JP6536614B2 JP2017069250A JP2017069250A JP6536614B2 JP 6536614 B2 JP6536614 B2 JP 6536614B2 JP 2017069250 A JP2017069250 A JP 2017069250A JP 2017069250 A JP2017069250 A JP 2017069250A JP 6536614 B2 JP6536614 B2 JP 6536614B2
Authority
JP
Japan
Prior art keywords
ssd
data
ssds
life
storage device
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
Application number
JP2017069250A
Other languages
English (en)
Other versions
JP2018169980A (ja
Inventor
滋 菅沼
滋 菅沼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2017069250A priority Critical patent/JP6536614B2/ja
Publication of JP2018169980A publication Critical patent/JP2018169980A/ja
Application granted granted Critical
Publication of JP6536614B2 publication Critical patent/JP6536614B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、ストレージ装置、ストレージ装置の制御方法及びプログラムに関する。特に、複数の記憶媒体を有するストレージ装置、ストレージ装置の制御方法及びプログラムに関する。
近年、SSD(Solid State Drive)と称される記憶媒体が広く用いられている(特許文献1〜4)。
特許文献1は、複数のSSDそれぞれにおける書き込み回数を監視し、書き込み回数がSSD間で極端に偏る場合、データスワップを行い、書き込み回数の平準化を図る技術を開示している。
特許文献2は、SSDへの書き込み回数が予め定めた回数よりも多い場合、データの一部をスペアディスク(スペアの記憶デバイス)に退避させる技術を開示している。
特許文献3は、SSDに書き込み領域を割り当てる際、SSDの特性がSLC(Single-Level-Cell)かMLC(Multi-Level-Cell)であるかを考慮し、SSDに対する書き込み頻度の高い場合はSLCを割り当て、書き込み頻度が低い場合にはMLCを割り当てる技術を開示している。
特許文献4は、複数の記憶媒体間の劣化を平準化するための技術を開示する。特許文献4には、第1論理記憶領域に割り当てられた記憶デバイスと異なる記憶デバイスを割り当てられ第1論理記憶領域の推定データより小さい推定データ量を有する第2論理記憶領域を選択し、第1論理記憶領域に格納された第1データを第2論理記憶領域に移動させる、と記載されている。
特許文献5は、コンパクトフラッシュ(登録商標)に関する技術を開示している。特許文献5は、代替セクタ数が閾値を超える場合は商品販売データをメモリに記憶させ、商品販売データの登録終了に応答して、メモリに記憶した複数の商品販売データを一括してコンパクトフラッシュ(登録商標)カードに書込む技術を開示する。
特許第5242264号公報 特開2010−55247号公報 特許第5192352号公報 国際公開第2014/141411号 特開2006−155532号公報
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
SSDへの書き込み回数は、SSDの寿命に影響を与える。そのため、上述のように、SSDの書き込みに関する種々の技術が存在する。しかし、SSDの寿命は書き込み回数にだけ依存して定まるものではなく、SSDへのデータ書き込みを抑制したとしてもSSDの寿命を保証することはできない。
その理由は、実際のSSDが寿命を迎えるのは、代替セクタの枯渇が主要因として考えられるからである。つまり、SSDへの書き込み回数はSSDの寿命を推測する方法の1つであって、代替セクタの存在を考慮していなければ不十分である。例えば、特許文献1には、代替セクタの使用量を観測する言及がない。
また、SSDの内部制御回路は、SSDの読み書きが失敗した場合、代替セクタへの切り替えによって状態回復を図る。SSDの読み書き失敗は、書き込み回数によって確率的に発生し得るが、その発生頻度は、周辺環境やSSD素体の特性によって変化する。例えば、周辺温度が高い場合、書き込みエラーが発生する可能性が高くなる。また、個々のNANDフラッシュの特性がSLCかMLCかによって、エラー耐性が異なることも考慮すべきである。
特許文献3には、記憶素子の特性に応じて(SLCかMLCかに応じて)、書き換え頻度の高い領域を割り当てるか、低い領域を割り当てるかを選択する方法が開示されている。しかし、当該文献に開示された技術においても、実際の代替セクタの使用量の多寡は検証されていない。そのため、書き込み回数が少なくても、代替セクタの使用量が多いSSDが存在する場合、書き込み時に代替セクタを消費する可能性が高くなる。その結果、SSD間のデータスワップ時の書き込みで、かえってSSD寿命が短くなる可能性もある。
本発明は、複数のSSDからなるストレージシステム全体の寿命を長くする、ストレージ装置、ストレージ装置の制御方法及びプログラムを提供することを目的とする。
本発明の第1の視点によれば、複数のSSD(Solid State Drive)それぞれにおける代替セクタに関する情報と、前記複数のSSDそれぞれに対するデータの書き込み回数と、に基づき各SSDの寿命値を推定する、寿命推定部と、前記複数のSSDのうち前記推定された寿命値が所定の値よりも小さい第1のSSDに格納されたデータと、前記複数のSSDのうち前記第1のSSDとは異なる第2のSSDに格納されたデータと、を交換する、データ交換部と、を備え、前記データ交換部は、前記第1のSSDに格納されたデータを、前記複数のSSDのうち前記第1のSSDを除くSSDのそれぞれに格納した場合の各SSDにおける寿命短縮量を算出すると共に、前記寿命短縮量に基づき前記第2のSSDを選択する、ストレージ装置が提供される。
本発明の第2の視点によれば、複数のSSD(Solid State Drive)それぞれにおける代替セクタに関する情報と、前記複数のSSDそれぞれに対するデータの書き込み回数と、に基づき各SSDの寿命値を推定するステップと、前記複数のSSDのうち前記推定された寿命値が所定の値よりも小さい第1のSSDに格納されたデータと、前記複数のSSDのうち前記第1のSSDとは異なる第2のSSDに格納されたデータと、を交換するステップと、を含み、前記データを交換するステップは、前記第1のSSDに格納されたデータを、前記複数のSSDのうち前記第1のSSDを除くSSDのそれぞれに格納した場合の各SSDにおける寿命短縮量を算出すると共に、前記寿命短縮量に基づき前記第2のSSDを選択する、ストレージ装置の制御方法が提供される。
本発明の第3の視点によれば、ストレージ装置に搭載されたコンピュータに実行させるプログラムであって、複数のSSD(Solid State Drive)それぞれにおける代替セクタに関する情報と、前記複数のSSDそれぞれに対するデータの書き込み回数と、に基づき各SSDの寿命値を推定する処理と、前記複数のSSDのうち前記推定された寿命値が所定の値よりも小さい第1のSSDに格納されたデータと、前記複数のSSDのうち前記第1のSSDとは異なる第2のSSDに格納されたデータと、を交換する処理と、を前記コンピュータに実行させ、前記データを交換する処理は、前記第1のSSDに格納されたデータを、前記複数のSSDのうち前記第1のSSDを除くSSDのそれぞれに格納した場合の各SSDにおける寿命短縮量を算出すると共に、前記寿命短縮量に基づき前記第2のSSDを選択する、プログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
本発明の各視点によれば、複数のSSDからなるストレージシステム全体の寿命を長くすることに寄与する、ストレージ装置、ストレージ装置の制御方法及びプログラム、が提供される。
一実施形態の概要を説明するための図である。 第1の実施形態に係るストレージ装置の概略構成の一例を示す図である。 第1の実施形態に係るデバイスコントローラの処理構成の一例を示す図である。 第1の実施形態に係るストレージ装置の動作を説明するための図である。 第1の実施形態に係るストレージ装置の概略構成の他の一例を示す図である。
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
一実施形態に係るストレージ装置10は、寿命推定部201と、データ交換部202と、を備える(図1参照)。寿命推定部201は、複数のSSD(Solid State Drive)それぞれにおける代替セクタに関する情報と、複数のSSDそれぞれに対するデータの書き込み回数と、に基づき各SSDの寿命値を推定する。データ交換部202は、複数のSSDのうち推定された寿命値が所定の値よりも小さい第1のSSDに格納されたデータと、複数のSSDのうち第1のSSDとは異なる第2のSSDに格納されたデータと、を交換する。さらに、データ交換部202は、第1のSSDに格納されたデータを、複数のSSDのうち第1のSSDを除くSSDのそれぞれに格納した場合の各SSDにおける寿命短縮量を算出すると共に、寿命短縮量に基づき前記第2のSSDを選択する。
上述のように、SSDの寿命は代替セクタの枯渇によるものと考えられるが、SSDの寿命を延ばす(SSDを延命)ためには書き込み回数の少ない領域への割り当ても必要になる。そこで、ストレージ装置10は、SSDの代替セクタに関する情報(例えば、代替セクタの使用量)と書き込み回数を共に観測し、これらの情報を用いた演算結果から、SSDの寿命低下を予測する。ストレージ装置10は、特定のSSDの寿命が短くなっていると判断した場合には、他の寿命が長いSSDとの間でデータスワップを行う。その結果、SSDを搭載したストレージシステム全体の寿命が長くなる。また、ストレージシステム全体の寿命が長くなることで、システム全体の信頼性を向上させることができる。
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
図2は、第1の実施形態に係るストレージ装置1の概略構成の一例を示す図である。図2を参照すると、ストレージ装置1は、ストレージコントローラ11と、複数のSSD12〜15と、を含んで構成される。
ストレージコントローラ11は、ストレージ装置1の全体を制御する手段である。SSD12〜15のそれぞれは、データを保持する記憶デバイスである。ストレージコントローラ11は、SSD12〜15を制御するデバイスコントローラ111を備えている(デバイスコントローラ111が実装されている)。
デバイスコントローラ111は、各SSDに対応するデバイスインターフェイス112〜115を介して、SSD12〜15に接続されている。また、ストレージコントローラ11は、デバイスインターフェイス112〜115及びSSD12〜15に対応する書き込み回数カウンタ1121〜1151を備えている。
書き込み回数カウンタ1121〜1151は、対応するSSD12〜15に対する書き込み回数を監視する手段である。より具体的には、書き込み回数カウンタ1121〜1151は、複数のSSD12〜15それぞれに対応して設置され、対応するSSDへのデータの累計書き込み回数を計測する。
また、SSD12〜15のそれぞれには、代替セクタ121〜151が実装されている。代替セクタ121〜151は、必要に応じて消費される。図2では、灰色で塗りつぶされた領域が代替セクタ使用領域1211〜1511であって、代替セクタの消費分である。
各SSD12〜15の記憶領域は、SSD12〜15の間でRAID(Redundant Arrays of Inexpensive Disks)構成されている。つまり、ストレージ装置1は、複数のSSD12〜15を用いて、RAIDを構成すべく(RAIDを構成するための)、データおよび冗長符号を分散格納する機能を備える。また、ストライピンググループ21は、データ領域212〜215で構成される。
なお、図2では、ストレージ装置1と接続されるホストや当該ホストとのインターフェイスの図示は省略している。
図3は、デバイスコントローラ111の処理構成の一例を示す図である。図3を参照すると、デバイスコントローラ111は、寿命推定部101と、データ交換部102と、を含んで構成される。なお、デバイスコントローラ111は、ストレージ装置1に搭載されたコンピュータに、上記寿命推定部101、データ交換部102を含む処理モジュールを実行させるプログラムにより実現することができる。
寿命推定部101は、複数のSSD12〜15それぞれにおける代替セクタに関する情報と、複数のSSD12〜15それぞれに対するデータの書き込み回数と、に基づき各SSDの寿命値を推定する手段である。寿命推定部101は、各SSDにおける代替セクタの消費量と書き込み回数の組み合わせに基づき、各SSDに関する寿命パラメータを作成する。
データ交換部102は、複数のSSD12〜15のうち推定された寿命値(寿命パラメータ)が所定の値よりも小さい第1のSSDに格納されたデータと、複数のSSD12〜15のうち第1のSSDとは異なる第2のSSDに格納されたデータと、を交換する手段である。データ交換の際、データ交換部102は、第1のSSDに格納されたデータを、複数のSSD12〜15のうち第1のSSDを除くSSDのそれぞれに格納した場合の各SSDにおける寿命短縮量を算出すると共に、当該算出された寿命短縮量に基づき第2のSSDを選択する。
つまり、データ交換部102は、寿命悪化が見込まれるSSDから余命が長いと推定されるSSDに書き込み処理をスワップする(SSD間でデータを移動する)。このようなデバイスコントローラ111の処理により、SSD間の見込み寿命が平準化され、ストレージシステム全体の寿命を長くすることができる。
なお、データ交換部102は、データスワップをRAIDのストライピングごとに行う。より具体的には、データ交換部102は、上述の第1及び第2のSSD間でデータ交換する際のデータの入れ替え単位を、RAIDを構成するストライピンググループのサイズを基準とする。例えば、データ交換部102は、ブロック単位でSSD間でデータを交換し、1つのブロックよりも小さいデータ同士をSSD間で交換することはない。例えば、図2の例では、同じストライピンググループ21に属するデータ領域212〜215の間でデータスワップ(SSD間のデータの移動)が行われる。
また、データ交換部102は、SSD間でデータ交換する際、RAIDを構成する情報を書き換える。具体的には、データ交換部102は、複数のSSD12〜15を連携する情報のうち、データとその格納先のSSDを示す情報をSSD間のデータ移動の際に更新する。その結果、ホストに対してはSSD間のデータの移動は隠蔽される。換言するならば、SSD間のデータの移動はストレージコントローラ11(デバイスコントローラ111)側により隠ぺいされ、ホストが意識することはない。
寿命推定部101は、以下の式(1)により、各SSDの寿命パラメータを作成する。
Lt_SSDx=α-β*Wcountx-γ*Ssectorx*CapAll/(SsecCap*Wcountx) ・・・(1)
なお、式(1)において、サフィックスxはSSDの番号(識別子)を示す。Lt_SSDは、各SSDの寿命の推測値を示す。Wcountは、各SSDへの書き込み回数を示す。Ssectorは、代替セクタの使用量を示す。つまり、Ssectorは、SSDでのエラー(代替)が発生したセクタ数と等価である。CapAllは、代替セクタを除くSSDの総記憶容量を示す。SsecCapは、各SSDの代替セクタ総容量を示す。α、β及びγはSSDの種類ごとのパラメータを示す。より具体的には、αはSSD寿命の基準値、βは書き込み回数による劣化係数、γは代替セクタ使用量での寿命の短縮係数である。
上述の式(1)において、右辺の第二項は、書き込み回数による寿命の減少量を示す。また、右辺の第三項は、代替セクタの使用量が代替セクタの総容量に比べて大きい場合、及び、代替セクタの総容量が総記憶容量に比べて小さい場合、各SSDの寿命が短くなっていることを示す。
寿命推定部101は、上記の式(1)を用いて各SSDに関する寿命の推定値(寿命パラメータ)を算出する。なお、上記の式(1)の計算に必要なパラメータのうち、Wcountは書き込み回数カウンタ1121〜1151により得られる。また、Ssectorは、代替セクタの使用量であるから、デバイスコントローラ111自身(寿命推定部101自身)が把握している情報である。他の情報、例えば、CapAll、SsecCap、α、β及びγ、は各SSDの仕様により定まる値である。従って、事前にこれらの情報をデバイスコントローラ111に入力しておけばよい。
データ交換部102は、寿命推定部101により算出された寿命の推定値Lt_SSDに対して閾値処理を行い、当該推定値が所定の閾値よりも小さい場合には、データスワップを行う。あるいは、データ交換部102は、推定した寿命値が他のSSDと比較して小さい場合には余命が短いと判断し、データスワップを行うことで寿命悪化を回避してもよい。
なお、データ交換部102によるデータスワップを行うか否かを判断は、複数のSSDのうちいずれか1つのSSDに所定のサイズよりも大きいデータが書き込まれるタイミングとする。例えば、1ブロックよりも大きいデータがSSDに書き込まれる際に、上記データスワップの実行要否が判定される。あるいは、1ブロックよりも大きいデータがSSDに書き込まれる際に、寿命推定部101により各SSDの寿命が推定され、その後、データ交換部102によりデータスワップの実行要否が判定されてもよい。
データ交換部102は、スワップする領域サイズから、寿命の変更差分を求める。つまり、データ交換部102は、データスワップした後の各SSDの寿命を予測する。スワップ後の予測寿命をLt_SSD’と表記すると、当該予測寿命Lt_SSD’は下記の式(2)により算出される。
Lt_SSDx'=α-β*(Wcountx+SWsizex/Block)-γ*Ssectorx*CapAll*(Wcountx+SWsizex/Block)/(SsecCap*Wcountx^2)) ・・・(2)
上記式(2)において、SWsizeは、SSDの領域のうち更新頻度の高い領域でのサイズを示す。SWsizeは、データスワップで置き換えられるデータのサイズである。また、BlockはSSDの種類ごとの書き込み更新単位を示す。Blockは、SSDの最小書き換え単位とする。つまり、データ交換部102は、SSD間でデータ交換する際のデータの入れ替え単位を、RAIDを構成するストライピンググループのサイズ(Block)を基準とする。換言すれば、ブロック単位でデータが入れ替えられ、1つのブロックよりも小さいサイズのデータ同士を入れ替えることはない。なお、SWsize/Blockを計算することで、データスワップ時の書き換え回数が求まる。
ここで、代替セクタの消費量Ssectorも、書き換え処理によって増加すると予測される。当該増加量は、書き換え回数Wcountの増加量の形で示される。データスワップ後の書き換え回数をWcount’とすると、当該書き換え回数は下記の式(3)により求まる。
Wcountx’= Wcountx+SWsizex/Block ・・・(3)
代替セクタの増加量は、元の書き換え回数との比率であらわされるから、増加比率δは以下の式(4)により求まる。
δ=Wcountx’/Wcountx=(Wcountx+SWsizex/Block)/Wcountx ・・・(4)
式(1)における右辺の第二項の書き換え回数を式(3)におけるWcount’で置き換え、式(1)における右辺の第三項に式(4)の増加比率δを乗じて整理すると、式(2)が得られる。但し、厳密には、右辺の第三項の分母を書き換え回数Wcount’により置き換えるのが好ましいが、代替セクタの消費量が少なく見積もられるため、式(1)における右辺の第三項の分母は不変としている。
データスワップの実行が決定されると、データ交換部102は、式(1)と式(2)を用いて、データ移動先の候補となる各SSDの寿命の短縮量を計算する。
ここで、SSDの寿命の短縮量が小さいということは、元のSSDの寿命が長く、寿命の変化量が小さいということと等価である。そこで、データ交換部102は、下記の式(5)に示すように、元の寿命の推定値Lt_SSDよりデータスワップ後の寿命Lt_SSD’を減算することで、寿命の短縮量を算出する。
Lt_SSDx-Lt_SSDx'
=(β+γ*Ssectorx*CapAll/(SsecCap*Wcountx^2))*SWsizex/Block) ・・・(5)
上記式(5)の値が寿命の短縮量であるから、データ交換部は、上記値が最も小さくなるSSDをスワップ対象として選択する。
次に、図4を参照しつつ、第1の実施形態に係るストレージ装置1の動作を説明する。図4において、各SSD12〜15のそれぞれの代替セクタ121〜151は、灰色領域の容量が消費されているものとする(代替セクタ121〜151は、代替セクタ使用領域1211〜1511の大きさが使用されている)。また、各SSD12〜15に対する書き込み回数(書き込み回数カウンタ1121〜1151が保持するカウント値)は、N1、N2、N3、N4とする。
上記書き込み回数の大小関係は、下記の式(6)のとおりとする。
N4>N3>N2>N1 ・・・(6)
デバイスコントローラ111は、各SSDの代替セクタ使用領域1211〜1511のサイズと各書き込み回数カウンタ1121〜1151の値により、各SSDの予測寿命を算出する。具体的には、デバイスコントローラ111は、SSD12〜15のそれぞれについて式(1)を適用し、下記の式(7)〜(10)により各SSDの予測寿命を算出する。
Lt_SSD12=α-β*N1-γ*Ssector12*CapAll/(SsecCap*N1) ・・・(7)
Lt_SSD13=α-β*N2-γ*Ssector13*CapAll/(SsecCap*N2) ・・・(8)
Lt_SSD14=α-β*N3-γ*Ssector14*CapAll/(SsecCap*N3) ・・・(9)
Lt_SSD15=α-β*N4-γ*Ssector15*CapAll/(SsecCap*N4) ・・・(10)
なお、SSDがすべて同一種類であるとすると、α、β及びγは固定値となる。また、上記の式(7)〜(10)では、各SSDを示す符号をサフィックスxとしている。
上記(7)〜(10)による計算の結果、SSD12の予測寿命値Lt_SSD12が最も小さく、かつ、当該予測寿命値が所定の閾値よりも小さい場合、デバイスコントローラ111は、SSD12に格納されたデータのスワップを決定する。
デバイスコントローラ111は、SSD12のデータをスワップする際の相手先となるSSDを下記の式(11)〜(13)により求める。
Lt_SSD13 - Lt_SSD13'
= (β+γ*Ssector13*CapAll/(SsecCap*N2^2))*SWsizex/Block) ・・・(11)
Lt_SSD14 - Lt_SSD14'
= (β+γ*Ssector14*CapAll/(SsecCap*N3^2))*SWsizex/Block) ・・・(12)
Lt_SSD15 - Lt_SSD15'
= (β+γ*Ssector15*CapAll/(SsecCap*N4^2))*SWsizex/Block) ・・・(13)
式(11)〜(13)を確認すると、データスワップ後のSSDの寿命の短縮量は、代替セクタの消費量が多い物ほど大きくなる。具体的には、式(11)により計算されるSSD13の寿命短縮量が最も小さく、式(12)により計算されるSSD14の寿命短縮量が最も大きくなる。
デバイスコントローラ111は、SSDの寿命短縮量が最も小さいSSDをデータスワップの相手先として選出する。上記の例ではSSD13がデータスワップの相手となる。
このように、デバイスコントローラ111は、データスワップの相手(データの移動先)とするSSDは、書き込み回数に加え、代替セクタの消費量を少ないものを選出する。図4の例では、デバイスコントローラ111は、SSD12の寿命が短くなっていると判断した場合には、SSD12とSSD13との間でデータスワップを実施する。
上記実施形態にて説明したストレージ装置1の構成や動作は例示であって、システムの構成を限定する趣旨ではない。例えば、各SSDがRAIDを構成しておらず、図4のデータ領域212〜215が互いに独立していてもよい(図5参照)。このような場合であっても、データ領域の書き込み単位が定まっていれば、データスワップは可能である。
以上のように、第1の実施形態に係るストレージ装置1では、SSDの代替セクタの使用量を監視することで、実際のSSDの寿命をより正確に予測する。代替セクタの枯渇がSSDの寿命そのものに影響するため、書き込み回数の観測より直接的にSSDの状態を確認できるためである。
上記の説明により、本発明の産業上の利用可能性は明らかであるが、本発明は、複数の記憶媒体を含むディスクアレイ装置等に好適に適用可能である。ディスクアレイ装置に適用することで、当該装置の長寿命化が実現できる。即ち、SSD単体の寿命は、SSD内部でのウェアレベリングや、代替セクタの大容量化などで増加傾向にあり、これに装置全体での延命効果を付加すれば、SSDの寿命を装置寿命程度まで伸ばすことが可能となり、SSDの交換を減らすことが可能になる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
上述の第1の視点に係るストレージ装置のとおりである。
[付記2]
前記寿命推定部は、
前記代替セクタに関する情報として、代替セクタの総容量と代替セクタの使用量を用いる、付記1のストレージ装置。
[付記3]
前記データ交換部は、
前記複数のSSDのうちいずれか1つのSSDに所定のサイズよりも大きいデータが書き込まれる際に、前記第1のSSDと前記第2のSSDの間でデータを交換するか否かを判定する、付記1又は2のストレージ装置。
[付記4]
前記データ交換部は、
前記寿命短縮量を算出したSSDのうち、前記寿命短縮量が最も小さいSSDを前記第2のSSDに選択する、付記1乃至3のいずれか一に記載のストレージ装置。
[付記5]
前記複数のSSDを用いて、RAID(Redundant Arrays of Inexpensive Disks)を構成すべく、データ及び冗長符号を分散格納する機能を備える、付記1乃至4のいずれか一に記載のストレージ装置。
[付記6]
前記データ交換部は、前記第1及び第2のSSD間でデータ交換する際のデータの入れ替え単位を、RAIDを構成するストライピンググループのサイズを基準とする、付記5のストレージ装置。
[付記7]
前記データ交換部は、
前記第1及び第2のSSD間でデータ交換する際、RAIDを構成する情報を書き換える、付記6のストレージ装置。
[付記8]
前記複数のSSDそれぞれに対応し、対応するSSDに対するデータの累計書き込み回数を計測する、複数の書き込み回数カウンタをさらに備える、付記1乃至7のいずれか一に記載のストレージ装置。
[付記9]
上述の第2の視点に係るストレージ装置の制御方法のとおりである。
[付記10]
上述の第3の視点に係るプログラムのとおりである。
[付記11]
複数のSSDを内蔵するストレージ装置であって、
当該SSD内部の代替セクタの総容量と、使用済み代替セクタの容量を確認する手段を有し、また、当該SSD毎の累計の書き込み回数を計測する機能を有し、
当該SSD毎の前記代替セクタ総容量と使用済み代替セクタ容量、及び累計書き込み回数を元に当該SSD毎の寿命を予測し、
かつ、
当該SSD毎に、ストレージ装置内で定められた、ある一定容量のデータ単位を書き込んだ場合、各々のSSDの寿命の短縮量を予測し、
前記書き込み後の予測寿命の短縮量が最も小さいSSDを選択する機能を有し、
最も予測寿命の短いSSDが、ストレージ装置内で定められた閾値より予測寿命が短くなった場合、前記最も予測寿命の短いSSDのデータと、前記予測寿命の短縮量が最も小さいSSDのデータとを入れ替える機能を有することを特徴とする、ストレージ装置。
[付記12]
複数のSSDを内蔵するストレージ装置であって、
当該SSD内部の代替セクタの総容量と、使用済み代替セクタの容量を確認する手段を有し、
また、当該SSD毎の累計の書き込み回数を計測する機能を有し、
当該SSD毎の前記代替セクタ総容量と使用済み代替セクタ容量、及び累計書き込み回数を元に当該SSD毎の寿命を予測し、
かつ、
当該SSD毎に、ストレージ装置内で定められた、ある一定容量のデータ単位を書き込んだ場合、各々のSSDの寿命の変化を予測し、
前記書き込み後の予測寿命の短縮量が最も小さいSSDを選択する機能を有し、
最も予測寿命の短いSSDが、ストレージ装置内で定められた閾値より予測寿命が短くなった場合、前記最も予測寿命の短いSSDのデータと、前記予測寿命の短縮量が最も小さいSSDのデータとを入れ替える機能を有することを特徴とする、ストレージ制御方式。
[付記13]
前記付記11に記載されたストレージ装置であって、
RAIDと呼ばれる冗長記録を行うディスクアレイ装置の機能を有し、
前記付記11のデータの入れ替えを行う際、データの入れ替え単位を、RAIDを構成するストライピンググループのサイズを基準にすることを特徴とした、ディスクアレイ装置。
[付記14]
前記付記13に記載されたディスクアレイ装置であって、
データを入れ替える際に、RAIDを構成する情報を同時に書き換えることにより、
データ入れ替えの前後で、RAIDの再構築手順に変化がないように制御することを特徴とする、ディスクアレイ装置。
なお、付記9の形態及び付記10の形態は、付記1の形態と同様に、付記2の形態〜付記8の形態に展開することが可能である。
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
1、10 ストレージ装置
11 ストレージコントローラ
12〜15 SSD
21 ストライピンググループ
101、201 寿命推定部
102、202 データ交換部
111 デバイスコントローラ
112〜115 デバイスインターフェイス
121〜151 代替セクタ
212〜215 データ領域
1121〜1151 書き込み回数カウンタ
1211〜1511 代替セクタ使用済み領域

Claims (10)

  1. 複数のSSD(Solid State Drive)それぞれにおける代替セクタに関する情報と、前記複数のSSDそれぞれに対するデータの書き込み回数と、に基づき各SSDの寿命値を推定する、寿命推定部と、
    前記複数のSSDのうち前記推定された寿命値が所定の値よりも小さい第1のSSDに格納されたデータと、前記複数のSSDのうち前記第1のSSDとは異なる第2のSSDに格納されたデータと、を交換する、データ交換部と、
    を備え、
    前記データ交換部は、前記第1のSSDに格納されたデータを、前記複数のSSDのうち前記第1のSSDを除くSSDのそれぞれに格納した場合の各SSDにおける寿命短縮量を算出すると共に、前記寿命短縮量に基づき前記第2のSSDを選択する、ストレージ装置。
  2. 前記寿命推定部は、
    前記代替セクタに関する情報として、代替セクタの総容量と代替セクタの使用量を用いる、請求項1のストレージ装置。
  3. 前記データ交換部は、
    前記複数のSSDのうちいずれか1つのSSDに所定のサイズよりも大きいデータが書き込まれる際に、前記第1のSSDと前記第2のSSDの間でデータを交換するか否かを判定する、請求項1又は2のストレージ装置。
  4. 前記データ交換部は、
    前記寿命短縮量を算出したSSDのうち、前記寿命短縮量が最も小さいSSDを前記第2のSSDに選択する、請求項1乃至3のいずれか一項に記載のストレージ装置。
  5. 前記複数のSSDを用いて、RAID(Redundant Arrays of Inexpensive Disks)を構成すべく、データ及び冗長符号を分散格納する機能を備える、請求項1乃至4のいずれか一項に記載のストレージ装置。
  6. 前記データ交換部は、前記第1及び第2のSSD間でデータ交換する際のデータの入れ替え単位を、RAIDを構成するストライピンググループのサイズを基準とする、請求項5のストレージ装置。
  7. 前記データ交換部は、
    前記第1及び第2のSSD間でデータ交換する際、RAIDを構成する情報を書き換える、請求項6のストレージ装置。
  8. 前記複数のSSDそれぞれに対応し、対応するSSDに対するデータの累計書き込み回数を計測する、複数の書き込み回数カウンタをさらに備える、請求項1乃至7のいずれか一項に記載のストレージ装置。
  9. 複数のSSD(Solid State Drive)それぞれにおける代替セクタに関する情報と、前記複数のSSDそれぞれに対するデータの書き込み回数と、に基づき各SSDの寿命値を推定するステップと、
    前記複数のSSDのうち前記推定された寿命値が所定の値よりも小さい第1のSSDに格納されたデータと、前記複数のSSDのうち前記第1のSSDとは異なる第2のSSDに格納されたデータと、を交換するステップと、
    を含み、
    前記データを交換するステップは、
    前記第1のSSDに格納されたデータを、前記複数のSSDのうち前記第1のSSDを除くSSDのそれぞれに格納した場合の各SSDにおける寿命短縮量を算出すると共に、前記寿命短縮量に基づき前記第2のSSDを選択する、ストレージ装置の制御方法。
  10. ストレージ装置に搭載されたコンピュータに実行させるプログラムであって、
    複数のSSD(Solid State Drive)それぞれにおける代替セクタに関する情報と、前記複数のSSDそれぞれに対するデータの書き込み回数と、に基づき各SSDの寿命値を推定する処理と、
    前記複数のSSDのうち前記推定された寿命値が所定の値よりも小さい第1のSSDに格納されたデータと、前記複数のSSDのうち前記第1のSSDとは異なる第2のSSDに格納されたデータと、を交換する処理と、
    を前記コンピュータに実行させ、
    前記データを交換する処理は、
    前記第1のSSDに格納されたデータを、前記複数のSSDのうち前記第1のSSDを除くSSDのそれぞれに格納した場合の各SSDにおける寿命短縮量を算出すると共に、前記寿命短縮量に基づき前記第2のSSDを選択する、プログラム。
JP2017069250A 2017-03-30 2017-03-30 ストレージ装置、ストレージ装置の制御方法及びプログラム Active JP6536614B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017069250A JP6536614B2 (ja) 2017-03-30 2017-03-30 ストレージ装置、ストレージ装置の制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017069250A JP6536614B2 (ja) 2017-03-30 2017-03-30 ストレージ装置、ストレージ装置の制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018169980A JP2018169980A (ja) 2018-11-01
JP6536614B2 true JP6536614B2 (ja) 2019-07-03

Family

ID=64020419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017069250A Active JP6536614B2 (ja) 2017-03-30 2017-03-30 ストレージ装置、ストレージ装置の制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6536614B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3242890B2 (ja) * 1998-12-16 2001-12-25 株式会社ハギワラシスコム 記憶装置
JP2008046923A (ja) * 2006-08-17 2008-02-28 Toshiba Corp 半導体メモリカードシステムの制御方法
JP4743905B2 (ja) * 2008-03-25 2011-08-10 Necインフロンティア株式会社 フラッシュメモリ・ストレージ寿命監視装置
IN2014DN05977A (ja) * 2012-02-08 2015-06-26 Hitachi Ltd
WO2015181923A1 (ja) * 2014-05-29 2015-12-03 富士通株式会社 情報処理装置、制御方法及び制御プログラム

Also Published As

Publication number Publication date
JP2018169980A (ja) 2018-11-01

Similar Documents

Publication Publication Date Title
US9298534B2 (en) Memory system and constructing method of logical block
JP6381529B2 (ja) ストレージ装置および記憶制御方法
US10459639B2 (en) Storage unit and storage system that suppress performance degradation of the storage unit
JP5844473B2 (ja) 複数の不揮発性の半導体記憶媒体を有し、ホットデータを長寿命記憶媒体に配置しコールドデータを短寿命記憶媒体に配置するストレージ装置、及び、記憶制御方法
JP5342014B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
US7903486B2 (en) System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
KR101577512B1 (ko) 메모리 시스템 내 적어도 반 자율적인 모듈 및 방법
KR101518657B1 (ko) 블록 배향 비휘발성 메모리에 액세스하는 제어 장치 및 방법
JP5923844B2 (ja) ソリッドステートドライブのメモリ装置への論理的アドレスの適応マッピング
CN110245093A (zh) 固态存储驱动器阵列中的工作负荷自适应超额配置
KR101952001B1 (ko) 저장 장치 드라이브 수명 추정 메커니즘을 갖는 전자 시스템 및 그 동작 방법
JP6216897B2 (ja) ストレージシステム
US9092320B2 (en) Storage system which includes non-volatile semiconductor storage medium, and storage control method of storage system
US20100115183A1 (en) Storage Apparatus and Method of Managing Data Storage Area
US20090132778A1 (en) System, method and a computer program product for writing data to different storage devices based on write frequency
US8627181B1 (en) Storage apparatus, storage controller, and method for managing locations of error correcting code blocks in array
TWI501252B (zh) 用於控制保留區的固態儲存系統及其控制方法
CN104050097A (zh) 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择
US9898201B2 (en) Non-volatile memory device, and storage apparatus to reduce a read retry occurrence frequency and prevent read performance from lowering
US20170132099A1 (en) System and method for exploiting hard disk drive capacity reserve and extending operating life thereof
WO2016013202A1 (ja) ストレージ装置、コンピュータシステム、アクセス制御方法および記録媒体
JP6536614B2 (ja) ストレージ装置、ストレージ装置の制御方法及びプログラム
JP5949816B2 (ja) キャッシュ制御装置及びその制御方法、ストレージ装置、並びにコンピュータ・プログラム
WO2018002999A1 (ja) 記憶デバイス及びストレージ装置
JP2014085794A (ja) 記憶装置およびメモリ制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190411

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: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190520

R150 Certificate of patent or registration of utility model

Ref document number: 6536614

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150