JP2021152715A - ストレージシステム及びストレージシステムのssdの交換方法 - Google Patents

ストレージシステム及びストレージシステムのssdの交換方法 Download PDF

Info

Publication number
JP2021152715A
JP2021152715A JP2020052557A JP2020052557A JP2021152715A JP 2021152715 A JP2021152715 A JP 2021152715A JP 2020052557 A JP2020052557 A JP 2020052557A JP 2020052557 A JP2020052557 A JP 2020052557A JP 2021152715 A JP2021152715 A JP 2021152715A
Authority
JP
Japan
Prior art keywords
ssd
storage system
ssds
life
page
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.)
Granted
Application number
JP2020052557A
Other languages
English (en)
Other versions
JP7003169B2 (ja
Inventor
圭美 佐賀
Tamami Saga
圭美 佐賀
裕麻 棚橋
Yuma Tanahashi
裕麻 棚橋
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020052557A priority Critical patent/JP7003169B2/ja
Priority to US17/000,401 priority patent/US11262917B2/en
Publication of JP2021152715A publication Critical patent/JP2021152715A/ja
Application granted granted Critical
Publication of JP7003169B2 publication Critical patent/JP7003169B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ストレージシステムにおいて、ユーザが望むドライブの交換時期に必要なドライブの追加や交換を可能とする。【解決手段】ストレージシステムの一態様は、管理サーバと、複数のSSDを含むドライブボックスと、ホスト計算機からのI/O要求を受領し、ドライブボックス内のSSDからデータを読み出し、或いはデータを書き込む制御を行うコントローラと、を有する。管理サーバは、ドライブボックス内のSSDの交換時期に交換されるSSDを、寿命に基づいて選択し、コントローラは、選択したSSDに対するライト頻度を制御して、交換時期に選択したSSDが寿命を迎えるように制御する。【選択図】 図9

Description

本発明は、ストレージシステムにおける記憶デバイス(SSD)の交換計画を作成する技術に関する。
近年、記憶装置にフラッシュメモリを搭載したSSD(Solid State Drive)で構築されるオールフラッシュストレージ装置が普及している。
フラッシュデバイスにはHDD(Hard Disk Drive)と異なり、物性的に書き込みできる回数に上限が存在する。そのため、SSD等のフラッシュメモリを用いたストレージシステムでは、書き換え寿命の管理も重要となる。
SSD内では、フラッシュメモリの特定部分への書き込みが集中すると、その箇所が周囲と比べて早く劣化してしまうため、書き込み回数をフラッシュデバイス全体で平準化するウェアレベリングを実施する。複数のSSDを搭載するストレージシステムにおいても、SSD間の書換回数を平準化する技術が提案されている。例えば、特許文献1は、必要容量のSSDを追加して、ストレージシステムの寿命を延命する技術が記載されている。
国際公開2016/046977号
上記特許文献1は、書換寿命のあるストレージ記憶媒体を用いてプールを構成し、ホストに仮想容量を持つ論理ボリュームを提供するストレージ装置において、ストレージ装置は、容量プールの残書換寿命が、ストレージ装置の稼働期間において不足するか否かを監視し、残書換寿命が不足すると判断した場合、不足を賄うに必要な書換寿命をドライブ容量に換算して提示し、装置保守を要求する。提示を契機に、プールへの容量を追加することで寿命の延命を実施する技術が開示されている。
つまり、特許文献1は、ストレージシステムの寿命を5年程度と想定し、プールの残書換寿命が不足すると、不足分の記憶容量を追加して、記憶装置の寿命がストレージシステムの寿命である5年まで持つようにしている。
一方、ストレージシステムの機能を提供するコントローラと容量を提供するドライブボックスを別々に増減設可能なコンポーザブルストレージ(Composable Storage)が提案されている。コンポーザブルストレージでは、コントローラの機能的な寿命に依存しなくなったドライブボックスの交換期間が長くなり、交換前にドライブボックス内のSSDが寿命を迎えることが考えられる。
このようなシステムでは、ドライブボックスの寿命は、コントローラの寿命とは別に管理される必要があり、例えば、特許文献1のような5年といったストレージシステムの寿命に合わせたドライブボックス全体の寿命の平準化では不十分である。つまり、ユーザのビジネス上の要求を勘案すると、ユーザの望む時期に交換タイミングを迎えるようにすることは、非常に重要である。
本発明の目的は、ユーザが望むドライブの交換時期に必要なドライブの追加や交換が可能なストレージシステム及びストレージシステムのSSDの交換方法を提供することを目的とする。
上記目的を達成するため、本発明のストレージシステムの一態様は、管理サーバと、複数のSSDを含むドライブボックスと、ホスト計算機からのI/O要求を受領し、ドライブボックス内のSSDからデータを読み出し、或いはデータを書き込む制御を行うコントローラと、を有する。管理サーバは、ドライブボックス内のSSDの交換時期に、交換されるSSDを、寿命に基づいて選択し、コントローラは、選択したSSDに対するライト頻度を制御して、交換時期に選択したSSDが寿命を迎えるように制御する。
本発明によれば、SSDの書込み回数を制御することで、SSDの寿命をコントロールし、ユーザの望む交換時期や必要なSSDの追加や交換を可能とすることができる。
実施例の計算機システムの構成の一例を示す図である。 実施例の管理サーバの構成の一例を示す図である。 実施例のコントローラの構成の一例を示す図である。 実施例のコントローラが管理するプールの内部構成の一例を示す図である。 実施例のユーザポリシテーブルの一例を示す図である。 実施例のSSD毎Expire計画管理テーブルの一例を示す図である。 実施例のダイナミックマッピングテーブルの一例を示す図である。 実施例の論理/物理アドレス変換テーブルの一例を示す図である。 実施例のページ毎再配置計画テーブルの一例を示す図である。 実施例のExpire処理の概要を示したフローチャートである。 実施例の加速処理と減速処理の概念を説明した図である。 実施例の寿命ポリシ設定画面の一例を示す図である。 実施例のExpire計画設定処理の一例を示すフローチャートである。 実施例のExpire計画提案処理の一例を示すフローチャートである。 実施例のExpire計画提案処理の一例を詳細に示すフローチャートである。 実施例のExpireSSD数決定処理の詳細を示すフローチャートである。 実施例のプール毎Expire計画提案処理で用いる情報と、各用語及び変数に対する定義を示した図である。 実施例のExpireさせるSSDの選択処理の一例を示す図である。 実施例のスコアの算出の一例を示す図である。 実施例のスコア算出処理の一例を詳細に示すフローチャートである。 実施例の実現性、性能チェックの詳細の一例を示したフローチャートである。 実施例のPool毎ページ再配置計画処理の一例を示したフローチャートである。 実施例のSSD毎理想ライト頻度算出処理の一例を示したフローチャートである。 実施例のSSD毎ページ再配置計画処理の一例を示したフローチャートである。 実施例のライト消費加速計画処理の一例を示したフローチャートである。 実施例のライト消費減速計画処理の一例を示したフローチャートである。 実施例の移動候補ページ群選択処理の一例を示したフローチャートである。 実施例のプール毎ページ再配置実行処理の一例を示したフローチャートである。 実施例のライト処理の一例を示したフローチャートである。
以下、図面を参照しながら実施の形態を説明する。また、以下の説明では、「テーブル」等の表現にて各種情報を説明することがあるが、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「テーブル」を「管理情報」と呼ぶことができる。
また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、処理部であるプロセッサ、例えば、MP(Micro Processor)やCPU(Central Processing Unit)によって実行されるもので、定められた処理をするものである。なお、プロセッサは、適宜に記憶資源(例えばメモリ)及び通信インタフェース装置(例えば、通信ポート)を用いながら処理を行うため、処理の主語がプロセッサ、或いは処理部とされてもよい。プロセッサは、CPUの他に専用ハードウェアを有していてもよい。コンピュータプログラムは、プログラムソースから各コンピュータにインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアなどで提供されるものであってもよい。
また、本実施例の図及び説明において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
<システム構成>
図1は、実施例の計算機システムの構成の一例を示す図である。
計算機システム10は、ホスト計算機400、コントローラ100、ドライブボックス200、管理サーバ300、ネットワーク500と、を有する。
ホスト計算機400は、オペレーティングシステムおよびその上で動作するアプリケーションが動作し、コントローラ100に対し、ネットワーク500を介してI/Oを発行する。
コントローラ100は、ネットワーク500を介してホスト計算機400と接続されている。ネットワーク500は、Fibre ChannelやEthernet(登録商標)ネットワーク、あるいはPCI−Express(登録商標)によって実現される。
コントローラ100は、ユーザポリシテーブル101a、SSD毎Expire計画管理テーブル101b、ページ毎モニタテーブル101c、ページ毎再配置管理テーブル101d、ダイナミックマッピングテーブル101e、論理物理アドレス変換テーブル101f等の各種管理情報を格納する。また、ホストからのI/Oを処理するためのホストI/O処理部121、寿命情報採取処理部122、ライト頻度計算処理部123、理想ライト頻度更新処理部124、再配置処理部125を有する。ライト頻度計算処理部123と理想ライト頻度更新処理部124は、ライト頻度計算処理部123としてまとめても良い。各種管理情報と各処理部の詳細については、後述する。
コントローラ100は、ネットワーク500を介して管理サーバ300と接続されており、装置の設定や情報の取得は、この管理サーバ300を通じて実施することができる。
なお、コントローラが汎用的なサーバ機器によって実現されるような場合、ホスト計算機とコントローラは物理的に同一の場合もあり、その際ネットワーク500は省略されることがある。また、ホスト計算機は仮想マシンのようにソフトウェア的に実現される形態である場合がある。
管理サーバ300は、コントローラ100とドライブボックス200に対する運用管理を行うための命令や情報を送受信するための管理インタフェース330を有し、Expire計画提案処理部321、寿命情報表示処理部323とを有する。Expire計画提案処理部321、寿命情報表示処理部323の詳細は後述する。
ドライブボックス200は、ネットワーク500を介してコントローラ100と、管理サーバ300に接続される。コントローラ100、ドライブボックス200、管理サーバ300でストレージシステムを構成する。ドライブボックス200は、データを格納する複数のSSD201を有し、ホスト計算機400からのI/Oのデータの送受信を行うポート240と、管理サーバ300からの管理命令等を送受信するための管理インタフェース330とを有する。ドライブボックス200は、ホスト計算機400の内部に設けられても良い。
尚、実施例において、Expireは、SSDの交換時期に、SSDの寿命を迎えることを意味し、文脈によって、ExpireさせるSSDは、交換されるSSDと理解することができる。
図2Aは、実施例の管理サーバの構成の一例を示す図である。
管理サーバ300は、一般の計算機と同様、管理インタフェース330、メモリ320、処理部となるCPU310と、管理インタフェース330、メモリ320、CPU310を接続するバスのような接続装置340とを有する。
管理インタフェース330は、コントローラ100とドライブボックス200に対する運用管理を行うための命令や情報を送受信する。メモリ320は、Expire計画提案処理部321、寿命情報表示処理部323を構成するプログラムや、データを一時的に格納する領域を有する。図2Aでは、理解を容易にするため、Expire計画提案処理部321、寿命情報表示処理部323と記載したが、これらがそれぞれのプログラムで実現される。CPU310は、メモリ320に格納されたプログラムを実行して、Expire計画提案処理部321、寿命情報表示処理部323等の各機能を実現する。
図2Bは、実施例のコントローラの構成の一例を示す図である。
コントローラ100は、一般の計算機と同様、管理インタフェース130、メモリ120、処理部となるCPU110と、管理インタフェース130、メモリ120、CPU110を接続するバスのような接続装置140とを有する。
管理インタフェース130は、管理サーバ300とドライブボックス200と接続され、運用管理を行うための命令等を送受信する。メモリ120は、ホストI/O処理部121、寿命情報採取処理部122、ライト頻度計算処理部123、理想ライト頻度更新処理部124、再配置処理部125を構成するためのプログラムと、ユーザポリシテーブル101a、SSD毎Expire計画管理テーブル101b、ページ毎モニタテーブル101c、ページ毎再配置管理テーブル101d、論理物理アドレス変換テーブル101f等の各種管理情報101と、データを一時的に格納する領域を有する。図2Bでは、理解を容易にするため、ホストI/O処理部121、寿命情報採取処理部122、ライト頻度計算処理部123、理想ライト頻度更新処理部124、再配置処理部125と記載したが、これらがそれぞれのプログラムで実現される。CPU110は、メモリ120に格納されたプログラムを実行して、ホストI/O処理部121、寿命情報採取処理部122、ライト頻度計算処理部123、理想ライト頻度更新処理部124、再配置処理部125等の各機能を実現する。
図3は、実施例のコントローラ100が管理するプールの内部構成の一例を示す図である。
本実施例では、コントローラ100が仮想的論理ボリューム302をホスト計算機400に提供し、アクセスされた部分だけ実際の容量を割り当てていく、いわゆるThin Provisioningと呼ばれる技術を用いる。ホスト計算機400は、コントローラ100が提供する仮想論理ボリューム302を用いてアクセスする。仮想論理ボリューム302は、仮想的な容量を持つ空のボリュームである。ホスト計算機400によって仮想論理ボリューム302へデータがライトされると、コントローラ100は、プール303から仮想論理ボリューム上の当該LBA領域へページ211単位で実体を割当てる。より具体的には、コントローラ100は、仮想論理ボリューム302のLBAと容量プールのLBAとの対応関係をページ単位で管理するページマッピング情報(ダイナミックマッピングテーブル)を持ち、この情報を更新する。プール303は、ページと呼ばれる、例えば、数MBで区切られた固定長単位で管理される。
プール303のページは、例えば、D00とD01とD02とP00といった仮想的なパリティグループによって構成される。各SSDは、所定の容量であるデータ、あるいはパリティデータ単位で管理される。
図3では、10台のSSDのデータとパリティデータを用いて、RAID(Redundant Arrays of Inexpensive Disks)技術と同様、3D+1P(3Dはデータ、1Pはパリティデータ)を、仮想的なパリティグループ301として内部に構成する。例えば、SSD201aのD00と、SSD201cのD02と、SSD201gのD01が3Dに相当し、SSD201iのP00が対応する1Pに相当して、3D+1Pでパリティグループを形成する。このように、プール303は、10台のSSDの各データとパリティデータによって、ドライブ単位での増設が可能な、仮想的なパリティグループ301を構成する。
尚、プール303は、例えば、ダイナミックマッピングテーブル101e、論理物理アドレス変換テーブル101fの情報に基づいて、コントローラ100のホストI/O処理部121によって管理される。
図3では、一つの仮想的なパリティグループ301と一つのプール303とを対応させた例を示しているが、対応関係はこれに限らず、例えば、複数の仮想的なパリティグループを一つのプール303に対応させても良い。
また、プール303のページは、例えば、D00とD01とD02とP00をストライプし、更に細かい単位で構成されても良い。
<各種管理情報>
図4は、実施例のユーザポリシテーブルの一例を示す図である。
ユーザポリシテーブル101aは、SSDの交換にかかわるユーザのポリシを管理する情報であり、寿命調整有効化、希望交換期間、消費SSD優先ポリシ、消費SSD優先ポリシ重視率、再配置実行周期、Write頻度算出単位時間、交換台数の各項目を有する。
寿命調整有効化は本実施例によるSSDの寿命調整を行うか否か、希望交換期間はユーザが希望するSSDの交換時期、消費SSD優先ポリシは交換されるSSDが性能重視か価格重視か等のSSDの特性を、それぞれ管理する。また、消費SSD優先ポリシ重視率は交換されるSSDを決定する際に消費SSD優先ポリシの影響度、再配置実行周期はSSDのページに格納されたデータの再配置を実行する周期、Write頻度算出単位時間はライト頻度を算出する間隔、交換台数は一度の交換あたりに交換されるSSDの台数を、それぞれ管理する。図4に示した情報は、管理サーバ300に入力され、Expire計画提案処理部321に処理されて、コントローラ100のユーザポリシテーブル101aとして格納される。
図5は、実施例のSSD毎Expire計画管理テーブル101bの一例を示す図である。SSD毎Expire計画管理テーブル101bは、SSD毎のExpire計画を管理する情報であり、PG番号、SSD識別番号、次回Expire対象、次回Expire時期、寿命過多アラート、寿命不足アラート等の各項目を管理する。
PG番号はプール303を構成するパリティグループを識別するための情報であり、SSD識別番号はSSDを識別するための情報である。また、次回Expire対象は、次回のSSD交換時期に交換対象となっているSSDであるかを示す。次回Expire時期は、SSDの目標交換時期を示す。
寿命過多アラートは、次回交換時期に寿命が余っているか否かを示す。寿命不足アラートは、次回交換時期に寿命が不足しているか否かを示す。図5では、次回の交換時期にSSD識別番号「1」と「4」が交換対象となっており、SSD識別番号「4」の寿命過多アラートが「Yes」となっていることを示している。
図5に示した情報の内、PG番号、SSD識別番号、次回Expire対象、次回Expire時期は、管理サーバ300に入力され、Expire計画提案処理部321に処理されて、コントローラ100のSSD毎Expire計画管理テーブル101bとして格納される。寿命過多アラート、寿命不足アラートは、本実施例によるExpire計画の実行によって、求められる。
図6は、実施例のダイナミックマッピングテーブル101eの一例を示す図である。ダイナミックマッピングテーブル101eは、仮想ボリュームページ識別番号と実ページ識別番号との対応を管理する。図6に示したダイナミックマッピングテーブルは、一例を示したもので、仮想ボリュームページ識別番号と実ページ識別番号との対応を管理できれば、複数の中間層によって管理される他の形態であっても良い。実ページ識別番号は、例えば、プール303内で確保されたページ領域を識別する情報である。仮想ボリュームの仮想的なページに対する、データを格納するページ領域が特定される情報である実ページ識別番号は、パリティグループ(PG)間でデータを再配置する場合、PGをまたぎページ丸ごと移動するため、新規に確保した実ページの番号に書き換えられる。
図7は、実施例の論理物理アドレス変換テーブル101fの一例を示す図である。論理物理アドレス変換テーブル101fは、実ページと、実ページを含むパリティグループ(PG)と、物理ドライブ(SSD)のアドレスとの対応関係を管理する。図7に示した論理物理アドレス変換テーブルは、実ページと、パリティグループ(PG)と、物理ドライブ(SSD)のアドレスとの対応が管理されれば、他の形態で実現することも可能である。PG内でデータを再配置する場合は、ページの一部データのみ移動するため、例えば、物理ドライブのアドレスの一部が書き換えられる。
図6のダイナミックマッピングテーブル101eと図7の論理物理アドレス変換テーブル101fは、所謂構成情報に相当し、ホスト計算機400に提供される仮想ボリュームのページとドライブボックス内のSSDのデータの格納領域との対応関係を管理することができる。
また、図7の論理物理アドレス変換テーブル101fにドライブボックスを識別する情報を追加すれば、ドライブボックス単位でExpireさせるSSDの管理を行うこともできる。
図8は、実施例のページ毎再配置計画テーブル101dの一例を示す図である。
ページ毎再配置計画テーブル101dは、実ページに格納されたデータを他のSSDに再配置するため、実ページの識別番号と、移動先PG及び移動先ドライブとの対応を管理する。例えば、図8では、実ページの識別番号「1」が移動先PG「10」、移動先ドライブ「9,15,31,32」に再配置されることを示している。実ページ識別番号は、SSD間でページ再配置計画が立てられたページに関する情報が格納される。図8のページ毎再配置計画テーブル101dの値は、管理サーバ300のExpire計画提案処理部321によって作成されたExpire計画を、コントローラ100が受信し、メモリ120のページ毎再配置計画テーブル101dに格納する。尚、図4から図8に示したものは、単なる例示であって、各項目は、他の値をとりうる。
<実施例の処理概要>
図9は、管理サーバ300とコントローラ100とで処理される、Expire処理の概要を示したものである。
まず、ステップS901で、ユーザは管理サーバ300より、SSDの交換時期と交換時期において交換されるSSDの台数を入力する。ステップS901では、SSDの交換時期だけが入力され、交換されるSSDの台数は、交換時期に寿命を迎えるよう制御できるSSDの台数を計算によって求めてよい。
次に、ステップS902で、管理サーバ300は、ドライブボックス200から各SSDの残寿命を取得する。SMART(Self-Monitoring Analysis and Reporting Technology)やLOG SENSEコマンドなどの手段を用いて取得することができる。SSDの残寿命は、仮想ボリュームページ毎のライト頻度に基づいて計算しても良い。
次に、ステップS903で、管理サーバ300はステップS901で入力された交換時期に交換されるSSDを選択する。交換されるSSDは、例えば、残寿命が短いSSDを選択する。この他、ユーザポリシテーブル101aで管理される消費優先ポリシに従って、選択することもできる。
次に、管理サーバ300はステップS903で選択されたSSDの残寿命からExpireする時期を求め、Expireする時期とステップS901で入力された交換時期とを比較する。交換時期がSSDのExpireする時期より早く訪れる場合には、選択されたSSDの残寿命が多いため、選択されたSSDに対するライトを増やすよう、データの再配置を行って加速処理を実行する(S905)。一方、ステップS904で「NO」となる場合、SSDのExpire時期が交換時期より早く訪れるかを判定する(S906)。SSDのExpire時期が交換時期より早く訪れる場合(ステップS906で「YES」)には、選択されたSSDに対するライトを減らすよう、データ再配置を行って減速処理を実行する(S907)。ステップS906で「NO」の場合、加速処理あるいは減速処理を実行することなく通常の処理を実行する。ステップS905、S907は管理サーバ300からのExpire計画等の運用命令に基づいて、コントローラ100が実行する。
選択されたSSDが交換されたか判定し(S908)、交換されていなければステップS904に戻り、同様の処理を繰り返す。選択されたSSDが交換時期に寿命を全うするように、例えば、所定時間ごとにステップS908の判断を実行する。交換されると、処理を終了する。
このように、SSDの書込み回数を制御することで、SSDの寿命をコントロールし、ユーザの望む交換時期や所定台数のドライブを使い切った上でSSDの追加や交換を可能とすることができる。尚、ステップS901で、入力されるSSDの交換台数の代わりに、交換されるドライブボックスの数が入力されても良い。この場合、ステップS903で寿命の短いSSDを含むドライブボックスを選択し、ダイナミックマッピングテーブル101e、論理物理アドレス変換テーブル101fを参照して、選択されるドライブボックスに対するライト頻度の加速処理や減速処理を実行することとなる。
図10は、実施例の加速処理と減速処理の概念を説明した図である。
図9のステップS904、S906の結果、SSDであるドライブ1は加速処理対象となり、ドライブ4は減速処理対象となったことを前提としている。この場合、ドライブ1は、ライト頻度が少なく、寿命が長い。ドライブ4は、ライト頻度が多く、寿命が短い。
そこで、例えば、ライト頻度が低いドライブ1のデータV04をドライブ3に再配置する。一方、ライト頻度が高いドライブ4のデータF03をドライブ5に再配置する。図10において、ドライブ1のデータV04に格納されるデータのライト頻度は「200WPH」、ドライブ4のデータF03に格納されるデータのライト頻度は「3500WPH」であり、各ドライブのデータに対して付された矢印は、データの再配置場所と方向を示している。
尚、データのライト頻度は、仮想論理ボリューム302のページで監視されても良い。仮想論理ボリューム302のページに対応する実ページを、ダイナミックマッピングテーブル101e、論理物理アドレス変換テーブル101f等の構成情報に基づいて、SSDに対するライト回数や頻度からSSDの寿命を求めることもできる。
また、図9は、実施例のExpire処理の概念を分かりやすく示したもので、実際の動作の詳細は、図12以降に示す。
このように、ドライブ上の各データを再配置することで、例えば、ドライブ1には加速処理を実行し、ドライブ4には減速処理を実行する。これにより、SSDの寿命をコントロールし、ユーザの望む交換時期にSSDの寿命を合せることができる。
<設定画面>
図11は、実施例の寿命ポリシ設定画面の一例を示す図である。
図11において、実施例の寿命ポリシ設定画面は、管理サーバ300の表示部(図示せず)に表示され、管理者によってドライブ交換時期1110及びポリシ1120が入力され、入力結果に基づいて各ドライブの寿命がライフプラン1130として表示される。
図11の例では、ドライブ交換時期1110として毎年6月、ポリシ1120としてハイパフォーマンス(性能優先)が入力され、その結果、例えば、ドライブ1に対し、加速処理を行うことで、ドライブ1の寿命が点線から実線の寿命に短縮されていることを示している。図11に示した寿命ポリシ設定画面により、図9のステップS901のSSDの交換時期と交換時期において交換されるSSDの台数が入力されても良い。また、図4に示したユーザポリシテーブル101aや、図5に示したSSD毎Expire計画管理テーブル101bの次回Expire対象や次回Expire時期などが入力されても良い。
<Expire計画設定処理>
図12は、管理サーバ300のExpire計画提案処理部321によって実行される、Expire計画設定処理の一例を示すフローチャートである。
ステップS1201で、管理サーバ300は、図11の寿命ポリシ設定画面から、ユーザポリシ設定を取得・表示し、ユーザの入力を受け付ける。ここでは、SSDの交換希望時期、交換台数、交換するSSDの特性の内、少なくとも一つがユーザの要求に応じて入力される。
次に、ステップS1202で、管理サーバ300のExpire計画提案処理部321は、Expire計画提案処理を実行する。詳細は、図13に示す。
次に、ステップS1203で、ユーザポリシ再設定、計画修正、または実行の入力を受け付ける。S1202で立案されたExpire計画提案の修正を行うためである。例えば、次回の交換時期に寿命を迎えるSSDが存在しない場合、交換時期等が修正される。 ユーザによって入力された交換時期に、寿命を迎えるSSDの選択ができない場合に、他の交換時期を入力するようにユーザに提案することができる。
尚、ステップS1202で提案されたExpire計画の修正がない場合、このステップは省略される。
次に、ステップS1204で、提案されたExpire計画を実行するコマンドが入力されると、ステップS1205に進み、入力されていなければステップS1202に戻る。
ステップS1205では、ユーザポリシテーブル(図4)、SSD毎Expire計画テーブル(図5)をPool毎の次回Expire時期と対象SSDに基づいて更新する。
図13は、管理サーバ300のExpire計画提案処理部321によって実行されるExpire計画提案処理S1202の一例を示すフローチャートである。
ステップS1301で、ダイナミックマッピングテーブル101e、論理物理アドレス変換テーブル101f等の構成情報、各SSDの残Write可能回数、仮想ボリュームの各ページのWrite頻度情報をコントローラ100から取得する。
次に、ステップS1302で、未処理プール303があるか判断し、あればステップS1303に進み、なければ、S1304に進みExpire計画提案内容を表示する。
ステップS1303では、Pool毎Expire計画提案処理する。処理の詳細は、図14に示す。
ステップS1304で、Expire計画提案内容を管理サーバ300の表示部に表示する。
図13では、複数のプールがあることを前提としたが、コントローラが管理するプールが一つの場合には、ステップS1302の処理は省略しても良い。
図14は、管理サーバ300のExpire計画提案処理部321によって実行されるExpire計画提案処理S1303の詳細を示すフローチャートである。この処理により、次回交換時において交換されるSSDを選択する。
図15は、管理サーバ300のExpire計画提案処理部321によって実行される、ExpireSSD数決定処理(Expire計画提案処理のステップS1402)の詳細を示すフローチャートである。
図16は、図14、図15に示した処理で用いる情報を示したものである。
図16において、管理サーバ300から取得する情報として、現在時刻tnow、プールの総数Mとする。
また、コントローラから取得する情報として、j番目のプールにおけるk番目のページのWrite頻度f(k、j)[回/分]、j番目のプールにおけるSSDの総数Nj、j番目のプールにおけるi番目のSSDの残ライト可能回数v(i,j)とする。
以下、tnow、tc等は、図16に示した通りの定義で使用する。以下の説明では、表記上、定義を用いて説明するが、定義に加え変数の一部を加えて説明する場合もある。
図14に戻り、説明を続ける。ステップS1401で、プール303を構成するSSDの推定残寿命の平均L(j)を求める。カウンタcは、プール毎に処理するための値である。尚、図14では、プール毎の処理を示すために添え字jを示しているが、説明を簡素化するため一つのプールに対する処理として以下説明する。
ステップS1401に示したように、推定残寿命の平均Lは、処理対象のプールに含まれるSSDの残寿命合計を、対象プールにおいて次回交換されるSSD(ExpireさせるSSD)の数で割ることで求める。
尚、推定残寿命の平均Lは、対象プールに含まれるSSDの残ライト可能回数の合計をページに対するライト頻度の合計で割って計算しても良いし、各SSDドライブから受領した残寿命の平均を用いても良い。
ステップS1402で、交換時期候補(tc)にExpireさせるSSD数の理想値を決定する。この処理の詳細は、図15で説明する。
ステップS1403で、次回の交換時期にExpireさせるSSDの合計(nj)を選択する。この処理の詳細は、図17で説明する。
ステップS1404で、次回の交換時期にExpireさせるSSDの合計(nj)が「0」より大きいか判定し、大きい場合、ステップS1406に進む。
次回の交換時期にExpireさせるSSDの合計(nj)が「0」の場合、ステップS1405に進み、次のプールの処理に進む。
ステップS1406では、交換時期候補tcを次回交換時期とし、選択したSSDを集合とする。
尚、ステップS1401の推定残寿命平均の計算の推定残寿命平均の計算、ステップS1402は、Expire計画設定処理において、ユーザから交換台数が指定されている場合は、省略可能である。
本実施例は、次回交換されるSSDの寿命が、SSDの交換時期に全うするように、SSDに対するライト処理を制御する。従って、交換されるSSDのことをExpireさせるSSDと呼ぶことがある。SSDのライト処理、つまり、ライト頻度を制御することで、システム中のドライブボックスに含まれる一部のSSDを計画的に交換可能となり、システムの運用コストを低減し、ユーザの希望する交換時期に、所定の特性を有するSSDを、所定数だけを交換することができる。
図15は、管理サーバ300のExpire計画提案処理部321によって実行される、ExpireSSD数決定処理(Expire計画提案処理のステップS1402)の詳細を示すフローチャートである。
ステップS1501で、所定の期間に発生する交換機会の回数をRcとする。所定期間は、図15のステップS1501中に示した期間であり、プール内の全SSDが段階的に交換されることを理想として決定される。
ステップS1502で、ExpireされるSSDの数の理想値を、次回ExpireさせるSSDの数と交換機会の回数Rcより求める。つまり、交換されるSSDの数を交換機会の数で割った値を、理想的な交換台数とする。
尚、ExpireされるSSDの数の理想値が「0」の場合、ExpireさせるSSDの数を「1」として処理を終了しても良い。
このように、ユーザによって入力された交換時期に、適切な数のSSDを交換するため、交換されるSSDの数をユーザに提案することができる。
また、Expire計画設定処理において、ユーザから交換台数が指定されている場合は、図15に示した処理は省略可能である。
図17は、管理サーバ300のExpire計画提案処理部321によって実行される、ExpireさせるSSDの選択処理(図14のステップS1403)の詳細を示すフローチャートである。
ステップS1701で、次回ExpireさせるSSDの数(nj)をステップ1402で求めた次回ExpireさせるSSDの数の理想値とする。ユーザによって交換台数が入力されている場合、その値を用いる。
ステップS1702で、次回ExpireさせるSSDの数(nj)が「0」となる場合、処理を終了し、「0」以外の場合、ステップS1703に進む。
プール内のSSDの内、ExpireさせるSSDを決定するため、次回ExpireさせるSSDの数(nj)からなるSSDの組合せ毎にスコアを算出する。一番スコアの高いSSDの組合せを次回ExpireさせるSSDの集合として選択するためである。
ステップS1703で、未処理のSSDの組合せがあるか判定し、あれば、未処理のSSDの組合せに対し、スコアを計算する(S1704)。スコアの算出については、図18で説明する。未処理の組合せがなければ、ステップS1705に進む。
ステップS1705では、スコアがマイナス無限大(−∞)でない組合せがあるか判定し、スコアが−∞でない組合せがあれば、ステップS1706で、最高スコアとなる組合せを、次回ExpireさせるSSDの集合として選択する。
スコアが−∞でない組合せがなければ、次回ExpireさせるSSDの数から「1」を引いた数で、ステップS1702からの処理を実行する。
この処理により、プール内のSSDからExpireさせるSSD台数の組合せの内、最も高いスコアとなる組合せを次回ExpireさせるSSDとして選択することができる。
図18は、図17のステップS1704のスコアの算出を示したものである。即ち、プール内から次回ExpireさせるSSD(nj)の数だけSSDを抽出し、抽出されたSSDの組合せから、次回EpireさせるSSDの組合せを決定するためのスコアの求め方の一例を示したものである。
例えば、スコアは、(式1)によって求められる。(式1)の各用語や変数の定義は、図18に示した通りである。
(式1)の係数「a」が係る最初の項は、対象SSDの寿命に関する変数となる。SSDの残寿命が短いとスコア(S)の値は大きくなる。逆に、対象SSDの残寿命が長いとスコア(S)は小さくなる。即ち、寿命が短いSSDの組合せは高スコアとなって、ステップS1706で、次回ExpireさせるSSDとして選択される。
(式1)の係数「a」が係る最初の項は、i番目のSSDの理想的なWrite頻度からプール全体のライト頻度の平均を引いた値を用いることができる。SSDの理想的なWrite頻度とは、交換時期にSSDの寿命を迎える(Expireする)ライト頻度である。
(式1)の係数「b」が係る項は、ユーザポリシテーブル101aに消費SSD優先ポリシとして設定される値に関する変数となる。この項は、ユーザのポリシに合致しているほどスコア(S)の値が大きくなり、合致していないとスコア(S)の値は小さくなる。つまり、ユーザポリシに合致しているほど、ExpireさせるSSDとして選択される。
(式1)の係数「b」で考慮される値としては、例えば、図18の下表に示したように、SSDを構成するフラッシュメモリの種類としてSLC(Single-Level Cell)、DLC(Double-Level Cell)、TLC(Triple-Level Cell)、QLC((Quad-Level Cell))に対し、性能優先時係数、コスト優先時係数を用いる。尚、これらの数字は、ユーザの要求する消費SSD優先ポリシに合致したSSDを選択できれば、他の値であっても良い。
尚、係数「a」「b」の値を、適宜選択することで、寿命を重視したスコアや、特性を重視したスコア、寿命のみ考慮したスコア、性能のみを考慮したスコアを自由に設定することができる。また、係数「a」が係る項は主に運用が安定してからの評価、係数「b」が係る項は主に運用開始直後の評価に適している。
スコアの計算は、SSDの寿命や特性を考慮して求められる他の式によって算出されても良い。
図19は、管理サーバ300のExpire計画提案処理部321によって実行される、スコア算出処理(ExpireSSD選択処理のステップS1704)の詳細を示すフローチャートである。
ステップS1901で、次回ExpireさせるSSDを未計算の組合せの中から選択する。次に、ステップS1902で実現性のチェックを行う。実現性のチェックの内容は、図20を用いて説明する。
ステップS1903で、実現不可能または性能不足である場合、スコアを-∞とする(S1905)。実現不可能または性能不足でなければ、計算されたスコアを採用する。
図20は、管理サーバ300のExpire計画提案処理部321によって実行される、実現性、性能チェックS1902の詳細の一例を示したフローチャートである。
ステップS2001で、未チェックのSSDがあるか判定する。未チェックのSSDがあれば、ステップS2002に進み、未チェックのSSDがなければ処理を終了する。
ステップS2002では、理想のライト頻度を算出する。理想的なWrite頻度とは、交換時期にSSDの寿命を迎える(Expireする)ライト頻度であり、SSDの残ライト可能回数を、現在から次回交換時期までの期間で割った値から求めることができる。
ステップS2003で、理想ライト頻度がプール全体のライト頻度より大きい場合、ステップS2005に進み、実現不可能/性能不足フラグを立てる。プール全体で処理するライト頻度を集めても、Expireさせる対象SSDの理想ライト頻度に到達しないためである。
ステップS2004で、理想ライト頻度が処理性能限界を超える場合、ステップS2005に進み、実現不可能/性能不足フラグを立てる。例えば、Expireさせる対象SSDにライトを集中させる加速処理を実現させるだけの処理の能力がない場合が該当する。
以上の通り、管理サーバ300は、SSDの残寿命やユーザポリシに従った特性に基づいて、次回交換時に交換させるSSDを選択し、Expire計画としてコントローラ100に送信する。コントローラ100は、Expire計画に基づいて、SSD毎Expire計画管理テーブル101bの次回Expire対象の項目を更新する。
<ページ再配置>
ExpireさせるSSDが、次回交換時期まで理想ライト頻度となるように、ライト頻度を加速、あるいは減速させる処理を実現するため、残り寿命が少ないSSDのページに格納されたデータを、残り寿命が多いSSDのページに再配置する。
つまり、仮想ボリュームのページに格納されたデータに対するライト頻度に基づいて、仮想ボリュームのページに割当てられている実ページを他の実ページに再配置する。尚、データは、同一プール内のSSD間を移動する。
図21は、コントローラ100の再配置処理部125によって実行される、Pool毎ページ再配置計画処理のフローチャートである。
ステップS2101で、ページ毎モニタテーブル101cの仮想ボリュームのページ毎、SSD毎、プール毎の見込Write頻度を取得する。見込Write頻度とは、過去のライト頻度から将来を予測したライト頻度をいう。仮想ボリュームのページ毎のライト頻度、仮想ボリュームのページ毎のライト頻度から構成情報を用いて求めたSSD毎、プール毎のライト頻度がページ毎モニタテーブル101cで管理されている。尚、SSD毎のライト頻度は、SSDから取得したものをページ毎モニタテーブル101cで管理していても良い。
ステップS2102で、SSD毎Expire計画管理テーブル101bの次回Expire対象を参照し、次回Expire予定SSDを取得する。
ステップS2103で、未計算SSDがあるか判定し、未計算SSDがあればステップS2104に進み、なければステップS2105に進む。
ステップS2014で、SSD毎理想Write頻度算出処理を実行する。この処理は図22で説明する。
ステップS2105で、プール内ページをライト頻度の高い順にソートする。
ステップ2106で、計画未完了のSSDがあるか判定し、あれば、ステップS2107に進み、なければ、ステップS2109に進む。ステップS2109では、一時リストをもとにページ毎再配置管理テーブルを更新する。
ステップS2107で、理想ライト頻度と見込ライト頻度の差が最も大きい計画未完了SSDを選択する。
ステップS2108で、ステップS2107で選択されたSSDのページ再配置計画処理を実行する。この処理は図23で説明する。
図22は、コントローラ100の理想ライト頻度更新処理部124によって実行される、SSD毎理想ライト頻度算出処理のフローチャートである。
ステップS2201で、理想的なライト頻度を計算する。理想的なライト頻度は、交換時期にSSDの寿命を迎える(Expireする)ライト頻度である。例えば、SSDの残ライト回数を現在から次回交換時期で割ることで計算できる。
ステップS2202で、実現性をチェックする。実現性(実現不可能または性能不足)がない場合、SSD毎Expire計画テーブル101bの寿命過多アラート、寿命不足アラートを更新する(S2204)。
実現性がある場合、ステップS2205で、ライト頻度の許容レンジ(定数)を元に範囲(上限W、下限W)を決定する。
図23は、コントローラ100の再配置処理部125によって実行される、SSD毎ページ再配置計画処理のフローチャートである。
ステップS2301で、SSDの見込みライト頻度が、上限W以上か判定する。上限以上の場合には、ステップS2302で当該SSDに対し、ライト頻度を減少させるライト消費減速計画処理(減速処理)を実行する。一方、下限W以下の場合、当該SSDに対し、ライト頻度を増加させるためライト消費加速計画処理(加速処理)を実行する(S2304)。
尚、ライト頻度が高い場合、ライト頻度が上限以下になるまでSSDのデータをライト頻度の高いものからプール内の他のSSDに再配置し、同時に他のSSDのデータをライト頻度の低いものから当該SSD内に再配置する。ただし調整しきればければ、寿命不足のフラグを立て、その時点で終了する。
また、ライト頻度が低い場合、ライト頻度が下限以上になるまで、プール内の他のSSDのデータをライト頻度の高いものから、当該SSDに再配置し、同時に当該SSDのデータをライト頻度の低いものから、プール内の他のSSDに再配置する。ただし調整しきれなければ、寿命過多のフラグを立て、その時点で終了する。
寿命不足のフラグや寿命過多のフラグをユーザに通知するよう表示すれば、ポリシの再設定や、移設・増設を提案することができる。
ライト頻度が上限と下限の間であれば、対象SSDに対しライト頻度を増加したり、減少させたりする必要はなく、計画完了フラグを立てる(S2305)。
図24は、コントローラ100の再配置処理部125によって実行される、ライト消費加速計画処理(加速処理)のフローチャートである。
ステップS2401で、データ再配置を実行する移動候補ページ群選択処理を実行する。この処理の詳細は、図26を用いて説明する。
ステップS2402で、移動候補ページ群として選択されたページが、取込候補ページ群Pout、排出候補ページ群Pinがあるかを判定する。尚、取込候補ページ群Poutは、SSDにデータが含まれず、再配置計画一時リストに未だ登録されていないページである。取込候補ページ群Poutは、他のSSDのページに格納されたデータを取り込む。また、取込候補ページ群Pinは、SSDにデータが含まれ、再配置計画一時リストに未だ登録されていないページである。取込候補ページ群Pinは、他のSSDに、当該SSDのデータを排出する。
取込候補ページ群Poutか、排出候補ページ群Pinがあれば、ステップS2404で、取込候補ページ群Pout上位から取り込みページ一つ選択する。
ステップS2405で、排出候補ページ群Pinからスワップ可能な排出ページを一つ仮選択する。
ステップS2406で、関連SSDの見込Write頻度が閾値内か判定し、閾値内の場合にはステップS2407に進み、仮選択を確定(再配置計画一時リストを更新)し、
見込Write頻度を更新する。
尚、ステップS2402で、取込候補ページ群Poutか、排出候補ページ群Pinがなければ、ステップS2403に進み、SSD毎Expire計画管理テーブルを更新し、ステップS2408で計画完了フラグを立てる。
また、ステップS2406で、関連SSDの見込Write頻度が閾値内でない場合、取込候補ページ群Poutか、排出候補ページ群Pinから借り選択ページを除外し、ステップS2402に戻る。
図25は、コントローラ100の再配置処理部125によって実行される、ライト消費減速計画処理(減速処理)のフローチャートである。図24と共通する部分は、説明を省略する。図24のライト消費加速計画処理のフローチャートのステップS2404、S2405が、それぞれ、ステップS2504、ステップS2505に変更となっている。データ再配置にけるデータの動きが逆になるためである。
図26は、コントローラ100の再配置処理部125によって実行される、図24及び図25の移動候補ページ群選択処理を示したフローチャートである。
ステップS2601で、未処理ページがあるか判定し、なければ処理を終了する。
ステップS2602で、対象ページが再配置計画一時リストに含まれているか判定し、含まれていれば、ステップS2601に戻る。含まれていなければ、ステップS2603で、対象ページ(Si,j)にデータが含まれているか判定し、含まれていれば排出候補ページ群Pinに追加し(S2604)、含まれていなければ取込候補ページ群Poutに追加する(S2605)。
このようにして、あるSSDのデータを取り込む取込候補Poutと、あるSSDのページに格納されているデータを他のSSDに排出する排出候補ページ群をリストとして管理する。
図24のライト消費加速計画処理(加速処理)を実行すると、図10の加速対象であるドライブ1にドライブ2のデータB01を取り込んで、ドライブ1のライト頻度を増加させる。この場合、ドライブ1のデータC02が取込候補ページPoutの一つであり、ドライブ2のデータB01が排出候補ページPinの一つである。
一方、図25のライト消費減速計画処理(減速処理)を実行すると、図10の減速対象であるドライブ4のデータF03をドライブ5に排出して、ライト頻度の高いデータを格納するページの再配置を実行する。
図27は、コントローラ100の再配置処理部125によって実行される、プール毎ページ再配置実行処理を示すフローチャートである。
ステップS2701で、ページ毎再配置管理テーブル101dから再配置対象ページを参照する。このステップでは、ページ毎再配置管理テーブル101dに登録されている全てのページが処理対象とする。
ステップS2702で、未処理ページがあるか判定し、なければ処理を終了する。
未処理ページがあれば、ステップS2703で、ダイナミックマッピングテーブル10eを更新する。次に、論理物理アドレス変換テーブル101fから移動先アドレスを算出する(S2704)。
ステップS2705で、算出された移動先アドレスにデータを書き込み、ページ毎モニタテーブルを更新する(S2706)。
このように、データの再配置により、ダイナミックマッピングテーブル等の構成情報やライト頻度を管理するためページ毎モニタテーブルを更新する。
<ライト処理>
図28は、コントローラ100のホストI/O処理部121によって実行される、ライト処理を示すフローチャートである。
コントローラ100は、ホスト計算機400から仮想論理ボリューム302に対するライト要求を受領すると、ダイナミックマッピングテーブル101eに基づいて、書き込み対象ページを算出する(S2801)。
受領したライト要求が上書きライトか判定し(S2802)、上書きライトであれば、論理物理アドレス変換テーブル101fから格納先アドレスを算出する(S2804)。格納先アドレスに対し、データを書き込み(S2805)、ページ毎モニタテーブルを更新する(S2806)。
一方、上書きでなければ、仮想ボリュームのページに対し、新規実ページを割当て、ダイナミックマッピングテーブル101eを更新する(S2803)。
このように、ホスト計算機400のライト要求毎に、実ページ毎(プールのページ或いはSSDのページ)、SSD毎、プール毎のライト頻度を管理する。
以上説明した通り、本実施例によれば、SSDの書込み回数を制御することで、SSDの寿命をコントロールし、ユーザの望む交換時期に所定台数のドライブを使い切った上でSSDの追加や交換を可能とすることができる。
また、SSDの書込み回数の制御するSSDの選択(ExpireさせるSSDの選択)を、SSDの寿命や特性に基づいて、決定することができる。
また、交換時期に交換されるSSDを選択し、SSDのデータの再配置を行うことで選択されたSSDの書込みを制御することができる。
また、ユーザによって入力された交換時期に、寿命を迎えるSSDの選択ができない場合に、他の交換時期を入力するようにユーザに提案することができる。
また、ユーザによって入力された交換時期に、適切な数のSSDを交換するため、交換されるSSDの数をユーザに提案することができる。
さらに、ドライブボックスに含まれるSSDの書込み回数を制御することで、ドライブボックス内のSSDの寿命をコントロールし、ユーザの望む交換時期や所定台数のドライブを使い切った上でドライブボックスの追加や交換を可能とすることができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
10:計算機システム
100:コントローラ
101:各種テーブル
121:ホストI/O処理部
122:寿命情報採取処理部
123:ライト頻度計算処理部
124:理想ライト頻度更新処理部
125:再配置処理部
200:ドライブボックス
201:SSD
211:ページ
300:管理サーバ
321:Expire計画提案処理部
323:寿命情報表示処理部
400:ホスト計算機
500:ネットワーク。

Claims (12)

  1. 管理サーバと、複数のSSDを含むドライブボックスと、ホスト計算機からのI/O要求を受領し、前記ドライブボックス内のSSDからデータを読み出し、或いはデータを書き込む制御を行うコントローラと、を有するストレージシステムにおいて、
    前記管理サーバは、前記ドライブボックス内のSSDの交換時期に、交換されるSSDを、寿命に基づいて選択し、
    前記コントローラは、前記選択したSSDに対するライト頻度を制御して、交換時期に前記選択したSSDが寿命を迎えるように制御することを特徴とするストレージシステム。
  2. 請求項1に記載のストレージシステムにおいて、
    前記コントローラは、
    前記ホスト計算機に、複数の第1のページを有する仮想ボリュームを提供し、
    前記第1のページに格納されたデータに対するライト頻度に基づいて、前記選択されたSSDに格納されたデータを、他のSSDに再配置して、前記選択したSSDに対するライト頻度を制御することを特徴とするストレージシステム。
  3. 請求項1に記載のストレージシステムにおいて、
    前記管理サーバは、
    前記ドライブボックス内のSSDの交換時期に、交換されるSSDを、SSDの寿命及びSSDの特性に基づいて、選択することを特徴とするストレージシステム。
  4. 請求項3に記載のストレージシステムにおいて、
    前記コントローラは、
    前記ドライブボックスに含まれる複数のSSDを用いてプールを形成し、
    前記ホスト計算機に、複数の第1のページを有する仮想ボリュームを提供し、
    前記ホスト計算機に提供する前記仮想ボリュームに対するライト要求に応じて、前記プールを構成する第2のページを、前記仮想ボリュームの第1のページに割当ててライトデータを格納し、
    前記管理サーバは、
    前記プールを形成するSSDの内、交換されるSSDの台数からなるSSDの組合せ毎に、SSDの寿命と特性に応じて、スコアを計算し、
    前記スコアに基づいて、交換時期に交換されるSSDを選択することを特徴とするストレージシステム。
  5. 請求項4に記載のストレージシステムにおいて、
    前記管理サーバは、
    前記スコアを、交換されるSSDの台数からなるSSDの組合せ毎に、SSDの寿命に係わる第1の係数と、SSDの特性に係わる第2の係数とを用いて、算出することを特徴とするストレージシステム。
  6. 請求項5に記載のストレージシステムにおいて、
    前記管理サーバは、
    前記選択したSSDに対して、交換時期に寿命を迎える理想的なライト頻度を算出し、
    前記理想的なライト頻度と前記選択したSSDが含まれるプールに対するライト頻度より大きい場合、実現不可能と判断することを特徴とするストレージシステム。
  7. 請求項6に記載のストレージシステムにおいて、
    前記管理サーバは、
    前記理想的なライト頻度が前記選択されたSSDの処理能力が上回る場合、実現不可能と判断することを特徴とするストレージシステム。
  8. 請求項1に記載のストレージシステムにおいて、
    前記管理サーバは、
    交換されるSSDの数を交換機会の数で割った値を、理想的な交換台数として計算することを特徴とするストレージシステム。
  9. 管理サーバと、複数のSSDを含むドライブボックスと、ホスト計算機からのI/O要求を受領し、前記ドライブボックス内のSSDからデータを読み出し、或いはデータを書き込む制御を行うコントローラと、を有するストレージシステムのSSDの交換方法において、
    前記管理サーバは、前記ドライブボックス内のSSDの交換時期に、交換されるSSDを、寿命に基づいて選択し、
    前記コントローラは、前記選択したSSDに対するライト頻度を制御して、交換時期に前記選択したSSDが寿命を迎えるように制御することを特徴とするストレージシステムのSSDの交換方法。
  10. 請求項9に記載のストレージシステムのSSDの交換方法において、
    前記コントローラは、
    前記ホスト計算機に、複数の第1のページを有する仮想ボリュームを提供し、
    前記第1のページに格納されたデータに対するライト頻度に基づいて、前記選択されたSSDに格納されたデータを、他のSSDに再配置して、前記選択したSSDに対するライト頻度を制御することを特徴とするストレージシステムのSSDの交換方法。
  11. 請求項9に記載のストレージシステムのSSDの交換方法において、
    前記コントローラは、
    前記ドライブボックスに含まれる複数のSSDを用いてプールを形成し、
    前記ホスト計算機に提供し、複数の第1のページを有する仮想ボリュームを構成し、
    前記仮想ボリュームに対するライト要求に応じて、前記プールを構成する第2のページを、前記仮想ボリュームの前記第1のページに割当ててライトデータ格納し、
    前記管理サーバは、
    前記プールを形成するSSDの内、交換されるSSDの台数からなるSSDの組合せ毎に、SSDの寿命と特性に応じて、スコアを計算し、
    前記スコアに基づいて、交換時期に交換されるSSDを選択することを特徴とするストレージシステムのSSDの交換方法。
  12. 請求項9に記載のストレージシステムのSSDの交換方法において、
    前記管理サーバは、
    前記選択したSSDに対して、交換時期に寿命を迎える理想的なライト頻度を算出し、
    前記理想的なライト頻度が前記選択されたSSDが含まれるプールに対するライト頻度より大きい場合、或いは、
    前記理想的なライト頻度が前記選択されたSSDの処理能力が上回る場合、実現不可能と判断する実現不可能と判断することを特徴とするストレージシステムのSSDの交換方法。
JP2020052557A 2020-03-24 2020-03-24 ストレージシステム及びストレージシステムのssdの交換方法 Active JP7003169B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020052557A JP7003169B2 (ja) 2020-03-24 2020-03-24 ストレージシステム及びストレージシステムのssdの交換方法
US17/000,401 US11262917B2 (en) 2020-03-24 2020-08-24 Storage system and SSD swapping method of storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020052557A JP7003169B2 (ja) 2020-03-24 2020-03-24 ストレージシステム及びストレージシステムのssdの交換方法

Publications (2)

Publication Number Publication Date
JP2021152715A true JP2021152715A (ja) 2021-09-30
JP7003169B2 JP7003169B2 (ja) 2022-01-20

Family

ID=77857177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020052557A Active JP7003169B2 (ja) 2020-03-24 2020-03-24 ストレージシステム及びストレージシステムのssdの交換方法

Country Status (2)

Country Link
US (1) US11262917B2 (ja)
JP (1) JP7003169B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922011B2 (en) * 2021-09-01 2024-03-05 Micron Technology, Inc. Virtual management unit scheme for two-pass programming in a memory sub-system
US11809716B2 (en) * 2022-01-20 2023-11-07 Dell Products L.P. Prediction and prioritization of solid-state drives replacement

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013175540A1 (ja) * 2012-05-25 2013-11-28 株式会社日立製作所 情報処理システム
JP2014052998A (ja) * 2012-09-05 2014-03-20 Samsung Electronics Co Ltd ストレージシステムのための摩耗管理装置及び方法
WO2016163016A1 (ja) * 2015-04-09 2016-10-13 株式会社日立製作所 ストレージシステム及びデータ制御方法
JP2017084342A (ja) * 2015-09-04 2017-05-18 エイチジーエスティーネザーランドビーブイ フラッシュメモリデバイスのための操作パラメータ
US20170315753A1 (en) * 2016-04-29 2017-11-02 Netapp, Inc. Drive Wear-Out Prediction Based on Workload and Risk Tolerance
JP2019106224A (ja) * 2019-04-04 2019-06-27 株式会社日立製作所 ストレージシステム及びデータ制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010738B1 (en) * 2008-06-27 2011-08-30 Emc Corporation Techniques for obtaining a specified lifetime for a data storage device
JP5242264B2 (ja) * 2008-07-07 2013-07-24 株式会社東芝 データ制御装置、ストレージシステムおよびプログラム
WO2014141411A1 (ja) * 2013-03-13 2014-09-18 株式会社日立製作所 ストレージシステムおよびストレージシステム制御方法
US10120592B2 (en) * 2014-09-26 2018-11-06 Hitachi, Ltd. Storage device and maintenance/operation system therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013175540A1 (ja) * 2012-05-25 2013-11-28 株式会社日立製作所 情報処理システム
JP2014052998A (ja) * 2012-09-05 2014-03-20 Samsung Electronics Co Ltd ストレージシステムのための摩耗管理装置及び方法
WO2016163016A1 (ja) * 2015-04-09 2016-10-13 株式会社日立製作所 ストレージシステム及びデータ制御方法
JP2017084342A (ja) * 2015-09-04 2017-05-18 エイチジーエスティーネザーランドビーブイ フラッシュメモリデバイスのための操作パラメータ
US20170315753A1 (en) * 2016-04-29 2017-11-02 Netapp, Inc. Drive Wear-Out Prediction Based on Workload and Risk Tolerance
JP2019106224A (ja) * 2019-04-04 2019-06-27 株式会社日立製作所 ストレージシステム及びデータ制御方法

Also Published As

Publication number Publication date
JP7003169B2 (ja) 2022-01-20
US11262917B2 (en) 2022-03-01
US20210303175A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
JP5916958B2 (ja) 計算機システム及び計算機システム制御方法
US9703664B1 (en) Self adaptive workload classification and forecasting in multi-tiered storage system using ARIMA time series modeling
CN103635900B (zh) 基于时间的数据分割
JP6025149B2 (ja) データを管理するシステムおよび方法
CN101673245B (zh) 包括存储器管理装置的信息处理装置和存储器管理方法
US7418546B2 (en) Storage resource management method for storage system
US5325505A (en) Intelligent storage manager for data storage apparatus having simulation capability
WO2013164878A1 (ja) 計算機システムの管理装置および管理方法
CN102209953B (zh) 压缩和存储数据元素的存储系统和存储控制方法
CN104471524B (zh) 存储系统和存储控制方法
JP7003169B2 (ja) ストレージシステム及びストレージシステムのssdの交換方法
CN110109886B (zh) 分布式文件系统的文件存储方法及分布式文件系统
JP5051135B2 (ja) 資源情報収集装置、資源情報収集方法、プログラム、および、収集スケジュール生成装置
CN103827970A (zh) 对固态驱动器再配置数据的存储装置、存储控制器以及方法
CN112306925B (zh) 访问请求的处理方法、装置、设备及存储介质
WO2013098960A1 (ja) 計算機システム、ファイル管理方法及び記憶媒体
KR20110080479A (ko) 멀티 레벨 버퍼 캐시 관리 정책에 따른 메모리 관리 방법
JP2015153123A (ja) アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置
Dieye et al. On achieving high data availability in heterogeneous cloud storage systems
JP5130169B2 (ja) 仮想化ボリュームへの物理ボリューム領域割り当方法及びストレージ装置
JP4856467B2 (ja) ストレージ資源管理システム、ストレージ資源管理方法および管理計算機
CN112148471B (zh) 分布式计算系统中资源调度的方法和装置
CN110471759A (zh) 一种多核嵌入式处理器内存实时动态管理方法
JP5730446B1 (ja) トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム
JP2008225686A (ja) 分散型データ処理プラットフォームにおけるデータ配置管理装置と方法、システム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211228

R150 Certificate of patent or registration of utility model

Ref document number: 7003169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111