JP6233086B2 - ストレージ制御装置,ストレージシステム及び制御プログラム - Google Patents
ストレージ制御装置,ストレージシステム及び制御プログラム Download PDFInfo
- Publication number
- JP6233086B2 JP6233086B2 JP2014030390A JP2014030390A JP6233086B2 JP 6233086 B2 JP6233086 B2 JP 6233086B2 JP 2014030390 A JP2014030390 A JP 2014030390A JP 2014030390 A JP2014030390 A JP 2014030390A JP 6233086 B2 JP6233086 B2 JP 6233086B2
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- disk
- spare
- redundant
- raid
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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 by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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 by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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 by mirroring
- G06F11/2082—Data synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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 by mirroring
- G06F11/2087—Error 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 by mirroring with a common controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
と総称する)を複数使用するディスクアレイ装置が広く用いられるようになっている。このようなディスクアレイ装置では、一般に、Redundant Arrays of Inexpensive Disks(RAID)技術を用いて、データが2台以上のディスクに冗長化されて記録されることにより、データの安全性が担保されている。
RAID装置では、RAIDを構成する複数ディスクにまたがるストライプ内にパリティデータを入れてRAIDを構成するディスクの故障に対してデータを保護する。そして、このRAID構成上にLUN(Logical Unit Number)を割り当ててサーバにディスク領域として見せて使用させている。
また、RAID装置上に複数のLUNがある場合に、復元が完了しているLUNであっても、リビルドの全処理が終わるまでは、このリビルド処理による性能劣化の影響を受ける。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
予備記憶装置と通信路を介して通信可能に接続されるストレージ制御装置であって、前記複数の記憶装置のうち復元対象記憶装置以外の冗長用記憶装置から読み出した冗長データを用いて、前記復元対象記憶装置のデータを、前記複数の予備記憶装置のうちの第1の予備記憶装置に再構成する再構成処理部と、前記再構成処理部による再構成を行なう際に、前記再構成処理部が前記冗長用記憶装置から読み出したデータを利用して、前記複数の予備記憶装置における、当該データを読み出した前記冗長用記憶装置に対応する第2の予備記憶装置に格納することで、前記冗長用記憶装置の複製を行なう複製処理部とを備える。
ストレージシステム4においては、ストレージ装置1と1つ以上(図1に示す例では2つ)のホスト装置2a,2bとが冗長化された複数のパスを介して接続されている。
ストレージ装置1は、ドライブエンクロージャ(DE:Drive Enclosure)30に格納された記憶装置31を仮想化して、仮想ストレージ環境を形成する。そしてストレージ装置1は、仮想ボリュームを上位装置であるホスト装置2a,2bに提供する。
以下、ホスト装置を示す符号としては、複数のホスト装置のうち1つを特定する必要があるときには符号2a,2bを用いるが、任意のホスト装置を指すときには符号2を用いる。
ホスト装置2は、例えば、ストレージ装置1に対してNASにおけるリード/ライト等のディスクアクセスコマンドを送信することにより、ストレージ装置1が提供するボリュームにデータの書き込みや読み出しを行なう。
スイッチ3a,3bは、ホスト装置2a,2bとストレージ装置1のコントローラ100との通信を中継する中継装置である。各スイッチ3a,3bは、それぞれホスト装置2a,2bに接続されるとともに、コントローラ100に接続されている。
ストレージ装置1は、図1に示すように、1つ以上(本実施形態では1つ)のコントローラ100及び1つ以上(図1に示す例では1つ)のドライブエンクロージャ(Drive Enclosure:DE)30をそなえる。
以下、記憶装置を示す符号としては、複数の記憶装置のうち1つを特定する必要があるときには符号31a−1〜31a−4,31b−1〜31b−4を用いるが、任意の記憶装置を指すときには符号31を用いる。又、記憶装置31をディスク31という場合がある。
記憶装置31は、ハードディスクドライブ(Hard disk drive:HDD)、SSD(Solid State Drive)等の記憶装置であって、種々のデータを格納するものである。
また、ドライブエンクロージャ30に備えられた複数の記憶装置31を用いてRAID(Redundant Arrays of Inexpensive Disks)が構成される。図1に示す例においては、記憶装置31a−1〜31a−4を用いてRAIDが構成されており、これらの記憶装置31a−1〜31a−4がRAIDグループ30aを構成している。
記憶装置31b−1〜31b−4は、RAIDディスクグループ内のディスク故障にそなえて予備的に設けられた予備ディスクであり、ホットスペア(Hot spare;HS)として用いられる。これらの記憶装置31b−1〜31b−4が予備ディスクグループ30bを構成している。以下、記憶装置31bを予備ディスク31bという場合がある。
コントローラエンクロージャ40は、1以上(図1に示す例では1つ)のコントローラ100を備える。
コントローラ100は、ストレージ装置1内の動作を制御するストレージ制御装置であり、ホスト装置2から送信されるIOコマンドに従って、ドライブエンクロージャ30の記憶装置31へのアクセス制御等、各種制御を行なう。
コントローラ100は、図1に示すように、ポート101a,101bと複数(図1に示す例では2つ)のDA103,103とをそなえるとともに、CPU110,メモリ106,SSD107及びIOC(Input Output Controller)108をそなえる。
ポート101は、ホスト装置2等から送信されたデータを受信したり、コントローラ100から出力するデータをホスト装置2等に送信する。すなわち、ポート101は、ホスト装置等の外部装置との間でのデータの入出力(I/O)を制御する。
ポート101bは、NASを介してホスト装置2と通信可能に接続され、例えば、LAN(Local Area Network)インタフェースのNICポートである。コントローラ100は、これらのポート101により通信回線を介してホスト装置2等と接続され、I/Oコマンドの受信やデータの送受信等を行なう。
すなわち、ホスト装置2a,2bは、それぞれスイッチ3aを介してポート101aに接続されるとともに、スイッチ3bを介してポート101bに接続されている。
DA103は、ドライブエンクロージャ30や記憶装置31等と通信可能に接続するためのインタフェースである。DA103にはドライブエンクロージャ30の記憶装置31が接続され、コントローラ100は、ホスト装置2から受信したIOコマンドに基づき、これらの記憶装置31に対するアクセス制御を行なう。
メモリ106は、種々のデータやプログラムを一時的に格納する記憶装置であり、図示しないメモリ領域とキャッシュ領域とをそなえる。キャッシュ領域は、ホスト装置2から受信したデータや、ホスト装置2に対して送信するデータを一時的に格納する。メモリ領域には、CPU110がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。
RAID構成テーブル64は、後述するRAID制御部12がRAIDの管理を行なうために用いる情報であり、例えば、RAID種別や、RAIDグループ30aを構成する記憶装置31aを特定する情報等が格納される。
また、メモリ106には、後述するリビルド処理部13がリビルド処理を行なう際に、各リビルド元ディスク31aから読み出されたデータが一時的に格納される。
さらに、メモリ106には、後述する、LUN管理テーブル61が格納される。LUN管理テーブル61の詳細は後述する。
CPU110は、種々の制御や演算を行なう処理装置であり、例えばマルチコアプロセッサ(マルチCPU)である。CPU110は、SSD107等に格納されたOSやプログラムを実行することにより、種々の機能を実現する。
この図2に示すように、ストレージ装置1は、IO制御部11,RAID制御部12,リビルド処理部13,割当処理部14,ミラーリング処理部15及びRAID構成変更部16として機能する。
そして、コントローラ100のCPU110が、制御プログラムを実行することにより、これらのIO制御部11,RAID制御部12,リビルド処理部13,割当処理部14,ミラーリング処理部15及びRAID構成変更部16として機能する。
このRAID制御部12は、上述したRAID構成テーブル64を作成・管理して、RAID構成ディスク31aを用いてRAIDグループ30aを設定し、各種RAID制御を行なう。なお、RAID制御部12によるRAIDの管理は既知の手法で実現することができ、その説明は省略する。
図3は実施形態の一例としてのストレージ装置1におけるLUN管理テーブル61の構成を例示する図である。
LUN管理テーブル61は、項目と内容と備考とを関連付けて構成されている。図3に示す例においては、LUN管理テーブル61に12個の項目が登録されており、これらの項目を特定するための項番1〜12が設定されている。
項4の故障ディスク名は、そのLUNを構成するRAID構成ディスク31aにおいて、故障の発生が検知された記憶装置31aを示す情報が登録され、図3に示す例においては“disk2”が登録されている。
項6の利用予備ディスク名リストは、各RAID構成ディスク31aに対応付けられている予備ディスク31bを示す情報が格納される。なお、このRAID構成ディスク31aに対応づけられる予備ディスク31bは、後述する割当処理部14によって設定される。
また、RAID構成ディスク31aの数に対して割り当て可能な予備ディスク31bの数(本数)が少ない場合には、後述の如く、一部のRAID構成ディスク31aに対してのみ予備ディスク31bが割り当てられる。図3においては、このように予備ディスク31bの数が少ない場合の例も表示されており、割り当てられた予備ディスク31bのみが示され、割り当てられる予備ディスク31bがない部分には、横線(−)を記している。
項8のリビルド済サイズには、項2の故障ディスクに関するリビルド処理が実行された場合に、その復元されたデータの合計値(データサイズ)が進捗状況として登録される。このリビルド済みサイズの初期値は0であり、リビルド処理の進行に伴い、その値が大きくなる。
図3に示す例においては、各RAID構成ディスク31aのそれぞれに対して、リード中カウンタの値nとライト中カウンタの値nとを、(n,n)の形式で示している。
項10の予備ディスクのリード/ライト中カウンタには、各予備ディスク31bのそれぞれについて、実行中のリードアクセス及びライトアクセスの数が格納される。すなわち、各予備ディスク31bへのIOアクセス状態を示す。
例えば、後述するミラーリング処理部15が、その予備ディスク31bに対してデータのライトを行なう際にライト中カウンタの値をインクリメントする。又、ミラーリング処理部15は、ライト処理が完了すると、対応するカウンタの値をデクリメントする。
項11の元ディスクのIO禁止フラグは、そのLUNを構成する各RAID構成ディスク31aのそれぞれについて、IO処理が禁止されているか否かを示す情報が格納される。図3に示す例においては、“0”もしくは“1”が格納され、“1”がフラグとして設定されている場合には、そのRAID構成ディスク31aへのIOが禁止されていることを示す。
リビルド処理部13は、例えば、いずれかのディスク31aの故障を検出した場合に、リビルド処理を実行制御する。以下、故障が検出されたディスク31aを故障ディスク31aという場合がある。この故障ディスク31aが復元対象記憶装置に相当する。なお、ディスク31aの故障は、例えば媒体エラー等の所定のエラーが閾値として設定された頻度以上で生じる場合に発生したと判断される。
このように、リビルド処理部13は、複数のRAID構成ディスク31aのうち故障ディスク(復元対象記憶装置)31a以外のリビルド元ディスク(冗長用記憶装置)31aから読み出した冗長データを用いて、故障ディスク31aのデータを、予備ディスク(第1の予備記憶装置)に再構成する再構成処理部として機能する。
同一のRAIDグループ30aを構成する複数の記憶装置31aは、各記憶装置31aのデータが他の複数の記憶装置(冗長用記憶装置)31aに分散してコピーされることにより、冗長化されている。
例えば、メモリ106の所定の領域に、格納した故障ディスク31a以外の各リビルド元ディスク31aから読み出したデータを格納し、このデータに対してパリティを用いたXOR(排他的論理和)演算を行なうことで、故障ディスク31aのデータの復元を行なう。
リビルド処理部13は、ディスク31a−2の故障を検出すると、同一RAIDグループ30a内のリビルド元ディスク31a−1,31a−3,31a−4のデータ(Data1-1,1-3,1-4)を用いて、故障ディスク31a−2のデータ(復元Date1-2)を作成する(図4中の破線参照)。
RAIDグループ30aにおいて、複数のLUNが形成されている場合には、リビルド処理部13はLUN毎にリビルド処理を行なう。又、リビルド処理部13は、複数のLUNについてリビルドを行なう場合には、これらの複数のLUNの一覧(図示省略)と、当該一覧においてリビルド処理の進捗を示すポインタとを用いて、リビルド処理の進捗状況を管理する。
すなわち、図4に示す例においては、リビルド元ディスク31a−1,31a−3,31a−4のLUN1の各データ(Data1-1,1-3,1-4)が、予備ディスク31b−1,31b−3,31b−4にそれぞれコピーされる(矢印P1〜P3参照)。
また、予備ディスク31bのうち、RAID構成ディスク31aに対応付けられていないディスク31bを特に未割当予備ディスク31bという。
しかしながら、使用可能な予備ディスク31bの数がリビルド元ディスク31aの数に足りず、予備ディスク31bを全てのリビルド元ディスク31aに対応付けることができない場合もある。このような場合に、割当処理部14は、一部のリビルド元ディスク31aに対してだけ予備ディスク31bを割り当てる。
ここで、RAIDサイズ(P)は、RAIDグループ30aにおいて実現されるRAIDを構成する記憶装置31aの数(本数)であり、RAID種類により決定される。例えば、RAID5の場合は4本(3本+1本)である(P=4)。このRAIDサイズは、RAID構成ディスク31aの数でもある。
この図5に示す例においては、RAID構成ディスク31a−2が故障し、このRAID構成ディスク31a−2のデータがリビルド処理により代理ディスク31b−2に復元されている(図5中の破線参照)。
全てのリビルド元ディスク31aに対して予備ディスク31bを割り当てることができない場合には、割当処理部14は安定度の低い一部のリビルド元ディスク31aに対してだけ予備ディスク31bが割り当てる。
図5に示す例においては、リビルド元ディスク31a−3のLUN1のデータ(Data1-3)が、予備ディスク31b−3にコピーされる(矢印P4参照)。
余分に割り当てた予備ディスク31bは、システム内で別のRAIDに故障が発生して予備ディスク31bが不足となった場合に、リビルド処理が完了していなくても、対をなすRAID構成ディスク31aが安定している予備ディスク31bから順番に、割り当てを解除することで未割当予備ディスク31bとして利用する。
IO制御部11は、上述した仮/実ボリューム変換テーブル62を用いて、ホスト装置2からのIO要求に応じて実ボリュームである記憶装置31に対するIO処理を行なう。IO制御部11は、ホスト装置2から送信されたIO要求に応じて、LUNを構成する記憶装置31に対して、データのリードやライトを行なう。
この図6に示す状態において、リビルド済みのLUN1に対してホスト装置2からIO要求が行なわれると、IO制御部11は、RAIDグループ30aのRAID構成ディスク31aと、予備ディスクグループ30bの予備ディスク31bとの両方のディスクデータ域を用いてIO処理を行なう。
リード処理については、これらのデータはRAIDグループ30aのRAID構成ディスク31aと、予備ディスクグループ30bの予備ディスク31bとのいずれか一方から行なえばよい。本ストレージ装置1においては、ホスト装置2からのリード要求に対して、これらのRAIDグループ30aと予備ディスクグループ30bとの両方を用いてデータリードを行なう。すなわち、複数のデータリードを並列して実行できるようにすることでデータリードのパフォーマンスを向上させるとともに、ディスクアクセス負荷を分散させることで、記憶装置31の寿命を延ばすことができる。
一方、LUN1のデータに対するライトアクセスが行なわれると、RAIDグループ30aのRAID構成ディスク31aと、予備ディスクグループ30bの予備ディスク31bとの両方に対してライト処理を行なう。
例えば、LUN2のデータに対するリードアクセスが行なわれると、IO制御部11は、RAIDグループ30aのRAID構成ディスク31aからリード処理を行なう。又、故障ディスク31a−2に対するリード処理は、この故障ディスク31a−2以外の各リビルド元ディスク(冗長用記憶装置)31a−1,31a−3,31a−4のデータに対して、パリティを用いたXOR演算を行なって故障ディスク31a−2のデータの復元を行なって対応する。
すなわち、RAID構成変更部16は、リビルド処理部13によるリビルド処理の完了後に、安定度の低いリビルド元ディスク31aに代えて、当該リビルド元ディスク31aの複製がされた予備ディスク31bを用いて、RAID構成を変更する冗長構成変更部として機能する。
ストレージ統計情報としては、例えば、各RAID構成ディスク31aにおける媒体エラーの発生数やシークエラーの発生数を用いることができる。このようなストレージ統計情報は、例えば、各ディスク31aのファーム等を参照することにより取得することができる。
なお、元のRAIDを構成するディスク群の各搭載位置を維持する必要がある場合には、元のRAIDのRAID構成ディスク31aを問題がなければ使用し続けてもよい。
この図7に示す例においても、図4と同様に、RAIDグループ30aは4本のRAID構成ディスク31a−1〜31a−4によりRAID5を実現しており、又、故障ディスク31a−2が代理ディスク31b−2に再構築されている。特にこの図7においては、図6に示した状態の後、LUN2,3のリビルド処理が完了した状態を示す。
そして、この図7に示す例においては、RAID構成ディスク31a−3が不安定であると判断された状態を示す。
なお、RAID構成ディスク31a−3から予備ディスク31b−3への切り替えは既知の種々の手法を用いて実現することができる。例えば、RAID構成変更部16は、不安定であると判断されたRAID構成ディスク31a−3をfail状態に設定するコマンドを発行することで、RAID構成ディスク31a−3を予備ディスク31b−3に切り替える。
また、RAID構成変更部16は、リビルド処理の完了後、不安定であると判断されていないRAID構成ディスク31aに対応する予備ディスク31bを未割当予備ディスク31bに戻す。これにより、ドライブエンクロージャ30のスロットに予備ディスク31bとして取り付けられた記憶装置31を、積極的に予備ディスク31bとして使用することができ、管理が容易になる。図7に示す例においては、予備ディスク31b−1,31b−4がフリーの未割当予備ディスク31bに戻され、RAID構成ディスク31aとの対応付けが解除される。
ステップA1において、割当処理部14は使用可能な予備ディスク31bの本数を確認して、ストレージ構成を決定する。なお、このストレージ構成の決定手法の詳細は、図9を用いて後述する。
ステップA21において全てのLUNについての処理が完了すると(ステップA21のYESルート参照)、リビルド処理後の処理、すなわち後処理(ステップA3)に移行する。
この後処理においては、ステップA31において、RAID構成変更部16が、故障が検知されたRAID構成ディスク31aに代えて予備ディスク31bを用いてRAID構成を組み直す。
その後、ステップA32において、ステップA31で使用されなかった予備ディスク31bを解放して、未割当予備ディスク31bに戻し、処理を終了する。
なお、この後処理の詳細は、図12を用いて後述する。
次に、実施形態の一例としてのストレージ装置1におけるストレージ構成の決定方法を、図9に示すフローチャート(ステップB1〜B8)に従って説明する。
ステップB2において、割当処理部14は、“RAIDサイズP==2”,“予備ディスク数m≦1”及び“制限値L≦1”の3つの条件のうち、少なくともいずれか1つが満たされるか否かを確認する。
RAIDサイズP>制限値Lである場合(ステップB3のYESルート参照)、ステップB4において、L(例えば、図5に示したようにL=2)本の予備ディスク31bがリビルド処理及びミラーリング処理に使用される。
その後、ステップB6において、RAID制御部12は、記憶装置31aに故障が生じたRAIDグループ30a(故障RAID)において生き残っているRAID構成ディスク31aのストレージ統計情報を確認する。そしてRAID制御部12は、LUN管理テーブル61の項7のディスクの安定度リストとして格納する情報を作成し、LUN管理テーブル61に登録する。ストレージ統計情報として取得した各RAID構成ディスク31aのエラーの発生数に基づき、エラーの発生数に従ってRAID構成ディスク31aをソートすることで、ディスクの安定度リストを作成する。
次に、実施形態の一例としてのストレージ装置1におけるリビルド処理を、図10に示すフローチャート(ステップC1〜C10)に従って説明する。
未処理のLUN数が1つ以上ある場合には(ステップC2のNOルート参照)、ステップC3において、処理中LUNの情報に基づき、生き残っている各リビルド元ディスク31aを調べ、この生き残っているリビルド元ディスク31aから、RAIDストライプ分のデータを読み出し、メモリ106の所定の領域に格納する。
ステップC5において、リビルド処理部13は、故障ディスク31に対してアサインされた予備ディスク31bの所定位置(元と同じ位置)へ復元データを書き出す。又、同時に、ミラーリング処理部15は、生き残っているリビルド元ディスク31から読み出したデータを、各リビルド元ディスク31に対応付けた(アサインした)予備ディスク31bの同じ位置へデッドコピーする。
ステップC7において、リビルド処理部13は、他のRAIDの故障による予備ディスクの解放要求があるか否かを確認する。
ステップC71において、他RAIDの故障による予備ディスク31の解放要求があるか否かを確認する。他のRAIDから予備ディスク31bの解放要求がない場合には(ステップC71のNOルート参照)、処理を終了し、図10のステップC8に移行する。
確認の結果(ステップC73)、解放できる予備ディスク31bがある場合には(ステップC73のYESルート参照)、ステップC74において、リビルド処理部13は、LUN管理テーブル61の項12の予備ディスクのIO禁止フラグに、当該解放対象の予備ディスク31bのIOを禁止にするフラグを設定する。このIO禁止フラグが設定される予備ディスク31bは、LUN管理テーブル61の項7のディスクの安定度リストにおいて先頭に登録されているRAID構成ディスク31aに対応する予備ディスク31bであることが望ましい。
その後、ステップC75において、リビルド処理部13は、LUN管理テーブル61の項10の予備ディスクのリード/ライト中カウンタにおいて、解放対象の予備ディスク31bのカウンタ値を確認する。
このステップC77において、リビルド処理部13は、LUN管理テーブル61の項6の利用予備ディスク名リストから、当該予備ディスク31bを削除してLUN管理テーブル61を更新する。これにより、リビルド処理部13は、その予備ディスク31bを割り当て可能な予備ディスク31bとしてシステムに返却して、処理を終了し、図10のステップC8に移行する。
ステップC8において、リビルド処理部13は、処理中のLUNのリビルド処理が完了したか否かを確認する。この確認の結果(ステップC9)、リビルド処理が完了していない場合には(ステップC9のNOルート参照)、ステップC3に戻る。
ステップC10において、リビルド処理部13は、LUN管理テーブル61の項5のLUNの状態に“リビルド済”を設定する。又、リビルド処理部13は、未処理のLUN数をダウンして、次のLUN管理テーブル100を処理中ポインタに記憶する。その後、ステップC2に戻る。
次に、実施形態の一例としてのストレージ装置1におけるリビルド処理後の処理(後処理)を、図12に示すフローチャート(ステップD1〜D9)に従って説明する。
ステップD1において、RAID構成変更部16は、上述したリビルド処理を行なった故障ディスク31a以外のRAID構成ディスク31aについて、その統計情報を確認することで、これらのRAID構成ディスク31aに異常がないかを確認する。
確認の結果、問題があると判断された場合には(ステップD2のNOルート参照)、ステップD3において、その問題があると判断されたRAID構成ディスク31aを、failさせるリビルド元ディスク(元ディスク)としてメモリ106等に記憶して、ステップD4に移行する。
ステップD4において、RAID構成変更部16は、failさせるディスク31aと解放する予備ディスク31bとにIO禁止フラグを設定する。具体的には、LUN管理テーブル61の項11において、該当する記憶装置31aにIO禁止フラグを設定する。又、RAID構成変更部16は、LUN管理テーブル61の項12において、該当する予備ディスク31bにIO禁止フラグを設定する。
確認の結果(ステップD6)、failさせる元ディスク及び解放する予備ディスクの各リード/ライト中カウンタの値が0でない場合には(ステップD6のNOルート参照)、ステップD7において所定の時間(例えば1秒)待った後、ステップD5に戻る。
failさせる元ディスク及び解放する予備ディスクの各リード/ライト中カウンタの値が0である場合には(ステップD6のYESルート参照)、ステップD8に移行する。
例えば、RAID構成変更部16は、RAID構成テーブル64及びLUN管理テーブル61において、failさせる元ディスク31aに代えて、ミラーリング処理部15により、当該failさせる元ディスクのデータを複製した予備ディスク31bを登録する。これにより、RAID構成変更部16は、RAIDグループ30aにおいて不安定なリビルド元ディスク31aに代えて予備ディスク31bを用いてRAID構成を組み直す。
ステップD9において、RAID構成変更部16は、failさせる元ディスク31aをfail状態に設定するコマンドを発行することでfailさせる。これにより、不要になった予備ディスク31bがシステムに返却(解放)されることになる。
次に、実施形態の一例としてのストレージ装置1におけるリード受信時の処理を図13に示すフローチャート(ステップE1〜E13)に従って説明する。
ステップE10において、IO制御部11は、RAID構成ディスク31a及び対応する予備ディスク31bのうち、IO禁止フラグにoffが設定されている方をリード対象ディスク31として選択する。
また、ステップE5における確認の結果、二重化がされていない場合にも(ステップE6のNOルート参照)、このステップE11に移行する。
次に、実施形態の実施形態の一例としてのストレージ装置1におけるライト受信時の処理を図14に示すフローチャート(ステップF1〜F14)に従って説明する。
その後、ステップF6において、IO制御部11は、書き出し対象のRAID構成ディスク31aが二重化されているかを確認する。すなわち、アクセス対象のRAID構成ディスク31aに対して予備ディスク31bが割り当てられ、この予備ディスク31bにRAID構成ディスク31aのデータの複製が格納されているかを確認する。
一方、ステップF8における確認の結果、禁止フラグが共にoffではない場合、すなわち、RAID構成ディスク31a及び対応する予備ディスク31bの一方に、禁止フラグにonが設定されている場合には(ステップF9のNOルート参照)、ステップF11に移行する。
その後、ステップF12において、IO制御部11は、選択されたライト対象ディスク31について、LUN管理テーブル61の項9もしくは項10のリード/ライト中カウンタをカウントアップする。これにより、選択されたライト対象ディスク31がfailされたりフリーにされることを阻止することができ、信頼性が向上する。
ステップF13において、IO制御部11は、ライト対象ディスク31へライトを実行し、このライトが完了すると、ステップF14において、当該ライト対象ディスク31について、LUN管理テーブル61の項9もしくは項10のリード/ライト中カウンタをカウントダウンして、処理を終了する。
リード時において、冗長化されたRAID構成ディスク31aのデータと予備ディスク31bのデータとをラウンドロビンで交互に選択してリード処理を行なうことで、リビルド中であっても高いストレージアクセス性能を実現することができる。更に、リード時に、冗長化されたRAID構成ディスク31aと予備ディスク31bとを均等に用いることで負荷を分散させることができる。
例えば、上述した実施形態においては、リビルド処理部13がいずれかの記憶装置31aの故障を検知した場合にリビルド処理を行なっている例を示しているが、これに限定されるものではない。例えば、いずれかの記憶装置31a故障の発生が予測される場合に、この故障の発生が予測される記憶装置31aを故障ディスク31aとしてリビルド処理を行なってもよく、又、予防保守の観点等から、異常のない記憶装置31aを故障ディスク31aとしてリビルド処理を行なってもよい。
上述した実施形態においては、IO制御部11が、RAIDグループ30aのRAID構成ディスク31aと、予備ディスクグループ30bの予備ディスク31bとをラウンドロビンで交互に選択してリード処理を行なっているが、これに限定されるものではない。すなわち、RAID構成ディスク31aと、このRAID構成ディスク31aの複製が格納された予備ディスク31bとから必ずしも交互にデータリードを行なう必要はなく、結果として均等にデータのリードを行なうことで負荷が分散できればよい。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
冗長構成がなされた複数の記憶装置及び複数の予備記憶装置と通信路を介して通信可能に接続されるストレージ制御装置であって、
前記複数の記憶装置のうち復元対象記憶装置以外の冗長用記憶装置から読み出した冗長データを用いて、前記復元対象記憶装置のデータを、前記複数の予備記憶装置のうちの第1の予備記憶装置に再構成する再構成処理部と、
前記再構成処理部による再構成を行なう際に前記冗長用記憶装置から読み出したデータを、前記複数の予備記憶装置のうちの前記冗長用記憶装置に対応する第2の予備記憶装置に格納することで、前記冗長用記憶装置の複製を行なう複製処理部と
を備えることを特徴とする、ストレージ制御装置。
リード要求受信時には、前記冗長用記憶装置と、当該冗長用記憶装置のデータを格納する前記第2の予備記憶装置とを併用することを特徴とする、付記1記載のストレージ制御装置。
(付記3)
ライト要求受信時には、前記冗長用記憶装置及び当該冗長用記憶装置のデータを格納する前記予備記憶装置の双方に書き込みを行なうことを特徴とする、付記1又は2記載のストレージ制御装置。
前記記憶装置に対して前記予備記憶装置を割り当てる割当処理部を備え、
前記複製処理部が、前記冗長用記憶装置から読み出したデータを、前記割当処理部が割り当てた前記予備記憶装置に格納することを特徴とする、付記1〜3のいずれか1項に記載のストレージ制御装置。
前記記憶装置に割り当て可能な前記予備記憶装置の数が前記記憶装置の数よりも少ない場合に、
前記割当処理部が、
前記予備記憶装置を、安定度の低い前記記憶装置から優先して割り当てることを特徴とする、付記4記載のストレージ制御装置。
前記再構成処理部による再構成の完了後に、安定度の低い前記冗長用記憶装置に代えて、当該安定度の低い前記冗長用記憶装置の複製がされた前記予備記憶装置を用いて、前記冗長構成を変更する冗長構成変更部を備えることを特徴とする、付記1〜付記5のいずれか1項に記載のストレージ制御装置。
冗長構成がなされた複数の記憶装置と、
複数の予備記憶装置と、
前記複数の記憶装置のうち復元対象記憶装置以外の冗長用記憶装置から読み出した冗長データを用いて、前記復元対象記憶装置のデータを、前記複数の予備記憶装置のうちの第1の予備記憶装置に再構成する再構成処理部と、
前記再構成処理部による再構成を行なう際に前記記憶装置から読み出したデータを、前記複数の予備記憶装置のうちの前記冗長用記憶装置に対応する第2の予備記憶装置に格納することで、前記冗長用記憶装置の複製を行なう複製処理部と
を備えることを特徴とする、ストレージシステム。
リード要求受信時には、前記冗長用記憶装置と、当該冗長用記憶装置のデータを格納する前記第2の予備記憶装置とを併用することを特徴とする、付記7記載のストレージシステム。
(付記9)
ライト要求受信時には、前記冗長用記憶装置及び当該冗長用記憶装置のデータを格納する前記予備記憶装置の双方に書き込みを行なうことを特徴とする、付記7又は8記載のストレージシステム。
前記記憶装置に対して前記予備記憶装置を割り当てる割当処理部を備え、
前記複製処理部が、前記冗長用記憶装置から読み出したデータを、前記割当処理部が割り当てた前記予備記憶装置に格納することを特徴とする、付記7〜9のいずれか1項に記載のストレージシステム。
前記記憶装置に割り当て可能な前記予備記憶装置の数が前記記憶装置の数よりも少ない場合に、
前記割当処理部が、
前記予備記憶装置を、安定度の低い前記記憶装置から優先して割り当てることを特徴とする、付記10記載のストレージシステム。
前記再構成処理部による再構成の完了後に、安定度の低い前記冗長用記憶装置に代えて、当該安定度の低い前記冗長用記憶装置の複製がされた前記予備記憶装置を用いて、前記冗長構成を変更する冗長構成変更部を備えることを特徴とする、付記7〜付記11のいずれか1項に記載のストレージシステム。
冗長構成がなされた複数の記憶装置及び複数の予備記憶装置と通信路を介して通信可能に接続されるコンピュータに、
前記複数の記憶装置のうち復元対象記憶装置以外の冗長用記憶装置から読み出した冗長データを用いて、前記復元対象記憶装置のデータを、前記複数の予備記憶装置のうちの第1の予備記憶装置に再構成し、
前記再構成を行なう際に前記冗長用記憶装置から読み出したデータを、前記複数の予備記憶装置のうちの前記冗長用記憶装置に対応する第2の予備記憶装置に格納することで、前記冗長用記憶装置の複製を行なう
処理を実行させることを特徴とする、制御プログラム。
リード要求受信時には、前記冗長用記憶装置と、当該冗長用記憶装置のデータを格納する前記第2の予備記憶装置とを併用する
処理を前記コンピュータに実行させることを特徴とする、付記13記載の制御プログラム。
ライト要求受信時には、前記冗長用記憶装置及び当該冗長用記憶装置のデータを格納する前記予備記憶装置の双方に書き込みを行なう
処理を前記コンピュータに実行させることを特徴とする、付記13又は14記載の制御プログラム。
前記記憶装置に対して前記予備記憶装置を割り当て、
前記冗長用記憶装置から読み出したデータを、前記割当処理部が割り当てた前記予備記憶装置に格納する
処理を前記コンピュータに実行させることを特徴とする、付記13〜15のいずれか1項に記載の制御プログラム。
前記記憶装置に割り当て可能な前記予備記憶装置の数が前記記憶装置の数よりも少ない場合に、
前記予備記憶装置を、安定度の低い前記記憶装置から優先して割り当てる
処理を前記コンピュータに実行させることを特徴とする、付記16記載の制御プログラム。
前記再構成の完了後に、安定度の低い前記冗長用記憶装置に代えて、当該安定度の低い前記冗長用記憶装置の複製がされた前記予備記憶装置を用いて、前記冗長構成を変更する
処理を前記コンピュータに実行させることを特徴とする、付記13〜付記17のいずれか1項に記載の制御プログラム。
2 ホスト装置
3a,3b スイッチ
4 ストレージシステム
11 IO制御部
12 RAID制御部
13 リビルド処理部
14 割当処理部
15 ミラーリング処理部
16 RAID構成変更部
30 ドライブエンクロージャ
30a RAIDグループ
30b 予備ディスクグループ
31 記憶装置
31a,31a−1〜31a−4 記憶装置(RAID構成ディスク,リビルド元ディスク)
31b,31b−1〜31b−4 予備ディスク
40 コントローラエンクロージャ
61 LUN管理テーブル
62 仮/実ボリューム変換テーブル
63 ディスク構成情報
64 RAID構成テーブル
100 コントローラ(ストレージ制御装置)
101a,101b ポート
103 DA
106 メモリ
107 SSD
108 IOC
110 CPU
Claims (8)
- 冗長構成がなされた複数の記憶装置及び複数の予備記憶装置と通信路を介して通信可能に接続されるストレージ制御装置であって、
前記複数の記憶装置のうち復元対象記憶装置以外の冗長用記憶装置から読み出した冗長データを用いて、前記復元対象記憶装置のデータを、前記複数の予備記憶装置のうちの第1の予備記憶装置に再構成する再構成処理部と、
前記再構成処理部による再構成を行なう際に、前記再構成処理部が前記冗長用記憶装置から読み出したデータを利用して、前記複数の予備記憶装置における、当該データを読み出した前記冗長用記憶装置に対応する第2の予備記憶装置に格納することで、前記冗長用記憶装置の複製を行なう複製処理部と
を備えることを特徴とする、ストレージ制御装置。 - リード要求受信時には、前記冗長用記憶装置と、当該冗長用記憶装置のデータを格納する前記第2の予備記憶装置とを併用することを特徴とする、請求項1記載のストレージ制御装置。
- ライト要求受信時には、前記冗長用記憶装置及び当該冗長用記憶装置のデータを格納する前記予備記憶装置の双方に書き込みを行なうことを特徴とする、請求項1又は2記載のストレージ制御装置。
- 前記記憶装置に対して前記予備記憶装置を割り当てる割当処理部を備え、
前記複製処理部が、前記冗長用記憶装置から読み出したデータを、前記割当処理部が割り当てた前記予備記憶装置に格納することを特徴とする、請求項1〜3のいずれか1項に記載のストレージ制御装置。 - 前記記憶装置に割り当て可能な前記予備記憶装置の数が前記記憶装置の数よりも少ない場合に、
前記割当処理部が、
前記予備記憶装置を、安定度の低い前記記憶装置から優先して割り当てることを特徴とする、請求項4記載のストレージ制御装置。 - 前記再構成処理部による再構成の完了後に、安定度の低い前記冗長用記憶装置に代えて、当該安定度の低い前記冗長用記憶装置の複製がされた前記予備記憶装置を用いて、前記冗長構成を変更する冗長構成変更部を備えることを特徴とする、請求項1〜請求項5のいずれか1項に記載のストレージ制御装置。
- 冗長構成がなされた複数の記憶装置と、
複数の予備記憶装置と、
前記複数の記憶装置のうち復元対象記憶装置以外の冗長用記憶装置から読み出した冗長データを用いて、前記復元対象記憶装置のデータを、前記複数の予備記憶装置のうちの第1の予備記憶装置に再構成する再構成処理部と、
前記再構成処理部による再構成を行なう際に、前記再構成処理部が前記冗長用記憶装置から読み出したデータを利用して、前記複数の予備記憶装置における、当該データを読み出した前記冗長用記憶装置に対応する第2の予備記憶装置に格納することで、前記冗長用記憶装置の複製を行なう複製処理部と
を備えることを特徴とする、ストレージシステム。 - 冗長構成がなされた複数の記憶装置及び複数の予備記憶装置と通信路を介して通信可能に接続されるコンピュータに、
前記複数の記憶装置のうち復元対象記憶装置以外の冗長用記憶装置から読み出した冗長データを用いて、前記復元対象記憶装置のデータを、前記複数の予備記憶装置のうちの第
1の予備記憶装置に再構成し、
前記再構成を行なう際に前記冗長用記憶装置から読み出したデータを利用して、前記複数の予備記憶装置における、当該データを読み出した前記冗長用記憶装置に対応する第2の予備記憶装置に格納することで、前記冗長用記憶装置の複製を行なう
処理を実行させることを特徴とする、制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014030390A JP6233086B2 (ja) | 2014-02-20 | 2014-02-20 | ストレージ制御装置,ストレージシステム及び制御プログラム |
US14/559,389 US9697087B2 (en) | 2014-02-20 | 2014-12-03 | Storage controller to perform rebuilding while copying, and storage system, and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014030390A JP6233086B2 (ja) | 2014-02-20 | 2014-02-20 | ストレージ制御装置,ストレージシステム及び制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015156081A JP2015156081A (ja) | 2015-08-27 |
JP6233086B2 true JP6233086B2 (ja) | 2017-11-22 |
Family
ID=53798218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014030390A Expired - Fee Related JP6233086B2 (ja) | 2014-02-20 | 2014-02-20 | ストレージ制御装置,ストレージシステム及び制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9697087B2 (ja) |
JP (1) | JP6233086B2 (ja) |
Families Citing this family (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819208B2 (en) | 2010-03-05 | 2014-08-26 | Solidfire, Inc. | Data deletion in a distributed data storage system |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US8468318B2 (en) | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US11636031B2 (en) | 2011-08-11 | 2023-04-25 | Pure Storage, Inc. | Optimized inline deduplication |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
US8719540B1 (en) | 2012-03-15 | 2014-05-06 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
US8745415B2 (en) | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
US11032259B1 (en) | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US10908835B1 (en) | 2013-01-10 | 2021-02-02 | Pure Storage, Inc. | Reversing deletion of a virtual machine |
US11733908B2 (en) | 2013-01-10 | 2023-08-22 | Pure Storage, Inc. | Delaying deletion of a dataset |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
US9646039B2 (en) | 2013-01-10 | 2017-05-09 | Pure Storage, Inc. | Snapshots in a storage system |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US10365858B2 (en) | 2013-11-06 | 2019-07-30 | Pure Storage, Inc. | Thin provisioning in a storage device |
US9516016B2 (en) | 2013-11-11 | 2016-12-06 | Pure Storage, Inc. | Storage array password management |
US9208086B1 (en) | 2014-01-09 | 2015-12-08 | Pure Storage, Inc. | Using frequency domain to prioritize storage of metadata in a cache |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
US9513820B1 (en) | 2014-04-07 | 2016-12-06 | Pure Storage, Inc. | Dynamically controlling temporary compromise on data redundancy |
US9779268B1 (en) | 2014-06-03 | 2017-10-03 | Pure Storage, Inc. | Utilizing a non-repeating identifier to encrypt data |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US10496556B1 (en) | 2014-06-25 | 2019-12-03 | Pure Storage, Inc. | Dynamic data protection within a flash storage system |
US9218407B1 (en) | 2014-06-25 | 2015-12-22 | Pure Storage, Inc. | Replication and intermediate read-write state for mediums |
US10296469B1 (en) | 2014-07-24 | 2019-05-21 | Pure Storage, Inc. | Access control in a flash storage system |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9864761B1 (en) | 2014-08-08 | 2018-01-09 | Pure Storage, Inc. | Read optimization operations in a storage system |
US10430079B2 (en) | 2014-09-08 | 2019-10-01 | Pure Storage, Inc. | Adjusting storage capacity in a computing system |
US10133511B2 (en) | 2014-09-12 | 2018-11-20 | Netapp, Inc | Optimized segment cleaning technique |
US10164841B2 (en) | 2014-10-02 | 2018-12-25 | Pure Storage, Inc. | Cloud assist for storage systems |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US9836229B2 (en) | 2014-11-18 | 2017-12-05 | Netapp, Inc. | N-way merge technique for updating volume metadata in a storage I/O stack |
US9727485B1 (en) | 2014-11-24 | 2017-08-08 | Pure Storage, Inc. | Metadata rewrite and flatten optimization |
US9773007B1 (en) | 2014-12-01 | 2017-09-26 | Pure Storage, Inc. | Performance improvements in a storage system |
US9588842B1 (en) | 2014-12-11 | 2017-03-07 | Pure Storage, Inc. | Drive rebuild |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
US9864769B2 (en) | 2014-12-12 | 2018-01-09 | Pure Storage, Inc. | Storing data utilizing repeating pattern detection |
US10545987B2 (en) | 2014-12-19 | 2020-01-28 | Pure Storage, Inc. | Replication to the cloud |
US9569357B1 (en) | 2015-01-08 | 2017-02-14 | Pure Storage, Inc. | Managing compressed data in a storage system |
US10296354B1 (en) | 2015-01-21 | 2019-05-21 | Pure Storage, Inc. | Optimized boot operations within a flash storage array |
US11947968B2 (en) | 2015-01-21 | 2024-04-02 | Pure Storage, Inc. | Efficient use of zone in a storage device |
US9710165B1 (en) | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
KR20170028825A (ko) | 2015-09-04 | 2017-03-14 | 퓨어 스토리지, 아이앤씨. | 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색 |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10235059B2 (en) * | 2015-12-01 | 2019-03-19 | Netapp, Inc. | Technique for maintaining consistent I/O processing throughput in a storage system |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
US10452297B1 (en) | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US10365958B2 (en) | 2016-09-13 | 2019-07-30 | Hewlett Packard Enterprise Development Lp | Storage drive management to fail a storage drive based on adjustable failure criteria |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
US10613974B2 (en) | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10162523B2 (en) | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
US10191662B2 (en) | 2016-10-04 | 2019-01-29 | Pure Storage, Inc. | Dynamic allocation of segments in a flash storage system |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10185505B1 (en) | 2016-10-28 | 2019-01-22 | Pure Storage, Inc. | Reading a portion of data to replicate a volume based on sequence numbers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US10452290B2 (en) | 2016-12-19 | 2019-10-22 | Pure Storage, Inc. | Block consolidation in a direct-mapped flash storage system |
US11093146B2 (en) | 2017-01-12 | 2021-08-17 | Pure Storage, Inc. | Automatic load rebalancing of a write group |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US12045487B2 (en) | 2017-04-21 | 2024-07-23 | Pure Storage, Inc. | Preserving data deduplication in a multi-tenant storage system |
US11403019B2 (en) | 2017-04-21 | 2022-08-02 | Pure Storage, Inc. | Deduplication-aware per-tenant encryption |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10776202B1 (en) | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10970395B1 (en) | 2018-01-18 | 2021-04-06 | Pure Storage, Inc | Security threat monitoring for a storage system |
US11144638B1 (en) | 2018-01-18 | 2021-10-12 | Pure Storage, Inc. | Method for storage system detection and alerting on potential malicious action |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US11934322B1 (en) | 2018-04-05 | 2024-03-19 | Pure Storage, Inc. | Multiple encryption keys on storage drives |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US10678433B1 (en) | 2018-04-27 | 2020-06-09 | Pure Storage, Inc. | Resource-preserving system upgrade |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
CN110413208B (zh) * | 2018-04-28 | 2023-05-30 | 伊姆西Ip控股有限责任公司 | 用于管理存储***的方法、设备和计算机程序产品 |
US10678436B1 (en) | 2018-05-29 | 2020-06-09 | Pure Storage, Inc. | Using a PID controller to opportunistically compress more data during garbage collection |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US10776046B1 (en) | 2018-06-08 | 2020-09-15 | Pure Storage, Inc. | Optimized non-uniform memory access |
US11281577B1 (en) | 2018-06-19 | 2022-03-22 | Pure Storage, Inc. | Garbage collection tuning for low drive wear |
US11869586B2 (en) | 2018-07-11 | 2024-01-09 | Pure Storage, Inc. | Increased data protection by recovering data from partially-failed solid-state devices |
US11194759B2 (en) | 2018-09-06 | 2021-12-07 | Pure Storage, Inc. | Optimizing local data relocation operations of a storage device of a storage system |
US11133076B2 (en) | 2018-09-06 | 2021-09-28 | Pure Storage, Inc. | Efficient relocation of data between storage devices of a storage system |
US10846216B2 (en) | 2018-10-25 | 2020-11-24 | Pure Storage, Inc. | Scalable garbage collection |
US11113409B2 (en) | 2018-10-26 | 2021-09-07 | Pure Storage, Inc. | Efficient rekey in a transparent decrypting storage array |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US11588633B1 (en) | 2019-03-15 | 2023-02-21 | Pure Storage, Inc. | Decommissioning keys in a decryption storage system |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11397674B1 (en) | 2019-04-03 | 2022-07-26 | Pure Storage, Inc. | Optimizing garbage collection across heterogeneous flash devices |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US10990480B1 (en) | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US10929046B2 (en) | 2019-07-09 | 2021-02-23 | Pure Storage, Inc. | Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11086713B1 (en) | 2019-07-23 | 2021-08-10 | Pure Storage, Inc. | Optimized end-to-end integrity storage system |
US11963321B2 (en) | 2019-09-11 | 2024-04-16 | Pure Storage, Inc. | Low profile latching mechanism |
US11403043B2 (en) | 2019-10-15 | 2022-08-02 | Pure Storage, Inc. | Efficient data compression by grouping similar data within a data segment |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
CN111581221B (zh) * | 2020-03-18 | 2023-09-26 | 宁波送变电建设有限公司永耀科技分公司 | 一种分布式多站融合***信息冗余存储与重构的方法 |
US20230136274A1 (en) * | 2021-11-04 | 2023-05-04 | Softiron Limited | Ceph Media Failure and Remediation |
US11960766B2 (en) | 2021-12-06 | 2024-04-16 | Western Digital Technologies, Inc. | Data storage device and method for accidental delete protection |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2842837B2 (ja) * | 1996-05-15 | 1999-01-06 | 日本電気株式会社 | ミラーディスクシステム |
JPH10293658A (ja) | 1997-04-21 | 1998-11-04 | Hitachi Ltd | ディスクアレイサブシステム |
JP3597349B2 (ja) * | 1997-09-05 | 2004-12-08 | 株式会社日立製作所 | 記憶サブシステムおよびその障害回復方法 |
US6347359B1 (en) * | 1998-02-27 | 2002-02-12 | Aiwa Raid Technology, Inc. | Method for reconfiguration of RAID data storage systems |
JP3790756B2 (ja) | 2003-09-01 | 2006-06-28 | 株式会社東芝 | ディスクアレイ装置、ディスク制御装置及びディスクアレイのデータ障害を復旧する方法 |
JP2006164304A (ja) * | 2006-01-20 | 2006-06-22 | Hitachi Ltd | ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法 |
JP2007233903A (ja) * | 2006-03-03 | 2007-09-13 | Hitachi Ltd | 記憶制御装置及び記憶制御装置のデータ回復方法 |
US7500136B2 (en) * | 2006-06-05 | 2009-03-03 | International Business Machines Corporation | Replacing member disks of disk arrays with spare disks |
US7685463B1 (en) * | 2006-06-23 | 2010-03-23 | Emc Corporation | Disk drive management system |
US20080126839A1 (en) * | 2006-09-19 | 2008-05-29 | Satish Sangapu | Optimized reconstruction and copyback methodology for a failed drive in the presence of a global hot spare disc |
GB2504956A (en) * | 2012-08-14 | 2014-02-19 | Ibm | Management of RAID error recovery procedures and configuration |
-
2014
- 2014-02-20 JP JP2014030390A patent/JP6233086B2/ja not_active Expired - Fee Related
- 2014-12-03 US US14/559,389 patent/US9697087B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015156081A (ja) | 2015-08-27 |
US9697087B2 (en) | 2017-07-04 |
US20150234709A1 (en) | 2015-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6233086B2 (ja) | ストレージ制御装置,ストレージシステム及び制御プログラム | |
JP5124103B2 (ja) | 計算機システム | |
US9037795B1 (en) | Managing data storage by provisioning cache as a virtual device | |
JP4958739B2 (ja) | 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム | |
JP5996787B2 (ja) | システム管理方法、及び計算機システム | |
US7415506B2 (en) | Storage virtualization and storage management to provide higher level storage services | |
US20160070490A1 (en) | Storage control device and storage system | |
US8898385B2 (en) | Methods and structure for load balancing of background tasks between storage controllers in a clustered storage environment | |
JP5511960B2 (ja) | 情報処理装置、及びデータの転送方法 | |
US8700948B2 (en) | Storage area managing apparatus and storage area managing method | |
US8914577B2 (en) | Disk array control apparatus | |
JP5635621B2 (ja) | ストレージシステム及びストレージシステムのデータ転送方法 | |
US20060218360A1 (en) | Method, apparatus and program storage device for providing an optimized read methodology for synchronously mirrored virtual disk pairs | |
WO2015052798A1 (ja) | ストレージシステム及び記憶制御方法 | |
US9448735B1 (en) | Managing storage device rebuild in data storage systems | |
US20050097132A1 (en) | Hierarchical storage system | |
JP2008509474A (ja) | 耐故障性raidアレイプリエンプティブ復元の実行 | |
JP2007087039A (ja) | ディスクアレイシステム及びその制御方法 | |
JP2002182862A (ja) | 複数ボリュームのミラーリングにおけるプライマリ・ボリュームの引き継ぎのための方法およびディスク装置。 | |
JP2006285808A (ja) | ストレージシステム | |
US10884622B2 (en) | Storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager that manages logical volume without handling data transfer between client computing device and storage drive that provides drive volume of the logical volume | |
US20170220249A1 (en) | Systems and Methods to Maintain Consistent High Availability and Performance in Storage Area Networks | |
US9760296B2 (en) | Storage device and method for controlling storage device | |
US10877844B2 (en) | Using deletable user data storage space to recover from drive array failure | |
JP6957845B2 (ja) | ストレージ制御装置及びストレージ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170718 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170912 |
|
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: 20170926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171009 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6233086 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |