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

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

Info

Publication number
JP2013161235A
JP2013161235A JP2012022327A JP2012022327A JP2013161235A JP 2013161235 A JP2013161235 A JP 2013161235A JP 2012022327 A JP2012022327 A JP 2012022327A JP 2012022327 A JP2012022327 A JP 2012022327A JP 2013161235 A JP2013161235 A JP 2013161235A
Authority
JP
Japan
Prior art keywords
determination unit
storage device
expander
connection
disk
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.)
Pending
Application number
JP2012022327A
Other languages
English (en)
Inventor
Yusuke Yoneda
祐介 米田
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 JP2012022327A priority Critical patent/JP2013161235A/ja
Priority to US13/710,522 priority patent/US20130205173A1/en
Publication of JP2013161235A publication Critical patent/JP2013161235A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】正常な部品の切離しを防止すること。
【解決手段】エクスパンダを介してディスクに対する入出力処理を行うストレージ装置は、閾値判定部502と偏り判定部503と接続判定部504と切離部505とを有する。閾値判定部502は、入出力処理におけるディスクのエラーの発生に応じて累積される累積値が所定の閾値に達したか否かを判定する。偏り判定部503は、累積値が閾値以上になったと判定された場合、ディスクに対する入出力処理数がエクスパンダに搭載された他のディスクに対する入出力処理数と比較して偏りがあるか否かを判定する。接続判定部504は、偏りがあると判定された場合、エクスパンダに対して接続状態が正常であるか否かを判定する。切離部505は、エクスパンダの接続状態が正常であると判定された場合に、ディスクとの接続を切離す。
【選択図】図2

Description

本発明は、ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラムに関する。
従来、ストレージ装置は、SAS(Serial Attached SCSI) Expander(以下、エクスパンダと記す)を介して複数のHDD(Hard Disk Drive)(以下、ディスクと記す)が接続され、大容量の記憶容量を有する。図8を用いて、従来技術に係るストレージ装置について説明する。
図8は、従来技術に係るストレージ装置の構成の一例を示す図である。図8に示すように、ストレージ装置900は、エクスパンダ910〜930と、I/Oコントローラ940とを有する。なお、ストレージ装置1において、相対的にI/Oコントローラ940側に位置する装置を上位の装置と呼び、相対的にエクスパンダ930側に位置する装置を下位の装置と呼ぶものとする。
このようなストレージ装置900において、I/Oコントローラ940は、各エクスパンダに対してディスカバリ処理を行うことによりエクスパンダやディスクの接続情報を取得し、取得した接続情報に基づいて、ディスクに入出力処理を実行する。
また、I/Oコントローラ940は、ストレージ装置900内の経路においてリンクダウンなどの異常が発生した場合、リンクダウンが発生した経路を使用したディスクへのI/Oアクセスを停止させる。この場合、I/Oコントローラ940は、I/Oがエラーになったことを検出できるが、ディスカバリ処理の完了を待つまで異常デバイスがディスクであるのかエクスパンダであるのかを特定できない。また、ディスカバリ処理に時間がかかった場合、I/Oコントローラ940は、異常デバイスを特定できず、その間I/Oアクセスのエラーを検知し続けることとなる。
このようなことから、I/Oコントローラ940は、I/Oエラーの統計的な監視を行うことで異常デバイスを特定する。例えば、I/Oコントローラ940は、I/Oエラー発生時にエラーが発生したディスクとディスクが搭載されたエクスパンダに対応付けたエラーを評価する点数に加点を行い、点数の累積値が閾値以上になったデバイスを異常デバイスに特定する。
図9Aと図9Bを用いて、I/Oエラーの統計的な監視による異常デバイスの特定処理について説明する。図9Aは、同一のエクスパンダに搭載されたディスクに生じたI/Oエラーの加点の一例を示す図であり、図9Bは、異なるエクスパンダに搭載されたディスクに生じたI/Oエラーの加点の一例を示す図である。なお、I/Oコントローラ940は、I/Oエラーが発生した場合、I/Oアクセスした各ディスクと、このディスクに至る経路上の全てのエクスパンダとに対応付けたエラーを評価する点数に加点を行う。また、例えば、エクスパンダに対応付けたエラーを評価する点数への1回の加点値(PEXP)を50点、ディスクに対応付けたエラーを評価する点数への加点値(PDISK)を65点とし、デバイスを異常部位に特定する点数の閾値を255点とする。また、複数のエクスパンダの点数が同時に閾値以上になった場合、最下位に位置するエクスパンダを切離すものとする。
図9Aに示す例は、エクスパンダ930に異常がある場合を示す。I/Oコントローラ940は、ディスク931、ディスク932、ディスク933、ディスク934の順でI/Oアクセスを行う場合、いずれもエラーになる。この場合、統計加点は、各ディスク931〜934にアクセスが失敗する度にI/Oアクセスした各ディスク931〜934とエクスパンダ930とに加点される。この結果、ディスク932に2度目にI/Oアクセスを失敗した場合、エクスパンダ930の点数が閾値である255点を超える。そして、I/Oコントローラ940は、エクスパンダ930を異常デバイスであると特定し、エクスパンダ930を切り離す。
図9Bに示す例は、エクスパンダ910に異常がある場合を示す。I/Oコントローラ940は、エクスパンダ910に搭載されたディスク、エクスパンダ920に搭載されたディスク、エクスパンダ930に搭載されたディスクの順でI/Oアクセスを行う場合、いずれのI/Oアクセスもエラーになる。この場合、各ディスクにアクセスが失敗する度にエクスパンダと、このエクスパンダの上位に位置するエクスパンダとに加点される。この結果、エクスパンダ−930に搭載されたディスクに2度目にアクセスを失敗した場合、エクスパンダ910の点数が閾値である255点を超える。そして、I/Oコントローラ940は、エクスパンダ910を異常デバイスであると特定し、エクスパンダ910を切り離す。
特開2009−205316号公報 特開2011−108006号公報 特開2008−242872号公報
しかしながら、上述した従来の技術では、正常な部品を誤って切離す場合があるという課題がある。
図10Aと図10Bを用いて、I/Oエラーの統計的な監視により正常な部品を誤って切離す場合について説明する。図10Aは、同一のエクスパンダに搭載されたディスクに生じたI/Oエラーの加点の別例を示す図であり、図10Bは、異なるエクスパンダに搭載されたディスクに生じたI/Oエラーの加点の別例を示す図である。
図10Aに示す例は、エクスパンダ930に異常がある場合を示す。I/Oコントローラ940は、ディスク931に繰り返しI/Oアクセスを行う場合、いずれのI/Oアクセスもエラーになる。そして、ディスク931に4度目にI/Oアクセスを失敗した場合、ディスク931の点数が閾値である255点を超える。この結果、I/Oコントローラ940は、ディスク931を異常デバイスであると特定し、正常なディスク931を誤って切り離してしまう。また、複数のディスクにI/Oアクセスがある状況であってもI/Oアクセスに大きく偏りがあった場合も同様に、エクスパンダの異常を検出する前にディスクが誤って切り離されてしまう。
図10Bに示す例は、エクスパンダ910に異常がある場合を示す。I/Oコントローラ940は、エクスパンダ920に搭載されたディスクとエクスパンダ930に搭載されたディスクとに交互に繰り返しI/Oアクセスを行う場合、いずれのI/Oアクセスもエラーになる。そして、エクスパンダ−930に搭載されたディスクに3度目にアクセスを失敗した場合、エクスパンダ910、エクスパンダ920の点数が閾値である255点を超える。この結果、I/Oコントローラ940は、正常なエクスパンダ920を異常デバイスであると特定し、エクスパンダ910を切り離す。
1つの側面では、正常な部品の切離しを抑制することができるストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラムを提供することを目的とする。
第1の案では中継装置を介して記憶装置に対する入出力処理を行うストレージ装置である。ストレージ装置は、入出力処理における記憶装置のエラーの発生に応じて累積される累積値が所定の閾値に達したか否かを判定する。また、ストレージ装置は、累積値が閾値以上になったと判定した場合、記憶装置に対する入出力処理数が中継装置に搭載された他の記憶装置に対する入出力処理数と比較して偏りがあるか否かを判定する。続いて、ストレージ装置は、偏りがあると判定した場合、中継装置に対して接続状態が正常であるか否かを判定する。そして、ストレージ装置は、中継装置の接続状態が正常であると判定した場合に、記憶装置との接続を切離す。
一つの態様によれば、正常な部品の切離しを抑制することができる。
図1は、実施例1に係るストレージ装置のハードウェア構成の一例を示す図である。 図2は、実施例1に係るストレージ装置により実行される制御プログラムの機能構成を示す機能ブロック図である。 図3は、統計加点テーブルが記憶する情報の一例を示す図である。 図4は、実施例1に係るストレージ装置による処理の処理手順を示すフローチャートである。 図5は、実施例1に係るストレージ装置による処理の処理手順を示すフローチャートである。 図6は、実施例1に係るストレージ装置による処理の処理手順を示すフローチャートである。 図7は、ストレージ装置制御プログラムを実行するコンピュータを示す図である。 図8は、従来技術に係るストレージ装置の構成の一例を示す図である。 図9Aは、同一のエクスパンダに搭載されたディスクに生じたI/Oエラーの加点の一例を示す図である。 図9Bは、異なるエクスパンダに搭載されたディスクに生じたI/Oエラーの加点の一例を示す図である。 図10Aは、同一のエクスパンダに搭載されたディスクに生じたI/Oエラーの加点の別例を示す図である。 図10Bは、異なるエクスパンダに搭載されたディスクに生じたI/Oエラーの加点の別例を示す図である。
以下に、本願の開示するストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1では、図1から図6を用いて、ストレージ装置の構成、ストレージ装置により実行されるファームウェアにより実現される処理部の機能構成、処理手順、効果などについて説明する。
[ストレージ装置の構成]
図1は、実施例1に係るストレージ装置のハードウェア構成の一例を示す図である。図1に示すように、実施例1に係るストレージ装置1は、DE(Device Enclosure)100、200と、CM(Controller Module)300とを有する。なお、ストレージ装置1が有するDEの数は図示に限定されるものではなく、任意に変更可能である。
DE100は、ディスク101a〜101dと、エクスパンダモジュール102とを有する。ディスク101a〜101dは、例えばHDDなどの記憶装置である。なお、DE100が有するディスクの数は図示に限定されるものではなく、1以上のディスクを搭載していれば任意に変更可能である。
エクスパンダモジュール102は、SASエクスパンダ110(以下、エクスパンダ110と記す)を有する。このエクスパンダ110は、SASポート111〜116を有し、CM300とディスク101a〜101dとの間、または、CM300とDE200との間の入出力処理を制御する。
例えば、SASポート111は、後述するCM300が有するSASポートと接続し、CM300からの入出力処理を制御する。SASポート112は、DE200が有するSASポート211と接続し、DE200への入出力処理を制御する。SASポート113は、ディスク101aと接続し、ディスク101aへの入出力処理を制御する。SASポート114は、ディスク101bと接続し、ディスク101bへの入出力処理を制御する。SASポート115は、ディスク101cと接続し、ディスク101cへの入出力処理を制御する。SASポート116は、ディスク101dと接続し、ディスク101dへの入出力処理を制御する。
DE200は、ディスク201a〜201dと、エクスパンダモジュール202とを有する。ディスク201a〜201dは、例えばHDDなどの記憶装置である。なお、DE200が有するディスクの数は図示に限定されるものではなく、1以上のディスクを搭載していれば任意に変更可能である。
エクスパンダモジュール202は、SASエクスパンダ210(以下、エクスパンダ210と記す)を有する。このエクスパンダ210は、SASポート211〜216を有し、CM300とディスク201a〜201dとの間の入出力処理を制御する。また、エクスパンダ210は、DE200の下位にDE400が新たに接続された場合、CM300とDE400との間の入出力処理を制御する。
例えば、SASポート211は、DE100が有するSASポート112と接続し、DE100からの入出力処理を制御する。SASポート212は、DE200の下位にDE400が新たに接続された場合、このDE400が有するSASと接続し、DE400への入出力処理を制御する。SASポート213は、ディスク201aと接続し、ディスク201aへの入出力処理を制御する。SASポート214は、ディスク201bと接続し、ディスク201bへの入出力処理を制御する。SASポート215は、ディスク201cと接続し、ディスク201cへの入出力処理を制御する。SASポート216は、ディスク201dと接続し、ディスク201dへの入出力処理を制御する。
CM300は、I/Oコントローラ301を有し、図示しないサーバから受付けた入出力の処理の実行を制御する。このI/Oコントローラ301は、SASコントローラ310とメモリ320とプロセッサ330とを有する。
SASコントローラ310は、SASポート311を有する。SASポート311は、DE100が有するSASポート111と接続する。
メモリ320は、例えばRAM(Random Access Memory)などの半導体メモリ素子である。メモリ320は、I/Oコントローラ301による処理に要するプログラムやデータを記憶する。また、メモリ320は、制御プログラム321を記憶する。
プロセッサ330は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路であり、I/Oコントローラ301による各種の演算や各種の処理を実行する。
また、プロセッサ330が、メモリ320から制御プログラム321を読み出して実行することで、ストレージ装置1は、以下の処理を実行する。すなわち、エクスパンダを介してディスクに対する入出力処理を行うストレージ装置1は、入出力処理におけるディスクのエラーの発生に応じて累積される累積値が所定の閾値に達したか否かを判定する。また、ストレージ装置1は、累積値が閾値以上になったと判定した場合、ディスクに対する入出力処理数がエクスパンダに搭載された他のディスクに対する入出力処理数と比較して偏りがあるか否かを判定する。続いて、ストレージ装置1は、偏りがあると判定した場合、エクスパンダに対して接続状態が正常であるか否かを判定する。そして、ストレージ装置1は、エクスパンダの接続状態が正常であると判定した場合に、ディスクとの接続を切離す。
[ファームウェアにより実現される処理部の機能構成]
次に、図2を用いて、実施例1に係るストレージ装置1により実行される制御プログラム321の機能構成を説明する。図2は、実施例1に係るストレージ装置により実行される制御プログラム321の機能構成を示す機能ブロック図である。なお、ストレージ装置1により実行される制御プログラム321は、メモリ320と、CPU330とが協働して実現される。
図2に示すように、制御プログラム321は、統計加点テーブル501と、閾値判定部502と、偏り判定部503と、接続判定部504と、切離部505とを有する。
統計加点テーブル501は、I/Oアクセス先と、このI/Oアクセス先にエラーが発生した場合のデバイスに対する加点の累積値とを対応付けた情報を記憶する。図3を用いて、統計加点テーブル501が記憶する情報について説明する。
図3は、統計加点テーブルが記憶する情報の一例を示す図である。図3に示すように、統計加点テーブル501は、「I/Oアクセス先」と、「対象デバイス」とを対応付けた情報を記憶する。ここで、「I/Oアクセス先」は、I/Oを発行したディスクを示す。例えば、「I/Oアクセス先」には、「ディスク201a」、「ディスク201b」、「ディスク101c」などが格納される。なお、この「I/Oアクセス先」に格納される順序は、I/Oアクセスの発行順に対応するものとする。
「対象デバイス」は、I/Oアクセスにエラーは発生した場合、加点の対象となるデバイスを示す。例えば、「対象デバイス」には、「エクスパンダ110」と、「ディスク101a」と、「ディスク101b」と、「ディスク101c」と、「ディスク101d」とが格納される。また、「対象デバイス」には、「エクスパンダ210」と、「ディスク201a」と、「ディスク201b」と、「ディスク201c」と、「ディスク201d」とが格納される。
図3の例では、ディスク201aに対して発行したI/Oアクセスにエラーが発生し、エクスパンダ110とエクスパンダ210とに50点が加点された結果、点数の累積値が50点となることを示す。また、ディスク201aに65点が加点された結果、点数の累積値が65点となることを示す。なお、この統計加点テーブル501は、I/Oアクセスが発行されるごとに、後述する閾値判定部502により「I/Oアクセス先」が追加され、データが更新される。また、I/Oアクセスが正常に実行された場合、「対象デバイス」には加点されず、「I/Oアクセス先」のみが新たに追加される。
閾値判定部502は、1以上のディスクを搭載するエクスパンダを介して、いずれかのディスクに対して実行する入出力処理にエラーが発生するごとに、該ディスク及び該ディスクへの入出力処理の経路上に位置するエクスパンダに加点する。
例えば、閾値判定部502は、I/Oエラーが発生した場合、統計加点テーブル501が記憶する「対象デバイス」に該当するI/Oアクセスした各ディスクと、このディスクに至る経路上の全てのエクスパンダとに対応付けた点数に加点を行う。ここで、閾値判定部502は、エクスパンダへの1回の加点値(PEXP)を50点、ディスクへの加点値(PDISK)を65点とし、デバイスを異常部位に特定する点数の閾値を255点とする。
そして、閾値判定部502は、ディスクあるいはエクスパンダの点数の累積値が所定の閾値以上になったか否かを判定する。例えば、閾値判定部502は、ディスクに対応付けた点数に加点した累積値が所定の閾値である255点以上になったと判定した場合、入出力処理に偏りがあるか否かを判定する旨を偏り判定部503に通知する。
また、閾値判定部502は、エクスパンダに対応付けた点数の累積値が所定の閾値以上になったと判定した場合、異常であるエクスパンダを特定する旨を接続判定部504に通知する。
また、閾値判定部502は、ディスクあるいはエクスパンダのいずれに加点した累積値が所定の閾値以上になっていないと判定した場合、引き続き入出力処理にエラーが発生するごとに、ディスクとエクスパンダとに加点する。
偏り判定部503は、閾値判定部502によりいずれかのディスクに対応付けた点数に加点した累積値が閾値以上になったと判定された場合、入出力処理に偏りがあるか否かを判定する。
例えば、偏り判定部503は、2つ以上のディスクに対してI/Oが流れている場合、それぞれディスクへのI/Oの発行状況を判断し、最も多くI/Oが流れているディスクへのI/Oの発行数(IOMAX)を算出する。また、偏り判定部503は、それ以外のディスクへのI/O発行数(IO、IO、・・・ION−1)を算出する。
偏り判定部503は、エクスパンダへの1回の加点値をPEXP、ディスクへの加点値をPDISKとして、I/Oの発行比率が以下の式(1)の条件を満たす場合は、I/Oに偏りがあると判定する。
IOMAX×(PDISK−PEXP)>(IO+IO+・・・+ION−1)×PEXP・・・式(1)
次に、式(1)の算出方法について説明する。I/O偏りによりエクスパンダ異常時にディスク切り離しと誤診断されてしまう可能性があるのは、エクスパンダの加点値よりディスクの加点値の方が上回る場合である。エクスパンダに異常がある場合、搭載されたすべてのディスクでエラーが発生するが、I/O発行数が多いものほどエラーが発生しやすい。したがって、最もI/O発行数の多いものが最初に切り離し対象となる。
N個のディスクのうち最もI/O発行数が多いディスクへのI/OをIOMAXとし、残りのディスクへのI/OをIO〜ION−1とする。ディスク切り離しが誤検出される条件であるエクスパンダの加点値よりディスクの加点値の方が上回る場合の条件は、以下の式(2)で表される。
IOMAX×PDISK>IOMAX×PEXP+IO×PEXP+IO×PEXP+・・・+ION−1×PEXP・・・式(2)
この式(2)を変形させると式(1)になる。
そして、偏り判定部503は、入出力処理に偏りがないと判定すれば、累積値が閾値以上になったディスクを異常デバイスに特定する。
また、偏り判定部503は、入出力処理に偏りがあると判定すれば、接続判定部504に閾値以上になったディスクを搭載するエクスパンダに対して接続状態が正常であるか否かを判定させる。ここで、偏り判定部503は、点数の累積値が閾値以上になったディスクを搭載するエクスパンダが正常である旨を接続判定部504から通知された場合、点数の累積値が閾値以上になったディスクを異常デバイスに特定する。
接続判定部504は、偏り判定部503により偏りがあると判定された場合、点数の累積値が閾値以上になったディスクを搭載するエクスパンダに対して接続状態が正常であるか否かを判定する。接続判定部504は、点数の累積値が閾値以上になったディスクを搭載するエクスパンダとの接続状態が正常であると判定した場合に、偏り判定部503に、点数の累積値が閾値以上になったディスクを搭載するエクスパンダが正常である旨を通知する。
また、接続判定部504は、点数の累積値が閾値以上になったディスクを搭載するエクスパンダとの接続状態が正常ではないと判定した場合、異常であるエクスパンダを特定する。また、接続判定部504は、閾値判定部502によりいずれかのエクスパンダが閾値以上になったと判定された場合に、異常であるエクスパンダを特定する。
接続判定部504による異常であるエクスパンダを特定する処理について説明する。例えば、接続判定部504は、点数の累積値が閾値以上になったディスクを搭載するエクスパンダ、あるいは点数の累積値が閾値以上になったエクスパンダを切離し候補に設定する。なお、接続判定部504は、点数の累積値が閾値以上になったエクスパンダが複数存在する場合、最下位のエクスパンダを切離し候補に設定する。
そして、接続判定部504は、切離し候補のエクスパンダまでの経路上の全てのエクスパンダにI/Oが発行されているか否かを判定する。ここで、接続判定部504は、全てのエクスパンダにI/Oが発行されている場合、切離し候補のエクスパンダを異常デバイスであると特定する。
続いて、接続判定部504は、全てのエクスパンダにI/Oが発行されていない場合、エクスパンダよりも上位に位置する全てのエクスパンダに対して接続状態が正常であるか否かを判定する。ここで、接続判定部504は、上位に位置する全てのエクスパンダに対して接続状態が正常であると判定した場合、切離し候補のエクスパンダを異常デバイスであると特定する。
また、接続判定部504は、上位に位置する全てのエクスパンダに対して接続状態が正常でないと判定した場合、接続状態が正常でないエクスパンダのうち、最上位に位置するエクスパンダを異常デバイスであると特定する。
切離部505は、偏り判定部503または接続判定部504により異常であると特定されたデバイスを切離す。例えば、切離部505は、接続判定部504により接続が正常でないと判定されたエクスパンダのうち、最も上位に位置するエクスパンダを切離す。
また、例えば、切離部505は、接続判定部504により閾値以上になったディスクを搭載するエクスパンダとの接続状態が正常であると判定された場合に、閾値以上になったディスクとの接続を切離す。また、切離部505は、偏り判定部503により入出力処理に偏りがないと判定された場合、閾値判定部502により、閾値以上になったと判定されたディスクを切離す。
[実施例1に係るストレージ装置による処理の処理手順]
次に図4から図6を用いて、実施例1に係るストレージ装置による処理の処理手順を説明する。図4から図6は、実施例1に係るストレージ装置による処理の処理手順を示すフローチャートである。
図4に示すように、閾値判定部502は、I/Oアクセスでエラーが発生したか否かを判定する(ステップS101)。ここで、閾値判定部502は、I/Oアクセスでエラーが発生したと判定した場合(ステップS101、Yes)、点数を加点する(ステップS102)。例えば、閾値判定部502は、I/Oアクセスのエラーが発生したディスクと、このディスクを搭載するエクスパンダと、このエクスパンダの上位に位置するエクスパンダとに所定の点数を加点する。
そして、閾値判定部502は、いずれかのエクスパンダの点数の累積値が閾値以上になったか否かを判定する(ステップS103)。ここで、閾値判定部502は、いずれかのエクスパンダの点数の累積値が閾値以上になったと判定した場合(ステップS103、Yes)、ステップS113へ移行する。
一方、閾値判定部502は、いずれのエクスパンダの点数の累積値も閾値以上になっていないと判定した場合(ステップS103、No)、いずれかのディスクの点数の累積値が閾値以上になったか否かを判定する(ステップS104)。そして、閾値判定部502は、いずれかのディスクの点数の累積値が閾値以上になったと判定した場合(ステップS104、Yes)、ステップS105へ移行する。一方、閾値判定部502は、いずれのディスクの点数の累積値も閾値以上になっていないと判定した場合(ステップS104、No)、ステップS101に移行する。
続いて、図5を用いて、ステップS105へ移行後の処理手順について説明する。偏り判定部503は、閾値以上になったディスクが搭載されたエクスパンダ内のすべてのディスクに対するI/O発行数を確認する(ステップS105)。そして、偏り判定部503は、2つ以上のディスクにI/Oが発行されているか否かを判定する(ステップS106)。
ここで、偏り判定部503は、2つ以上のディスクにI/Oが発行されていないと判定した場合(ステップS106、No)、ステップS109に移行する。一方、偏り判定部503は、2つ以上のディスクにI/Oが発行されていると判定した場合(ステップS106、Yes)、I/Oの偏りを算出する(ステップS107)。
そして、偏り判定部503は、I/Oに偏りがあるか否かを判定する(ステップS108)。ここで、偏り判定部503は、I/Oに偏りがないと判定した場合(ステップS108、No)、ステップS112に移行する。一方、偏り判定部503は、I/Oに偏りがあると判定した場合(ステップS108、Yes)、ステップS109に移行する。
ステップS109では、接続判定部504は、ディスクが搭載されたエクスパンダに対してリンクの接続状態を確認するコマンドを発行する(ステップS109)。そして、接続判定部504は、エクスパンダの接続を確認できないか否かを判定する(ステップS110)。
ここで、接続判定部504は、エクスパンダの接続を確認できないと判定した場合(ステップS110、Yes)、以下の処理を実行する。すなわち、接続判定部504は、エクスパンダの異常であると判定し、閾値以上になったディスクを搭載するエクスパンダを切離し候補に設定し(ステップS111)、ステップS116へ移行する。一方、接続判定部504は、エクスパンダの接続を確認できると判定した場合(ステップS110、No)、ステップS112に移行する。
ステップS112では、偏り判定部503は、点数が閾値以上になったディスクを異常デバイスに特定し(ステップS112)、ステップS122に移行する。
続いて、図6を用いて、ステップS113へ移行後の処理手順について説明する。接続判定部504は、閾値以上になったエクスパンダが複数存在するか否かを判定する(ステップS113)。接続判定部504は、閾値以上になったエクスパンダが複数存在すると判定した場合(ステップS113、Yes)、閾値以上になったエクスパンダのうち、最下位に位置するエクスパンダを切離し候補に設定し(ステップS114)、ステップS116に移行する。
一方、接続判定部504は、閾値以上になったエクスパンダが複数存在しないと判定した場合(ステップS113、No)、閾値以上になったエクスパンダを切離し候補に設定し(ステップS115)、ステップS116に移行する。
ステップS116では、接続判定部504は、切離し候補までの経路上の全てのエクスパンダにI/Oが発行されているか否かを判定する(ステップS116)。接続判定部504は、切離し候補までの経路上の全てのエクスパンダにI/Oが発行されていないと判定した場合(ステップS116、No)、以下の処理を実行する。すなわち、接続判定部504は、切離し候補より上位に位置するエクスパンダに対してリンクの接続状態を確認するコマンドを発行する(ステップS117)。
続いて、接続判定部504は、接続を確認できないエクスパンダが存在するか否かを判定する(ステップS118)。ここで、接続判定部504は、接続を確認できないエクスパンダが存在すると判定した場合(ステップS118、Yes)、リンクの接続を確認できないエクスパンダのうち最上位に位置するエクスパンダの異常であると判定する(ステップS119)。そして、接続判定部504は、リンクの接続を確認できないエクスパンダのうち最上位に位置するエクスパンダを異常デバイスに特定し(ステップS120)、ステップS122に移行する。
接続判定部504は、切離し候補までの経路上の全てのエクスパンダにI/Oが発行されていると判定した場合(ステップS116、Yes)、ステップS121に移行する。また、接続判定部504は、接続を確認できないエクスパンダが存在しないと判定した場合(ステップS118、No)、ステップS121に移行する。
ステップS121では、接続判定部504は、切離し候補を異常デバイスに特定し(ステップS121)、ステップS122に移行する。そして、ステップS122では、切離部505は、異常であると特定されたデバイスを切離す(ステップS122)。
[実施例1の効果]
上述してきたように、実施例1に係るストレージ装置1は、正常なデバイスの切離しを防止することができる。一例として、ストレージ装置1において、エクスパンダ110に異常がある場合を示す。なお、エクスパンダへの1回の加点値(PEXP)を50点、ディスクへの加点値(PDISK)を65点とし、デバイスを異常部位に特定する点数の閾値を255点とする。
ストレージ装置1は、ディスク201aに繰り返しI/Oアクセスを行う場合、いずれのI/Oアクセスもエラーになる。そして、ディスク201aに4度目にI/Oアクセスを失敗した場合、ディスク201aの加点が閾値である255点を超える。
この場合、ストレージ装置1は、全てのディスクへのI/O発行数を確認し、I/Oアクセスがディスク201aに偏っていると判定する。そして、ストレージ装置1は、ディスク201aを搭載するエクスパンダ210との接続状態を確認し、エクスパンダの異常であるか否かを判定する。ここで、ストレージ装置1は、エクスパンダ210との接続状態を確認できなければ、異常であるエクスパンダの特定を行う。この結果、ストレージ装置1は、正常であるディスク201aを切離すことを防止できる。
続いて、ストレージ装置1は、異常であるエクスパンダの特定を行う。例えば、ストレージ装置1は、エクスパンダ210より上位に位置するエクスパンダ110との接続状態を確認する。そして、ストレージ装置1は、エクスパンダ110との接続状態を確認できなければ、最上位に位置するエクスパンダである110を異常であると特定する。この結果、ストレージ装置1は、正常であるエクスパンダ210を切離すことを防止できる。
ところで、本発明は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例2では、本発明に含まれる他の実施例について説明する。
(システム構成等)
本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。また、図示した統計加点テーブル501が記憶する情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。
また、偏り判定部503は、式(1)において、IO、IO、・・・ION−1を簡略化して、最小値(IOMIN)に置き換えた近似式を用いてI/Oの偏りを判定してもよい。例えば、この場合、偏り判定部503は、近似式として、以下の式(3)を用いる。
IOMIN/IOMAX<PDISK−PEXP/PEXP(N−1)・・・式(3)
例えば、式(3)を用いて、偏り判定部503は、IOMIN/IOMAX<が所定の閾値以下となる場合、I/Oに偏りがあると判定する。一例をあげると、ディスクの数が2である場合、偏り判定部503は、式(3)から閾値が30%以下である場合に、I/Oに偏りがあると判定する。また、ディスクの数が4である場合、偏り判定部503は、式(3)から閾値が10%以下である場合に、I/Oに偏りがあると判定する。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更してもよい。例えば、ストレージ装置が有するDEが1つであった場合、図4に示すステップS103において、閾値判定部502が、いずれかのエクスパンダの点数が閾値以上になったと判定した場合、ステップS113に移行せず、ステップS122に移行してもよい。
また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、制御プログラム321では、偏り判定部503と接続判定部504とが統合されてもよい。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをストレージ装置が有するコンピュータで実行することによって実現することができる。そこで、以下では、図7を用いて、上記実施例と同様の機能を有するストレージ装置制御プログラムを実行するコンピュータの一例を説明する。図7は、ストレージ装置制御プログラムを実行するコンピュータを示す図である。
図7に示すように、コンピュータ700は、ホストとのインターフェースであるFC−CA710、ホストとのインターフェースであるiSCSI−CA720、ディスク装置とのインターフェースであるSAS730を有する。また、コンピュータ700は、各種情報を一時記憶するRAM740、書き換え可能であり、電源を切ってもデータが消えない不揮発性のフラッシュメモリ750を有する。また、コンピュータ700は、読み出し専用メモリであるROM(Read Only Memory)760、各種演算処理を実行するCPU770を有する。また、コンピュータ700が有する各部は、バス780で接続される。
そして、フラッシュメモリ750には、図2に示した統計加点テーブル501に対応する統計加点テーブル751が記憶される。また、ROM760には、図2に示した閾値判定部502と偏り判定部503と接続判定部504と切離部505と同様の機能を有するストレージ装置制御プログラム761が記憶される。
そして、CPU770は、フラッシュメモリ750から読み出した統計加点テーブル751を参照し、ROM760から読み出したストレージ装置制御プログラム761をストレージ装置制御プロセス771として実行する。
なお、上記のストレージ装置制御プログラム761は、必ずしもROM760に格納されている必要はなく、CD−ROM等の記憶媒体に記憶されたこのプログラムを、コンピュータ700が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WAN(Wide Area Network)等を介してコンピュータ700に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておき、コンピュータ700がこれらからプログラムを読み出して実行するようにしてもよい。
1 ストレージ装置
100、200 DE
101a〜101d、201a〜201d ディスク
102、202 エクスパンダモジュール
110、210 SASエクスパンダ(エクスパンダ)
111〜116、211〜216、311 SASポート
300 CM
301 I/Oコントローラ
310 SASコントローラ
320 メモリ
321 制御プログラム
330 プロセッサ
501 統計加点テーブル
502 閾値判定部
503 偏り判定部
504 接続判定部
505 切離部
700 コンピュータ
710 FC−CA
720 iSCSI−CA
730 SAS
740 RAM
750 フラッシュメモリ
751 統計加点テーブル
760 ROM
761 ストレージ装置制御プログラム
770 CPU
771 ストレージ装置制御プロセス
780 バス

Claims (6)

  1. 中継装置を介して記憶装置に対する入出力処理を行うストレージ装置において、
    前記入出力処理における前記記憶装置のエラーの発生に応じて累積される累積値が所定の閾値に達したか否かを判定する閾値判定部と、
    前記閾値判定部により累積値が閾値以上になったと判定された場合、前記記憶装置に対する入出力処理数が前記中継装置に搭載された他の記憶装置に対する入出力処理数と比較して偏りがあるか否かを判定する偏り判定部と、
    前記偏り判定部により偏りがあると判定された場合、前記中継装置に対して接続状態が正常であるか否かを判定する接続判定部と、
    前記接続判定部により前記中継装置の接続状態が正常であると判定された場合に、前記記憶装置との接続を切離す切離部と
    を有することを特徴とするストレージ装置。
  2. 前記切離部は、前記偏り判定部により偏りがないと判定された場合、前記閾値判定部により、前記記憶装置との接続を切離すことを特徴とする請求項1に記載のストレージ装置。
  3. 前記接続判定部は、前記閾値判定部によりいずれかの中継装置が閾値以上になったと判定された場合、前記中継装置よりも上位に位置する全ての中継装置に対して接続状態が正常であるか否かを判定し、
    前記切離部は、前記接続判定部により接続が正常でないと判定された中継装置のうち、最も上位に位置する中継装置との接続を切離す
    ことを特徴とする請求項1に記載のストレージ装置。
  4. 前記接続判定部は、閾値以上になった前記記憶装置を搭載する中継装置との接続状態が正常ではないと判定した場合に、前記中継装置よりも上位に位置する全ての中継装置に対して接続状態が正常であるか否かを判定し、
    前記切離部は、前記接続判定部により接続が正常でないと判定された中継装置のうち、最も上位に位置する中継装置との接続を切離す
    ことを特徴とする請求項1に記載のストレージ装置。
  5. 中継装置を介して記憶装置に対する入出力処理を行うストレージ装置が、
    前記入出力処理における前記記憶装置のエラーの発生に応じて累積される累積値が所定の閾値に達したか否かを判定し、
    累積値が閾値以上になったと判定した場合、前記記憶装置に対する入出力処理数が前記中継装置に搭載された他の記憶装置に対する入出力処理数と比較して偏りがあるか否かを判定し、
    偏りがあると判定した場合、前記中継装置に対して接続状態が正常であるか否かを判定し、
    前記中継装置の接続状態が正常であると判定した場合に、前記記憶装置との接続を切離す
    各処理を含んだことを特徴とするストレージ装置の制御方法。
  6. 中継装置を介して記憶装置に対する入出力処理を行うストレージ装置に、
    前記入出力処理における前記記憶装置のエラーの発生に応じて累積される累積値が所定の閾値に達したか否かを判定し、
    累積値が閾値以上になったと判定した場合、前記記憶装置に対する入出力処理数が前記中継装置に搭載された他の記憶装置に対する入出力処理数と比較して偏りがあるか否かを判定し、
    偏りがあると判定した場合、前記中継装置に対して接続状態が正常であるか否かを判定し、
    前記中継装置の接続状態が正常であると判定した場合に、前記記憶装置との接続を切離す
    各処理を実行させるためのストレージ装置の制御プログラム。
JP2012022327A 2012-02-03 2012-02-03 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム Pending JP2013161235A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012022327A JP2013161235A (ja) 2012-02-03 2012-02-03 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
US13/710,522 US20130205173A1 (en) 2012-02-03 2012-12-11 Storage device, and storage device control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012022327A JP2013161235A (ja) 2012-02-03 2012-02-03 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム

Publications (1)

Publication Number Publication Date
JP2013161235A true JP2013161235A (ja) 2013-08-19

Family

ID=48903993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012022327A Pending JP2013161235A (ja) 2012-02-03 2012-02-03 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム

Country Status (2)

Country Link
US (1) US20130205173A1 (ja)
JP (1) JP2013161235A (ja)

Families Citing this family (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104572B1 (en) * 2013-02-11 2015-08-11 Amazon Technologies, Inc. Automated root cause analysis
US11630585B1 (en) 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
US11102298B1 (en) 2015-05-26 2021-08-24 Pure Storage, Inc. Locally providing cloud storage services for fleet management
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US11503031B1 (en) 2015-05-29 2022-11-15 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9300660B1 (en) 2015-05-29 2016-03-29 Pure Storage, Inc. Providing authorization and authentication in a cloud for a user of a storage array
US10021170B2 (en) 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
US9444822B1 (en) 2015-05-29 2016-09-13 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9588691B2 (en) 2015-06-10 2017-03-07 Pure Storage, Inc. Dynamically managing control information in a storage device
US9594512B1 (en) 2015-06-19 2017-03-14 Pure Storage, Inc. Attributing consumed storage capacity among entities storing data in a storage array
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US10296236B2 (en) 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9892071B2 (en) 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US9851762B1 (en) 2015-08-06 2017-12-26 Pure Storage, Inc. Compliant printed circuit board (‘PCB’) within an enclosure
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
US11294588B1 (en) 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
US10198194B2 (en) 2015-08-24 2019-02-05 Pure Storage, Inc. Placing data within a storage device of a flash array
US11360844B1 (en) 2015-10-23 2022-06-14 Pure Storage, Inc. Recovery of a container storage provider
US9384082B1 (en) * 2015-10-23 2016-07-05 Pure Storage, Inc. Proactively providing corrective measures for storage arrays
US10514978B1 (en) 2015-10-23 2019-12-24 Pure Storage, Inc. Automatic deployment of corrective measures for storage arrays
US10284232B2 (en) 2015-10-28 2019-05-07 Pure Storage, Inc. Dynamic error processing in a storage device
US10374868B2 (en) 2015-10-29 2019-08-06 Pure Storage, Inc. Distributed command processing in a flash storage system
US9740414B2 (en) 2015-10-29 2017-08-22 Pure Storage, Inc. Optimizing copy operations
US10353777B2 (en) 2015-10-30 2019-07-16 Pure Storage, Inc. Ensuring crash-safe forward progress of a system configuration update
US11762764B1 (en) 2015-12-02 2023-09-19 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US10326836B2 (en) 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems
US11616834B2 (en) 2015-12-08 2023-03-28 Pure Storage, Inc. Efficient replication of a dataset to the cloud
US10162835B2 (en) 2015-12-15 2018-12-25 Pure Storage, Inc. Proactive management of a plurality of storage arrays in a multi-array system
US11347697B1 (en) 2015-12-15 2022-05-31 Pure Storage, Inc. Proactively optimizing a storage system
US10346043B2 (en) 2015-12-28 2019-07-09 Pure Storage, Inc. Adaptive computing for data compression
US9886314B2 (en) 2016-01-28 2018-02-06 Pure Storage, Inc. Placing workloads in a multi-array system
US10572460B2 (en) 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US9760297B2 (en) 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US9959043B2 (en) 2016-03-16 2018-05-01 Pure Storage, Inc. Performing a non-disruptive upgrade of data in a storage system
US11995315B2 (en) 2016-03-16 2024-05-28 Pure Storage, Inc. Converting data formats in a storage system
US9841921B2 (en) 2016-04-27 2017-12-12 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices
US11809727B1 (en) 2016-04-27 2023-11-07 Pure Storage, Inc. Predicting failures in a storage system that includes a plurality of storage devices
US11112990B1 (en) 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
US9811264B1 (en) 2016-04-28 2017-11-07 Pure Storage, Inc. Deploying client-specific applications in a storage system utilizing redundant system resources
US10303390B1 (en) 2016-05-02 2019-05-28 Pure Storage, Inc. Resolving fingerprint collisions in flash storage system
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US10452310B1 (en) 2016-07-13 2019-10-22 Pure Storage, Inc. Validating cabling for storage component admission to a storage array
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US10459652B2 (en) 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
US10474363B1 (en) 2016-07-29 2019-11-12 Pure Storage, Inc. Space reporting in a storage system
US10671439B1 (en) 2016-09-07 2020-06-02 Pure Storage, Inc. Workload planning with quality-of-service (‘QOS’) integration
US10146585B2 (en) 2016-09-07 2018-12-04 Pure Storage, Inc. Ensuring the fair utilization of system resources using workload based, time-independent scheduling
US11481261B1 (en) 2016-09-07 2022-10-25 Pure Storage, Inc. Preventing extended latency in a storage system
US11531577B1 (en) 2016-09-07 2022-12-20 Pure Storage, Inc. Temporarily limiting access to a storage device
US10331588B2 (en) 2016-09-07 2019-06-25 Pure Storage, Inc. Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling
US10908966B1 (en) 2016-09-07 2021-02-02 Pure Storage, Inc. Adapting target service times in a storage system
US11960348B2 (en) 2016-09-07 2024-04-16 Pure Storage, Inc. Cloud-based monitoring of hardware components in a fleet of storage systems
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US10235229B1 (en) 2016-09-07 2019-03-19 Pure Storage, Inc. Rehabilitating storage devices in a storage array that includes a plurality of storage devices
US11379132B1 (en) 2016-10-20 2022-07-05 Pure Storage, Inc. Correlating medical sensor data
US10007459B2 (en) 2016-10-20 2018-06-26 Pure Storage, Inc. Performance tuning in a storage system that includes one or more storage devices
US11620075B2 (en) 2016-11-22 2023-04-04 Pure Storage, Inc. Providing application aware storage
US10162566B2 (en) 2016-11-22 2018-12-25 Pure Storage, Inc. Accumulating application-level statistics in a storage system
US10198205B1 (en) 2016-12-19 2019-02-05 Pure Storage, Inc. Dynamically adjusting a number of storage devices utilized to simultaneously service write operations
US11461273B1 (en) 2016-12-20 2022-10-04 Pure Storage, Inc. Modifying storage distribution in a storage system that includes one or more storage devices
US10489307B2 (en) 2017-01-05 2019-11-26 Pure Storage, Inc. Periodically re-encrypting user data stored on a storage device
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11340800B1 (en) 2017-01-19 2022-05-24 Pure Storage, Inc. Content masking in a storage system
US10503700B1 (en) 2017-01-19 2019-12-10 Pure Storage, Inc. On-demand content filtering of snapshots within a storage system
US11163624B2 (en) 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system
US11169727B1 (en) 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US11089105B1 (en) 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US10454810B1 (en) 2017-03-10 2019-10-22 Pure Storage, Inc. Managing host definitions across a plurality of storage systems
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US11803453B1 (en) 2017-03-10 2023-10-31 Pure Storage, Inc. Using host connectivity states to avoid queuing I/O requests
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US11442825B2 (en) 2017-03-10 2022-09-13 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US9910618B1 (en) 2017-04-10 2018-03-06 Pure Storage, Inc. Migrating applications executing on a storage system
US10459664B1 (en) 2017-04-10 2019-10-29 Pure Storage, Inc. Virtualized copy-by-reference
US11868629B1 (en) 2017-05-05 2024-01-09 Pure Storage, Inc. Storage system sizing service
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US11989429B1 (en) 2017-06-12 2024-05-21 Pure Storage, Inc. Recommending changes to a storage system
US11016824B1 (en) 2017-06-12 2021-05-25 Pure Storage, Inc. Event identification with out-of-order reporting in a cloud-based environment
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US10976962B2 (en) 2018-03-15 2021-04-13 Pure Storage, Inc. Servicing I/O operations in a cloud-based storage system
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US10884636B1 (en) 2017-06-12 2021-01-05 Pure Storage, Inc. Presenting workload performance in a storage system
US11210133B1 (en) 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
US11422731B1 (en) 2017-06-12 2022-08-23 Pure Storage, Inc. Metadata-based replication of a dataset
WO2018231350A1 (en) 2017-06-12 2018-12-20 Pure Storage, Inc. Accessible fast durable storage integrated into a bulk storage device
US10853148B1 (en) 2017-06-12 2020-12-01 Pure Storage, Inc. Migrating workloads between a plurality of execution environments
US10613791B2 (en) 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US11340939B1 (en) 2017-06-12 2022-05-24 Pure Storage, Inc. Application-aware analytics for storage systems
US11593036B2 (en) 2017-06-12 2023-02-28 Pure Storage, Inc. Staging data within a unified storage element
US11561714B1 (en) 2017-07-05 2023-01-24 Pure Storage, Inc. Storage efficiency driven migration
US11477280B1 (en) 2017-07-26 2022-10-18 Pure Storage, Inc. Integrating cloud storage services
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10671435B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Data transformation caching in an artificial intelligence infrastructure
US10452444B1 (en) 2017-10-19 2019-10-22 Pure Storage, Inc. Storage system with compute resources and shared storage resources
US11455168B1 (en) 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US10467107B1 (en) 2017-11-01 2019-11-05 Pure Storage, Inc. Maintaining metadata resiliency among storage device failures
US10509581B1 (en) 2017-11-01 2019-12-17 Pure Storage, Inc. Maintaining write consistency in a multi-threaded storage system
US10817392B1 (en) 2017-11-01 2020-10-27 Pure Storage, Inc. Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices
US10484174B1 (en) 2017-11-01 2019-11-19 Pure Storage, Inc. Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices
US10671494B1 (en) 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
US10936238B2 (en) 2017-11-28 2021-03-02 Pure Storage, Inc. Hybrid data tiering
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10795598B1 (en) 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US11036677B1 (en) 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10992533B1 (en) 2018-01-30 2021-04-27 Pure Storage, Inc. Policy based path management
US11150834B1 (en) 2018-03-05 2021-10-19 Pure Storage, Inc. Determining storage consumption in a storage system
US11972134B2 (en) 2018-03-05 2024-04-30 Pure Storage, Inc. Resource utilization using normalized input/output (‘I/O’) operations
US11861170B2 (en) 2018-03-05 2024-01-02 Pure Storage, Inc. Sizing resources for a replication target
US10942650B1 (en) 2018-03-05 2021-03-09 Pure Storage, Inc. Reporting capacity utilization in a storage system
US10521151B1 (en) 2018-03-05 2019-12-31 Pure Storage, Inc. Determining effective space utilization in a storage system
US10296258B1 (en) 2018-03-09 2019-05-21 Pure Storage, Inc. Offloading data storage to a decentralized storage network
US11048590B1 (en) 2018-03-15 2021-06-29 Pure Storage, Inc. Data consistency during recovery in a cloud-based storage system
US10924548B1 (en) 2018-03-15 2021-02-16 Pure Storage, Inc. Symmetric storage using a cloud-based storage system
US10917471B1 (en) 2018-03-15 2021-02-09 Pure Storage, Inc. Active membership in a cloud-based storage system
US11288138B1 (en) 2018-03-15 2022-03-29 Pure Storage, Inc. Recovery from a system fault in a cloud-based storage system
US11210009B1 (en) 2018-03-15 2021-12-28 Pure Storage, Inc. Staging data in a cloud-based storage system
US11095706B1 (en) 2018-03-21 2021-08-17 Pure Storage, Inc. Secure cloud-based storage system management
US11171950B1 (en) 2018-03-21 2021-11-09 Pure Storage, Inc. Secure cloud-based storage system management
US10838833B1 (en) 2018-03-26 2020-11-17 Pure Storage, Inc. Providing for high availability in a data analytics pipeline without replicas
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US11455409B2 (en) 2018-05-21 2022-09-27 Pure Storage, Inc. Storage layer data obfuscation
US10992598B2 (en) 2018-05-21 2021-04-27 Pure Storage, Inc. Synchronously replicating when a mediation service becomes unavailable
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US10871922B2 (en) 2018-05-22 2020-12-22 Pure Storage, Inc. Integrated storage management between storage systems and container orchestrators
US11416298B1 (en) 2018-07-20 2022-08-16 Pure Storage, Inc. Providing application-specific storage by a storage system
US11403000B1 (en) 2018-07-20 2022-08-02 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11954238B1 (en) 2018-07-24 2024-04-09 Pure Storage, Inc. Role-based access control for a storage system
US11632360B1 (en) 2018-07-24 2023-04-18 Pure Storage, Inc. Remote access to a storage device
US11146564B1 (en) 2018-07-24 2021-10-12 Pure Storage, Inc. Login authentication in a cloud storage platform
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11860820B1 (en) 2018-09-11 2024-01-02 Pure Storage, Inc. Processing data through a storage system in a data pipeline
US10671302B1 (en) 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
US10963189B1 (en) 2018-11-18 2021-03-30 Pure Storage, Inc. Coalescing write operations in a cloud-based storage system
US11526405B1 (en) 2018-11-18 2022-12-13 Pure Storage, Inc. Cloud-based disaster recovery
US11340837B1 (en) 2018-11-18 2022-05-24 Pure Storage, Inc. Storage system management via a remote console
US11379254B1 (en) 2018-11-18 2022-07-05 Pure Storage, Inc. Dynamic configuration of a cloud-based storage system
US11650749B1 (en) 2018-12-17 2023-05-16 Pure Storage, Inc. Controlling access to sensitive data in a shared dataset
US11003369B1 (en) 2019-01-14 2021-05-11 Pure Storage, Inc. Performing a tune-up procedure on a storage device during a boot process
US11042452B1 (en) 2019-03-20 2021-06-22 Pure Storage, Inc. Storage system data recovery using data recovery as a service
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11068162B1 (en) 2019-04-09 2021-07-20 Pure Storage, Inc. Storage management in a cloud data store
US11392555B2 (en) 2019-05-15 2022-07-19 Pure Storage, Inc. Cloud-based file services
US11853266B2 (en) 2019-05-15 2023-12-26 Pure Storage, Inc. Providing a file system in a cloud environment
US11126364B2 (en) 2019-07-18 2021-09-21 Pure Storage, Inc. Virtual storage system architecture
US11327676B1 (en) 2019-07-18 2022-05-10 Pure Storage, Inc. Predictive data streaming in a virtual storage system
US12001355B1 (en) 2019-05-24 2024-06-04 Pure Storage, Inc. Chunked memory efficient storage data transfers
US11861221B1 (en) 2019-07-18 2024-01-02 Pure Storage, Inc. Providing scalable and reliable container-based storage services
US11487715B1 (en) 2019-07-18 2022-11-01 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11797197B1 (en) 2019-07-18 2023-10-24 Pure Storage, Inc. Dynamic scaling of a virtual storage system
US11526408B2 (en) 2019-07-18 2022-12-13 Pure Storage, Inc. Data recovery in a virtual storage system
US11093139B1 (en) 2019-07-18 2021-08-17 Pure Storage, Inc. Durably storing data within a virtual storage system
US11086553B1 (en) 2019-08-28 2021-08-10 Pure Storage, Inc. Tiering duplicated objects in a cloud-based object store
US11693713B1 (en) 2019-09-04 2023-07-04 Pure Storage, Inc. Self-tuning clusters for resilient microservices
US11797569B2 (en) 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication
US11360689B1 (en) 2019-09-13 2022-06-14 Pure Storage, Inc. Cloning a tracking copy of replica data
US11573864B1 (en) 2019-09-16 2023-02-07 Pure Storage, Inc. Automating database management in a storage system
US11669386B1 (en) 2019-10-08 2023-06-06 Pure Storage, Inc. Managing an application's resource stack
US20210173945A1 (en) 2019-12-06 2021-06-10 Pure Storage, Inc. Replicating data to a storage system that has an inferred trust relationship with a client
US11733901B1 (en) 2020-01-13 2023-08-22 Pure Storage, Inc. Providing persistent storage to transient cloud computing services
US11720497B1 (en) 2020-01-13 2023-08-08 Pure Storage, Inc. Inferred nonsequential prefetch based on data access patterns
US11709636B1 (en) 2020-01-13 2023-07-25 Pure Storage, Inc. Non-sequential readahead for deep learning training
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11321006B1 (en) 2020-03-25 2022-05-03 Pure Storage, Inc. Data loss prevention during transitions from a replication source
US11630598B1 (en) 2020-04-06 2023-04-18 Pure Storage, Inc. Scheduling data replication operations
US11301152B1 (en) 2020-04-06 2022-04-12 Pure Storage, Inc. Intelligently moving data between storage systems
US11494267B2 (en) 2020-04-14 2022-11-08 Pure Storage, Inc. Continuous value data redundancy
US11921670B1 (en) 2020-04-20 2024-03-05 Pure Storage, Inc. Multivariate data backup retention policies
US11431488B1 (en) 2020-06-08 2022-08-30 Pure Storage, Inc. Protecting local key generation using a remote key management service
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US11853285B1 (en) 2021-01-22 2023-12-26 Pure Storage, Inc. Blockchain logging of volume-level events in a storage system
US20220365827A1 (en) 2021-05-12 2022-11-17 Pure Storage, Inc. Rebalancing In A Fleet Of Storage Systems Using Data Science
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US11893263B2 (en) 2021-10-29 2024-02-06 Pure Storage, Inc. Coordinated checkpoints among storage systems implementing checkpoint-based replication
US11714723B2 (en) 2021-10-29 2023-08-01 Pure Storage, Inc. Coordinated snapshots for data stored across distinct storage environments
US11914867B2 (en) 2021-10-29 2024-02-27 Pure Storage, Inc. Coordinated snapshots among storage systems implementing a promotion/demotion model
US11922052B2 (en) 2021-12-15 2024-03-05 Pure Storage, Inc. Managing links between storage objects
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers
US12001300B2 (en) 2022-01-04 2024-06-04 Pure Storage, Inc. Assessing protection for storage resources
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction

Also Published As

Publication number Publication date
US20130205173A1 (en) 2013-08-08

Similar Documents

Publication Publication Date Title
JP2013161235A (ja) ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
JP6599054B2 (ja) 異常判定装置、異常判定方法及び異常判定プログラム
US8832501B2 (en) System and method of processing failure
JP6379905B2 (ja) 制御装置および制御方法
WO2015169199A1 (zh) 分布式环境下虚拟机异常恢复方法
US9026843B2 (en) Arbitration suspension in a SAS domain
US20130336105A1 (en) Expander device
US8145956B2 (en) Information processing apparatus, failure processing method, and recording medium in which failure processing program is recorded
JP2013097553A (ja) 切替制御装置、切替制御方法、情報処理装置および切替制御プログラム
JP5391994B2 (ja) ストレージシステム,制御装置および診断方法
US20180267870A1 (en) Management node failover for high reliability systems
JP6428048B2 (ja) 通信システム,異常制御装置および異常制御方法
JP2007299213A (ja) Raid制御装置および障害監視方法
JP6179119B2 (ja) 管理装置、管理方法、及び管理プログラム
CN103176581A (zh) 电源管理装置及电源管理方法
US20170242760A1 (en) Monitoring device, fault-tolerant system, and control method
JP6861533B2 (ja) 処理装置、二重化システム、処理方法、および処理プログラム
US9116859B2 (en) Disk array system having a plurality of chassis and path connection method
JP2016066139A (ja) 車両制御装置
US9459943B2 (en) Fault isolation by counting abnormalities
JP2009129075A (ja) ストレージシステム
JP6252285B2 (ja) ストレージ制御装置、制御方法、及びプログラム
US20160132356A1 (en) Management apparatus and method for system configuration
JP5273185B2 (ja) 記録媒体制御システム、記録媒体制御方法、記録媒体制御プログラム
US20140148922A1 (en) Control system, abnormality diagnosis method of control system, and computer-readable recording medium having stored therein abnormality diagnosis program of control system