【手続補正書】
【提出日】令和3年7月19日(2021.7.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストレージ装置アレイにデータを保存する方法において、
前記ストレージ装置アレイの第１ストレージ装置が、ホストコンピュータから、前記第１ストレージ装置の論理ブロックアドレスで前記第１ストレージ装置に書き込まれるライトデータ（ｗｒｉｔｅ  ｄａｔａ）を含むライトコマンド（ｗｒｉｔｅ  ｃｏｍｍａｎｄ）を受信するステップと、
前記第１ストレージ装置が、前記論理ブロックアドレスに保存された以前のデータを検索する（ｒｅｔｒｉｅｖｉｎｇ）ステップと、
前記第１ストレージ装置が、前記以前のデータ及び前記ライトデータから部分パリティーコード（ｐａｒｉｔｙ  ｃｏｄｅ）を計算するステップと、
前記ストレージ装置アレイの第２ストレージ装置が、前記部分パリティーコードとともに以前のパリティーコードを評価して新しいパリティーコードを生成するステップと、
前記ストレージ装置アレイの第３ストレージ装置が、前記新しいパリティーコードを保存するステップと、
前記第１ストレージ装置が、前記ライトデータを保存するステップと、を有し、
前記部分パリティーコードは、以前のパリティーコードと共に評価される時、前記以前のパリティーコードは、前記以前のデータを含む古い仮想ストライプのデータ保護コードであって、前記ストレージ装置アレイの全てにわたって延在し、前記新しいパリティーコードは、ストレージ装置アレイ全体にわたって延在し、かつ、以前のデータの代わりに前記ライトデータを含む新しい仮想ストライプのデータのためのデータ保護コードである数値であることを特徴とするデータ保存方法。
【請求項２】
前記第３ストレージ装置は、前記第２ストレージ装置と同じストレージ装置であることを特徴とする請求項１に記載のデータ保存方法。
【請求項３】
前記第１ストレージ装置が、前記第２ストレージ装置の識別子を計算するステップと、
前記第２ストレージ装置の前記識別子が、前記第１ストレージ装置の識別子と異なるか否かを判断するステップと、
前記第２ストレージ装置の前記識別子が、前記第１ストレージ装置の前記識別子と異なる場合、前記部分パリティーコードを含むパリティーメッセージを前記第２ストレージ装置に伝送するステップと、をさらに有することを特徴とする請求項１に記載のデータ保存方法。
【請求項４】
前記ライトコマンドは、ネームスペース（ｎａｍｅｓｐａｃｅ）識別子をさらに含み、
前記第２ストレージ装置の前記識別子を計算するステップは、前記ネームスペース識別子に基づいてネームスペースオフセットテーブルからネームスペースオフセットを取得するステップと、
前記ネームスペースオフセット及び前記論理ブロックアドレスの和として仮想ストライプ識別子を計算するステップと、を含むことを特徴とする請求項３に記載のデータ保存方法。
【請求項５】
前記第２ストレージ装置の前記識別子を計算するステップは、前記第１ストレージ装置によって、前記第１ストレージ装置の第１テーブルからストライドサイズ（ｓｔｒｉｄｅ  ｓｉｚｅ）を検索するステップと、
前記仮想ストライプ識別子、モジュロ（ｍｏｄｕｌｏ）、及び前記ストライドサイズを計算するステップと、をさらに含むことを特徴とする請求項４に記載のデータ保存方法。
【請求項６】
前記パリティーメッセージを前記第２ストレージ装置に伝送するステップは、前記第１ストレージ装置が、前記第１ストレージ装置の第２テーブルから前記第２ストレージ装置のアドレスを検索するステップと、
前記第２ストレージ装置の前記アドレスに前記パリティーメッセージを伝送するステップと、を含むことを特徴とする請求項５に記載のデータ保存方法。
【請求項７】
前記第１ストレージ装置は、イーサネット（登録商標、以下省略）ストレージ装置であり、
前記第２ストレージ装置は、イーサネットストレージ装置であり、
前記第２ストレージ装置のアドレスは、前記第２ストレージ装置のイーサネットアドレスであることを特徴とする請求項６に記載のデータ保存方法。
【請求項８】
ストレージシステム管理回路によって、前記第１ストレージ装置の前記第２テーブルに前記第２ストレージ装置のアドレスを保存するステップをさらに有することを特徴とする請求項６に記載のデータ保存方法。
【請求項９】
前記ストレージシステム管理回路によって、前記第１テーブルに前記ストライドサイズを保存するステップをさらに有することを特徴とする請求項８に記載のデータ保存方法。
【請求項１０】
前記第１ストレージ装置は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ）エクスプレススイッチ（ｅｘｐｒｅｓｓ  ｓｗｉｔｃｈ）に接続され、
前記第２ストレージ装置は、前記ＰＣＩエクスプレススイッチに接続され、
前記第２ストレージ装置のアドレスは、前記第２ストレージ装置のＰＣＩエクスプレスアドレスであることを特徴とする請求項６に記載のデータ保存方法。
【請求項１１】
前記以前のパリティーコード及び前記新しいパリティーコードのそれぞれは、ＲＡＩＤ４、ＲＡＩＤ５、ＲＡＩＤ６、及び消去コードデータ保護システムからなるグループから選択されるデータ保護システムに利用されるデータ保護コードであることを特徴とする請求項１に記載のデータ保存方法。
【請求項１２】
前記第１ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第１ストレージ装置の故障又は切断時に、
ストレージシステム管理回路によって、前記第１ストレージ装置にアドレスされたストレージコマンドを前記ストレージシステム管理回路にルーティングする（ｔｏ  ｒｏｕｔｅ）ように前記ストレージインターフェーススイッチを再構成するステップと、
受信したストレージコマンドに応答して、前記ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを介して、前記第１ストレージ装置が存在し、正しく動作している場合に送信されたものと同一のコマンド完了（ｃｏｍｍａｎｄ  ｃｏｍｐｌｅｔｉｏｎ）を伝送するステップと、をさらに有することを特徴とする請求項１に記載のデータ保存方法。
【請求項１３】
前記ストレージシステム管理回路によって、前記第１ストレージ装置に以前に保存されたデータを復旧するステップと、
前記復旧されたデータを第４ストレージ装置に保存するステップと、をさらに有することを特徴とする請求項１２に記載のデータ保存方法。
【請求項１４】
前記第１ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第１ストレージ装置の故障又は切断時に、
ストレージシステム管理回路によって、前記第１ストレージ装置にアドレスされたストレージコマンドを第４ストレージ装置にルーティングするように前記ストレージインターフェーススイッチを再構成するステップと、
受信したストレージコマンドに応答して、前記第４ストレージ装置によって、前記ストレージインターフェーススイッチを介して、前記第１ストレージ装置が存在し、正しく動作している場合に送信されたものと同一のコマンド完了を伝送するステップと、をさらに有することを特徴とする請求項１に記載のデータ保存方法。
【請求項１５】
前記第１ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第１ストレージ装置に分離故障（ｄｉｓｃｒｅｔｅ  ｆａｉｌｕｒｅ）が発生し、リードコマンドの受信時に、
前記第１ストレージ装置が、前記分離故障によって影響を受けたデータを復旧するステップと、
前記リードコマンドに応答して、前記第１ストレージ装置によって、前記ストレージインターフェーススイッチを介して、前記分離故障が発生しなかったら、前記第１ストレージ装置が伝送していたであろうものと同一のコマンド完了を伝送するステップと、をさらに有することを特徴とする請求項１に記載のデータ保存方法。
【請求項１６】
前記第１ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第１ストレージ装置に分離故障が発生し、リードコマンドの受信時に、
ストレージシステム管理回路が、前記分離故障によって影響を受けたデータを復旧するステップと、
前記リードコマンドに応答して、前記ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを介して、前記分離故障が発生しなかったら、前記第１ストレージ装置が伝送していたであろうものと同一のコマンド完了を伝送するステップと、をさらに有することを特徴とする請求項１に記載のデータ保存方法。
【請求項１７】
データを保存するシステムにおいて、
ストレージ装置アレイを含み、
前記システムは、前記ストレージ装置アレイの第１ストレージ装置が、ホストコンピュータから、前記第１ストレージ装置の論理ブロックアドレスで、前記第１ストレージ装置に書き込まれるライトデータを含むライトコマンドを受信し、
前記第１ストレージ装置が、前記論理ブロックアドレスに保存された以前のデータを検索し、
前記第１ストレージ装置が、前記以前のデータ及び前記ライトデータから部分パリティーコードを計算し、
前記ストレージ装置アレイの第２ストレージ装置が、前記部分パリティーコードとともに以前のパリティーコードを評価して新しいパリティーコードを生成し、
前記ストレージ装置アレイの第３ストレージ装置が、前記新しいパリティーコードを保存し、
前記第１ストレージ装置が、前記ライトデータを保存するように構成され、
前記部分パリティーコードは、以前のパリティーコードと共に評価される時、前記以前のパリティーコードは、前記以前のデータを含む古い仮想ストライプのデータ保護コードであって、前記ストレージ装置アレイの全てにわたって延在し、新しいパリティーコードは、ストレージ装置アレイ全体にわたって延在し、かつ、以前のデータの代わりに前記ライトデータを含む新しい仮想ストライプのデータのためのデータ保護コードである数値であることを特徴とするデータ保存システム。
【請求項１８】
前記第３ストレージ装置は、前記第２ストレージ装置と同じストレージ装置であることを特徴とする請求項１７に記載のデータ保存システム。
【請求項１９】
前記第１ストレージ装置が、前記第２ストレージ装置の識別子を計算し、
前記第２ストレージ装置の前記識別子が前記第１ストレージ装置の識別子と異なるか否かを判断し、
前記第２ストレージ装置の前記識別子が前記第１ストレージ装置の前記識別子と異なる場合、前記部分パリティーコードを含むパリティーメッセージを前記第２ストレージ装置に伝送することを特徴とする請求項１７に記載のデータ保存システム。
【請求項２０】
前記第２ストレージ装置の前記識別子の計算は、前記第１ストレージ装置によって、前記第１ストレージ装置の第１テーブルからストライドサイズ（ｓｔｒｉｄｅ  ｓｉｚｅ）を検索し、
前記論理ブロックアドレス、モジュロ（ｍｏｄｕｌｏ）、及び前記ストライドサイズを計算することを特徴とする請求項１９に記載のデータ保存システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するためになされた本発明によるデータ保存方法は、ストレージ装置アレイにデータを保存する方法において、前記ストレージ装置アレイの第１ストレージ装置が、ホストコンピュータから、前記第１ストレージ装置の論理ブロックアドレスで前記第１ストレージ装置に書き込まれるライトデータ（ｗｒｉｔｅ  ｄａｔａ）を含むライトコマンド（ｗｒｉｔｅ  ｃｏｍｍａｎｄ）を受信するステップと、前記第１ストレージ装置が、前記論理ブロックアドレスに保存された以前のデータを検索する（ｒｅｔｒｉｅｖｉｎｇ）ステップと、前記第１ストレージ装置が、前記以前のデータ及び前記ライトデータから部分パリティーコード（ｐａｒｉｔｙ  ｃｏｄｅ）を計算するステップと、前記ストレージ装置アレイの第２ストレージ装置が、前記部分パリティーコードとともに以前のパリティーコードを評価して新しいパリティーコードを生成するステップと、前記ストレージ装置アレイの第３ストレージ装置が、前記新しいパリティーコードを保存するステップと、前記第１ストレージ装置が、前記ライトデータを保存するステップと、を有し、前記部分パリティーコードは、以前のパリティーコードと共に評価される時、前記以前のパリティーコードは、前記以前のデータを含む古い仮想ストライプのデータ保護コードであって、前記ストレージ装置アレイの全てにわたって延在し、前記新しいパリティーコードは、ストレージ装置アレイ全体にわたって延在し、かつ、以前のデータの代わりに前記ライトデータを含む新しい仮想ストライプのデータのためのデータ保護コードである数値であることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
前記第３ストレージ装置は、前記第２ストレージ装置と同じストレージ装置であることが好ましい。
前記第１ストレージ装置が、前記第２ストレージ装置の識別子を計算するステップと、前記第２ストレージ装置の前記識別子が、前記第１ストレージ装置の識別子と異なるか否かを判断するステップと、前記第２ストレージ装置の前記識別子が、前記第１ストレージ装置の前記識別子と異なる場合、前記部分パリティーコードを含むパリティーメッセージを前記第２ストレージ装置に伝送するステップと、をさらに有することが好ましい。
前記ライトコマンドは、ネームスペース（ｎａｍｅｓｐａｃｅ）識別子をさらに含み、前記第２ストレージ装置の前記識別子を計算するステップは、前記ネームスペース識別子に基づいてネームスペースオフセットテーブルからネームスペースオフセットを取得するステップと、前記ネームスペースオフセット及び前記論理ブロックアドレスの和として仮想ストライプ識別子を計算するステップと、を含むことが好ましい。
前記第２ストレージ装置の前記識別子を計算するステップは、前記第１ストレージ装置によって、前記第１ストレージ装置の第１テーブルからストライドサイズ（ｓｔｒｉｄｅ  ｓｉｚｅ）を検索するステップと、前記仮想ストライプ識別子、モジュロ（ｍｏｄｕｌｏ）、及び前記ストライドサイズを計算するステップと、をさらに含むことが好ましい。
前記パリティーメッセージを前記第２ストレージ装置に伝送するステップは、前記第１ストレージ装置が、前記第１ストレージ装置の第２テーブルから前記第２ストレージ装置のアドレスを検索するステップと、前記第２ストレージ装置の前記アドレスに前記パリティーメッセージを伝送するステップと、を含むことが好ましい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
前記第１ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第１ストレージ装置の故障又は切断時に、ストレージシステム管理回路によって、前記第１ストレージ装置にアドレスされたストレージコマンドを前記ストレージシステム管理回路にルーティングする（ｔｏ  ｒｏｕｔｅ）ように前記ストレージインターフェーススイッチを再構成するステップと、受信したストレージコマンドに応答して、前記ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを介して、前記第１ストレージ装置が存在し、正しく動作している場合に送信されたものと同一のコマンド完了（ｃｏｍｍａｎｄ  ｃｏｍｐｌｅｔｉｏｎ）を伝送するステップと、をさらに有することが好ましい。
前記ストレージシステム管理回路によって、前記第１ストレージ装置に以前に保存されたデータを復旧するステップと、前記復旧されたデータを第４ストレージ装置に保存するステップと、をさらに有することが好ましい。
前記第１ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第１ストレージ装置の故障又は切断時に、ストレージシステム管理回路によって、前記第１ストレージ装置にアドレスされたストレージコマンドを第４ストレージ装置にルーティングするように前記ストレージインターフェーススイッチを再構成するステップと、受信したストレージコマンドに応答して、前記第４ストレージ装置によって、前記ストレージインターフェーススイッチを介して、前記第１ストレージ装置が存在し、正しく動作している場合に送信されたものと同一のコマンド完了を伝送するステップと、をさらに有することが好ましい。
前記第１ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第１ストレージ装置に分離障害（ｄｉｓｃｒｅｔｅ  ｆａｉｌｕｒｅ）が発生し、リードコマンドの受信時に、前記第１ストレージ装置が、前記分離障害によって影響を受けたデータを復旧するステップと、前記リードコマンドに応答して、前記第１ストレージ装置によって、前記ストレージインターフェーススイッチを介して、前記分離障害が発生しなかったら、前記第１ストレージ装置が伝送していたであろうものと同一のコマンド完了を伝送するステップと、をさらに有することが好ましい。
前記第１ストレージ装置は、ストレージインターフェーススイッチに接続され、前記第１ストレージ装置に分離障害が発生し、リードコマンドの受信時に、ストレージシステム管理回路が、前記分離障害によって影響を受けたデータを復旧するステップと、前記リードコマンドに応答して、前記ストレージシステム管理回路によって、前記ストレージインターフェーススイッチを介して、前記分離障害が発生しなかったら、前記第１ストレージ装置が伝送していたであろうものと同一のコマンド完了を伝送するステップと、をさらに有することが好ましい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
上記目的を達成するためになされた本発明によるデータ保存システムは、データを保存するシステムにおいて、ストレージ装置アレイを含み、前記システムは、前記ストレージ装置アレイの第１ストレージ装置が、ホストコンピュータから、前記第１ストレージ装置の論理ブロックアドレスで、前記第１ストレージ装置に書き込まれるライトデータを含むライトコマンドを受信し、前記第１ストレージ装置が、前記論理ブロックアドレスに保存された以前のデータを検索し、前記第１ストレージ装置が、前記以前のデータ及び前記ライトデータから部分パリティーコードを計算し、前記ストレージ装置アレイの第２ストレージ装置が、前記部分パリティーコードとともに以前のパリティーコードを評価して新しいパリティーコードを生成し、前記ストレージ装置アレイの第３ストレージ装置が、前記新しいパリティーコードを保存し、前記第１ストレージ装置が、前記ライトデータを保存するように構成され、前記部分パリティーコードは、以前のパリティーコードと共に評価される時、前記以前のパリティーコードは、前記以前のデータを含む古い仮想ストライプのデータ保護コードであって、前記ストレージ装置アレイの全てにわたって延在し、新しいパリティーコードは、ストレージ装置アレイ全体にわたって延在し、かつ、以前のデータの代わりに前記ライトデータを含む新しい仮想ストライプのデータのためのデータ保護コードである数値であることを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
前記第３ストレージ装置は、前記第２ストレージ装置と同じストレージ装置であることが好ましい。
前記第１ストレージ装置が、前記第２ストレージ装置の識別子を計算し、前記第２ストレージ装置の前記識別子が前記第１ストレージ装置の識別子と異なるか否かを判断し、前記第２ストレージ装置の前記識別子が前記第１ストレージ装置の前記識別子と異なる場合、前記部分パリティーコードを含むパリティーメッセージを前記第２ストレージ装置に伝送することが好ましい。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
前記第２ストレージ装置の前記識別子の計算は、前記第１ストレージ装置によって、前記第１ストレージ装置の第１テーブルからストライドサイズ（ｓｔｒｉｄｅ  ｓｉｚｅ）を検索し、前記論理ブロックアドレス、モジュロ（ｍｏｄｕｌｏ）、及び前記ストライドサイズを計算することが好ましい。