JP6515752B2 - ストレージ制御装置、制御方法、および制御プログラム - Google Patents

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

Info

Publication number
JP6515752B2
JP6515752B2 JP2015176057A JP2015176057A JP6515752B2 JP 6515752 B2 JP6515752 B2 JP 6515752B2 JP 2015176057 A JP2015176057 A JP 2015176057A JP 2015176057 A JP2015176057 A JP 2015176057A JP 6515752 B2 JP6515752 B2 JP 6515752B2
Authority
JP
Japan
Prior art keywords
storage device
storage
amount
write data
cycle
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
JP2015176057A
Other languages
English (en)
Other versions
JP2017054204A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015176057A priority Critical patent/JP6515752B2/ja
Priority to US15/249,635 priority patent/US10338844B2/en
Publication of JP2017054204A publication Critical patent/JP2017054204A/ja
Application granted granted Critical
Publication of JP6515752B2 publication Critical patent/JP6515752B2/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/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
    • 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/0689Disk arrays, e.g. RAID, JBOD

Description

本発明は、ストレージ制御装置、制御方法、および制御プログラムに関する。
従来、ストレージ装置に対応する代替ストレージ装置を通電状態で待機しておき、ストレージ装置が故障した際に、ストレージ装置の代わりに代替ストレージ装置を用いる技術がある。また、代替ストレージ装置が正常に機能するか否かを確認する確認処理を定期的に実行して、代替ストレージ装置の信頼性を保証する技術がある。
関連する先行技術として、例えば、CPU(Central Processing Unit)からメモリブロックへのアクセス回数をカウントし、アクセス回数が所定値を超えた場合にメモリブロックに対して、周期的にメモリブロックの誤り検出および誤り訂正を行うメモリパトロールの回数を減らすものがある。また、フラッシュメモリデバイスのセルへのアクセス数および情報がメモリデバイスに記憶された後に経過した時間量の少なくとも一つに基づく条件が満足されたときにメモリデバイス中に記憶されている情報の中のエラー検出のためのスキャンを行う技術がある。また、診断制御タイマと診断制御用カウンタにより求めた過去一定時間のチャネルからの命令に関与する入出力処理頻度に応じて、ディスク装置のリード診断の可否およびリード診断対象トラック数を決定し、入出力動作の空き時間にリード診断を行う技術がある。
特開2014−059821号公報 特表2010−537314号公報 特開平5−74059号公報
しかしながら、従来技術によれば、ストレージ装置に対応する代替ストレージ装置の信頼性を維持したまま代替ストレージ装置の確認処理にかかる負荷を抑制することは困難である。例えば、確認処理の実行周期を短くすると、ストレージ装置が故障した際に代替ストレージ装置が故障している可能性が小さくなるため、代替ストレージ装置の信頼性は維持できるものの、代替ストレージ装置の確認処理にかかる負荷が増大することになる。一方、確認処理の実行周期を長くすると、代替ストレージ装置の確認処理にかかる負荷は抑制されるものの、ストレージ装置が故障した際に代替ストレージ装置が故障している可能性が高くなるため、代替ストレージ装置の信頼性が低下することになる。
1つの側面では、本発明は、ストレージ装置に対応する代替ストレージ装置の信頼性を維持して代替ストレージ装置の確認処理にかかる負荷を抑制することができるストレージ制御装置、制御方法、および制御プログラムを提供することを目的とする。
本発明の一側面によれば、フラッシュメモリを記憶媒体とするストレージ装置から取得した、ストレージ装置の書き込みデータ量を記憶部に記憶させ、記憶部が記憶するストレージ装置の書き込みデータ量とフラッシュメモリの書き込み可能回数から特定される書き込み可能データ量とに基づいて、ストレージ装置に対応する代替ストレージ装置に対する当該代替ストレージ装置が正常に機能するか否かを確認する確認処理の実行周期を決定するストレージ制御装置、制御方法、および制御プログラムが提案される。
本発明の一態様によれば、ストレージ装置に対応する代替ストレージ装置の信頼性を維持して代替ストレージ装置の確認処理にかかる負荷を抑制することができるという効果を奏する。
図1は、本実施の形態にかかるストレージ制御装置101の動作例を示す説明図である。 図2は、ストレージシステム200の構成例を示す説明図である。 図3は、CM201aのハードウェア構成例を示すブロック図である。 図4は、CM201aの機能構成例を示すブロック図である。 図5は、ホットスペアパトロール周期閾値管理テーブル411の記憶内容の一例を示す説明図である。 図6は、複数のRAIDグループを有する場合のホットスペアのパトロール周期の一例を示す説明図である。 図7は、ホットスペア設定処理手順の一例を示すフローチャートである。 図8は、ホットスペアのパトロール処理手順の一例を示すフローチャートである。 図9は、ホットスペアパトロール周期閾値設定処理手順の一例を示すフローチャートである。 図10は、書き込みデータ量閾値超え判定処理手順の一例を示すフローチャートである。 図11は、SSD追加処理手順の一例を示すフローチャートである。
以下に図面を参照して、開示のストレージ制御装置、制御方法、および制御プログラムの実施の形態を詳細に説明する。
図1は、本実施の形態にかかるストレージ制御装置101の動作例を示す説明図である。ストレージ制御装置101は、フラッシュメモリを記憶媒体とする複数のストレージ装置102#1〜3と、ストレージ装置102#4とを制御するコンピュータである。例えば、ストレージ制御装置101は、ストレージ装置102#1〜3によりRAID(Redundant Arrays of Inexpensive Disks)技術によるRAIDグループを形成するとともに、ストレージ装置102#4を、ストレージ装置102#1〜3に対応する代替ストレージ装置に設定する。ストレージ制御装置101は、例えば、ストレージ装置102#4を通電状態で待機しておき、ストレージ装置102#1〜3のいずれかが故障した際に、故障したストレージ装置102の代わりとして用いる。以下、代替ストレージ装置を、「ホットスペア(HS:Hot Spare)」と呼称する。
RAID技術は、複数のストレージ装置を組み合わせて仮想的なディスクとして運用する技術である。ストレージ制御装置101は、RAID技術を用いて、RAIDグループに属するストレージ装置により、1つの仮想的なディスクを形成する。ここで、RAIDには、仮想的なディスクの形成の仕方を表すRAIDレベルが存在する。RAIDレベルは、RAID0〜RAID6までのRAIDレベルが存在する。また、RAIDには、RAID0+1というように、複数のRAIDレベルを組み合わせたレベルも存在する。本実施の形態は、どのRAIDレベルであっても適用することができる。ストレージ制御装置101を利用する利用者は、構成ドライブ、構成RAIDグループ、構成RAIDレベル、論理容量を選択、設定することにより、任意の論理ボリュームを使用することができる。
ストレージ装置102#1〜3は、フラッシュメモリを記憶媒体とするストレージ装置、すなわち、SSD(Solid State Drive)である。フラッシュメモリには、具体的には、例えば、NOR型のフラッシュメモリとNAND型のフラッシュメモリとがある。フラッシュメモリは、書き込みを行う度に絶縁体となる酸化膜が貫通する電子によって劣化するため、書き込み可能回数が存在する。ここで、書き込み可能回数は、書き込み可能な上限となる回数である。そこで、フラッシュメモリは、保証期間内で、書き込み可能回数に基づいた書き込み可能な書き込み可能データ量を示すTBW(Total Bytes Written)の情報を有する。また、ストレージ装置102#4は、フラッシュメモリを記憶媒体とするストレージ装置であってもよいし、他のストレージ装置として、HDD(Hard Disk Drive)等でもよい。
ストレージ制御装置101は、ホットスペアとなるストレージ装置102#4に対しても、ドライブの健全性を確保することを目的として、正常に機能するか否かを確認する確認処理を定期的に実行する。以下、確認処理を、「パトロール処理」と呼称する。また、パトロール処理の実行周期を、「パトロール周期」と呼称する。ホットスペアのパトロール処理を定期的に行うことにより、ホットスペアの信頼性を維持することができる。ここで、ホットスペアの信頼性とは、ホットスペアに対応するストレージ装置102が故障した際にホットスペアが正常に機能する可能性を示す。
ホットスペアに対してパトロール処理を定期的に行う理由は、ホットスペアに対応するストレージ装置102が故障した際にホットスペアが故障している可能性があるためである。ホットスペアがHDDである場合、HDDの故障としては、例えば、駆動系等の機械的な故障が考えられる。また、ホットスペアがSSDである場合、SSDでは機械的な故障は発生しないため、SSDは、HDDに比べ故障する可能性は低い。しかしながら、発生する可能性は低いものの、ホストからの監視時間に対して、SSDが応答を行えずタイムアウトになってしまった場合、ホストは、SSDが故障したものとみなすことになる。また、SSDには、停電中に書き込むデータを保証するための電力を蓄えるコンデンサを有するものがある。そして、発生する可能性は低いものの、前述のコンデンサが故障すると、SSDが故障したことになる。
ここで、パトロール処理の具体例として、ストレージ制御装置101は、ReadコマンドやVerifyコマンドをストレージ装置102#4に発行する。例えば、ストレージ制御装置101がReadコマンドを送信したとする。この場合、Readコマンドを受け付けたストレージ装置102#4は、記憶媒体となるフラッシュメモリからデータを読み出して、正常に読み出せたか否かを示す情報と、読み出したデータとをストレージ制御装置101に送信する。また、ストレージ制御装置101がVerifyコマンドを送信したとする。この場合、Verifyコマンドを受け付けたストレージ装置102#4は、記憶媒体となるフラッシュメモリからデータを読み出して、正常に読み出せたか否かを示す情報をストレージ制御装置101に送信する。Readコマンドを送信した場合とVerifyコマンドを送信した場合とのいずれの場合であっても、ストレージ制御装置101は、正常に読み出せたことを示す情報を受け付けた場合、ストレージ装置102#4が正常であることを確認する。
このように、Verifyコマンドを用いた方が、読み出したデータを転送しない分、Readコマンドを用いる場合と比較して、ストレージ制御装置101とストレージ装置102#4とを接続するバスにかかる負荷を抑制することができる。
ここで、ホットスペアの信頼性を維持したままホットスペアのパトロール処理にかかる負荷を抑制することは困難である。例えば、パトロール周期を短くすると、ストレージ装置102が故障した際にホットスペアが故障している可能性が小さくなるため、ホットスペアの信頼性は維持できるものの、ホットスペアのパトロール処理にかかる負荷が増大することになる。一方、パトロール周期を長くすると、ホットスペアのパトロール処理にかかる負荷は抑制されるものの、ストレージ装置が故障した際にホットスペアが故障している可能性が高くなるため、ホットスペアの信頼性が低下することになる。
また、ホットスペアのパトロール処理により異常を検出した場合、ストレージ制御装置は、ホットスペアを故障と判断し、ホットスペアの切り離しを実施するが、利用者視点では使用していないにも関わらず、故障が発生することもあり不満となる。また、ホットスペアがSSDである場合、ReadコマンドやVerifyコマンドが繰り返し行われると、読み出しが繰り返されることによりビットエラーが発生する、いわゆるリードディスターブが起きることがある。従って、過度なReadコマンドやVerifyコマンドは、ホットスペアの劣化を助長することになる。
そこで、本実施の形態では、ホットスペアのパトロール周期を、ストレージ装置102#1〜3の書き込みデータ量とTBWとに基づき決定する方法について説明する。図1を用いて、ストレージ制御装置101の動作例について説明する。図1の例において、ストレージ装置102#1〜3のTBWは、3.0[PB(Peta Byte)]であるとする。
図1の上部において、ストレージ制御装置101は、ストレージ装置102#1〜3の書き込みデータ量を取得し、ストレージ制御装置101がアクセス可能な記憶部に記憶する。図1の上部の例では、ストレージ制御装置101は、ストレージ装置102#1〜3の書き込みデータ量として、ストレージ装置102#1〜3から、それぞれ、1.06[PB]、1.04[PB]、1.62[PB]を取得する。ストレージ制御装置101は、取得したストレージ装置102#1〜3の書き込みデータ量を記憶部に記憶する。
そして、ストレージ制御装置101は、ストレージ装置102#1〜3の書き込みデータ量と、ストレージ装置102のTBWとに基づいて、ホットスペアとなるストレージ装置102#4のパトロール周期を決定する。例えば、図1の上部の例において、ストレージ制御装置101は、ストレージ装置102#1〜3の書き込みデータ量のうち最大となる1.62[PB]を特定する。そして、ストレージ制御装置101は、ホットスペアとなるストレージ装置102#4のパトロール周期を、1.62[PB]に対応する月1回として決定する。
ここで、ストレージ制御装置101は、例えば、書き込みデータ量とパトロール周期とを対応付けたテーブルを参照して、ホットスペアのパトロール周期を決定してもよい。例えば、テーブルには、書き込みデータ量の閾値を設定しておく。そして、ストレージ制御装置101は、テーブルを参照して、閾値を超えない場合には、低頻度、すなわち長い周期をホットスペアのパトロール周期として決定し、閾値を超えた場合には、高頻度、すなわち短い周期をホットスペアのパトロール周期として決定する。テーブルを用いた例については、図5で説明する。
または、ストレージ制御装置101の管理者が、書き込みデータ量が0の場合のパトロール周期と、書き込みデータ量がTBWの場合のパトロール周期とを予め設定しておく。そして、ストレージ制御装置101は、ホットスペアのパトロール周期を、最大の書き込みデータ量と、書き込みデータ量が0の場合のパトロール周期と、書き込みデータ量がTBWの場合のパトロール周期とを用いた線形補完により決定してもよい。例えば、書き込みデータ量が0の場合のパトロール周期が9時間に一回であり、書き込みデータ量がTBWの場合のパトロール周期が1時間に一回であったとする。ここで、書き込みデータ量がTBWの半分の値であれば、ストレージ制御装置101は、ホットスペアのパトロール周期を、中間の値となる5時間に一回に決定する。
次に、図1の下部では、図1の上部で示した状態から相当の時間が経過して、ストレージ装置102#1〜3の書き込みデータ量が増加した例を示す。図1の下部の例では、ストレージ制御装置101は、ストレージ装置102#1〜3の書き込みデータ量として、ストレージ装置102#1〜3から、それぞれ、1.56[PB]、1.54[PB]、2.12[PB]を取得する。ストレージ制御装置101は、取得したストレージ装置102#1〜3の書き込みデータ量を記憶部に記憶する。
そして、ストレージ制御装置101は、ストレージ装置102#1〜3の書き込みデータ量と、ストレージ装置102のTBWとに基づいて、パトロール周期を決定する。例えば、図1の下部の例において、ストレージ制御装置101は、ストレージ装置102#1〜3の書き込みデータ量のうち最大となる2.12[PB]を特定する。そして、ストレージ制御装置101は、ホットスペアとなるストレージ装置102#4のパトロール周期を、2.12[PB]に対応する週1回として決定する。
このように、ストレージ制御装置101は、ストレージ装置102#1〜3の故障し易さを示唆する書き込みデータ量に応じたパトロール周期でホットスペアとなるストレージ装置102#4のパトロール処理を行う。従って、ストレージ装置102#4の信頼性を維持してストレージ装置102#4のパトロール処理にかかる負荷を抑制できる。また、ストレージ装置102#4がSSDであれば、フラッシュメモリへの読み出しを抑制することができるため、劣化を抑制し、高寿命化を図ることができる。
例えば、図1の上部では、ストレージ装置102#1〜3が故障する可能性は比較的小さいため、パトロール周期を長くすることにより、ストレージ装置102#4のパトロール処理にかかる負荷を抑制することができる。また、図1の下部では、ストレージ装置102#3が故障する可能性が大きくなってきたため、パトロール周期を短くすることにより、ストレージ装置102#4の信頼性を維持することができる。
なお、図1では、ストレージ制御装置101は、ストレージ装置102#1〜3によりRAIDグループを形成した例を説明したが、これに限らない。例えば、本実施の形態は、1つのストレージ装置102に対応する1つのホットスペアがある場合にも適用することができる。また、図1では、ホットスペアのパトロール周期を決定する例を説明したが、これに限らない。例えば、ストレージ制御装置101は、所定期間のうちに何回ホットスペアのパトロール処理を実行するかという回数を決定してもよい。次に、ストレージ制御装置101を、ストレージシステムの制御装置に適用した例を、図2を用いて説明する。
図2は、ストレージシステム200の構成例を示す説明図である。ストレージシステム200は、CM(Controller Module)201a、201bと、CM201a、201bとホストコンピュータ211との接続制御を行うチャネルアダプタ203a〜203dと、デバイスエンクロージャ202とを有する。図2に示すCM201aと、201bとが、図1に示したストレージ制御装置101に相当する。
ストレージシステム200は、内蔵する複数の記憶デバイスに対するデータの入出力を行う。ストレージシステム200は、RAID1〜6等のRAID機能を有し、複数の記憶デバイスをまとめてRAIDを形成することにより、各RAIDをそれぞれ1台の記憶デバイスとして管理する。
CM201a、201bは、ストレージシステム200全体の制御を行う。また、CM201aおよびCM201bは、バス204によって接続される。このバス204を介して、CM201aおよびCM201bの間で、制御情報やデータが通信される。
ホストコンピュータ211は、業務処理を実行するコンピュータであり、ファイバチャネル(Fibre Channel)で形成されたSAN(Storage Area Network)を介してストレージシステム200とデータ通信可能に接続される。ホストコンピュータ211は、業務処理に使用するデータについて、ストレージシステム200への保存およびストレージシステム200からの読み出しを行う。
デバイスエンクロージャ202は、図1で示したストレージ装置102に相当するSSD#1〜Nおよび図示しない他の複数の記憶デバイスを含む。デバイスエンクロージャ202内の複数の記憶デバイスにより、RAIDグループが生成される。RAIDグループは、RAIDの技術を用いた論理記憶領域である。以下の説明では、説明の簡略化のため、SSD#1〜3によりRAID5のRAIDグループを形成しており、SSD#4は、SSD#1〜3により形成されたRAIDグループに対応付けられたホットスペアであるとする。従って、SSD#1〜3が、図1に示したストレージ装置102#1〜3に相当する。そして、SSD#4が、図1に示したストレージ装置102#4に相当する。また、SSD#1〜Nのうち、RAIDグループにも組み込まれず、ホットスペアにも設定されないSSDがあってもよい。
SSD#1〜Nは、RAIDを構成可能なSSDである。また、デバイスエンクロージャ202が有する他のストレージ装置は、SSD以外のフラッシュメモリを用いた記憶媒体を用いてもよい。例えば、デバイスエンクロージャ202が有する他のストレージ装置は、EEPROM(Electrically Erasable Programmable Read−Only Memory)等のフラッシュメモリ以外の不揮発性半導体メモリを用いた記憶媒体を用いてもよい。または、デバイスエンクロージャ202が有する他のストレージ装置は、磁気記憶媒体にデータを記録するHDDであってもよい。
チャネルアダプタ203a〜203dは、ホストコンピュータ211とCM201a、201bとの接続制御を行う。例えば、チャネルアダプタ203aは、ホストコンピュータ211からの要求を受け付けて、CM201aとの接続制御を行う。CM201a、201bは、それぞれ複数個(図2ではそれぞれ2個)のチャネルアダプタ203a〜203dに接続可能になっている。すなわち、例えばCM201aは、冗長構成が実現されるように、2つの異なるチャネルアダプタ203a、203bにそれぞれ接続される。
なお、チャネルアダプタ203a〜203dとホストコンピュータ211との間の通信は、ファイバチャネルで形成されたSANによって接続されるが、ファイバチャネル以外の接続方式によって接続されてもよい。また、チャネルアダプタ203a〜203dとホストコンピュータ211との間の通信は、専用線やVPN(Virtual Private Network)を用いて、ストレージシステム200をホストコンピュータ211から遠隔地に設置するように構成してもよい。
なお、図2において、CM201a、201bは2個図示しており、およびチャネルアダプタ203a〜203dは、CM201a、201bそれぞれに対してそれぞれ2個ずつ図示したが、これらの数はそれぞれ任意である。また、デバイスエンクロージャ202は、1個図示したが、デバイスエンクロージャの数は任意である。
図3は、CM201aのハードウェア構成例を示すブロック図である。CM201aは、CPU301a、メモリ302a、およびデバイスインタフェース(Device Interface)303a_a、303a_bを有する。CPU301a〜デバイスインタフェース303a_bは、それぞれ、バス304aにより接続される。
CPU301aは、OS(Operating System)などに従って処理を実行し、各種制御を行う。また、CM201aは、メモリ302a、デバイスエンクロージャ202が有するSSD#1〜4および他のストレージ装置、チャネルアダプタ203a〜203dなどの資源管理を行う。
メモリ302aは、CPU301aがストレージシステム200を制御する際に用いる制御データを記憶する。また、メモリ302aは、デバイスエンクロージャ202が有する各ストレージ装置に読み書きされる入出力データを一時的に記憶する。
デバイスインタフェース303a_a、303a_bは、デバイスエンクロージャ202が有する各ストレージ装置との接続制御を行う。また、CM201a、201bは、制御装置として機能し、ストレージシステム200に対して着脱可能である。ここで、CM201bは、CM201aと同一の構成であるため、説明を省略する。
(CM201の機能構成例)
図4は、CM201aの機能構成例を示すブロック図である。CM201aは、制御部400と、記憶部410とを有する。制御部400は、特定部401と、決定部402と、実行部403と、を含む。制御部400は、記憶装置に記憶されたプログラムをCPU301が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図3に示したメモリ302や、SSD#1〜Nなどである。また、各部の処理結果は、CPU301のレジスタや、CPU301のキャッシュメモリ、メモリ302等に格納される。
また、CM201aは、ホットスペアパトロール周期閾値管理テーブル411にアクセス可能である。ホットスペアパトロール周期閾値管理テーブル411は、書き込み可能データ量の所定の割合に応じた確認処理の実行周期を示す周期情報を記憶する。書き込みデータ量の所定の割合は、TBWに対するパトロール周期を変更する書き込みデータ量の閾値の割合である。書き込みデータ量の所定の割合は、0以上1以下の値であり、例えば、0.3、0.6等である。ホットスペアパトロール周期閾値管理テーブル411の情報は、記憶部410であるメモリ302といった記憶装置に格納される。ホットスペアパトロール周期閾値管理テーブル411の記憶内容の一例を、図5で示す。
記憶部410は、RAIDグループ内の各々のSSDから取得した、各々のSSDの書き込みデータ量を記憶してもよい。また、記憶部410は、SSD#1〜NのいずれかのSSDから取得した、いずれかのSSDの書き込みデータ量を記憶する。
決定部402は、RAIDグループ内の各々のSSDの書き込みデータ量とTBWとに基づいて、ホットスペアのパトロール周期を決定する。例えば、決定部402は、図1で記載した方法により、ホットスペアのパトロール周期を決定する。
また、例えば、RAIDグループ内の各々のSSDのTBWが全て同一であれば、決定部402は、TBWに対する、各々のSSDの書き込みデータ量のうちの最大の書き込みデータ量の割合を求める。そして、決定部402は、求めた割合に応じたパトロール周期を、ホットスペアのパトロール周期として決定してもよい。また、RAIDグループ内の各々のSSDのTBWが異なるのであれば、まず、決定部402は、各々のTBWに対する、各々のSSDの書き込みデータ量のうちの書き込みデータ量の割合をそれぞれ求める。そして、決定部402は、それぞれ求めた割合のうち最大の割合に応じたパトロール周期を、ホットスペアのパトロール周期として決定してもよい。
また、決定部402は、ホットスペアパトロール周期閾値管理テーブル411を参照して、各々のストレージ装置の書き込みデータ量に基づいて、ホットスペアに対する確認処理を実行する周期を決定してもよい。
また、決定部402は、さらに、RAIDグループ内の各々のSSDの書き込みデータ量とTBWとに基づいて、ホットスペアに対する確認処理の完了後にホットスペアの動作を停止させるか否かを決定してもよい。
実行部403は、決定部402が決定したパトロール周期で、ホットスペアのパトロール処理を実行する。また、実行部403は、SSD#1〜Nのうち、RAIDグループ、ホットスペアのいずれにも該当しないSSDについては、パトロール処理を行わない。
また、複数のRAIDグループに対応する2以上のホットスペアがあるとする。この場合、特定部401は、複数のRAIDグループの各々のRAIDグループ内の各々のSSDの書き込みデータ量に基づいて、各々のRAIDグループ内の最大の書き込みデータ量を特定する。そして、決定部402は、ホットスペアパトロール周期閾値管理テーブル411を参照して、特定した各々のRAIDグループの最大の書き込みデータ量に応じた周期が短い順に、当該周期を各々のホットスペアに対してパトロール周期として順次決定する。具体的な決定例は、図6で説明する。
図5は、ホットスペアパトロール周期閾値管理テーブル411の記憶内容の一例を示す説明図である。ホットスペアパトロール周期閾値管理テーブル411は、書き込みデータ量に応じたパトロール周期とパトロール処理内容とを管理するテーブルである。図5に示すホットスペアパトロール周期閾値管理テーブル411は、レコード501−1〜4を有する。
ホットスペアパトロール周期閾値管理テーブル411は、TBW閾値と、書き込みデータ量閾値と、パトロール周期と、パトロール処理内容というフィールドを含む。TBW閾値フィールドには、TBWを1とした際のパトロール周期を変える閾値となる、所定の割合が格納される。書き込みデータ量閾値フィールドには、TBW閾値に基づいて算出された、パトロール周期やパトロール処理内容が変化する書き込みデータ量の閾値が格納される。パトロール周期フィールドには、SSDの書き込みデータ量が書き込みデータ量閾値を超えた際のホットスペアのパトロール処理を行う周期を示す値が格納される。パトロール処理内容フィールドには、書き込みデータ量が書き込みデータ量閾値を超えた際のホットスペアのパトロール処理の内容を示すデータが格納される。
図5に示すホットスペアパトロール周期閾値管理テーブル411は、SSDのTBWが3[PB]である例を示す。例えば、レコード501−1は、SSDの書き込みデータ量が0.9[PB]以下である場合には、ホットスペアのパトロール処理を周期的に行わないことを示す。さらに、レコード501−1は、ホットスペアのパトロール処理の内容が、ホットスペアを起動させ、初回の電源投入時だけ全面verifyを実行し、ホットスペア停止を実行することを示す。
また、レコード501−2は、SSDの書き込みデータ量が1.8[PB]以下であり、かつ、0.9[PB]を超える場合、ホットスペアのパトロール処理を月1回行うことを示す。さらに、レコード501−2は、ホットスペアのパトロール処理内容が、ホットスペアを起動させ、全面verifyを実行し、ホットスペア停止を実行することを示す。
また、レコード501−3は、SSDの書き込みデータ量が2.7[PB]以下であり、かつ、1.8[PB]を超える場合、ホットスペアのパトロール処理を週1回行うことを示す。さらに、レコード501−3は、ホットスペアのパトロール処理の内容が、ホットスペアを起動させ、全面verifyを実行し、ホットスペア停止を実行することを示す。
また、レコード501−4は、SSDの書き込みデータ量が2.7[PB]を超える場合、ホットスペアのパトロール処理を1秒ごとに行う。さらに、パトロール処理の内容がホットスペア起動後、1秒ごとに小セクタ分だけverify CMDを実行し続け、ホットスペアは停止しないことを示す。
図5の例では、SSDの書き込みデータ量が2.7[PB]を超えない場合、SSDが故障する可能性が少ないため、ホットスペアのパトロール処理には、ホットスペア停止が含まれる。これに対し、SSDの書き込みデータ量が2.7[PB]を超えた場合には、SSDが故障する可能性が高いため、ホットスペアのパトロール処理には、ホットスペア停止が含まれない。
次に、複数のRAIDグループとホットスペアが多対多で対応付いている場合におけるホットスペアのパトロール周期の決定例について、図6を用いて説明する。
図6は、複数のRAIDグループを有する場合のホットスペアのパトロール周期の一例を示す説明図である。図6の例では、ストレージシステム200は、RAIDグループR1〜R4という、4つのRAIDグループを有するとする。そして、RAIDグループR1〜R4に対して、ホットスペアHS#1、2という2つのホットスペアを設定したとする。
以下、説明の簡略化のために、RAIDグループR1〜R4のそれぞれを、単に、R1〜R4と記載する。また、図6の例では、説明の簡略化のために、RAIDグループR1〜R4に含まれる全てのSSDのTBWが3[PB]であるとする。なお、SSDのTBWは各RAIDグループで異なってよく、この場合、CM201aは、各RAIDグループに対応するホットスペアパトロール周期閾値管理テーブル411を記憶する。
図6に示す表601は、R1〜R4それぞれのRAIDグループ内の最大の書き込みデータ量を示す。具体的には、表601は、R1内の最大の書き込みデータ量が、1.02[PB]であり、R2〜R4内の最大の書き込みデータ量が0[PB]であることを示す。
CM201aは、複数のRAIDグループの各々のRAIDグループの最大の書き込みデータ量に応じたパトロール周期を、パトロール周期の短い順に、2以上のホットスペアの各々のホットスペアのパトロール周期として順次決定する。例えば、表601の例では、RAIDグループの最大の書き込みデータ量は、大きい順に、1.02[PB]、0[PB]となる。そして、図5に示したホットスペアパトロール周期閾値管理テーブル411を参照すると、パトロール周期は、短い順に、月1回、周期的に行わない、となる。従って、CM201aは、最も短いパトロール周期となる月1回を、ホットスペアHS#1のパトロール周期として決定し、次に短いパトロール周期となるパトロール処理を周期的に行わないことを、ホットスペアHS#2のパトロール周期として決定する。
次に、表601で示した状態からある程度の時間が経過した状態におけるR1〜R4それぞれのRAIDグループ内の最大の書き込みデータ量を、表602として示す。具体的には、表602は、R1内の最大の書き込みデータ量が2.85[PB]であり、R3内の最大の書き込みデータ量が1.51[PB]であり、R2、R4内の最大の書き込みデータ量が0[PB]であることを示す。
表602の例では、RAIDグループの最大の書き込みデータ量は、大きい順に、2.85[PB]、1.51[PB]、0[PB]となる。そして、図5に示したホットスペアパトロール周期閾値管理テーブル411を参照すると、パトロール周期は、短い順に、1秒ごと、月1回、周期的に行わない、となる。従って、CM201aは、最も短いパトロール周期となる1秒ごとを、ホットスペアHS#1のパトロール周期として決定し、次に短いパトロール周期となる月1回を、ホットスペアHS#2のパトロール周期として決定する。
次に、CM201aが実行するフローチャートを、図7〜図11を用いて説明する。
図7は、ホットスペア設定処理手順の一例を示すフローチャートである。ホットスペア設定処理は、RAIDグループに対応するホットスペアを設定する処理である。また、ホットスペア設定処理は、RAIDグループを形成する際に実行される。
CM201aは、SSD#1〜#NのいくつかからのSSDにより、RAIDグループを作成する(ステップS701)。次に、CM201aは、作成したRAIDグループに論理ボリュームを割り当てる(ステップS702)。そして、CM201aは、作成したRAIDグループに対応するホットスペアを設定する(ステップS703)。ステップS703の処理終了後、CM201aは、ホットスペア設定処理を終了する。ホットスペア設定処理を実行することにより、CM201aは、作成したRAIDグループの信頼性を高めることができる。
図8は、ホットスペアのパトロール処理手順の一例を示すフローチャートである。ホットスペアのパトロール処理は、ホットスペアの健全性を確認する処理である。また、ホットスペアのパトロール処理は、決定したパトロール周期に従って実行される。
CM201aは、担当RAIDグループの現在のパトロール周期を確認する(ステップS801)。次に、CM201aは、担当RAIDグループの書き込みデータ量に応じたホットスペアのパトロール処理を実行する(ステップS802)。ステップS802の処理終了後、CM201aは、ホットスペアのパトロール処理を終了する。パトロール処理を実行することにより、CM201aは、書き込みデータ量に応じた周期で、ホットスペアのパトロール処理を行うことができる。
図9は、ホットスペアパトロール周期閾値設定処理手順の一例を示すフローチャートである。ホットスペアパトロール周期閾値設定処理は、ホットスペアパトロール周期閾値管理テーブル411を作成して、書き込みデータ量閾値を設定する処理である。
CM201aは、RAIDグループ内の各SSDのTBWを取得する(ステップS901)。次に、CM201aは、取得した各SSDのTBWに基づいて、ホットスペアパトロール周期閾値管理テーブル411を作成する(ステップS902)。
具体的には、まず、CM201aは、ホットスペアパトロール周期閾値管理テーブル411の各フィールドのうち、書き込みデータ量閾値フィールドの値が空欄となるホットスペアパトロール周期閾値管理テーブル411を記憶する。そして、CM201aは、取得したTBWと、ホットスペアパトロール周期閾値管理テーブル411の各レコードのTBW閾値を乗算した値を、各レコードの書き込みデータ量閾値フィールドに格納する。例えば、取得したTBWが3[PB]である場合、レコード501−2について、CM201aは、0.3×3=0.9[PB]を、レコード501−2の書き込みデータ量閾値フィールドに格納する。
ステップS902の処理終了後、CM201aは、ホットスペアパトロール周期閾値設定処理を終了する。ホットスペアパトロール周期閾値設定処理を実行することにより、CM201aは、SSDのTBWに応じた書き込みデータ量閾値を設定することができる。
図10は、書き込みデータ量閾値超え判定処理手順の一例を示すフローチャートである。書き込みデータ量閾値超え判定処理は、書き込みデータ量閾値を超えたか否かを判定する処理である。また、書き込みデータ量閾値超え判定処理は、定期的に実行される。
CM201aは、RAIDグループ内の各SSDにlog senseコマンドを発行して、書き込みデータ量を取得する(ステップS1001)。次に、CM201aは、少なくとも1つのSSDの書き込みデータ量が書き込みデータ量閾値を超えたか否かを判断する(ステップS1002)。全てのSSDの書き込みデータ量が書き込みデータ量閾値を超えない場合(ステップS1002:No)、CM201aは、ステップS1001の処理に移行する。一方、少なくとも1つのSSDの書き込みデータ量が書き込みデータ量閾値を超えた場合(ステップS1002:Yes)、CM201aは、少なくとも1つのホットスペアのパトロール周期を変更する(ステップS1003)。
ステップS1003の処理において、CM201aは、2つ以上のホットスペアのパトロール周期を変更してもよい。例えば、ステップS1002の処理において、あるRAIDグループ内の2つのSSDの書き込みデータ量が、書き込みデータ量閾値として、2.7[PB]を超えたとする。また、あるRAIDグループのホットスペアとして設定されたSSDが2以上あるとする。この場合、ステップS1003の処理において、CM201aは、あるRAIDグループのホットスペアとして設定されたSSDのうち、2つのSSDのホットスペアのパトロール周期を1秒ごとに変更する。
次に、CM201aは、最大の書き込みデータ量が書き込みデータ量閾値を超えるRAIDグループの数が増えたか否かを判断する(ステップS1004)。最大の書き込みデータ量が書き込みデータ量閾値を超えるRAIDグループの数が増えた場合(ステップS1004:Yes)、CM201aは、パトロール周期を変更していないホットスペアがあるか否かを判断する(ステップS1005)。
パトロール周期を変更していないホットスペアがある場合(ステップS1005:Yes)、CM201aは、パトロール周期を変更するホットスペアを増加させる(ステップS1006)。ステップS1006の処理について、例えば、4つのRAIDグループがあり、4つのRAIDグループのホットスペアとして設定されたSSDが2つあるとする。この場合に、ステップS1004の処理において、最大の書き込みデータ量が書き込みデータ量を超えるRAIDグループの数が1から2に増えたとする。そして、2つのホットスペアのうち、1つのホットスペアのパトロール周期が1秒ごとであり、もう一つのホットスペアのパトロール周期が週1回であって、かつ、パトロール周期を変更していないとものとする。この場合、ステップS1006の処理において、CM201aは、もう一つのホットスペアのパトロール周期を1秒ごとに変更する。ステップS1006の処理終了後、CM201aは、書き込みデータ量閾値超え判定処理を終了する。
最大の書き込みデータ量が書き込みデータ量閾値を超えるRAIDグループの数が増えていない場合(ステップS1004:No)、パトロール周期を変更していないホットスペアがない場合(ステップS1005:No)、CM201aは、ステップS1001の処理に移行する。書き込みデータ量閾値超え判定処理を実行することにより、CM201aは、SSDが故障する可能性が高まった場合にパトロール周期を短くして、ホットスペアの信頼性を高めることができる。
図11は、SSD追加処理手順の一例を示すフローチャートである。SSD追加処理は、RAIDグループにSSDを追加する処理である。
CM201aは、担当RAIDグループに新たなSSDを追加する(ステップS1101)。次に、CM201aは、担当RAIDグループの最大の書き込みデータ量が書き込みデータ量閾値以下か否かを判断する(ステップS1102)。
担当RAIDグループの最大の書き込みデータ量が書き込みデータ量閾値以下である場合(ステップS1102:Yes)、CM201aは、担当RAIDグループのホットスペアのパトロール周期を長く設定する(ステップS1103)。ステップS1102とステップS1103との処理について、例えば、書き込みデータ量閾値を2.7[PB]とし、あるRAIDグループ内のSSDを交換した結果、最大の書き込みデータ量が、2.8[PB]から1.9[PB]に下がったとする。この場合、CM201aは、あるRAIDグループのホットスペアのパトロール周期を1秒ごとから週1回に設定する。
ステップS1103の処理終了後、または、担当RAIDグループの最大の書き込みデータ量が書き込みデータ量閾値より大きい場合(ステップS1102:No)、CM201aは、SSD追加処理を終了する。SSD追加処理を実行することにより、CM201aは、故障する可能性が低くなった場合にホットスペアのパトロール周期を長くして、ホットスペアの寿命を長くすることができる。
以上説明したように、CM201aによれば、あるSSDの書き込みデータ量とTBWとに基づいて、SSDに対応するホットスペアのパトロール処理の実行周期を決定する。これにより、CM201aは、ホットスペアの信頼性を維持してホットスペアのパトロール処理にかかる負荷を抑制することができる。
また、CM201aによれば、RAIDグループの各々のSSDの書き込みデータ量とTBWとに基づいて、RAIDグループに対応するホットスペアのパトロール周期を決定してもよい。これにより、CM201aは、RAIDグループの中で最も故障する可能性が高いSSDにあわせて、RAIDグループに対応するホットスペアのパトロール処理の実行周期を決定することができる。
また、CM201aによれば、ホットスペアパトロール周期閾値管理テーブル411を参照して、ホットスペアのパトロール周期を決定してもよい。これにより、CM201aは、ホットスペアのパトロール周期の設定を、線形補完で求めるものより自由に行うことができる。例えば、図5で示すように、CM201aは、最大の書き込みデータ量がTBW×0.3未満であればパトロール周期の設定を行わず、最大の書き込みデータ量が、TBW×0.9以上になった場合に1秒おきという設定を行うことができる。
また、CM201aによれば、RAIDグループの各々のSSDの書き込みデータ量とTBWとに基づいて、RAIDグループに対応するホットスペアの動作を停止させるか否かを決定してもよい。具体的には、書き込みデータ量が小さい場合、ホットスペアを用いる可能性は小さいため、パトロール処理完了後にホットスペアの動作を停止させることにより、ホットスペアにかかる消費電力を削減することができる。また、書き込みデータ量が大きい場合、ホットスペアを用いる可能性が大きいため、パトロール処理完了後にも通電状態として動作し続けることにより、SSDが故障した際すぐにホットスペアを用いることができるため、復旧にかかる時間を短縮することができる。
また、複数のRAIDグループに対応する2以上のホットスペアがあるとする。この場合に、CM201aによれば、ホットスペアパトロール周期閾値管理テーブル411を参照して、各々のRAIDグループの最大の書き込みデータ量に応じた周期が短い順に、周期を各々のホットスペアのパトロール周期として順次決定してもよい。これにより、CM201aは、全てのホットスペアのパトロール周期を、各々のRAIDグループの最大の書き込みデータ量のうちの最大の書き込みデータ量に応じた周期として決定するより、ホットスペアのパトロール処理にかかる負荷を抑制することができる。
また、ホットスペアは、SSDであってもよい。これにより、ホットスペアとなったSSDのリードディスターブの発生を抑制することができ、ホットスペアとなったSSDが故障するまでの期間を長くすることができて、ホットスペアとなったSSDの高寿命化を図ることができる。
また、ホットスペアとなったSSDは、可能性は低くとも故障する場合があるため、閑散時間帯であっても最低限のアクセス頻度で、効果的な診断を実施することが求められる。従って、本実施の形態では、RAIDグループの各SSDの書き込みデータ量が小さい場合でも、最低限の頻度のパトロール処理を行って、ホットスペアの故障を発見することができる。
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)フラッシュメモリを記憶媒体とするストレージ装置から取得した、前記ストレージ装置の書き込みデータ量を記憶する記憶部と、
前記記憶部が記憶する前記ストレージ装置の書き込みデータ量と前記フラッシュメモリの書き込み可能回数から特定される書き込み可能データ量とに基づいて、前記ストレージ装置に対応する代替ストレージ装置に対する当該代替ストレージ装置が正常に機能するか否かを確認する確認処理の実行周期を決定する制御部と、
を有することを特徴とするストレージ制御装置。
(付記2)前記ストレージ装置は、RAIDグループを形成するいずれかのストレージ装置であり、
前記記憶部は、
前記RAIDグループ内の各々のストレージ装置から取得した、前記各々のストレージ装置の書き込みデータ量を記憶し、
前記制御部は、
前記記憶部が記憶する前記各々のストレージ装置の書き込みデータ量と前記書き込み可能データ量とに基づいて、前記RAIDグループに対応する代替ストレージ装置に対する前記確認処理の実行周期を決定する、
ことを特徴とする付記1に記載のストレージ制御装置。
(付記3)前記制御部は、
前記書き込み可能データ量の所定の割合に応じた前記確認処理の実行周期を示す周期情報を参照して、前記各々のストレージ装置の書き込みデータ量に基づいて、前記代替ストレージ装置に対する前記確認処理を実行する周期を決定する、
ことを特徴とする付記2に記載のストレージ制御装置。
(付記4)前記制御部は、
さらに、前記各々のストレージ装置の書き込みデータ量と前記書き込み可能データ量とに基づいて、前記代替ストレージ装置に対する前記確認処理の完了後に前記代替ストレージ装置の動作を停止させるか否かを決定する、
ことを特徴とする付記2または3に記載のストレージ制御装置。
(付記5)前記制御部は、
2以上の代替ストレージ装置に対応する複数のRAIDグループの各々のRAIDグループ内の各々のストレージ装置の書き込みデータ量に基づいて、前記各々のRAIDグループ内の最大の書き込みデータ量を特定し、
前記書き込み可能データ量の所定の割合に応じた前記確認処理の実行周期を示す周期情報を参照して、特定した前記各々のRAIDグループの最大の書き込みデータ量に応じた周期が短い順に、当該周期を前記2以上の代替ストレージ装置の各々の代替ストレージ装置に対して前記確認処理を実行する周期として順次決定する、
ことを特徴とする付記2〜4のいずれか一つに記載のストレージ制御装置。
(付記6)前記代替ストレージ装置は、フラッシュメモリを記憶媒体とするストレージ装置である、
ことを特徴とする付記1〜5のいずれか一つに記載のストレージ制御装置。
(付記7)フラッシュメモリを記憶媒体とするストレージ装置と、ストレージ装置に対応する代替ストレージ装置と、ストレージ制御装置とを有するストレージシステムであって、
前記ストレージ制御装置は、
フラッシュメモリを記憶媒体とするストレージ装置から、前記ストレージ装置の書き込みデータ量を取得し、
取得した前記ストレージ装置の書き込みデータ量と前記フラッシュメモリの書き込み可能回数から特定される書き込み可能データ量とに基づいて、前記ストレージ装置に対応する代替ストレージ装置に対する当該代替ストレージ装置が正常に機能するか否かを確認する確認処理の実行周期を決定する、
ことを特徴とするストレージシステム。
(付記8)コンピュータが、
フラッシュメモリを記憶媒体とするストレージ装置から取得した、前記ストレージ装置の書き込みデータ量を記憶部に記憶させ、
前記記憶部が記憶する前記ストレージ装置の書き込みデータ量と前記フラッシュメモリの書き込み可能回数から特定される書き込み可能データ量とに基づいて、前記ストレージ装置に対応する代替ストレージ装置に対する当該代替ストレージ装置が正常に機能するか否かを確認する確認処理の実行周期を決定する、
処理を実行することを特徴とする制御方法。
(付記9)コンピュータに、
フラッシュメモリを記憶媒体とするストレージ装置から取得した、前記ストレージ装置の書き込みデータ量を記憶部に記憶させ、
前記記憶部が記憶する前記ストレージ装置の書き込みデータ量と前記フラッシュメモリの書き込み可能回数から特定される書き込み可能データ量とに基づいて、前記ストレージ装置に対応する代替ストレージ装置に対する当該代替ストレージ装置が正常に機能するか否かを確認する確認処理の実行周期を決定する、
処理を実行させることを特徴とする制御プログラム。
101 ストレージ制御装置
102 ストレージ装置
200 ストレージシステム
201 CM
400 制御部
401 特定部
402 決定部
403 実行部
410 記憶部
411 ホットスペアパトロール周期閾値管理テーブル

Claims (8)

  1. フラッシュメモリを記憶媒体とするストレージ装置から取得した、前記ストレージ装置の書き込みデータ量を記憶する記憶部と、
    前記記憶部が記憶する前記ストレージ装置の書き込みデータ量と前記フラッシュメモリの書き込み可能回数から特定される書き込み可能データ量とに基づいて、前記ストレージ装置に対応する代替ストレージ装置に対する当該代替ストレージ装置が正常に機能するか否かを確認する確認処理の実行周期を決定する制御部と、
    を有することを特徴とするストレージ制御装置。
  2. 前記ストレージ装置は、RAIDグループを形成するいずれかのストレージ装置であり、
    前記記憶部は、
    前記RAIDグループ内の各々のストレージ装置から取得した、前記各々のストレージ装置の書き込みデータ量を記憶し、
    前記制御部は、
    前記記憶部が記憶する前記各々のストレージ装置の書き込みデータ量と前記書き込み可能データ量とに基づいて、前記RAIDグループに対応する代替ストレージ装置に対する前記確認処理の実行周期を決定する、
    ことを特徴とする請求項1に記載のストレージ制御装置。
  3. 前記制御部は、
    前記書き込み可能データ量の所定の割合に応じた前記確認処理の実行周期を示す周期情報を参照して、前記各々のストレージ装置の書き込みデータ量に基づいて、前記代替ストレージ装置に対する前記確認処理を実行する周期を決定する、
    ことを特徴とする請求項2に記載のストレージ制御装置。
  4. 前記制御部は、
    さらに、前記各々のストレージ装置の書き込みデータ量と前記書き込み可能データ量とに基づいて、前記代替ストレージ装置に対する前記確認処理の完了後に前記代替ストレージ装置の動作を停止させるか否かを決定する、
    ことを特徴とする請求項2または3に記載のストレージ制御装置。
  5. 前記制御部は、
    2以上の代替ストレージ装置に対応する複数のRAIDグループの各々のRAIDグループ内の各々のストレージ装置の書き込みデータ量に基づいて、前記各々のRAIDグループ内の最大の書き込みデータ量を特定し、
    前記書き込み可能データ量の所定の割合に応じた前記確認処理の実行周期を示す周期情報を参照して、特定した前記各々のRAIDグループの最大の書き込みデータ量に応じた周期が短い順に、当該周期を前記2以上の代替ストレージ装置の各々の代替ストレージ装置に対して前記確認処理を実行する周期として順次決定する、
    ことを特徴とする請求項2〜4のいずれか一つに記載のストレージ制御装置。
  6. 前記代替ストレージ装置は、フラッシュメモリを記憶媒体とするストレージ装置である、
    ことを特徴とする請求項1〜5のいずれか一つに記載のストレージ制御装置。
  7. コンピュータが、
    フラッシュメモリを記憶媒体とするストレージ装置から取得した、前記ストレージ装置の書き込みデータ量を記憶部に記憶させ、
    前記記憶部が記憶する前記ストレージ装置の書き込みデータ量と前記フラッシュメモリの書き込み可能回数から特定される書き込み可能データ量とに基づいて、前記ストレージ装置に対応する代替ストレージ装置に対する当該代替ストレージ装置が正常に機能するか否かを確認する確認処理の実行周期を決定する、
    処理を実行することを特徴とする制御方法。
  8. コンピュータに、
    フラッシュメモリを記憶媒体とするストレージ装置から取得した、前記ストレージ装置の書き込みデータ量を記憶部に記憶させ、
    前記記憶部が記憶する前記ストレージ装置の書き込みデータ量と前記フラッシュメモリの書き込み可能回数から特定される書き込み可能データ量とに基づいて、前記ストレージ装置に対応する代替ストレージ装置に対する当該代替ストレージ装置が正常に機能するか否かを確認する確認処理の実行周期を決定する、
    処理を実行させることを特徴とする制御プログラム。
JP2015176057A 2015-09-07 2015-09-07 ストレージ制御装置、制御方法、および制御プログラム Active JP6515752B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015176057A JP6515752B2 (ja) 2015-09-07 2015-09-07 ストレージ制御装置、制御方法、および制御プログラム
US15/249,635 US10338844B2 (en) 2015-09-07 2016-08-29 Storage control apparatus, control method, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015176057A JP6515752B2 (ja) 2015-09-07 2015-09-07 ストレージ制御装置、制御方法、および制御プログラム

Publications (2)

Publication Number Publication Date
JP2017054204A JP2017054204A (ja) 2017-03-16
JP6515752B2 true JP6515752B2 (ja) 2019-05-22

Family

ID=58190454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015176057A Active JP6515752B2 (ja) 2015-09-07 2015-09-07 ストレージ制御装置、制御方法、および制御プログラム

Country Status (2)

Country Link
US (1) US10338844B2 (ja)
JP (1) JP6515752B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10665305B2 (en) * 2015-09-09 2020-05-26 Toshiba Memory Corporation Host device connectable to memory device performing patrol read and memory device performing patrol read
CN113515471A (zh) * 2016-06-14 2021-10-19 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和装置
US11435949B2 (en) * 2019-02-15 2022-09-06 Canon Kabushiki Kaisha Information processing apparatus and method for calculating a data size estimated to be written to a storage based on a write data size
US11163482B2 (en) 2019-06-26 2021-11-02 International Business Machines Corporation Dynamic performance-class adjustment for storage drives
US11049570B2 (en) 2019-06-26 2021-06-29 International Business Machines Corporation Dynamic writes-per-day adjustment for storage drives
US11137915B2 (en) 2019-06-27 2021-10-05 International Business Machines Corporation Dynamic logical storage capacity adjustment for storage drives
US11593189B1 (en) * 2022-01-14 2023-02-28 Dell Products L.P. Configuring new storage systems based on write endurance

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0574059A (ja) 1991-03-18 1993-03-26 Hitachi Ltd デイスク装置の診断方式
JPH0689146A (ja) * 1992-09-08 1994-03-29 Fujitsu Ltd ディスクアレイ装置のスタンバイディスク制御方法
JP2000293320A (ja) * 1999-04-06 2000-10-20 Toshiba Corp ディスクサブシステム、ディスクサブシステムの検査診断方法及びディスクサブシステムのデータ復元方法
CN1215592C (zh) * 2000-03-02 2005-08-17 株式会社荏原制作所 燃料电池发电方法及系统
DE60212125T2 (de) * 2001-06-19 2006-12-28 Asensus Kopierprozeduren mit verifikation in datennetzwerken
US7770079B2 (en) 2007-08-22 2010-08-03 Micron Technology Inc. Error scanning in flash memory
JP5366480B2 (ja) * 2008-08-27 2013-12-11 株式会社日立製作所 計算機システム及びそのバックアップ方法
JP5678628B2 (ja) * 2010-12-08 2015-03-04 沖電気工業株式会社 半導体ディスク装置
JP5849491B2 (ja) * 2011-07-22 2016-01-27 富士通株式会社 ディスク制御装置、ディスク装置異常検出方法、及びプログラム
JP5601480B2 (ja) * 2012-03-28 2014-10-08 日本電気株式会社 ストレージ装置及びストレージ装置のデータ保存装置交換方法
JP6050068B2 (ja) 2012-09-19 2016-12-21 Necプラットフォームズ株式会社 メモリパトロール制御方式
JP2015148859A (ja) * 2014-02-05 2015-08-20 コニカミノルタ株式会社 情報処理装置及び起動制御プログラム並びに起動制御方法

Also Published As

Publication number Publication date
JP2017054204A (ja) 2017-03-16
US20170068457A1 (en) 2017-03-09
US10338844B2 (en) 2019-07-02

Similar Documents

Publication Publication Date Title
JP6515752B2 (ja) ストレージ制御装置、制御方法、および制御プログラム
US9378093B2 (en) Controlling data storage in an array of storage devices
US8392752B2 (en) Selective recovery and aggregation technique for two storage apparatuses of a raid
US10459639B2 (en) Storage unit and storage system that suppress performance degradation of the storage unit
US8127182B2 (en) Storage utilization to improve reliability using impending failure triggers
US8103825B2 (en) System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair
US7574623B1 (en) Method and system for rapidly recovering data from a “sick” disk in a RAID disk group
US9619181B2 (en) Information processing device and method for controlling replacement of semiconductor storage device
US8930745B2 (en) Storage subsystem and data management method of storage subsystem
US20150286531A1 (en) Raid storage processing
US20100106889A1 (en) Solid state drive operation
US8839072B2 (en) Access control apparatus, storage apparatus, and method
JP2012248110A (ja) マルチチャネルを有するメモリ装置及び同装置における誤り訂正チャネル決定を含む書き込み制御方法
US9851907B2 (en) Control device, storage system, and method of controlling a plurality of storage devices
JP2006252165A (ja) ディスクアレイ装置、及びコンピュータシステム
CN113811862A (zh) 存储驱动器的动态性能等级调整
US9569329B2 (en) Cache control device, control method therefor, storage apparatus, and storage medium
JP2010267037A (ja) ディスクアレイ装置
CN107544747B (zh) 磨损逆均衡方法与装置
JP2012174037A (ja) ディスクアレイ装置及びその制御方法
WO2016139774A1 (ja) 情報処理装置、情報処理システム
JP4605374B2 (ja) 記憶装置の試験方法及び装置
WO2018193608A1 (ja) ストレージシステム、ストレージ装置の制御方法およびストレージ制御装置
JP2015060346A (ja) ディスクアレイ装置、ディスクアレイ装置の冗長化方法およびプログラム
JP5601053B2 (ja) 制御装置、制御モジュールおよび制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190401

R150 Certificate of patent or registration of utility model

Ref document number: 6515752

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150