[go: up one dir, main page]

JP2016530637A - Raidパリティストライプ再構成 - Google Patents

Raidパリティストライプ再構成 Download PDF

Info

Publication number
JP2016530637A
JP2016530637A JP2016538895A JP2016538895A JP2016530637A JP 2016530637 A JP2016530637 A JP 2016530637A JP 2016538895 A JP2016538895 A JP 2016538895A JP 2016538895 A JP2016538895 A JP 2016538895A JP 2016530637 A JP2016530637 A JP 2016530637A
Authority
JP
Japan
Prior art keywords
parity
reconstruction
stripe
reconfiguration
data
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
JP2016538895A
Other languages
English (en)
Inventor
ジン、チャオ
シー、ウェイヤ
レオン ヨン、カイ
レオン ヨン、カイ
ヨン チン、ジー
ヨン チン、ジー
フオ、フォン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agency for Science Technology and Research Singapore
Original Assignee
Agency for Science Technology and Research Singapore
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 Agency for Science Technology and Research Singapore filed Critical Agency for Science Technology and Research Singapore
Publication of JP2016530637A publication Critical patent/JP2016530637A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

再構成/再構築テーブルおよびスペース割り当てテーブルをチェックすることによる、パリティストライプが再構成されているかどうかおよびパリティストライプが割り当てられているかどうかを判断することによる、RAIDストレージシステムにおけるデータ再構成。パリティストライプの再構成が起こる前は、障害が起こったハイブリッドドライブの不揮発性メモリをチェックしてアクセス可能かどうかを判断し、アクセス可能である場合は、再構成が起こる代わりに、新しいハイブリッドドライブにデータがコピーされる。

Description

本明細書で開示される様々な実施形態は、ストレージシステムに関する。
独立ディスクの冗長アレイ(RAID)の技術は、高いデータ性能および信頼性を達成するために、ストレージシステムにおいて広く使用されてきた。ディスクのアレイ内で冗長情報を維持することにより、RAIDは、1つまたは複数のディスク障害がアレイで起こった場合にデータを回復することができる。RAIDシステムは、それらの構造および特性に従って、異なるレベルに分類される。RAIDレベル0(RAID0)は、冗長データを持たず、ディスク障害から回復することはできない。RAIDレベル1(RAID1)は、一対のディスク上でミラーリングを実装し、従って、一対のディスクにおいて1つのディスク障害から回復することができる。RAIDレベル4(RAID4)およびRAIDレベル5(RAID5)は、ディスクのアレイ上でXORパリティを実装し、XOR演算を通じて、アレイにおいて1つのディスク障害から回復することができる。RAIDレベル6(RAID6)は、ディスクアレイにおいて同時に起こる2つのいかなるディスク障害からも回復することができ、リードソロモン符号などの様々な種類の抹消符号を通じて実装することができる。
RAIDシステムにおけるディスク障害からのデータ回復プロセスは、データ再構成と呼ばれる。データ再構成プロセスは、RAIDシステムの性能と信頼性の両方にとって非常に重要である。RAID5システムを例に取ると、アレイにおけるディスク障害が起こると、アレイは劣化モードに入り、障害が起こったディスクにかかるユーザI/O要求はオンザフライでデータを再構成しなければならず、それは、かなり高価であり、大きな性能オーバーヘッドを引き起こす。その上、ユーザI/Oプロセスおよび再構成プロセスは、同時に実行され、互いにディスク帯域幅を競い合い、それにより、システム性能がさらに大幅に劣化する。他方では、RAID5システムが1つのディスク障害から回復している際には、第2のディスク障害が起こる場合があり、それにより、システムの耐障害能力を超えることになり、永久的なデータ損失が生じる。従って、長期にわたるデータ再構成プロセスは、長時間のシステムの脆弱性を招き、システムの信頼性を大幅に劣化する。これらの理由に基づくと、データ再構成プロセスはできる限り短縮すべきであり、現行のRAIDシステムのデータ再構成の最適化を求める仕方および方法は、極めて重要かつ深刻なものである。
データ再構成に対し、理想的なシナリオはオフライン再構成であり、オフライン再構成では、アレイは、ユーザI/O要求の提供を停止し、データ再構成プロセスをその全速力で実行させる。しかしながら、このシナリオは、RAIDシステムがディスク障害から回復している時でさえも途切れることのないデータサービスを提供するために同RAIDシステムが必要とされるほとんどの生産環境において実用的ではない。言い換えれば、生産環境におけるRAIDシステムは、オンライン再構成を行っており、オンライン再構成では、再構成プロセスおよびユーザI/Oプロセスは、同時に実行されている。以前の研究では、RAIDシステムの再構成プロセスを最適化するためにいくつかの方法が提案されている。ワークアウト(Workout)方法は、代理RAIDにユーザ書き込みデータキャッシュポピュラ読み取りデータをリダイレクトし、オリジナルのRAIDの再構成が完了した際にオリジナルのRAIDに書き込みデータを再要求することを目的とする。そうすることで、ワークアウト(Workout)は、ユーザI/Oプロセスから再構成プロセスを分離し、再構成プロセスが邪魔されないようにしようと試みる。ワークアウト(Workout)とは異なり、本発明者らが提案する方法は、ユーザ読み取り/書き込み要求を出す間、ユーザI/Oプロセスに再構成プロセスとの連携を行わせ、データ再構成に貢献させる。別の以前の方法は、ビクティムディスクファースト(VDF:Victim Disk First)と呼ばれる。VDFは、システムDRAMキャッシュポリシを定義し、システムDRAMキャッシュポリシは、障害が起こったディスクのデータを高い優先度でキャッシュし、その結果、オンザフライでの障害が起こったデータの再構成の性能オーバーヘッドを最小限に抑えることができる。VDFとは異なり、本発明者らの方法は、アレイにおける残存ディスクのNVMキャッシュのデータを利用することによって再構成シーケンスを最適化するためのポリシを含む。第3の以前の研究は、ライブブロック回復と呼ばれる。ライブブロック回復方法は、再構成の間にライブファイルシステムデータのみを回復し、未使用のデータブロックをスキップすることを目的とする。しかしながら、この方法は、RAIDブロックレベルにファイルシステム情報を渡すことに依存し、従って、既存のファイルシステムの著しい変更を必要とする。その上、この方法は、RAID1などの複製ベースのRAIDにのみ適用することができ、RAID5およびRAID6などのパリティベースのRAIDに適用することはできない。また、本発明者らが提案する方法は、使用データブロックのみの再構成も目的とするが、本発明者らの方法は、ブロックレベルで完全に機能し、ファイルシステムの変更を必要としない。その上、本発明者らの方法は、パリティベースのRAIDシステムを含めて、いかなるRAIDレベルにも適用することができる。
ハイブリッドドライブは、1つのディスクエンクロージャ内部にNVMキャッシュと共に回転磁気ディスク媒体を配置する新種のハードディスクドライブである。正常なモードでは、NVMキャッシュは、ユーザI/O要求に対する読み取り/書き込みキャッシュとしての役割を果たす。再構成モードでは、NVMキャッシュのデータは、再構成プロセスの加速に活用することができる。本発明者らの方法の以下の説明では、ハイブリッドドライブ内部のNVMキャッシュを活用することによってRAIDシステムの再構成をどのように最適化するかを示す。
例示的な実施形態によれば、ハイブリッドドライブから成るRAIDシステムの再構成プロセスを最適化するための方法が開示される。開示される方法を示す例として、例えば、RAID5を使用することができる。これらの方法は、これらに限定されないが、RAID1、RAID4およびRAID6などの他のRAIDレベルにも適用できることに留意しなければならない。例示的な実施形態による様々な方法は、以下を含み得る:
−個々のパリティストライプの各々に対する非常に細かい再構成制御。
対応する例示的な方法は、図3、図4および図5に示されている。
−直接コピーを通じる障害が起こったハイブリッドドライブのNVMキャッシュのデータの再構成の高速化。
対応する例示的な方法は、図6に示されている。
−未使用のフリースペースおよび無効な/無駄なデータを保持しているスペースの再構成のスキップ。
対応する例示的な方法は、図7に示されている。
図面では、同様の参照文字は、一般に、異なる図全体を通じて、同様の部分を指す。図面は、必ずしも原寸に比例するとは限らず、代わりに、一般に、本発明の原理を示すことに重点が置かれる。以下の説明では、本発明の様々な実施形態は、以下の図面を参照して説明される。
一実施形態による、正常なモードでの典型的なRAIDシステムのユーザ読み取り/書き込みプロセスのワークフローを示す。 一実施形態による、正常なモードでの典型的なRAIDシステムのユーザ読み取り/書き込みプロセスのワークフローを示す。 一実施形態による、再構成モードでの典型的なRAIDシステムのユーザ読み取り/書き込みプロセス(障害が起こったディスク上での)および再構成プロセスのワークフローを示す。 一実施形態による、ビットマップベースの非常に細かい再構成制御を用いたRAIDシステムのユーザ読み取り/書き込みプロセス(障害が起こったディスク上での)および再構成プロセスのワークフローを示す。 一実施形態による、ハイブリッドドライブのNVMキャッシュのデータに従って再構成シーケンスのスケジューリングを行うRAIDシステムの再構成プロセスのワークフローを示す。 一実施形態による、対応するデータブロックが既に再構成されている、ビットマップベースの非常に細かい再構成制御を用いたRAIDシステムのユーザ読み取り/書き込みプロセス(障害が起こったディスク上での)のワークフローを示す。 一実施形態による、障害が起こったハイブリッドドライブのNVMキャッシュのデータを置換ディスクに直接コピーする再構成プロセスを示す。 一実施形態による、使用スペースのみが再構成され、未使用スペースがスキップされる、システムの使用および未使用スペースを示すためにビットマップを備えるRAIDシステムの再構成プロセスを示す。
以下の詳細な説明は、例示として、本発明を実践できる特定の詳細および実施形態を示す添付の図面を参照する。これらの実施形態は、当業者が本発明を実践できるように十分詳細に説明される。他の実施形態も利用でき、本発明の範囲から逸脱することなく、構造上、論理上および電気的な変更を行うことができる。いくつかの実施形態を1つまたは複数の他の実施形態と組み合わせて新しい実施形態を形成することができるため、様々な実施形態は、必ずしも相互排他的である必要はない。
方法またはデバイスのうちの1つの文脈において説明される実施形態は、他の方法またはデバイスに類似して有効である。同様に、方法の文脈において説明される実施形態は、デバイスに類似して有効であり、その逆も同様である。
実施形態の文脈において説明される特徴は、他の実施形態の同じまたは同様の特徴に相応に適用可能であり得る。実施形態の文脈において説明される特徴は、これらの他の実施形態に明示的に説明されていない場合でさえ、他の実施形態に相応に適用可能であり得る。その上、実施形態の文脈における特徴に対して説明されるような、追加および/または組合せおよび/または代替は、他の実施形態の同じまたは同様の特徴に相応に適用可能であり得る。
様々な実施形態の文脈において、特徴または要素に関して使用されるような、冠詞「a」、「an」および「the」は、特徴または要素のうちの1つまたは複数への言及を含む。
様々な実施形態の文脈において、「少なくとも実質的に」という表現は、「正確に」および妥当な差異を含み得る。
様々な実施形態の文脈において、数値に適用されるような「約」または「およそ」という用語は、正確な値および妥当な差異を包含する。
本明細書で使用されるように、「および/または」という用語は、リストされる関連項目のうちの1つまたは複数の組合せのいずれか、および、すべてを含む。
本明細書で使用されるように、「AまたはBの少なくとも1つ」という形式の表現は、AまたはBあるいはAとBの両方を含み得る。それに応じて、「AまたはBまたはCの少なくとも1つ」という形式の表現、あるいは挙げられるさらなる項目を含むは、挙げられる関連項目のうちの1つまたは複数の組合せのいずれか、および、すべてを含み得る。
例示的な実施形態によれば、パリティストライプは、データを組織するためのパリティRAIDシステムのためのユニットを指し得る。図1Aに示されるように、パリティストライプは、複数のブロックから成り得る。
パリティストライプの各ブロックは、異なるディスクに存在し得る。図1Aの例に示されるように、収納された第1のパリティストライプのパリティブロックは、ストレージディスク1〜4上に存在する。
パリティストライプのブロックは、およそ4KBの典型的なサイズのデータブロックまたはパリティブロックであり得る。データブロックは、ユーザデータを保持することができる。パリティブロックは、XOR演算を使用することができる、あるパリティアルゴリズムに従ってパリティストライプのデータブロックから演算されるパリティ値を保持することができる。
図1Bは、例示的な実施形態による、典型的な(例えば、最適化されていない)RAIDシステム100がどのようにユーザ読み取り/書き込み要求(140、145)を処理するかを示す。読み取り要求の場合、読み取りプロセスは、データディスク(D1、D2、D3、D4)からデータを直接読み取り、ユーザに返送する。書き込み要求の場合、書き込みプロセスは、最初に、古いデータおよびその対応するパリティを読み出し、それらを新しいデータと共に使用して新しいパリティを生成し、次いで、新しいデータおよび新しいパリティをデータおよびパリティディスク(D1、D2、D3、D4、P1)に書き込む。
図2は、例示的な実施形態による、ディスクに障害が起こった際に典型的なRAIDシステム200がどのようにオンライン再構成を行うかを示す。再構成プロセスは、最初のパリティストライプから最後のパリティストライプまで順番にRAIDシステム200のパリティストライプを再構成することができる。各パリティストライプを構成するため、再構成プロセスは、残存ディスク(205、215、220、225)から対応するデータおよびパリティブロックを読み出し、パリティ演算を通じて障害が起こったディスク210上にデータブロックを再生成し、データブロックを置換ディスク230に書き戻す。オンライン再構成の間は、障害が起こったディスクにかかるユーザI/O要求(240、245)は、オンザフライでデータを再構成しなければならない。読み取り要求240の場合、パリティグループの他のデータおよびパリティブロックのすべてが読み出され、要求されたデータは、パリティ演算を通じて再構成される。書き込み要求245の場合、他のデータブロックのすべては、パリティブロックが読み出されることを予期し、次いで、新しいパリティブロックが再構成され、パリティディスクに書き戻される。従って、再構成モードでのユーザI/O処理は、正常なモードでのものより複雑であり、より低い性能を有する。再構成プロセスおよびユーザI/Oプロセスは、互いに別々に実行され、ユーザI/O処理は、障害が起こったディスク全体が再構成されるまで正常なモードに戻らないことに留意しなければならない。本発明者らは、このスキームを粗野な(coarse−grained)再構成制御と呼ぶ。
図3は、例示的な実施形態による、ビットマップベースの非常に細かい(fine−grained)再構成制御を使用するRAIDシステム300を示す。再構成の開始時、ビットマップ(再構成ビットマップ350)は、個々のパリティストライプの各々の再構成状態を記録するようにセットアップされる。ビットマップ350は、最初は、すべてが0に設定され、パリティストライプが再構成されると、ビットマップのその対応するビットが1に設定される。厳密に起こった順番に再構成を行う必要がある粗野な再構成制御とは異なり、ビットマップベースの非常に細かい再構成制御は、いかなる順番でもパリティストライプの再構成を行うことを可能にする。非常に細かい再構成制御の下では、ユーザI/Oプロセスは、再構成プロセスと連携する。ユーザI/Oプロセスが、再構成されていない障害が起こったデータブロックに対する要求を行うと、障害が起こったブロックは、オンザフライで再構成され、置換ディスク230に書き戻される。次いで、ビットマップのこのブロックの対応するビットが1に設定され、これは、この障害が起こったブロックが再構成されたことを示す。他方では、再構成プロセスは、依然として、最初のパリティストライプから最後のパリティストライプまで順番に実行される。しかしながら、パリティストライプを再構成する前に、再構成プロセスは、対応するビットが設定されたかどうかを見るために、ビットマップをチェックする。ビットが設定されていれば、再構成プロセスは、このパリティストライプの再構成をスキップする。
図4は、例示的な実施形態による、再構成シーケンスを最適化するためのハイブリッドドライブ(405、410、415、420、425、430)のNVMキャッシュのデータの利用を示す。障害が起こったブロックを再構成するため、再構成プロセスは、同じパリティストライプの他のデータおよびパリティブロックをすべて読み出す必要がある。NVMキャッシュからデータを読み取ることは、回転ディスクからデータを読み取るよりもはるかに速く、NVMキャッシュに格納されるデータは、ホットおよび/または重要なデータであるため、そのデータおよびパリティブロックのすべてまたはほとんどが残存ディスク(405、415、420、425)のNVMキャッシュでキャッシュされている場合にパリティストライプを再構成する方がより効率的である。従って、再構成プロセスは、最初に、ハイブリッドドライブのNVMキャッシュをスキャンし、他のパリティストライプより高い優先度でより多くのデータおよびパリティブロックがNVMにキャッシュされたパリティストライプを再構成する。それらのパリティブロックの一部しかNVMにキャッシュされていないパリティストライプの場合、後続の再構成の使用のために、キャッシュされていないパリティブロックをNVMキャッシュにプリフェッチするようにNVMキャッシュ管理モジュールに暗示するために、追加の最適化を行うことができる。パリティストライプが再構成されると、それらの対応するビットは、再構成ビットマップ(再構成ビットマップ350)で設定される。
図5は、例示的な実施形態による、ビットマップベースの非常に細かい再構成制御の下でのユーザI/O要求の処理を示す。図3に示されるように、ユーザ要求が、再構成されていない障害が起こったデータブロックにかかると、データブロック(読み取り要求240のための)またはパリティブロック(書き込み要求245のための)がオンザフライで再構成され、パリティストライプのすべての残存ディスク(205、215、220、225)へのアクセスを必要とし、それは、かなり高価である。粗野な再構成制御の下では、すべてのユーザI/O要求は、再構成プロセスが完了するまで、この高価な仕方で処理される。しかしながら、非常に細かい再構成制御の下では、ユーザI/O要求は、個々のパリティストライプの各々の再構成状態に従って処理することができる。図5に示されるように、ユーザI/O要求が、既に再構成されている障害が起こったブロックにかかる場合は、要求は、図1に示される正常なモードと同じように処理される。
図6は、例示的な実施形態による、直接コピーを通じて障害が起こったハイブリッドドライブのNVMキャッシュにキャッシュされたデータを再構成する方法を示す。実用的なRAIDシステム600では、ディスク障害は、通常、回転ディスク媒体の読み取り/書き込みエラーによって生じる。従って、ハイブリッドドライブ410に障害が起こった際は、そのNVMキャッシュは未だアクセス可能であり得る。再構成の開始時、RAIDシステムは、最初に、障害が起こったハイブリッドドライブ410のNVMキャッシュが未だアクセス可能であるかどうかを検出する。NVMキャッシュがアクセス可能である場合は、その中のデータブロックが読み出され、置換ディスクにコピーされ、次いで、再構成ビットマップのそれらの対応するビットが設定され、再構成済みとマーク付けされる。このように、NVMキャッシュのデータブロックは、パリティ演算方法より効率的な直接的な方法で構成される。その上、NVMキャッシュにキャッシュされたデータブロックは、通常、ホットデータであり、ユーザ要求の大部分によってアクセスされる。それらが再構成されると、これらのデータブロックに対するユーザ要求は、より効率的に処理することができる。
図7は、例示的な実施形態による、RAIDシステムの使用スペースのみを再構成することによって総再構成時間を短縮する方法を示す。各パリティストライプの割り当てられた/フリー状態を記録するため、スペースビットマップ750がセットアップされる。スペースビットマップ750のサイズを低減するため、複数のパリティストライプを1つのユニットと見なすことができ、ビットマップの全く同じビットに対応させることができる。RAIDシステム700の構築時、すべてのデータおよびパリティディスク(705、710、715、720、725)に0を書き込むことを通じて同期が行われる。また、置換ディスク730のコンテンツもバックグラウンドで0に初期化される。スペースビットマップ750は、すべてが0になるように初期化される。パリティストライプが初めて割り当てられる際は、スペースビットマップ750のその対応するビットは、1に設定される。再構成の間、再構成プロセスは、特定のパリティストライプを再構成する前にスペースビットマップ750をチェックする。ビットが設定されている場合は、パリティストライプは、割り当てられているはずであり、再構成されなければならない。そうでなければ、パリティストライプはフリーであるはずであり、0のブロックのみを含み、従って、再構成する必要はない。スペースビットマップ750は、ブロックレベルで実装され、上記のファイルシステムへの変更を必要としないことに留意しなければならない。しかしながら、スペースビットマップ750を最適に使用するため、ファイルシステムは、トリムのようなコマンドをサポートすることができ、以前に割り当てられたパリティストライプをフリーにする際は、RAIDシステム700に通知することができる。RAIDシステム700は、バックグラウンドでパリティストライプに0を書き戻し、次いで、スペースビットマップの対応するビットをオフにする。
例示的な実施形態によれば、スペースビットマップは、RAID構築後のデータ再構成の開始時に初期化することができる。すなわち、RAIDシステムに対するデータ再構成プロセスが始まると、再構成が構成される予定の各パリティストライプに対するパリティブロックをチェックすることができる。パリティブロックのすべてが0である場合は、関連パリティストライプが未使用であることを示すためにスペースビットマップを更新することができる。パリティブロックのすべてが0であるとは限らない場合は、関連パリティストライプが使用されていることを示すためにスペースビットマップを更新することができる。
例えば、RAID構築プロセスの間は、RAIDシステムのすべてのデータおよびパリティブロックは、0のブロックに初期化することができる。従って、パリティストライプが使用されている場合は、そのパリティブロックを更新しなければならず、従って、非ゼロとなり得る。しかしながら、パリティストライプが一度も使用されていない場合は、そのパリティブロックは、すべてが0のブロックのままであり得る。
いくつかの例示的な実施形態では、以前に開示されるように、関連パリティストライプのパリティブロックは、再構成の間にオンザフライでチェックすることができる。従って、パリティストライプが使用されているかまたは未使用であるかを示すためにスペースビットマップを使用しなくともよい。再構成のためのパリティストライプのパリティブロックのオンザフライでのチェックに応答して、パリティブロックが0の場合は、置換ディスクに0を書き込むことによってパリティストライプを再構成することができる。パリティストライプのすべてが0であるとは限らない場合は、本明細書の実施形態に従って再構成プロセスを進めることができる。
例示的な実施形態によれば、従来のHDDまたはハイブリッドHDDを備えるRAIDシステムにおける再構成プロセスを最適化するためのシステムおよび方法が本明細書で開示される。
例示的な実施形態によれば、1つまたは複数のビットマップ(例えば、メタデータ記録メカニズム)は、再構成スケジューリング、データの読み取り/書き込み、および、ディスクドライブに障害が起こり、再構成プロセスが開始された後のデータキャッシュのために使用することができる。例示的な実施形態では、データ再構成プロセスの開始時に、2つのビットマップを構築または生成することができる。例えば、使用できる1つのビットマップは、再構成ビットマップであり、再構成ビットマップでは、各ビットは、パリティストライプの再構成状態を表す。再構成ビットマップは、すべてが0になるように初期化することができ、パリティストライプが再構成されると、ビットマップの対応するビットが1に設定される。
同様に、データ再構成に使用できる別のビットマップは、スペースビットマップであり、スペースビットマップでは、各ビットは、パリティストライプ(またはパリティストライプのグループ)が使用されているかまたは使用されていないかを表す。例えば、パリティストライプが以前に使用されたと判断または特定された場合は、典型的な通常の再構成プロセスを進める。そうでなければ、パリティストライプの再構成は、単に、置換ドライブ/ディスクに0を書き込むことから成り得る。
例示的な実施形態によれば、再構成プロセスで使用されるビットマップは、システムメモリまたはNVMまたは他の任意の高速アクセスストレージスペースなどの揮発性メモリに保持することができる。
例示的な実施形態によれば、データ再構成プロセスにおける再構成スケジューラは、再構成シーケンスおよび/または各パリティストライプの再構成方法を判断するために、ビットマップ情報および/または他の情報を使用することができる。
例示的な実施形態によれば、従来のハードディスクドライブ(HDD)を備えるRAIDシステムにおけるデータ再構成プロセスを最適化するスケジューリング戦略は、以下を含み得る。
1.どのアプリケーションからも要求が送信されていないかどうかを判断し、そうでない場合は、再構成スケジューラは、再構成ビットマップの第1のビット(第1のパリティストライプと関連付けられる)からチェックすることによって、再構成プロセスのスケジューリングを開始する。それが0である場合(ビットと関連付けられたパリティストライプが再構成されていないことを示す)は、再構成スケジューラは、第1のパリティストライプを再構成するというコマンドを発行する。再構成スケジューラは、スペースビットマップの第1のビットをさらにチェックすることができる。それが0である場合(チェックされたものと関連付けられたパリティストライプが使用も割り当てもされておらず、すべて0を含むことを示す)は、置換ディスクに0を書き込むことによってパリティストライプを再構成することができる。そうでなければ、スペースビットマップのチェックされたビットが1である場合(使用/割り当てされていることを示す)は、通常の再構成手順に続いて、チェックされたビットと関連付けられたパリティストライプが再構成される。パリティビットの再構成後、再構成スケジューラは、再構成ビットマップを更新し、再構成されたパリティビットと関連付けられたビットを1に設定することができる。再構成ビットマップの第1のビット値が既に1である場合は、再構成スケジューラは、現行のパリティストライプ(例えば、第1のパリティストライプ)をスキップし、第2のビット値のチェックに進み、再構成ビットマップの第2のビットと関連付けられたパリティストライプ(第2のストライプ)が既に再構成されているかどうかを見ることができる。すなわち、再構成スケジューラは、1つまたは複数のアプリケーションから送信される要求のような割り込みがないことを想定して、ビットマップの最後のビットまでこのプロセスを続行および反復することができる。
2.例示的な実施形態では、上記で言及されるプロセスの間に障害が起こったドライブにアクセスするためにアプリケーションから送信された要求がある場合は、RAIDシステムの優先度設定に基づいて、再構成スケジューラは、最初に、現在選択されているチェックされたパリティストライプの再構成を最初に完了し、次いで、システムが、要求側のアプリケーションへの役割を果たせるようにすることができる。例えば、要求側のアプリケーションが、障害が起こったドライブにデータを書き込む必要がある場合は、再構成スケジュールは、置換ドライブに直接書き込み、更新し、次いで、再構成ビットマップを更新して対応するパリティストライプが再構成されていることを示すことができる。要求側のアプリケーションが、障害が起こったドライブからデータを読み取る必要があるが、データが未だ再構成されていない場合は、再構成スケジューラは、RAIDグループの他の利用可能なドライブから読み取ってオンザフライでデータを再構成することによってデータを再構成するというコマンドを発行することができる。次いで、再構成スケジューラは、置換ドライブにデータを書き込み、対応する再構成ストライプの再構成ビットマップを1に更新してストライプが再構成されていることを示すことができる。ビットマップは、再構成スケジューラがパリティストライプの再度の再構成を回避できるようにすることができる。
3.ビットマップをチェックすることにより、システムは、読み取るためのアプリケーション要求が再構成されているかまたは再構成されていないかを特定のデータで容易にチェックすることができる。データが既に再構成されている場合は、置換ドライブからデータを直接読み出し、要求側のアプリケーションに返送することができる。
例示的な実施形態によれば、ハイブリッドドライブを備えるRAIDシステムでは、従来のHDDを備えるRAIDシステムと同様に、前述の方法を使用することができる。
1.例示的な実施形態によれば、ハイブリッドドライブを備えるRAIDシステムでは、ハイブリッドドライブに障害が起こると、システムは、最初に、障害が起こったハイブリッドドライブのNVMにアクセスできるかまたはアクセスできないかを特定することができる。アクセスできる場合は、NVMのデータを読み出し、置換ハイブリッドドライブのNVMに直接コピーすることができる。コピーの終了後、コピーされたデータに対応するビット値を1に設定することによって再構成ビットマップを更新することができる。
例示的な実施形態によれば、ハイブリッドドライブを備えるRAIDシステムでは、NVMのデータに基づいて、優先再構成をスケジューリングすることができる。例えば、再構成に必要なデータのすべてが、利用可能なハイブリッドドライブのNVMで利用可能である場合は、高い優先度を有するパリティストライプが再構成され、次いで、後に、再構成ビットマップの対応するビット値を1に更新することができる。部分的なデータのみが利用可能である場合は、NVMにはない再構成に必要なデータの他の残りの部分をNVMにプリフェッチするかまたはプリフェッチが起こるようにすることができる。必要なデータがNVMにある時点で、スケジューラは、これらのパリティストライプを再構成するようにスケジューリングすることができる。
例示的な実施形態によれば、RAIDシステムにおけるデータ再構成の前に、ビットマップ(例えば、再構成ビットマップおよびスペースビットマップ)を構築または生成することができる。以前に開示されるように、再構成ビットマップでは、各ビットは、パリティストライプの再構成状態を表し得る。生成後、再構成ビットマップのビットは、すべてが0になるように初期化することができる。従って、パリティストライプが再構成されると、その対応するビットを1に設定することができる。
パリティストライプ(またはパリティストライプのグループ)が使用/割り当てされているかまたは使用/割り当てされていないかを各ビットが表し得るスペースビットマップでは、パリティストライプが使用または割り当てされている場合は、本明細書で開示されるものなどのデータ再構成プロセスを実装することができる。パリティストライプが以前に使用も割り当てもされていない場合は、単に、置換ディスクに0を書き込むことによって、パリティストライプの再構成を遂行することができる。
例示的な実施形態によれば、スペースビットマップを生成することができる。各パリティ/再構成ストライプに対し、関連パリティブロックをチェックすることができる。例えば、すべてが0のブロックである場合は、ビットマップで未使用のもの(例えば、「0」)と示すことができる。そうでなければ、使用されているもの(例えば、「1」)と示すことができる。初期化の間は、RAIDシステムのすべてのデータおよびパリティブロックは、0のブロックに初期化することができる。従って、パリティストライプがその後に使用される場合は、そのパリティブロックを更新しなければならず、非ゼロとなる。パリティストライプが一度も使用されていない場合は、そのパリティブロックは、すべてが0のブロックのままであり得る。
いくつかの例示的な実施形態によれば、スペースビットマップを回避することも、使用しないこともできる。代わりに、パリティブロックのチェックは、再構成の間にオンザフライで実装することができ、スペースビットマップは、未使用のスペースを記録することも、示すこともする必要はない。例えば、各パリティストライプの再構成前は、最初に、パリティブロックがチェックされる。パリティブロックがすべて0である場合は、置換ディスクに0を書き込むことによってこのパリティストライプが再構成される。そうでなければ、再構成される。
例示的な実施形態によれば、本明細書で開示される様々な例示的なRAIDシステムは、図示されていない1つもしくは複数のコンピューティングデバイスを含むことおよび/またはコンピューティングデバイスと動作可能に結合することができる。コンピューティングデバイスは、例えば、1つまたは複数のプロセッサおよび他の適したコンポーネント(メモリおよびコンピュータストレージなど)を含み得る。例えば、少なくとも1つのRAIDコントローラは、RAIDシステムに含まれ、RAIDシステムを構成するストレージドライブに動作可能に接続することができる。プロセッサは他の形態のプロセッサ、処理デバイス(マイクロコントローラなど)、または、本明細書で説明される機能性を実行するようにプログラムすることができる他の任意のデバイスも備え得ることを理解すべきである。
それに従って、コンピューティングデバイスは、再構成スケジューラプロセス、様々な入力/出力要求などの本明細書で開示される様々な方法またはその態様のうちの1つまたは複数を少なくとも部分的に実装するために、ソフトウェアを実行することができる。そのようなソフトウェアは、プロセッサが実行するために、いかなる適切なまたは適した非一時的なコンピュータ可読媒体上にも格納することができる。言い換えれば、コンピューティングデバイスは、本明細書で開示されるRAIDシステムの様々なドライブと相互作用することも、インターフェースをとることもできる。それに従って、コンピューティングデバイスは、本明細書で開示されるテーブル(例えば、スペースビットマップ、再構成ビットマップなど)の作成、更新、アクセスなどを行うために使用することができる。テーブルは、いかなる適したコンピュータストレージデバイスまたはメモリなどのいかなる適したストレージデバイスにもデータとして格納することができる。
例示的な実施形態によれば、そのうちの1つに障害が起こっている複数のストレージドライブを含むRAIDストレージシステムにおけるデータ再構成のための方法は、再構成のための複数のパリティストライプから1つのパリティストライプを再構成のために選択するステップと、再構成テーブルをチェックすることによって、再構成のために選択されたパリティストライプが以前に再構成されているかどうかを判断するステップであって、再構成テーブルが、エントリを含み、エントリの各々が、再構成のための複数のパリティストライプの少なくとも1つに対応する再構成状態を示し、各再構成状態が、少なくとも1つの対応するパリティストライプが以前に再構成されているかどうかを示す、ステップと、スペーステーブルをチェックすることによって、選択されたパリティストライプが以前に割り当てられているかどうかを判断するステップであって、スペーステーブルが、再構成のための複数のパリティストライプの少なくとも1つに対応する割り当て状態を示すエントリを含み、割り当て状態が、少なくとも1つの対応するパリティストライプが以前に割り当てられているかどうかを示す、ステップとを含み得、選択されたパリティストライプが以前に再構成されていないと判断され、選択されたパリティストライプが以前に割り当てられていると判断された場合は、置換ディスクで選択されたパリティストライプを再構成し、選択されたトライプが再構成されていることを示すために、選択されたパリティストライプに対応する再構成テーブルの再構成状態を更新するステップをさらに含む。
例示的な実施形態によれば、方法は、選択されたパリティストライプが以前に割り当てられていないと判断された場合に、選択されたパリティストライプに対応するデータのために置換ディスクに0を書き込むステップをさらに含み得る。
例示的な実施形態によれば、方法は、パリティストライプを選択するステップの前に、パリティストライプと関連付けられたデータのための入力/出力要求を受信するステップをさらに含み得、パリティストライプを選択するステップは、データのための入力/出力要求が関連付けられるパリティストライプを選択するステップを含む。例示的な実施形態によれば、入力/出力動作要求が受信されない場合は、パリティストライプを選択するステップは、再構成が起こっていないことを示す再構成テーブルの第1のエントリに対応するパリティストライプを選択するステップを含み得る。例示的な実施形態によれば、再構成テーブルは、複数のビットを含むビットマップであり得、各ビットは、再構成のための複数のパリティストライプの各々の再構成状態を表す。
例示的な実施形態によれば、スペーステーブルは、複数のビットを含むビットマップであり得、各ビットは、再構成のための複数のパリティストライプの各々の再構成状態を表す。
例示的な実施形態によれば、方法は、再構成のための複数のパリティストライプから追加のパリティストライプを選択するステップをさらに含み得る。
例示的な実施形態によれば、方法は、受信された入力/出力要求を実行するステップをさらに含み得る。
例示的な実施形態によれば、複数のストレージドライブの各々は、ハードディスクドライブであり得る。
例示的な実施形態によれば、複数のストレージドライブの各々は、不揮発性メモリ(NVM)および磁気ディスク媒体を含むハイブリッドドライブであり得る。例示的な実施形態によれば、方法は、再構成のためのパリティストライプを選択するステップの前に、障害が起こったドライブのNVMのデータがアクセス可能かどうかを判断するステップと、障害が起こったハイブリッドドライブのNVMがアクセス可能であると判断された場合に、障害が起こったハイブリッドドライブのNVMから置換ハイブリッドドライブのNVMにデータをコピーするステップとをさらに含み得る。
例示的な実施形態によれば、方法は、再構成のためのパリティストライプを選択するステップの前に、再構成のために必要であったそのパリティブロックのすべてが障害が起こっていないディスクのNVMに格納された再構成のための1つまたは複数のパリティストライプを特定するステップと、置換ディスクで1つまたは複数の特定されたパリティストライプを再構成するステップとをさらに含み得る。
例示的な実施形態によれば、方法は、再構成のためのパリティストライプを選択するステップの前に、再構成のための1つまたは複数の追加のパリティストライプを特定するステップであって、1つまたは複数の追加の特定されたパリティストライプが、障害が起こっていないハイブリッドドライブの1つまたは複数のNVMに格納されたパリティストライプと関連付けられたパリティブロックの一部分、および、障害が起こっていないハイブリッドドライブの磁気ディスク媒体に格納されたパリティブロックの一部分を有する、ステップと、障害が起こっていないハイブリッドドライブの磁気ディスク媒体から、特定されたパリティストライプと関連付けられた部分パリティブロックをフェッチし、障害が起こっていないハイブリッドドライブのそれぞれのNVMキャッシュに格納するように障害が起こっていないハイブリッドドライブのうちの1つまたは複数に指示するステップと、置換ディスクで1つまたは複数の特定された追加のパリティストライプを再構成するステップとをさらに含み得る。
本発明は、特に、特定の実施形態を参照して示され、説明されているが、当業者であれば、添付の請求項によって定義されるように、本発明の趣旨および範囲から逸脱することなく、形態および詳細における様々な変更をその中で行えることを理解すべきである。従って、本発明の範囲は添付の請求項によって示され、従って、請求項の均等物の意味および範囲内で起こる変更はすべて受け入れられることが意図される。

Claims (15)

  1. 複数のストレージドライブであって、そのうちの1つに障害が起こっている複数のストレージドライブを備えるRAIDストレージシステムにおけるデータ再構成のための方法であって、前記方法は、
    再構成のための複数のパリティストライプから1つのパリティストライプを再構成のために選択するステップと、
    再構成テーブルをチェックすることによって、前記再構成のために選択されたパリティストライプが以前に再構成されているかどうかを判断するステップであって、前記再構成テーブルが、エントリを含み、エントリの各々が、前記再構成のための複数のパリティストライプの少なくとも1つに対応する再構成状態を示し、各再構成状態が、前記少なくとも1つの対応するパリティストライプが以前に再構成されているかどうかを示す、ステップと、
    スペーステーブルをチェックすることによって、前記選択されたパリティストライプが以前に割り当てられているかどうかを判断するステップであって、前記スペーステーブルが、前記再構成のための複数のパリティストライプの少なくとも1つに対応する割り当て状態を示すエントリを含み、前記割り当て状態が、前記少なくとも1つの対応するパリティストライプが以前に割り当てられているかどうかを示す、ステップと、
    を含み、
    前記選択されたパリティストライプが以前に再構成されていないと判断され、前記選択されたパリティストライプが以前に割り当てられていると判断された場合は、置換ディスクで前記選択されたパリティストライプを再構成し、前記選択されたストライプが再構成されていることを示すために、選択されたパリティストライプに対応する前記再構成テーブルの前記再構成状態を更新するステップをさらに含む、方法。
  2. 前記選択されたパリティストライプが以前に割り当てられていないと判断された場合に、前記選択されたパリティストライプに対応するデータのために前記置換ディスクに0を書き込むステップをさらに含む、請求項1に記載の方法。
  3. パリティストライプを選択する前記ステップの前に、パリティストライプと関連付けられたデータのための入力/出力要求を受信するステップをさらに含み、かつ、パリティストライプを選択する前記ステップが、データのための入力/出力要求が関連付けられる前記パリティストライプを選択するステップを含む、請求項1に記載の方法。
  4. 入力/出力動作要求が受信されない場合は、パリティストライプを選択する前記ステップが、再構成が起こっていないことを示す前記再構成テーブルの第1のエントリに対応するパリティストライプを選択するステップを含む、請求項3に記載の方法。
  5. 前記再構成テーブルが、複数のビットを含むビットマップを含み、各ビットが、前記再構成のための複数のパリティストライプの各々の再構成状態を表す、請求項1に記載の方法。
  6. 前記スペーステーブルが、複数のビットを含むビットマップを含み、各ビットが、前記再構成のための複数のパリティストライプの各々の前記再構成状態を表す、請求項1に記載の方法。
  7. 前記再構成のための複数のパリティストライプから追加のパリティストライプを選択するステップをさらに含む、請求項1に記載の方法。
  8. 受信された入力/出力要求を実行するステップをさらに含む、請求項3に記載の方法。
  9. 前記複数のストレージドライブの各々が、ハードディスクドライブを含む、請求項1に記載の方法。
  10. 前記複数のストレージドライブの各々が、ハイブリッドドライブを含み、前記ハイブリッドドライブの各々が、不揮発性メモリ(NVM)および磁気ディスク媒体を含む、請求項1に記載の方法。
  11. 再構成のためのパリティストライプを選択する前記ステップの前に、
    前記障害が起こったドライブのNVMのデータがアクセス可能かどうかを判断するステップと、
    前記障害が起こったハイブリッドドライブの前記NVMがアクセス可能であると判断された場合に、前記障害が起こったハイブリッドドライブの前記NVMから置換ハイブリッドドライブのNVMに前記データをコピーするステップと、
    をさらに含む、請求項10に記載の方法。
  12. 再構成のためのパリティストライプを選択する前記ステップの前に、
    再構成のために必要であったそのパリティブロックのすべてが障害が起こっていないディスクの前記NVMに格納された再構成のための1つまたは複数のパリティストライプを特定するステップ、をさらに含む、請求項10に記載の方法。
  13. 置換ディスクで前記1つまたは複数の特定されたパリティストライプを再構成するステップ、をさらに含む、請求項12に記載の方法。
  14. 再構成のための1つまたは複数の追加のパリティストライプを特定するステップであって、前記1つまたは複数の追加の特定されたパリティストライプが、障害が起こっていないハイブリッドドライブの前記1つまたは複数のNVMに格納された前記パリティストライプと関連付けられたパリティブロックの一部分、および、前記障害が起こっていないハイブリッドドライブの前記磁気ディスク媒体に格納された前記パリティブロックの一部分を有する、ステップと、
    前記障害が起こっていないハイブリッドドライブの前記磁気ディスク媒体から、前記特定されたパリティストライプと関連付けられた前記部分パリティブロックをフェッチし、前記障害が起こっていないハイブリッドドライブの前記それぞれのNVMキャッシュに格納するように前記障害が起こっていないハイブリッドドライブのうちの1つまたは複数に指示するステップと、をさらに含む、請求項12に記載の方法。
  15. 置換ディスクで前記1つまたは複数の特定された追加のパリティストライプを再構成するステップ、をさらに含む、請求項14に記載の方法。
JP2016538895A 2013-08-27 2014-08-27 Raidパリティストライプ再構成 Pending JP2016530637A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG2013064563 2013-08-27
SG201306456-3 2013-08-27
PCT/SG2014/000406 WO2015030679A1 (en) 2013-08-27 2014-08-27 Raid parity stripe reconstruction

Publications (1)

Publication Number Publication Date
JP2016530637A true JP2016530637A (ja) 2016-09-29

Family

ID=52587063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016538895A Pending JP2016530637A (ja) 2013-08-27 2014-08-27 Raidパリティストライプ再構成

Country Status (5)

Country Link
US (1) US20160217040A1 (ja)
JP (1) JP2016530637A (ja)
CN (1) CN105531677A (ja)
SG (1) SG11201601215QA (ja)
WO (1) WO2015030679A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021009646A (ja) * 2019-07-03 2021-01-28 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588857B2 (en) * 2015-06-22 2017-03-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Raid logical stripe backup to non-volatile memory in response to raid storage device media errors
US20170031763A1 (en) * 2015-07-28 2017-02-02 Futurewei Technologies, Inc. Hybrid parity initialization
CN106557266B (zh) * 2015-09-25 2019-07-05 伊姆西公司 用于独立磁盘冗余阵列raid的方法和装置
CN106557264B (zh) * 2015-09-25 2019-11-08 伊姆西公司 针对固态硬盘的存储方法及设备
KR102580123B1 (ko) * 2016-05-03 2023-09-20 삼성전자주식회사 Raid 스토리지 장치 및 그것의 관리 방법
CN107562368B (zh) * 2016-06-30 2019-11-22 杭州海康威视数字技术股份有限公司 一种数据处理方法及装置
US20180113616A1 (en) * 2016-10-21 2018-04-26 Nec Corporation Disk array control device, disk array device, disk array control method, and recording medium
KR102703983B1 (ko) 2016-11-07 2024-09-10 삼성전자주식회사 Raid 방식으로 데이터를 저장하는 스토리지 장치
CN108733314B (zh) * 2017-04-17 2021-06-29 伊姆西Ip控股有限责任公司 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质
US10353642B2 (en) * 2017-05-01 2019-07-16 Netapp, Inc. Selectively improving RAID operations latency
US10459807B2 (en) 2017-05-23 2019-10-29 International Business Machines Corporation Determining modified portions of a RAID storage array
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
US10740181B2 (en) 2018-03-06 2020-08-11 Western Digital Technologies, Inc. Failed storage device rebuild method
US20190317889A1 (en) * 2018-04-15 2019-10-17 Synology Inc. Apparatuses and methods and computer program products for a redundant array of independent disk (raid) reconstruction
US10860446B2 (en) 2018-04-26 2020-12-08 Western Digital Technologiies, Inc. Failed storage device rebuild using dynamically selected locations in overprovisioned space
CN108874314A (zh) * 2018-05-31 2018-11-23 郑州云海信息技术有限公司 一种独立冗余磁盘阵列的重构方法及装置
CN111381997B (zh) * 2018-12-28 2024-03-01 杭州宏杉科技股份有限公司 一种raid重建方法及装置
US11269562B2 (en) * 2019-01-29 2022-03-08 EMC IP Holding Company, LLC System and method for content aware disk extent movement in raid
US11074130B2 (en) 2019-03-28 2021-07-27 International Business Machines Corporation Reducing rebuild time in a computing storage environment
CN111857552A (zh) * 2019-04-30 2020-10-30 伊姆西Ip控股有限责任公司 存储管理方法、电子设备和计算机程序产品
CN112764661B (zh) * 2019-10-21 2024-09-20 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
US11210002B2 (en) 2020-01-29 2021-12-28 Samsung Electronics Co., Ltd. Offloaded device-driven erasure coding
US11163657B2 (en) * 2020-02-13 2021-11-02 EMC IP Holding Company LLC Method and apparatus for avoiding redundant data recovery
CN113625974A (zh) * 2021-10-08 2021-11-09 苏州浪潮智能科技有限公司 一种磁盘阵列重构方法、装置、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0423119A (ja) * 1990-05-18 1992-01-27 Fujitsu Ltd アレイディスクおよびそのデータ復元方法
JPH09258913A (ja) * 1996-03-25 1997-10-03 Ekushingu:Kk 記憶装置アレイシステム
JP2003177876A (ja) * 2001-12-11 2003-06-27 Hitachi Ltd ディスクアレイ装置
JP2006004407A (ja) * 2004-05-03 2006-01-05 Microsoft Corp 不揮発性メモリ・キャッシュの性能改善
US20060156059A1 (en) * 2005-01-13 2006-07-13 Manabu Kitamura Method and apparatus for reconstructing data in object-based storage arrays
US20110029728A1 (en) * 2009-07-28 2011-02-03 Lsi Corporation Methods and apparatus for reducing input/output operations in a raid storage system
JP2011028520A (ja) * 2009-07-24 2011-02-10 Nec Corp ディスクアレイ装置及び物理ディスクの復元方法
JP2011065625A (ja) * 2009-09-17 2011-03-31 Hitachi Ltd 大容量ディスクドライブの使用方法及び装置
US20130305086A1 (en) * 2012-05-11 2013-11-14 Seagate Technology Llc Using cache to manage errors in primary storage

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774643A (en) * 1995-10-13 1998-06-30 Digital Equipment Corporation Enhanced raid write hole protection and recovery
GB2343265A (en) * 1998-10-28 2000-05-03 Ibm Data storage array rebuild
CN100576181C (zh) * 2008-06-11 2009-12-30 华中科技大学 一种磁盘阵列的数据重建方法
CN101840360A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 Raid系统的快速重建方法及装置
CN101770413B (zh) * 2010-01-07 2013-03-20 杭州华三通信技术有限公司 冗余磁盘阵列重建的方法及设备
CN102147713B (zh) * 2011-02-18 2013-06-12 杭州宏杉科技有限公司 一种网络存储系统的管理方法及装置
CN102521068B (zh) * 2011-11-08 2014-07-23 华中科技大学 一种固态盘阵列的重建方法
CN102541472A (zh) * 2011-12-31 2012-07-04 杭州宏杉科技有限公司 一种raid阵列重建的方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0423119A (ja) * 1990-05-18 1992-01-27 Fujitsu Ltd アレイディスクおよびそのデータ復元方法
JPH09258913A (ja) * 1996-03-25 1997-10-03 Ekushingu:Kk 記憶装置アレイシステム
JP2003177876A (ja) * 2001-12-11 2003-06-27 Hitachi Ltd ディスクアレイ装置
JP2006004407A (ja) * 2004-05-03 2006-01-05 Microsoft Corp 不揮発性メモリ・キャッシュの性能改善
US20060156059A1 (en) * 2005-01-13 2006-07-13 Manabu Kitamura Method and apparatus for reconstructing data in object-based storage arrays
JP2011028520A (ja) * 2009-07-24 2011-02-10 Nec Corp ディスクアレイ装置及び物理ディスクの復元方法
US20110029728A1 (en) * 2009-07-28 2011-02-03 Lsi Corporation Methods and apparatus for reducing input/output operations in a raid storage system
JP2011065625A (ja) * 2009-09-17 2011-03-31 Hitachi Ltd 大容量ディスクドライブの使用方法及び装置
US20130305086A1 (en) * 2012-05-11 2013-11-14 Seagate Technology Llc Using cache to manage errors in primary storage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021009646A (ja) * 2019-07-03 2021-01-28 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
JP7288191B2 (ja) 2019-07-03 2023-06-07 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム

Also Published As

Publication number Publication date
US20160217040A1 (en) 2016-07-28
WO2015030679A1 (en) 2015-03-05
SG11201601215QA (en) 2016-03-30
CN105531677A (zh) 2016-04-27

Similar Documents

Publication Publication Date Title
JP2016530637A (ja) Raidパリティストライプ再構成
US11941257B2 (en) Method and apparatus for flexible RAID in SSD
US10191676B2 (en) Scalable storage protection
US9378093B2 (en) Controlling data storage in an array of storage devices
US8103825B2 (en) System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair
US10365983B1 (en) Repairing raid systems at per-stripe granularity
US8719520B1 (en) System and method for data migration between high-performance computing architectures and data storage devices with increased data reliability and integrity
US8065558B2 (en) Data volume rebuilder and methods for arranging data volumes for improved RAID reconstruction performance
US9519554B2 (en) Storage system with rebuild operations
US8392752B2 (en) Selective recovery and aggregation technique for two storage apparatuses of a raid
US8839028B1 (en) Managing data availability in storage systems
CN101093434B (zh) 用矩阵条带高速缓存器改进raid系统输入和输出性能的方法
US20060156059A1 (en) Method and apparatus for reconstructing data in object-based storage arrays
CN103513942B (zh) 独立冗余磁盘阵列的重构方法及装置
TWI501080B (zh) 用於價廉磁碟冗餘陣列(raid)磁卷與磁碟群組之間的鬆動連結之系統與方法
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
KR20120071058A (ko) 데이터 저장 장치 및 그것의 동작 방법
US7721143B2 (en) Method for reducing rebuild time on a RAID device
TW201107981A (en) Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system
US20070088990A1 (en) System and method for reduction of rebuild time in raid systems through implementation of striped hot spare drives
CN111124262A (zh) 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质
Hong et al. Reparo: A fast raid recovery scheme for ultra-large ssds
JP2008217395A (ja) ディスクアレイ装置
JP2014041524A (ja) 半導体記憶装置、ストレージ装置、半導体記憶装置制御方法、ストレージ制御方法、および、コンピュータ・プログラム
JP2012185575A (ja) ストレージシステム及びリビルド処理高速化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181211