JP7002346B2 - ストレージシステム及びその動作方法 - Google Patents
ストレージシステム及びその動作方法 Download PDFInfo
- Publication number
- JP7002346B2 JP7002346B2 JP2018005598A JP2018005598A JP7002346B2 JP 7002346 B2 JP7002346 B2 JP 7002346B2 JP 2018005598 A JP2018005598 A JP 2018005598A JP 2018005598 A JP2018005598 A JP 2018005598A JP 7002346 B2 JP7002346 B2 JP 7002346B2
- Authority
- JP
- Japan
- Prior art keywords
- storage
- storage device
- controller
- data
- storage devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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/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/1084—Degraded mode, e.g. caused by single or multiple storage removals or disk failures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- 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
-
- 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/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- 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/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/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
-
- 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/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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/2002—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 interconnections or communication control functionality are redundant
- G06F11/2007—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 interconnections or communication control functionality are redundant using redundant communication media
- G06F11/201—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 interconnections or communication control functionality are redundant using redundant communication media between storage system components
-
- 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/2002—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 interconnections or communication control functionality are redundant
- G06F11/2012—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 interconnections or communication control functionality are redundant and using different communication protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- Read Only Memory (AREA)
Description
例えば、50G/100G技術の登場でイーサネット速度は増加した一方、SSDの性能はPCIエキスプレス(Peripheral Component Interconnect Express、PCIe)インターフェース及びNANDs技術によって異なりうる。
従って、複数のストレージ装置にデータを格納するための改善されたシステム及び方法が要求されている。
前記コントローラーは、前記複数のストレージ装置のうち、第1ストレージ装置からデータブロックのコピーを受信すると、前記データブロックを充分に復旧できる消去コードを生成し、前記消去コードを前記複数のストレージ装置の中から前記第1ストレージ装置と異なる一つ以上のストレージ装置に格納することが好ましい。
前記複数のストレージ装置のうち、第1ストレージ装置は、正常動作中にデータブロックを含む記録命令を受信すると、前記データブロックを格納し、前記データブロックを充分に復旧できる消去コードを生成し、前記消去コードを前記複数のストレージ装置の中から前記第1ストレージ装置と異なる一つ以上のストレージ装置に格納することが好ましい。
前記複数のストレージ装置のうち、第1ストレージ装置は、消去コードを格納し、前記データスイッチは、正常動作中に前記ストレージインターフェースを通じて受信した各ストレージ命令をストレージ命令の各アドレスに沿って、前記複数のストレージ装置のサブセットの各ストレージ装置に伝送し、前記第1ストレージ装置は、前記サブセットに含まれないことが好ましい。
前記コントローラーは、前記複数のストレージ装置の内のいずれかのストレージ装置が故障又は不在の場合、データブロックを要請する受信された読込命令(read command)に応答して、前記複数のストレージ装置の内の存在し、且つ正常作動するストレージ装置から消去コードを読み込み、前記データブロックを復旧し、命令応答の一部として前記データスイッチ及び前記ストレージインターフェースを通じて前記復旧されたデータブロックを伝送することが好ましい。
前記データスイッチは、イーサネットスイッチであることが好ましい。
前記データスイッチは、前記コントローラーのポートに接続されたPCIeコントロールポートを含み、前記データスイッチは、前記PCIeコントロールポートを通じて前記コントローラーから構成命令(configuration command)を受信することが好ましい。
PCIeスイッチをさらに含み、前記複数のストレージ装置のそれぞれは、前記PCIeスイッチを通じて前記コントローラーと接続されることが好ましい。
前記コントローラーは、ベースボード管理コントローラーであることが好ましい。
前記コントローラーを用いて前記複数のストレージ装置の内の第1ストレージ装置からデータブロックのコピーが受信されると、前記コントローラーによって前記データブロックを充分に復旧できる消去コードを生成するステップと、前記コントローラーによって前記消去コードを前記複数のストレージ装置のうち、前記第1ストレージ装置と異なる一つ以上のストレージ装置に格納するステップと、をさらに有することが好ましい。
正常作動の間、前記複数のストレージ装置の内の第1ストレージ装置にデータブロックを含む記録命令が受信されると、前記第1ストレージ装置によって前記データブロックを格納するステップと、前記第1ストレージ装置によって前記データブロックを復旧するに充分な消去コードが生成されるステップと、前記第1ストレージ装置によって前記複数のストレージ装置のうち、前記第1ストレージ装置と異なる一つ以上のストレージ装置に前記消去コードを格納するステップと、をさらに有することが好ましい。
前記複数のストレージ装置の内の第1ストレージ装置は、消去コードを格納し、正常作動中に前記ストレージインターフェースを通じて受信された各ストレージ命令を前記ストレージ命令の各アドレスに沿って、前記複数のストレージ装置のサブセットのストレージ装置のそれぞれに伝送するステップをさらに有し、前記第1ストレージ装置は、前記サブセットに含まれないことが好ましい。
前記ストレージ装置のそれぞれは、前記コントローラーのそれぞれのセンシングピンに接続される存在ピン(presence pin)を含み、前記コントローラーによって前記それぞれのセンシングピンの電圧又は電流の変化によって前記ストレージ装置の内のいずれか一つの除去を検出するステップをさらに有することが好ましい。
説明は例示した実施形態に関連して本発明の特徴を説明する。
しかしながら、本発明の思想及び範囲内に含まれるように意図された他の実施形態によって同じであったり、均等な機能及び構造になることを理解すべきである。
本明細書の他の部分で言及するように、同一要素番号は同一要素又は特徴を示すためのものである。
制御プレーンは、トラフィック(例えば、データトラフィック)が伝送される場所に関する決定を下すことができる。
制御プレーンの機能は、伝送テーブル情報のシステム構成、管理及び交換を含み得る。
制御プレーンは、ネットワークのシグナルリング(Signaling)でありうる。
制御機能は、到着するそれぞれの個別データパケットに対して行われないこともあるので、厳格な速度制約を持たないこともあり、データプレーンの機能より時間に敏感ではない。
データプレーンパケットはルータを通過し得る。
ルータ/スイッチは、入力及び出力フレーム及びパケットを処理するために、制御プレーンが構築したものを使用する。
ストレージシステムにて、ストレージシステムの制御プレーンとストレージシステムのデータプレーンとの間で同様の区別をすることができる。
ストレージシステムは、イーサネットスイッチ110、PCIeスイッチ120、複数のストレージ装置105、及びコントローラー115(例えば、ベースボード管理コントローラー、Baseboard Management Controller:BMC)を含む。
ストレージシステムは、リモートホスト100に接続される。
イーサネットスイッチ110とコントローラー115の間に追加的な接続が生成され、消去コード保護機能を向上することができる。
複数のストレージ装置105は、イーサネットスイッチ110を通じてリモートホスト100に接続される。
各ストレージ装置105は、ソリッドステートドライブ(Solid State Drive:SSD)、例えば、イーサネットSSD(eSSD)でありうる。
正常作動の際に、リモートホスト100は、それぞれ一つ以上のストレージ装置105に送られたストレージ命令をストレージ装置105に伝送し、ストレージ装置105はリモートホストに命令応答を伝送する。
ストレージ命令は、記録命令(write command)及び/又は読込命令(read command)になることもある。
例えば、データをストレージ装置105に格納するために、リモートホスト100は記録命令をストレージ装置105に伝送する(例えば、ストレージ装置105のイーサネットアドレスを使用してストレージ装置105に送られる)。
これに対して、ストレージ装置105はデータを格納でき、格納動作が一度完了したら、ストレージ装置105は、命令応答(例えば、命令完了)をリモートホスト100に伝達し、格納動作が成功的に完了したとの信号を送る。
本明細書にて使用する「データブロック」は、ストレージ命令又は命令応答のデータペイロード(Payload)、例えば、記録命令によって永続ストレージに記録されるデータ又は読込命令によって永続ストレージから読み込まれたデータでありうる。
これに応答して、ストレージ装置105は、ストレージ装置105の内部の非揮発性メモリ(Nonvolatile memory)からデータを読み込むことができ、読込動作が完了したら、命令応答(例えば、命令完了)をストレージから読み込まれたデータブロックを含むリモートホスト100に伝送し、読込動作が成功的に完了したとの信号を送る。
データブロックに対する消去コードは、データの一部が消失された場合に、データブロック内のデータを再建するのに使用される重複追加情報を含む(例えば、構成)ことができる。
消去コードは、一般的に保護するデータとは別途にストレージ装置105に格納でき、よって、いずれかのストレージ装置の故障又は不在又は除去によってもデータが消失されなくなる。
消去コードを格納するディスクが故障したり、不在又は除去されても、データは影響を受けず、なお、データを格納したディスクが故障になったり、不在又は除去されても、データは消去コードから復旧できる。
この場合、イーサネットスイッチ110は、これらのストレージ装置105をリモートホスト100から隠すように構成され、これらのストレージ装置がリモートホストに見えないようにすることができる。
このような構成で、リモートホスト100からの観点で、ストレージシステムは物理的なストレージ装置に存在するより少ないストレージ装置105を含むように見えることになり、ストレージ装置の信頼性は、消去コードのみを専用に格納するストレージ装置105によって提供された消去コード保護によって向上される。
他の実施形態では、消去コードは、消去コードのみを専用に格納するストレージ装置105だけに格納されるのではなく、他のデータも格納するドライブに格納され得る。
コントローラー115は、ストレージ装置105のそれぞれとPCIeスイッチ120を通じて接続される。
コントローラー115、PCIeスイッチ120、及びストレージ装置105へのコントローラー115及びPCIeスイッチ120の接続は、消去プレーンを形成し、イーサネットスイッチ110及びストレージ装置105へのイーサネットスイッチ110の接続はデータプレーンを形成する。
コントローラー115は、消去コードを生成し、消去コードデータを格納するストレージ装置105にPCIeスイッチを通じて書き込み命令を伝送することで、消去コードを例えば、記録命令を受信したものと異なるストレージ装置105に格納する。
コントローラー115は、消去コードを格納するための論理ブロックアドレス及び消去コードのそれぞれの位置を列挙したテーブルを維持する。
正常作動の際に、コントローラー115は、リモートホスト100及びストレージ装置105の間のデータ経路で認識されないこともある。
例えば、データはコントローラー115を介さずに、リモートホスト100とストレージ装置105の間で直接移動することができる。
「U.2」コネクタの複数のピンは、PCIeスイッチ120との通信のために、PCIeリンク(例えば、1x4PCIeレーン又は2x2PCIeレーン)を提供するように割り当てる。
「U.2」コネクタの他のピンは、イーサネットスイッチ110にイーサネット接続を提供するように割り当てる。
例えば、それぞれのストレージ装置105は、存在ピン125でセット電圧を供給したり、存在ピン125を通じてセット電流を駆動できる。
それぞれのストレージ装置105の存在ピン125は、コントローラー115のそれぞれのセンシングピンに接続され、コントローラー115はセンシングピンのうちの一つにてセット電圧又はセット電流が検出されることが中断されたら、対応するストレージ装置105がもはや存在しないものと推論できる。
例えば、それぞれのストレージ装置105の複数のピンは、NVMe管理インタフェースに対する物理的接続を提供し、存在ピンとしての役割を果たすことができる。
ミッドプレーン130は、ストレージ装置105に接続されたコネクタ及びこれに対応するPCIeスイッチ120のストレージ装置側上の複数のコネクタ(例えば、24コネクタ)の間の接続を提供する導電性トレースを含む。
ミッドプレーン130は、ストレージ装置105の存在ピンとこれに対応するコントローラー115のセンシングピンとの間、及びストレージ装置105のイーサネットピンとこれに対応するイーサネットスイッチ110のストレージ装置側上のコネクタのピンとの間の接続を提供する。
コントローラー115はまた、プロセッシング回路であったり、プロセッシング回路を含むことができる。
コントローラー115は、例えば、ベースボード管理コントローラー外部にあり、ベースボード管理コントローラーの当該ピンに接続された温度センサを通じてストレージシステムに対する温度モニタリング及び制御を行う機能、及び/又はI2Cインターフェース又はSMBusを通じたファン(Fan)制御機能を含むベースボード管理コントローラー(Baseboard Management Controller、BMC)でありうる。
存在ピンのうち少なくとも一つのある変化を検出した後、CPLDはインターラプトを通じてコントローラー115に通知する。
その後、コントローラー115はCPLDの一部レジスタを入れて(例えば記録又は読込)、どのドライブが消去又は設置されたかを探し出すことができる。
これにより、BMC(例えば、コントローラー115は、特定ポートを活性化又は非活性化して、イーサネットスイッチを再構成するなどの適切な変更作業を行うことができる。
コントローラー115はストレージ装置105が故障、不在又は除去されなかった場合に持つはずのものと同じ命令応答をリモートホスト100が受信するようにリモートホスト100からストレージ命令を処理して、命令応答を伝送する。
ストレージ装置105が除去(故障になる代わりに)されたら、コントローラーは同じ動作を行うことができる。
即ち、コントローラー115は、故障、不在又は除去のストレージ装置105に格納されていたデータを復旧して代替ドライブに格納する。
一度代替ドライブが再構築されたら、コントローラー115は正常動作のためにイーサネットスイッチ110を再構成する。
コントローラー115(例えば、BMC)は、自身及び望むRAID構成ごとに全てのデータストレージ装置105(例えば、SSD)の前提条件を初期化する(ステップS205)。
コントローラー115はストレージ装置105の一部をデータストレージ装置に、ストレージ装置105の一部を消去コードストレージ装置に指定する(ステップS210)。
これは、すべてのストレージ装置105及び命令に対する初期化の際に行われたり、命令単位で行われる。
コントローラー115はSSDのそれぞれの容量が異なるとSSDを正規化し(ステップS215)、コントローラー115は上述したように、いずれのホストにも消去コードストレージ装置が見えないようにマーク(Mark)する(ステップS220)。
システム内のそれぞれのストレージ装置105は、コントローラー115からスロット番号又は割り当て番号のような固有の配列部材識別(Array member identification)を有する。
ホストはデータストレージ装置のうち、一つにデータを記録する(ステップS315)。
ステップS315にてホストは消去コードを生成しない。
データストレージ装置は記録されるデータを受信し、これをデータストレージ装置内の非揮発性メモリに格納する(ステップS320)。
データストレージ装置は、また、消去コードを生成し、消去コードを(複数のストレージ装置の)一つ以上の消去コードストレージ装置に記録する(ステップS320)。
同時に、目標ストレージ装置は、制御プレーン(例えば、PCIe制御プレーン)を通じて記録データをコントローラー115に伝送できる。
記録データを受信した後、コントローラー115は、同じLBAを共有する当該データを他のストレージ装置から読み込んで、パリティーの生成を行うことができる。
コントローラー115は、一つ以上の適切な排他的論理和(XOR)演算を行い、新たなパリティーをパリティーストレージ装置に記録する。
コントローラー115は、元々の目標ストレージ装置にメッセージを伝送することができ、ポストされた記録バッファーがフラッシュ(Flush)できる。
消去コードストレージ装置は消去コードを受信し、これを消去コードストレージ装置内の非揮発性メモリに格納し、データストレージ装置にコミットメッセージ(Commit message)を伝送する(ステップS325)。
データストレージ装置及び消去コードストレージ装置の間の通信は、PCIeスイッチ120を通じて行われる。
ストレージシステム内のデータスイッチは、複数のストレージ装置をリモートホストに接続する。
各ストレージ装置は、また、コントローラー(例えば、ベースボード管理コントローラー)に接続される。
正常作動の際に、リモートホストからの読込及び記録命令は、データスイッチを通じてそれぞれのストレージ装置に伝送される。
記録命令が実行されたら、この命令を実行するストレージ装置はコントローラーにデータのコピーを送り、コントローラーは消去コードを生成し、これらを例えば、消去コードを格納するために専用されるストレージ装置に格納して、リモートホストに見えないようにする。
装置が故障になったり消去されると、コントローラーはデータスイッチを再び構成して故障、不在又は除去のストレージ装置に送られた全てのトラフィックをコントローラーに再び送り、コントローラーは、もし存在し、且つ正常に作動された場合、障害が発生したり、存在しないストレージ装置が伝送したはずのものと同じ命令応答でホスト命令に応答する。
プロセッシング回路ハードウェアは、例えば、特定用途向け集積回路(Application Specific Integrated Circuits:ASIC)、汎用又は特殊用途の中央処理装置(Central Processing Unit:CPU)、デジタル信号プロセッサ(Digital Signal Processor:DSP)、グラフィック処理装置(Graphics Processing Unit:GPU)及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA)のようなプログラマブル論理装置を含むことができる。
プロセッシング回路は、一つの印刷回路基板上に製造されたものでもあり、いくつかの互いに接続された印刷回路基板に分散されたものでもある。
プロセッシング回路は、他のプロセッシング回路を含むことができる。
例えば、プロセッシング回路は、印刷回路基板上で互いに接続された二つのプロセッシング回路、FPGA、CPUを含むことができる。
よって、本発明の原理によって構成された多数のストレージ装置に亘り消去コード保護を提供するための制御プレーン方法及び装置は、ここに具体的に記述したもの以外の他の実施例が具現できると理解すべきである。
なお、本発明は、次の特許請求範囲及びその等価物で定義される。
105 ストレージ装置
110 イーサネットスイッチ
115 コントローラー
120 PCIeスイッチ
125 存在ピン
130 ミッドプレーン
Claims (20)
- ストレージインターフェースを含むストレージシステムであって、
前記ストレージシステムは、
何れか一つのストレージ装置に格納されたデータを他のストレージ装置のデータから復旧するのに充分な消去コードを格納する複数のストレージ装置と、
正常動作中に、各ストレージ命令のそれぞれのアドレスに従って、前記ストレージインターフェースを通じて受信されたストレージ命令を、前記複数のストレージ装置の中のそれぞれのストレージ装置に伝送するデータスイッチと、
コントローラーと、を有し、
前記コントローラーは、
前記複数のストレージ装置の中の何れかのストレージ装置が故障又は不在(absent)の場合、
前記データスイッチを再構成して、前記故障又は不在のストレージ装置に宛てられたストレージ命令を前記コントローラーに伝送し、
受信された各ストレージ命令に応答して、前記データスイッチ及び前記ストレージインターフェースを通じて、前記故障又は不在とされたストレージ装置が存在し且つ正常に作動した場合に伝送したはずのものと同じ命令応答を伝送することを特徴とするストレージシステム。 - 前記ストレージ装置の各々は、正常動作中に、データブロックを含む記録命令(write command)を受信した場合、前記データブロックを格納し、前記データブロックのコピーを前記コントローラーに伝送することを特徴とする請求項1に記載のストレージシステム。
- 前記コントローラーは、前記複数のストレージ装置の中の第1ストレージ装置からデータブロックのコピーを受信した場合、前記データブロックを復旧するのに充分な消去コードを生成し、前記複数のストレージ装置の中から前記第1ストレージ装置とは異なる一つ以上のストレージ装置に前記消去コードを格納することを特徴とする請求項2に記載のストレージシステム。
- 前記複数のストレージ装置の中の第1ストレージ装置は、正常動作中に、データブロックを含む記録命令を受信した場合、
前記データブロックを格納し、
前記データブロックを復旧するのに充分な消去コードを生成し、
前記複数のストレージ装置の中から前記第1ストレージ装置とは異なる一つ以上のストレージ装置に前記消去コードを格納することを特徴とする請求項1に記載のストレージシステム。 - 前記複数のストレージ装置の中の第1ストレージ装置は、消去コードを格納し、
前記データスイッチは、正常動作中に、前記ストレージインターフェースを通じて受信された各ストレージ命令を、前記ストレージ命令のそれぞれのアドレスに従って、前記複数のストレージ装置のサブセットのそれぞれのストレージ装置に伝送し、
前記第1ストレージ装置は、前記サブセットに含まれないことを特徴とする請求項1に記載のストレージシステム。 - 前記コントローラーは、前記複数のストレージ装置の中の何れかのストレージ装置が故障又は不在の場合、データブロックを要請する受信された読込命令(read command)に応答して、
前記複数のストレージ装置の中の、存在し且つ正常動作するストレージ装置から消去コードを読み込み、
前記データブロックを復旧し、
前記データスイッチ及び前記ストレージインターフェースを通じて前記復旧されたデータブロックを命令応答の一部として伝送することを特徴とする請求項1に記載のストレージシステム。 - 前記ストレージ装置の各々は、前記コントローラーのそれぞれのセンシングピンに接続される存在ピン(presence pin)を含むコネクタを含み、
前記コントローラーは、前記それぞれのセンシングピンでの電圧又は電流の変化によって前記ストレージ装置の中の何れか一つのストレージ装置の除去(removal)を検出することを特徴とする請求項1に記載のストレージシステム。 - 前記データスイッチは、イーサネットスイッチであることを特徴とする請求項1に記載のストレージシステム。
- 前記データスイッチは、前記コントローラーのポートに接続されたPCIeコントロールポートを含み、
前記データスイッチは、前記PCIeコントロールポートを通じて前記コントローラーから構成命令(configuration command)を受信することを特徴とする請求項1に記載のストレージシステム。 - PCIeスイッチを更に含み、
前記複数のストレージ装置の各々は、前記PCIeスイッチを通じて前記コントローラーに接続されることを特徴とする請求項1に記載のストレージシステム。 - 前記コントローラーは、ベースボード管理コントローラーであることを特徴とする請求項1に記載のストレージシステム。
- ストレージインターフェースを有し、複数のストレージ装置、データスイッチ、及びコントローラーを含むストレージシステムを動作させる方法であって、
正常動作中に、前記データスイッチによって、各ストレージ命令のそれぞれのアドレスに従って、前記ストレージインターフェースを通じて受信されたストレージ命令を、前記複数のストレージ装置の中のそれぞれのストレージ装置に伝送するステップと、
前記複数のストレージ装置の中の何れかのストレージ装置が故障又は不在(absent)の場合、
前記コントローラーによって、前記データスイッチを再構成して、前記故障又は不在のストレージ装置に宛てられたストレージ命令を前記コントローラーに伝送するステップと、
前記コントローラーによって、受信された各ストレージ命令に応答して、前記データスイッチ及び前記ストレージインターフェースを通じて、前記故障又は不在とされたストレージ装置が存在し且つ正常に作動した場合に伝送したはずのものと同じ命令応答を伝送するステップと、を有することを特徴とするストレージシステムの動作方法。 - 正常動作中に、前記複数のストレージ装置の中の一つのストレージ装置によって、データブロックを含む記録命令(write command)を受信した場合、
前記一つのストレージ装置によって、前記データブロックを格納するステップと、
前記一つのストレージ装置によって、前記データブロックのコピーを前記コントローラーに伝送するステップと、を更に有することを特徴とする請求項12に記載のストレージシステムの動作方法。 - 前記コントローラーによって、前記複数のストレージ装置の中の第1ストレージ装置からデータブロックのコピーを受信した場合、
前記コントローラーによって、前記データブロックを復旧するのに充分な消去コードを生成するステップと、
前記コントローラーによって、前記複数のストレージ装置の中から前記第1ストレージ装置とは異なる一つ以上のストレージ装置に前記消去コードを格納するステップと、を更に有することを特徴とする請求項13に記載のストレージシステムの動作方法。 - 正常動作中に、前記複数のストレージ装置の中の第1ストレージ装置によって、データブロックを含む記録命令を受信した場合、
前記第1ストレージ装置によって、前記データブロックを格納するステップと、
前記第1ストレージ装置によって、前記データブロックを復旧するのに充分な消去コードを生成するステップと、
前記第1ストレージ装置によって、前記複数のストレージ装置の中から前記第1ストレージ装置とは異なる一つ以上のストレージ装置に前記消去コードを格納するステップと、を更に有することを特徴とする請求項12に記載のストレージシステムの動作方法。 - 前記複数のストレージ装置の中の第1ストレージ装置は、消去コードを格納し、
正常動作中に、前記データスイッチによって、前記ストレージインターフェースを通じて受信された各ストレージ命令を、前記ストレージ命令のそれぞれのアドレスに従って、前記複数のストレージ装置のサブセットのストレージ装置のそれぞれのストレージ装置に伝送するステップを更に有し、
前記第1ストレージ装置は、前記サブセットに含まれないことを特徴とする請求項12に記載のストレージシステムの動作方法。 - 前記ストレージシステムは、PCIeスイッチを更に有し、
前記コントローラーは、前記PCIeスイッチを通じて前記ストレージ装置に接続され、
前記方法は、
前記複数のストレージ装置の中の何れかのストレージ装置が故障又は不在の場合、
前記コントローラーによって、データブロックを要請する読込命令を受信したことに応答して、
前記コントローラーによって、前記PCIeスイッチを通じて、前記複数のストレージ装置の中の存在し且つ正常動作するストレージ装置から消去コードを読み込むステップと、
前記コントローラーによって、前記データブロックを復旧するステップと、
前記コントローラーによって、前記データスイッチ及び前記ストレージインターフェースを通じて前記復旧されたデータブロックを命令応答の一部として伝送するステップと、を更に有することを特徴とする請求項12に記載のストレージシステムの動作方法。 - 前記ストレージ装置の各々は、前記コントローラーのそれぞれのセンシングピンに接続される存在ピン(presence pin)を含み、
前記方法は、前記コントローラーによって、前記それぞれのセンシングピンでの電圧又は電流の変化によって前記ストレージ装置の中の何れか一つのストレージ装置の除去を検出するステップを更に有することを特徴とする請求項17に記載のストレージシステムの動作方法。 - ストレージインターフェースを含むストレージシステムであって、
前記ストレージシステムは、
何れか一つのストレージ装置に格納されたデータを他のストレージ装置のデータから復旧するのに充分な消去コードを格納する複数のストレージ装置と、
正常動作中に、各ストレージ命令のそれぞれのアドレスに従って、前記ストレージインターフェースを通じて受信されたストレージ命令を、前記複数のストレージ装置の中のそれぞれのストレージ装置に伝送するデータスイッチと、
制御手段と、を有し、
前記制御手段は、
前記複数のストレージ装置の中の何れかのストレージ装置が故障又は不在の場合、
前記データスイッチを再構成して、前記故障又は不在のストレージ装置に宛てられたストレージ命令を前記制御手段に伝送し、
受信された各ストレージ命令に応答して、前記データスイッチ及び前記ストレージインターフェースを通じて、前記故障又は不在とされたストレージ装置が存在し且つ正常に作動した場合に伝送したはずのものと同じ命令応答を伝送することを特徴とするストレージシステム。 - 前記ストレージ装置の各々は、正常動作中に、データブロックを含む記録命令を受信した場合、前記データブロックを格納し、前記データブロックのコピーを前記制御手段に伝送することを特徴とする請求項19に記載のストレージシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762448648P | 2017-01-20 | 2017-01-20 | |
US62/448,648 | 2017-01-20 | ||
US15/470,774 | 2017-03-27 | ||
US15/470,774 US10255134B2 (en) | 2017-01-20 | 2017-03-27 | Control plane method and apparatus for providing erasure code protection across multiple storage devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018116704A JP2018116704A (ja) | 2018-07-26 |
JP7002346B2 true JP7002346B2 (ja) | 2022-01-20 |
Family
ID=62906306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018005598A Active JP7002346B2 (ja) | 2017-01-20 | 2018-01-17 | ストレージシステム及びその動作方法 |
Country Status (5)
Country | Link |
---|---|
US (4) | US10255134B2 (ja) |
JP (1) | JP7002346B2 (ja) |
KR (1) | KR102527151B1 (ja) |
CN (1) | CN108334285B (ja) |
TW (2) | TWI764973B (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255134B2 (en) | 2017-01-20 | 2019-04-09 | Samsung Electronics Co., Ltd. | Control plane method and apparatus for providing erasure code protection across multiple storage devices |
US10275180B2 (en) * | 2017-05-08 | 2019-04-30 | Samsung Electronics Co., Ltd. | Ethernet SSD system including storage offload engine (SoE) controller and ethernet switch |
CN112214166B (zh) * | 2017-09-05 | 2022-05-24 | 华为技术有限公司 | 用于传输数据处理请求的方法和装置 |
US20240095196A1 (en) * | 2018-03-02 | 2024-03-21 | Samsung Electronics Co., Ltd. | Method for supporting erasure code data protection with embedded pcie switch inside fpga+ssd |
US10635609B2 (en) | 2018-03-02 | 2020-04-28 | Samsung Electronics Co., Ltd. | Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD |
US10990554B2 (en) | 2018-03-02 | 2021-04-27 | Samsung Electronics Co., Ltd. | Mechanism to identify FPGA and SSD pairing in a multi-device environment |
TWI791880B (zh) * | 2018-10-12 | 2023-02-11 | 南韓商三星電子股份有限公司 | 電腦系統 |
KR102649169B1 (ko) * | 2018-12-12 | 2024-03-20 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10795846B1 (en) * | 2019-07-15 | 2020-10-06 | Cisco Technology, Inc. | Scalable NVMe storage management over system management bus |
US11334434B2 (en) * | 2020-02-19 | 2022-05-17 | Seagate Technology Llc | Multi-level erasure system with cooperative optimization |
CN111931255A (zh) * | 2020-04-02 | 2020-11-13 | 深圳云存科技有限公司 | 自动销毁与拷贝系统 |
TWI789020B (zh) * | 2021-09-23 | 2023-01-01 | 宇瞻科技股份有限公司 | 儲存裝置之控制系統及控制方法 |
JP2023096958A (ja) * | 2021-12-27 | 2023-07-07 | 株式会社日立製作所 | ストレージシステム及びストレージシステム制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009087348A (ja) | 2007-09-28 | 2009-04-23 | Symantec Corp | 協働するストレージデバイスを用いて、データを冗長的に格納し、検索するシステム及び方法 |
JP2014154042A (ja) | 2013-02-12 | 2014-08-25 | Ricoh Co Ltd | 情報処理装置及びその記憶装置の交換処理方法 |
JP2015519674A (ja) | 2012-06-13 | 2015-07-09 | カリンゴ・インコーポレーテッドCaringo Incorporated | ストレージクラスタにおける消失符号付加および複製 |
WO2016060675A1 (en) | 2014-10-17 | 2016-04-21 | Hitachi, Ltd. | Method and apparatus for managing data recovery of distributed storage system |
WO2016137402A1 (en) | 2015-02-26 | 2016-09-01 | Agency For Science, Technology And Research | Data stripping, allocation and reconstruction |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3184171B2 (ja) * | 1998-02-26 | 2001-07-09 | 日本電気株式会社 | ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体 |
US20030217305A1 (en) * | 2002-05-14 | 2003-11-20 | Krehbiel Stanley E. | System, method, and computer program product within a data processing system for assigning an unused, unassigned storage device as a replacement device |
ATE557349T1 (de) * | 2002-10-31 | 2012-05-15 | Parallel Iron Llc | Speichersystem und verfahren für ein speichersystem |
US7058762B2 (en) * | 2003-06-09 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for selecting among multiple data reconstruction techniques |
US20050228943A1 (en) * | 2004-04-02 | 2005-10-13 | Decenzo David P | Multipath redundant storage system architecture and method |
US7353318B2 (en) * | 2005-08-26 | 2008-04-01 | International Business Machines Corporation | Apparatus and method to assign addresses to plurality of information storage devices |
ES2528245T3 (es) * | 2009-02-03 | 2015-02-05 | Bittorrent, Inc. | Almacenamiento distribuido de datos recuperables |
US8234447B2 (en) * | 2009-10-09 | 2012-07-31 | Hitachi, Ltd. | Storage control device for storage system provided with storage device coupled to switch network |
JP5416843B2 (ja) * | 2010-05-12 | 2014-02-12 | 株式会社日立製作所 | ストレージ装置、及びストレージ装置の制御方法 |
CN104166441B (zh) | 2010-06-18 | 2018-05-11 | 希捷科技有限公司 | 可扩展存储装置 |
US8812901B2 (en) * | 2011-09-23 | 2014-08-19 | Lsi Corporation | Methods and apparatus for marking writes on a write-protected failed device to avoid reading stale data in a RAID storage system |
US8930749B2 (en) * | 2012-04-02 | 2015-01-06 | International Business Machines Corporation | Systems and methods for preventing data loss |
TW201351126A (zh) * | 2012-05-03 | 2013-12-16 | Thomson Licensing | 分佈式資料儲存系統內資料檔案之儲存方法和管理裝置以及故障儲存裝置之修理方法和修理管理裝置 |
US8762353B2 (en) | 2012-06-13 | 2014-06-24 | Caringo, Inc. | Elimination of duplicate objects in storage clusters |
US9449040B2 (en) * | 2012-11-26 | 2016-09-20 | Amazon Technologies, Inc. | Block restore ordering in a streaming restore system |
JP6003610B2 (ja) | 2012-12-17 | 2016-10-05 | 日本電気株式会社 | 情報処理装置 |
US9229854B1 (en) | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
WO2014118776A1 (en) * | 2013-01-31 | 2014-08-07 | Technion Research & Development Foundation Limited | Management and recovery of distributed storage of replicas |
US9026846B2 (en) * | 2013-03-15 | 2015-05-05 | Lsi Corporation | Data recovery in a raid controller by offloading contents of DRAM to a flash module on an SAS switch |
US10209904B2 (en) * | 2013-04-09 | 2019-02-19 | EMC IP Holding Company LLC | Multiprocessor system with independent direct access to bulk solid state memory resources |
US9354991B2 (en) * | 2013-06-25 | 2016-05-31 | Microsoft Technology Licensing, Llc | Locally generated simple erasure codes |
US9986028B2 (en) * | 2013-07-08 | 2018-05-29 | Intel Corporation | Techniques to replicate data between storage servers |
JP6213130B2 (ja) * | 2013-10-09 | 2017-10-18 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム及びストレージ制御方法 |
US9887008B2 (en) | 2014-03-10 | 2018-02-06 | Futurewei Technologies, Inc. | DDR4-SSD dual-port DIMM device |
US9923970B2 (en) * | 2014-08-22 | 2018-03-20 | Nexenta Systems, Inc. | Multicast collaborative erasure encoding and distributed parity protection |
US9565269B2 (en) * | 2014-11-04 | 2017-02-07 | Pavilion Data Systems, Inc. | Non-volatile memory express over ethernet |
US9098451B1 (en) * | 2014-11-21 | 2015-08-04 | Igneous Systems, Inc. | Shingled repair set for writing data |
US9880750B1 (en) * | 2014-12-05 | 2018-01-30 | Vexata, Inc. | Storage architecture for storage class memories |
US9575669B2 (en) | 2014-12-09 | 2017-02-21 | Western Digital Technologies, Inc. | Programmable solid state drive controller and method for scheduling commands utilizing a data structure |
US9959274B2 (en) * | 2014-12-19 | 2018-05-01 | Amazon Technologies, Inc. | Volume-level redundancy coding techniques for sequential transfer optimized storage devices |
US9529542B2 (en) | 2015-04-14 | 2016-12-27 | E8 Storage Systems Ltd. | Lockless distributed redundant storage and NVRAM caching of compressed data in a highly-distributed shared topology with direct memory access capable interconnect |
US10114778B2 (en) * | 2015-05-08 | 2018-10-30 | Samsung Electronics Co., Ltd. | Multi-protocol IO infrastructure for a flexible storage platform |
US9792179B1 (en) * | 2015-07-06 | 2017-10-17 | Amazon Technologies, Inc. | Eventually durable redundancy encoded data storage |
US9785495B1 (en) * | 2015-12-14 | 2017-10-10 | Amazon Technologies, Inc. | Techniques and systems for detecting anomalous operational data |
US10452279B1 (en) * | 2016-07-26 | 2019-10-22 | Pavilion Data Systems, Inc. | Architecture for flash storage server |
US10229000B2 (en) * | 2016-08-09 | 2019-03-12 | Seagate Llc | Erasure codes to prevent lower page corruption in flash memory |
US10268538B2 (en) * | 2016-11-28 | 2019-04-23 | Alibaba Group Holding Limited | Efficient and enhanced distributed storage clusters |
US10459795B2 (en) * | 2017-01-19 | 2019-10-29 | International Business Machines Corporation | RAID systems and methods for improved data recovery performance |
US10255134B2 (en) * | 2017-01-20 | 2019-04-09 | Samsung Electronics Co., Ltd. | Control plane method and apparatus for providing erasure code protection across multiple storage devices |
-
2017
- 2017-03-27 US US15/470,774 patent/US10255134B2/en active Active
- 2017-12-15 KR KR1020170173110A patent/KR102527151B1/ko active IP Right Grant
-
2018
- 2018-01-16 TW TW107101465A patent/TWI764973B/zh active
- 2018-01-16 TW TW111114166A patent/TWI780016B/zh active
- 2018-01-17 JP JP2018005598A patent/JP7002346B2/ja active Active
- 2018-01-19 CN CN201810056894.4A patent/CN108334285B/zh active Active
-
2019
- 2019-02-28 US US16/289,257 patent/US11042442B2/en active Active
-
2021
- 2021-06-04 US US17/339,772 patent/US11429487B2/en active Active
-
2022
- 2022-08-29 US US17/898,328 patent/US20220413964A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009087348A (ja) | 2007-09-28 | 2009-04-23 | Symantec Corp | 協働するストレージデバイスを用いて、データを冗長的に格納し、検索するシステム及び方法 |
JP2015519674A (ja) | 2012-06-13 | 2015-07-09 | カリンゴ・インコーポレーテッドCaringo Incorporated | ストレージクラスタにおける消失符号付加および複製 |
JP2014154042A (ja) | 2013-02-12 | 2014-08-25 | Ricoh Co Ltd | 情報処理装置及びその記憶装置の交換処理方法 |
WO2016060675A1 (en) | 2014-10-17 | 2016-04-21 | Hitachi, Ltd. | Method and apparatus for managing data recovery of distributed storage system |
WO2016137402A1 (en) | 2015-02-26 | 2016-09-01 | Agency For Science, Technology And Research | Data stripping, allocation and reconstruction |
Also Published As
Publication number | Publication date |
---|---|
TWI780016B (zh) | 2022-10-01 |
US20180210785A1 (en) | 2018-07-26 |
CN108334285A (zh) | 2018-07-27 |
TW201828073A (zh) | 2018-08-01 |
US11429487B2 (en) | 2022-08-30 |
US10255134B2 (en) | 2019-04-09 |
US20190196909A1 (en) | 2019-06-27 |
KR20180086124A (ko) | 2018-07-30 |
CN108334285B (zh) | 2023-04-18 |
KR102527151B1 (ko) | 2023-05-02 |
US11042442B2 (en) | 2021-06-22 |
TW202230147A (zh) | 2022-08-01 |
US20210294699A1 (en) | 2021-09-23 |
US20220413964A1 (en) | 2022-12-29 |
TWI764973B (zh) | 2022-05-21 |
JP2018116704A (ja) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7002346B2 (ja) | ストレージシステム及びその動作方法 | |
US10656993B2 (en) | Apparatus, system, and method to increase data integrity in a redundant storage system | |
JP6011210B2 (ja) | ストレージ制御装置,プログラマブル論理回路の復旧処理方法及び制御プログラム | |
US7356638B2 (en) | Using out-of-band signaling to provide communication between storage controllers in a computer storage system | |
JP4641546B2 (ja) | 入出力(i/o)エラーをハンドリングするための方法及びシステム | |
US10027532B2 (en) | Storage control apparatus and storage control method | |
JP4542163B2 (ja) | ディスクアレイ装置、ディスクアレイ制御方法及びディスクアレイ制御装置 | |
JP2006195821A (ja) | 情報処理システムの制御方法、情報処理システム、ダイレクトメモリアクセス制御装置、プログラム | |
CN112306388B (zh) | 存储装置 | |
KR20200016812A (ko) | 호스트 분리를 구비한 비휘발성 메모리 스위치 | |
US20080263391A1 (en) | Apparatus, System, and Method For Adapter Card Failover | |
CN114868117A (zh) | 通过控制总线进行的对等存储设备消息传送 | |
US8065556B2 (en) | Apparatus and method to manage redundant non-volatile storage backup in a multi-cluster data storage system | |
JP4669263B2 (ja) | ストレージ装置 | |
JP3072700B2 (ja) | 記憶装置及び方法 | |
JP4544901B2 (ja) | 記憶制御システム及びブート制御システム | |
JP6217192B2 (ja) | ストレージ制御装置、制御プログラムおよび制御方法 | |
JP2018028793A (ja) | 情報処理プログラム、情報処理システムおよび情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210824 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211119 |
|
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: 20211130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7002346 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |