【手続補正書】
【提出日】令和2年3月30日(2020.3.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のＣＰＵを含むデータストレージシステムのターゲットに格納されたデータにアクセスするためのコマンドを受信する段階と、
前記複数のＣＰＵの中の第１グループのＣＰＵ上でコマンドレシーバー経路及びコマンドトランスミッタ経路を各々含む複数の伝送スレッドを作動させる段階と、
前記複数のＣＰＵの中の第２グループのＣＰＵ上でコマンド発行経路及びコマンド完了経路を各々含む複数のデータ経路スレッドを作動させる段階と、
伝送スレッドの前記コマンドレシーバー経路を使用してＩ／Ｏコマンド発行キューにＩ／Ｏコマンドを配置し、データ経路スレッドの前記コマンド発行経路を使用して前記Ｉ／Ｏコマンドを処理する段階と、
前記データ経路スレッドの前記コマンド完了経路を使用してＩ／Ｏ完了キューにＩ／Ｏ完了通知を配置し、前記伝送スレッドの前記コマンドトランスミッタ経路を使用して前記Ｉ／Ｏ完了通知を処理する段階と、を有し、
前記Ｉ／Ｏコマンド発行キューは、第１キューアレイを含み、
前記第１キューアレイの各々は、前記第１グループのＣＰＵの各々のＣＰＵに対応し、
前記Ｉ／Ｏ完了キューは、第２キューアレイを含み、
前記第２キューアレイの各々は、前記第２グループのＣＰＵの各々のＣＰＵに対応することを特徴とする方法。
【請求項２】
前記伝送スレッドは、レシーバー及びトランスミッタを含み、
前記レシーバーは、Ｉ／Ｏコマンドを前記データ経路に伝送することを特徴とする請求項１に記載の方法。
【請求項３】
前記データ経路スレッドは、前記Ｉ／Ｏコマンドを前記ターゲットに伝送し、前記ターゲットから状態及びデータの中の少なくとも１つを受信し、前記伝送スレッドの前記トランスミッタに前記状態及びデータの中の少なくとも１つを伝送することを特徴とする請求項２に記載の方法。
【請求項４】
前記第１キューアレイは、前記データ経路スレッドに割り当られた前記第２グループのＣＰＵの数に対応する第１の数のノードを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１の数のノードは、ヘッダーノード、テールノード、及び前記第１キューアレイのキューを示す現在ノードを含み、
前記現在ノードから前記テールノードまでのノードは、消費者によって所有され、
前記第１キューアレイの残りのノードは、生産者によって所有されることを特徴とする請求項４に記載の方法。
【請求項６】
前記生産者は、イニシエーターであり、
前記消費者は、前記ターゲットであることを特徴とする請求項５に記載の方法。
【請求項７】
前記消費者は、前記データ経路スレッドの各々に固有のスレッド識別子を利用して前記キューへの排他的なアクセスを獲得することを特徴とする請求項６に記載の方法。
【請求項８】
前記第２キューアレイは、前記伝送スレッドに割り当られた前記第１グループのＣＰＵの数に対応する第２の数のノードを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記第２の数のノードは、ヘッダーノード、テールノード、及び前記第２キューアレイのキューを示す現在ノードを含み、
前記現在ノードから前記テールノードまでのノードは、消費者によって所有され、
前記第１キューアレイの残りのノードは、生産者によって所有されることを特徴とする請求項８に記載の方法。
【請求項１０】
前記生産者は、前記ターゲットであり、
前記消費者は、イニシエーターであることを特徴とする請求項９に記載の方法。
【請求項１１】
前記消費者は、前記伝送スレッドの各々に固有のスレッド識別子を利用して前記キューへの排他的なアクセスを獲得することを特徴とする請求項１０に記載の方法。
【請求項１２】
前記Ｉ／Ｏコマンド発行キュー及び前記Ｉ／Ｏ完了キューの各々は、ＭＰＭＣ（ｍｕｌｔｉ−ｐｒｏｄｕｃｅｒ  ｍｕｌｔｉ−ｃｏｎｓｕｍｅｒ）ロックレス・キューであり、
１つ以上の伝送スレッドからの作業要請は、特定のデータ経路スレッドに到達し、
特定の伝送スレッドからの作業要請は、１つ以上のデータ経路スレッドに到達し、
１つ以上のデータ経路スレッドからの作業要請は、特定の伝送スレッドに到達し、
特定のデータ経路スレッドからの作業要請は、１つ以上の伝送スレッドに到達することを特徴とする請求項１に記載の方法。
【請求項１３】
複数のＣＰＵと、
複数のターゲットと、
Ｉ／Ｏフロー、Ｉ／Ｏコマンド発行キュー、及びＩ／Ｏ完了キューを処理するソフトウェアモジュールセットを格納するメモリと、を備え、
前記ソフトウェアモジュールセットは、
複数のＣＰＵを含むデータストレージシステムのターゲットに格納されたデータにアクセスするＩ／Ｏコマンドを受信し、
前記複数のＣＰＵの第１グループのＣＰＵの中の第１ＣＰＵ上でコマンドレシーバー経路及びコマンドトランスミッタ経路を各々含む複数の伝送スレッドを作動させ、
前記複数のＣＰＵの第２グループのＣＰＵの中の第２ＣＰＵ上でコマンド発行経路及びコマンド完了経路を各々含む複数のデータ経路スレッドを作動させ、
前記伝送スレッドの前記コマンドレシーバー経路は、Ｉ／Ｏコマンドを前記Ｉ／Ｏコマンド発行キューに配置し、
前記データ経路スレッドの前記コマンド発行経路は、前記Ｉ／Ｏコマンドを処理し、
前記データ経路スレッドの前記コマンド完了経路は、Ｉ／Ｏ完了通知を前記Ｉ／Ｏ完了キューに配置し、
前記伝送スレッドの前記コマンドトランスミッタ経路は、前記Ｉ／Ｏ完了通知を処理し、
前記Ｉ／Ｏコマンド発行キューは、第１キューアレイを含み、
前記第１キューアレイの各々は、前記第１グループのＣＰＵの各々のＣＰＵに対応し、
前記Ｉ／Ｏ完了キューは、第２キューアレイを含み、
前記第２キューアレイの各々は、前記第２グループのＣＰＵの各々のＣＰＵに対応することを特徴とするデータストレージシステム。
【請求項１４】
前記伝送スレッドは、レシーバー及びトランスミッタを含み、
前記レシーバーは、Ｉ／Ｏコマンドを前記データ経路に伝送することを特徴とする請求項１３に記載のデータストレージシステム。
【請求項１５】
前記データ経路スレッドは、前記Ｉ／Ｏコマンドを前記ターゲットに伝送し、前記ターゲットから状態及びデータの中の少なくとも１つを受信し、前記伝送スレッドの前記トランスミッタに前記状態及びデータの中の少なくとも１つを伝送することを特徴とする請求項１４に記載のデータストレージシステム。
【請求項１６】
前記第１キューアレイは、前記データ経路スレッドに割り当られた前記第２グループのＣＰＵの数に対応する第１の数のノードを含むことを特徴とする請求項１３に記載のデータストレージシステム。
【請求項１７】
前記第１の数のノードは、ヘッダーノード、テールノード、及び前記第１キューアレイのキューを示す現在ノードを含み、
前記現在ノードから前記テールノードまでのノードは、消費者によって所有され、
前記第１キューアレイの残りのノードは、生産者によって所有されることを特徴とする請求項１６に記載のデータストレージシステム。
【請求項１８】
前記生産者は、イニシエーターであり、
前記消費者は、前記ターゲットであることを特徴とする請求項１７に記載のデータストレージシステム。
【請求項１９】
前記消費者は、前記データ経路スレッドの各々に固有のスレッド識別子を利用して前記キューへの排他的なアクセスを獲得することを特徴とする請求項１８に記載のデータストレージシステム。
【請求項２０】
前記第２キューアレイは、前記伝送スレッドに割り当られた前記第１グループのＣＰＵの数に対応する第２の数のノードを含むことを特徴とする請求項１３に記載のデータストレージシステム。
【請求項２１】
前記第２の数のノードは、ヘッダーノード、テールノード、及び前記第２キューアレイのキューを示す現在ノードを含み、
前記現在ノードから前記テールノードまでのノードは、消費者によって所有され、
前記第１キューアレイの残りのノードは、生産者によって所有されることを特徴とする請求項２０に記載のデータストレージシステム。
【請求項２２】
前記生産者は、前記ターゲットであり、
前記消費者は、イニシエーターであることを特徴とする請求項２１に記載のデータストレージシステム。
【請求項２３】
前記消費者は、前記データ経路スレッドの各々に固有のスレッド識別子を利用して前記キューへの排他的なアクセスを獲得することを特徴とする請求項２２に記載のデータストレージシステム。
【請求項２４】
前記Ｉ／Ｏコマンド発行キュー及び前記Ｉ／Ｏ完了キューの各々は、ＭＰＭＣ（ｍｕｌｔｉ−ｐｒｏｄｕｃｅｒ  ｍｕｌｔｉ−ｃｏｎｓｕｍｅｒ）ロックレス・キューであり、
１つ以上の伝送スレッドからの作業要請は、特定のデータ経路スレッドに到達し、
特定の伝送スレッドからの作業要請は、１つ以上のデータ経路スレッドに到達し、
１つ以上のデータ経路スレッドからの作業要請は、特定の伝送スレッドに到達し、
特定のデータ経路スレッドからの作業要請は、１つ以上の伝送スレッドに到達することを特徴とする請求項１３に記載のデータストレージシステム。