(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161828
(43)【公開日】2024-11-20
(54)【発明の名称】ストレージ制御装置及びストレージ制御方法
(51)【国際特許分類】
G06F 3/06 20060101AFI20241113BHJP
G06F 11/07 20060101ALI20241113BHJP
【FI】
G06F3/06 304P
G06F3/06 304R
G06F11/07 157
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023076897
(22)【出願日】2023-05-08
(71)【出願人】
【識別番号】598057291
【氏名又は名称】エフサステクノロジーズ株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】遠藤 篤
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA34
5B042JJ06
5B042JJ23
5B042JJ29
5B042MA04
5B042MA05
5B042MA08
5B042MA09
5B042MA14
5B042MC33
5B042MC40
(57)【要約】
【課題】エラーログを出さないタイムアウト障害について、応答遅延となるコマンドの種類、傾向から詳細な解析を可能にする。
【解決手段】ストレージ制御装置10から記憶装置2に発行するコマンドの応答時間を計測し、計測した応答時間が第1の閾値以上且つ第2の閾値未満の場合は、コマンドに対応する一のコマンド履歴を、コマンド履歴の増加によって上書きされない第1の保存領域102に保存し、計測した応答時間が第2の閾値以上の場合は、一のコマンド履歴を第1の保存領域102に保存することに加え、記憶装置2の内部のログを吸い上げて第2の保存領域103に保存する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
記憶装置が接続されたストレージ装置に備えられるストレージ制御装置であって、
前記ストレージ制御装置から前記記憶装置に発行するコマンドの応答時間を計測し、
計測した前記応答時間が第1の閾値以上且つ第2の閾値未満の場合は、前記コマンドに対応する一のコマンド履歴を、コマンド履歴の増加によって上書きされない第1の保存領域に保存し、
計測した前記応答時間が前記第2の閾値以上の場合は、前記一のコマンド履歴を前記第1の保存領域に保存することに加え、前記記憶装置の内部のログを吸い上げて第2の保存領域に保存する、
プロセッサを備える、ストレージ制御装置。
【請求項2】
前記プロセッサは、
計測した前記応答時間が前記第1の閾値未満の場合は、前記一のコマンドを、前記コマンド履歴の増加によって上書きされる第3の保存領域に保存し、
計測した前記応答時間が前記第1の閾値以上且つ前記第2の閾値未満の場合は、前記一のコマンドを前記第3の保存領域に保存することに加えて、前記一のコマンド履歴を前記第1の保存領域に保存し、
計測した前記応答時間が前記第2の閾値以上の場合は、前記一のコマンド履歴を前記第1の保存領域及び前記第3の保存領域に保存することに加え、前記ログを前記第2の保存領域に保存する、
請求項1に記載のストレージ制御装置。
【請求項3】
前記プロセッサは、
計測した前記応答時間が前記第2の閾値以上且つ第3の閾値未満の場合に、前記ログを前記第2の保存領域に保存し、
計測した前記応答時間が前記第3の閾値以上の場合に、前記記憶装置を前記ストレージ装置から切り離す、
請求項1又は2に記載のストレージ制御装置。
【請求項4】
記憶装置が接続されたストレージ装置におけるストレージ制御方法であって、
前記ストレージ装置に備えられるストレージ制御装置から前記記憶装置に発行するコマンドの応答時間を計測し、
計測した前記応答時間が第1の閾値以上且つ第2の閾値未満の場合は、前記コマンドに対応する一のコマンド履歴を、コマンド履歴の増加によって上書きされない第1の保存領域に保存し、
計測した前記応答時間が前記第2の閾値以上の場合は、前記一のコマンド履歴を前記第1の保存領域に保存することに加え、前記記憶装置の内部のログを吸い上げて第2の保存領域に保存する、
処理をコンピュータが実行する、ストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ制御装置及びストレージ制御方法に関する。
【背景技術】
【0002】
Hard Disk Drive(HDD)/Solid State Drive(SSD)(以下、「ディスク」と称する。)と、ディスクを制御するコントローラが搭載されたRedundant Arrays of Independent Disks(RAID)装置が存在する。
【0003】
ディスクでコマンド応答遅延があると、コントローラ側でタイムアウトとみなし該当のディスクを切り離す処理が行われる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011-227639号公報
【特許文献2】特開2012-108726号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ディスク側でエラーを応答しないケースがあり、原因調査してもタイムアウトの根本要因が分からず、改善施策につなげられない場合がある。
【0006】
このため、タイムアウト予兆のログを採取したいが、RAID装置では、軽度のタイムアウトが発生するたびに、ログを採取すると障害調査に無関係なログを多量に保存してしまうおそれがある。
【0007】
ログを採取するタイムアウト時間基準を長めにとることで、ログの採取量を減らすことができるが、障害調査にはタイムアウトが発生し始めた時のディスクのコマンドに関する情報が必要である。
【0008】
1つの側面では、エラーログを出さないタイムアウト障害について、応答遅延となるコマンドの種類、傾向から詳細な解析を可能にすることを目的とする。
【課題を解決するための手段】
【0009】
1つの側面では、ストレージ制御装置は、記憶装置が接続されたストレージ装置に備えられるストレージ制御装置であって、前記ストレージ制御装置から前記記憶装置に発行するコマンドの応答時間を計測し、計測した前記応答時間が第1の閾値以上且つ第2の閾値未満の場合は、前記コマンドに対応する一のコマンド履歴を、コマンド履歴の増加によって上書きされない第1の保存領域に保存し、計測した前記応答時間が前記第2の閾値以上の場合は、前記一のコマンド履歴を前記第1の保存領域に保存することに加え、前記記憶装置の内部のログを吸い上げて第2の保存領域に保存する、プロセッサを備える。
【発明の効果】
【0010】
1つの側面では、エラーログを出さないタイムアウト障害について、応答遅延となるコマンドの種類、傾向から詳細な解析を可能にすることができる。
【図面の簡単な説明】
【0011】
【
図1】実施形態におけるストレージシステムのハードウェア構成例を模式的に示すブロック図である。
【
図2】
図1に示したコントローラにおけるデータ構成例を模式的に示すブロック図である。
【
図3】
図2に示したコマンド履歴管理テーブルを例示する図である。
【
図4】
図2に示したディスクログ保存領域を例示するテーブルである。
【
図5】実施形態におけるストレージ制御処理を説明するフローチャートである。
【発明を実施するための形態】
【0012】
〔A〕実施形態
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0013】
図1は、実施形態におけるストレージシステム100のハードウェア構成例を模式的に示すブロック図である。
【0014】
ストレージシステム100は、ストレージ装置1及びホスト装置3を備える。
【0015】
ホスト装置3は、例えば、サーバ機能を備えたコンピュータである。
図1に示す例においてはストレージシステム100が1つのホスト装置3を備えることとしているが、ストレージシステム100が備えるホスト装置3の数は種々変更することができる。
【0016】
ストレージ装置1は、コントローラ10及び複数のディスク2(Disk #1~#n)を備える。
図1に示す例においてはストレージ装置1が1つのコントローラ10を備えることとしているが、ストレージ装置1が備えるコントローラ10の数は種々変更することができる。
【0017】
ディスク2は、データを読み書き可能に記憶する装置であり、例えば、HDDやSSD,Storage Class Memory(SCM)が用いられてよい。
【0018】
コントローラ10は、種々の制御を行なう制御装置であり、ホスト装置3からのストレージアクセス要求に従って、各種制御を行なう。
【0019】
コントローラ10は、ストレージ制御装置の一例であり、Central Processing Unit(CPU)11及びメモリ12を備える。
【0020】
メモリ12は、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)を含む記憶装置である。RAMは、例えばDynamic RAM(DRAM)であってよい。メモリ12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ12のRAMは、一次記録メモリあるいはワーキングメモリとして利用されてよい。
【0021】
CPU11は、例示的に、種々の制御や演算を行なう処理装置であり、メモリ12によって読み出されたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。
【0022】
なお、種々の機能を実現するためのプログラムは、例えばフレキシブルディスク、CD(CD-ROM、CD-R、CD-RW等)、DVD(DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+RW、HD DVD等)、ブルーレイディスク、磁気ディスク、光ディスク、光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供されてよい。そして、コンピュータ(本実施形態ではCPU11)は上述した記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いてよい。また、プログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、記憶装置から通信経路を介してコンピュータに提供してもよい。
【0023】
種々の機能を実現する際には、内部記憶装置(本実施形態ではメモリ12)に格納されたプログラムがコンピュータ(本実施形態ではCPU11)によって実行されてよい。また、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【0024】
CPU11は、例示的に、コントローラ10全体の動作を制御する。コントローラ10全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、コントローラ10全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
【0025】
図2は、
図1に示したコントローラ10におけるデータ構成例を模式的に示すブロック図である。
【0026】
コントローラ10のメモリ12は、コマンド履歴管理テーブル101,コマンド保存領域102及びディスクログ保存領域103を記憶する。なお、コマンド履歴管理テーブル101,コマンド保存領域102及びディスクログ保存領域103は、コントローラ10において、メモリ12以外の不図示の記憶領域に保存されてよい。
【0027】
図3は、
図2に示したコマンド履歴管理テーブル101を例示する図である。
【0028】
コマンド履歴管理テーブル101は、コントローラ10からHDD/SSDに発行された例えば直近100個分のコマンドの履歴を記録する。
図3に示す例では、コマンド#1,#2,・・・の履歴が記録されている。
【0029】
コマンド履歴管理テーブル101には、例えば、コマンド種別,発行先ディスク,応答時間,処理中コマンド数及び発行先アドレスが記録される。コマンド履歴管理テーブル101では、記録コマンドが100個を超えると古いコマンドから上書きされてよい。コマンド履歴管理テーブル101は、第3の保存領域の一例である。
【0030】
コマンド保存領域102は、コマンド履歴管理テーブル101に記録された応答時間が1秒以上のコマンドの履歴を保存する。コマンド保存領域102には、コマンド履歴管理テーブル101と同様に、例えば、コマンド種別,発行先ディスク,応答時間,処理中コマンド数及び発行先アドレスが記録される。コマンド保存領域102に記録された情報は上書きされず、ユーザの意図した削除指示がない限り保持される。コマンド保存領域102は、第1の保存領域の一例である。
【0031】
図4は、
図2に示したディスクログ保存領域103を例示するテーブルである。
【0032】
ディスクログ保存領域103は、HDD/SSDの内部ログを保存する。ディスクログ保存領域103には、HDD/SSDの内部ログとして、例えば、障害の調査に必要となる「Readログ」「Writeログ」「Verifyログ」「SMARTログ」「Log Sense」「G-List」を含む情報をディスク2から吸い上げて保存する。ディスクログ保存領域103は、第2の保存領域の一例である。
【0033】
コントローラ10は、応答に時間を要するコマンドがあった場合、タイムアウト予兆とみなしてディスク2が切り離される前に内部ログをコントローラ10の内部に保存し、調査に必要な情報をより多く残すことで、ディスク2において発生するエラーの調査の精度を向上させる。
【0034】
更に、コントローラ10は、コマンド応答時間の閾値を2段階に分けることにより、ディスクログ保存の処理回数を必要最小限に絞りディスクログ保存領域103の使用効率化、コマンド保存領域102の情報と組み合わせることでタイムアウト予兆の時系列、コマンドとの整合性を考慮した調査を可能とする。
【0035】
すなわち、コントローラ10は、1秒(第1の閾値の一例)以内に応答がなかった場合、タイムアウト予兆の第一段階とみなして該当のコマンド履歴をコマンド保存領域102にも記録する。コントローラ10は、更に時間がかかり3秒(第2の閾値の一例)以上の時間を要した場合は、タイムアウト直前と判断し、その時点のコマンド保存領域102への記録に加えてディスク2の内部ログを吸い上げ、ディスクログ保存領域103に保存する。コントローラ10は、4秒(第3の閾値の一例)以上の時間を要した場合には、該当のディスク2をタイムアウトと判断し切り離す。
【0036】
ディスクログ保存領域103に溜まったログは、ストレージ装置1外への保存やサプライヤへの送付後など、ユーザが不要と感じたら任意のタイミングで削除ができる。ログを削除したい場合は、ストレージ装置1のコントローラ10からディスクログ保存領域103に対して、削除のコマンドが発行される。
【0037】
実施形態におけるストレージ制御処理を、
図5に示すフローチャート(ステップS1~S14)に従って説明する。
【0038】
ディスク2は、コントローラ10からコマンドを受諾する(ステップS1)。
【0039】
コントローラ10は、直近100個分のコマンド履歴をコマンド履歴管理テーブル101に保存する(ステップS2)。
【0040】
コントローラ10は、コマンドの応答時間をチェックする(ステップS3)。
【0041】
応答時間が1秒未満の場合には(ステップS4)、コントローラ10は、応答時間をコマンド履歴管理テーブル101に記録する(ステップS5)。そして、ストレージ制御処理は終了する。
【0042】
応答時間が1秒以上3秒未満の場合には(ステップS6)、コントローラ10は、応答時間をコマンド履歴管理テーブル101に記録する(ステップS7)。
【0043】
コントローラ10は、コマンド履歴をコマンド保存領域102に保存する(ステップS8)。そして、ストレージ制御処理は終了する。
【0044】
応答時間が3秒以上4秒未満の場合には(ステップS9)、コントローラ10は、応答時間をコマンド履歴管理テーブル101に記録する(ステップS10)。
【0045】
コントローラ10は、コマンド履歴をコマンド保存領域102に保存する(ステップS8)。
【0046】
コントローラ10は、ディスク2のログを吸い出してディスクログ保存領域103に保存する(ステップS12)。そして、ストレージ制御処理は終了する。
【0047】
応答時間が4秒以上の場合には(ステップS13)、コントローラ10は、タイムアウトとしてディスク2をストレージシステム100から切り離す(ステップS14)。そして、ストレージ制御処理は終了する。
【0048】
〔B〕効果
上述した実施形態におけるストレージ制御装置及びストレージ制御方法によれば、例えば以下の作用効果を奏することができる。
【0049】
コントローラ10は、コントローラ10からディスク2に発行するコマンドの応答時間を計測する。コントローラ10は、計測した応答時間が第1の閾値以上且つ第2の閾値未満の場合は、コマンドに対応する一のコマンド履歴を、コマンド履歴の増加によって上書きされない第1の保存領域に保存する。コントローラ10は、計測した応答時間が第2の閾値以上の場合は、一のコマンド履歴を第1の保存領域に保存することに加え、ディスク2の内部のログを吸い上げて第2の保存領域に保存する。
【0050】
これにより、エラーログを出さないタイムアウト障害について、コマンド応答時間から予兆を検出し切り離しに至る前にディスク2のログをコントローラ10側の格納領域に保存し、応答遅延となるコマンドの種類、傾向からより詳細な解析ができる。
【0051】
これまで明確なエラーログが残らないディスクのタイムアウト切り離しは、ログ解析やサプライヤ調査などでも未再現、原因不明となる事が多かった。本実施形態によれば、タイムアウトの予兆となるコマンド応答遅延の発生時、タイムアウト直前のコマンド履歴とディスクログとを吸い上げることでコマンド処理とディスクログを時系列で突き合わせる形での解析が可能になり、改善施策につなげられる。
【0052】
また、ディスクログはそのまま採取した場合のサイズが大きい(ディスク1台あたり約5MB)ため、タイムアウト閾値の2段階目に限りディスクログを採取することで、ディスクログ保存領域103の有効活用ができると共に、ストレージ制御への性能影響を抑えることができる。
【0053】
コントローラ10は、計測した応答時間が第1の閾値未満の場合は、一のコマンドを、コマンド履歴の増加によって上書きされる第3の保存領域に保存する。コントローラ10は、計測した応答時間が第1の閾値以上且つ第2の閾値未満の場合は、一のコマンドを第3の保存領域に保存することに加えて、一のコマンド履歴を第1の保存領域に保存する。コントローラ10は、計測した応答時間が第2の閾値以上の場合は、一のコマンド履歴を第1の保存領域及び第3の保存領域に保存することに加え、ログを第2の保存領域に保存する。
【0054】
これにより、コマンドの応答時間が正常の場合に、コマンド履歴を上書きされる領域のみに保存することができ、コントローラ10における保存領域を適切に使用することができる。
【0055】
コントローラ10は、計測した応答時間が第2の閾値以上且つ第3の閾値未満の場合に、ログを第3の保存領域に保存する。コントローラ10は、計測した応答時間が第3の閾値以上の場合に、ディスク2をストレージ装置1から切り離す。
【0056】
これにより、故障したディスク2をストレージ装置1から適切に切り離すことができる。
【0057】
〔C〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0058】
〔D〕付記
以上の実施形態に関し、更に以下の付記を開示する。
【0059】
(付記1)
記憶装置が接続されたストレージ装置に備えられるストレージ制御装置であって、
前記ストレージ制御装置から前記記憶装置に発行するコマンドの応答時間を計測し、
計測した前記応答時間が第1の閾値以上且つ第2の閾値未満の場合は、前記コマンドに対応する一のコマンド履歴を、コマンド履歴の増加によって上書きされない第1の保存領域に保存し、
計測した前記応答時間が前記第2の閾値以上の場合は、前記一のコマンド履歴を前記第1の保存領域に保存することに加え、前記記憶装置の内部のログを吸い上げて第2の保存領域に保存する、
プロセッサを備える、ストレージ制御装置。
【0060】
(付記2)
前記プロセッサは、
計測した前記応答時間が前記第1の閾値未満の場合は、前記一のコマンドを、前記コマンド履歴の増加によって上書きされる第3の保存領域に保存し、
計測した前記応答時間が前記第1の閾値以上且つ前記第2の閾値未満の場合は、前記一のコマンドを前記第3の保存領域に保存することに加えて、前記一のコマンド履歴を前記第1の保存領域に保存し、
計測した前記応答時間が前記第2の閾値以上の場合は、前記一のコマンド履歴を前記第1の保存領域及び前記第3の保存領域に保存することに加え、前記ログを前記第2の保存領域に保存する、
付記1に記載のストレージ制御装置。
【0061】
(付記3)
前記プロセッサは、
計測した前記応答時間が前記第2の閾値以上且つ第3の閾値未満の場合に、前記ログを前記第2の保存領域に保存し、
計測した前記応答時間が前記第3の閾値以上の場合に、前記記憶装置を前記ストレージ装置から切り離す、
付記1又は2に記載のストレージ制御装置。
【0062】
(付記4)
記憶装置が接続されたストレージ装置におけるストレージ制御方法であって、
前記ストレージ装置に備えられるストレージ制御装置から前記記憶装置に発行するコマンドの応答時間を計測し、
計測した前記応答時間が第1の閾値以上且つ第2の閾値未満の場合は、前記コマンドに対応する一のコマンド履歴を、コマンド履歴の増加によって上書きされない第1の保存領域に保存し、
計測した前記応答時間が前記第2の閾値以上の場合は、前記一のコマンド履歴を前記第1の保存領域に保存することに加え、前記記憶装置の内部のログを吸い上げて第2の保存領域に保存する、
処理をコンピュータが実行する、ストレージ制御方法。
【0063】
(付記5)
計測した前記応答時間が前記第1の閾値未満の場合は、前記一のコマンドを、前記コマンド履歴の増加によって上書きされる第3の保存領域に保存し、
計測した前記応答時間が前記第1の閾値以上且つ前記第2の閾値未満の場合は、前記一のコマンドを前記第3の保存領域に保存することに加えて、前記一のコマンド履歴を前記第1の保存領域に保存し、
計測した前記応答時間が前記第2の閾値以上の場合は、前記一のコマンド履歴を前記第1の保存領域及び前記第3の保存領域に保存することに加え、前記ログを前記第2の保存領域に保存する、
処理を前記コンピュータが実行する、付記4に記載のストレージ制御方法。
【0064】
(付記6)
計測した前記応答時間が前記第2の閾値以上且つ第3の閾値未満の場合に、前記ログを前記第2の保存領域に保存し、
計測した前記応答時間が前記第3の閾値以上の場合に、前記記憶装置を前記ストレージ装置から切り離す、
処理を前記コンピュータが実行する、付記4又は5に記載のストレージ制御方法。
【符号の説明】
【0065】
1 :ストレージ装置
2 :ディスク
3 :ホスト装置
10 :コントローラ
11 :CPU
12 :メモリ
100 :ストレージシステム
101 :コマンド履歴管理テーブル
102 :コマンド保存領域
103 :ディスクログ保存領域