(57)【要約】【課題】再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理方法及びシステムを提供する。【解決手段】本発明にしたがう方法は受信器インターフェイスによりソフトウェアアプリケーションからデータアクセスポートを通じてデータを通信するための情報を含む入力／出力（ＩＯ）要請を受信する段階、伝送モード選択器によりデータポートを通じてデータを通信するための伝送モードを判別し、伝送モードは処理量指向モード、レイテンシ敏感モード、又は均衡モードから選択される段階、及びブロック分配ユニットによって、伝送モードにしたがってＩＯ要請に応答して、アクセスポートを通じてデータを通信する段階を含む。【選択図】図５
2017211984.tif 000002
【特許請求の範囲】
【請求項１】
再構成可能なマルチポートを具備するＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）ストレージシステムのためのサービス品質（ＱｏＳ、ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ）を認識した入力／出力（ＩＯ、ｉｎｐｕｔ／ｏｕｔｐｕｔ）管理方法において、
受信器インターフェイスにおいて、ソフトウェアアプリケーションからデータアクセスポートを通じてデータを通信するための情報を含む入力／出力（ＩＯ）要請を受信する段階と、
伝送モード選択器により、前記データアクセスポートを通じて前記データを通信するための伝送モードを判別し、前記伝送モードは、処理量指向モード、レイテンシ敏感モード、又は均衡モードから選択される段階と、
ブロック分配ユニットによって、前記伝送モードにしたがって前記ＩＯ要請に応答して、前記データアクセスポートを通じて前記データを通信する段階と、を含むことを特徴とする方法。
【請求項２】
前記処理量指向モードは、直接メモリアクセス（ＤＭＡ、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロトコルにしたがって、前記データアクセスポートを通じて処理量指向（ＴＯ、ｔｈｒｏｕｇｈｐｕｔ  ｏｒｉｅｎｔｅｄ）ブロック分配器とデータを通信するように構成されることを特徴とする請求項１に記載の方法。
【請求項３】
前記レイテンシ敏感モードは、データ直接Ｉ／Ｏ（ＤＤＩＯ、Ｄａｔａ  Ｄｉｒｅｃｔ  Ｉ／Ｏ）プロトコルにしたがって前記データアクセスポートを通じてレイテンシ敏感（ＬＳ、ｌａｔｅｎｃｙ−ｓｅｎｓｉｔｉｖｅ）ブロック分配器とデータを通信するように構成されることを特徴とする請求項１に記載の方法。
【請求項４】
前記均衡モードは、直接メモリアクセス（ＤＭＡ、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロトコル又はデータ直接Ｉ／Ｏ（ＤＤＩＯ、Ｄａｔａ  Ｄｉｒｅｃｔ  Ｉ／Ｏ）プロトコルの中の１つにしたがって、前記データアクセスポートを通じてデータを選択的に通信するように構成されることを特徴とする請求項１に記載の方法。
【請求項５】
ブロック識別器を使用して通信される前記データに対して定義されたデータ特性に応答して前記ＤＭＡプロトコルにしたがって前記データアクセスポートを通じて前記データを通信するか、又は前記ＤＤＩＯプロトコルにしたがって前記データアクセスポートを通じて前記データを通信するかを判別する段階をさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記データ特性は、緊急性識別子を含むことを特徴とする請求項５に記載の方法。
【請求項７】
プロトコルにしたがってデータを受信するように構成されたキャッシュの状態に応答して前記ＤＭＡプロトコルにしたがって前記データアクセスポートを通じて前記データを通信するか、又は前記ＤＤＩＯプロトコルにしたがって前記データアクセスポートを通じて前記データを通信するかを判別する段階をさらに含み、
前記データは、前記キャッシュがオーバーフロー保護状態であると判別されたことに応答して前記ＤＭＡプロトコルにしたがって通信されることを特徴とする請求項４に記載の方法。
【請求項８】
直接メモリアクセス（ＤＭＡ、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロトコルにしたがってデータを通信するデータアクセスポートの第１セットを構成する段階と、
直接データＩＯ（Ｄａｔａ  Ｄｉｒｅｃｔ  ＩＯ）プロトコルにしたがってデータを通信するデータアクセスポートの第２セットを構成する段階と、をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ＩＯ要請によって定義された前記伝送モードにしたがって前記第１及び第２セットの中の少なくとも１つを通じて前記データの通信をマルチプレクシングする段階をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
サービス品質（ＱｏＳ、ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ）を認識した入力／出力（ＩＯ、ｉｎｐｕｔ／ｏｕｔｐｕｔ）管理システムにおいて、
データアクセスポートを通じてデータを通信するための情報を含む入力／出力（ＩＯ）要請をソフトウェアアプリケーションから受信するように構成される受信器インターフェイスと、
前記受信器インターフェイスと連結され、前記データアクセスポートを通じて前記データを通信するための伝送モードを判別するように構成され、前記伝送モードは、処理量指向モード、レイテンシ敏感モード、又は均衡モードから選択される伝送モード選択器と、
前記伝送モードにしたがって、前記ＩＯ要請に応答して前記データアクセスポートを通じて前記データを通信するように構成されるブロック分配ユニットを含むデータ通信制御器と、
前記データ通信制御器と連結され、周辺構成インターコネクタバス（ＰＣＩ  ｂｕｓ）を通じて周辺装置に前記データを通信するように構成される前記データアクセスポートと、を含むことを特徴とするシステム。
【請求項１１】
前記処理量指向モードは、直接メモリアクセス（ＤＭＡ、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロトコルにしたがって前記データアクセスポートを通じてデータを通信するように構成されることを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記レイテンシ敏感モードは、データ直接Ｉ／Ｏ（ＤＤＩＯ、Ｄｉｒｅｃｔ  Ｄａｔａ  Ｉ／Ｏ）プロトコルにしたがって前記データアクセスポートを通じてデータを通信するように構成されることを特徴とする請求項１０に記載のシステム。
【請求項１３】
前記均衡モードは、直接メモリアクセス（ＤＭＡ、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロトコル又はデータ直接Ｉ／Ｏ（ＤＤＩＯ、Ｄｉｒｅｃｔ  Ｄａｔａ  Ｉ／Ｏ）プロトコルの中の１つにしたがって前記データアクセスポートを通じてデータを通信するように構成されることを特徴とする請求項１０に記載のシステム。
【請求項１４】
前記データ通信制御器は、通信される前記データに対して定義されたデータ特性に応答して前記ＤＭＡプロトコルにしたがって前記データアクセスポートを通じて前記データを通信するか、又は前記ＤＤＩＯプロトコルにしたがって前記データアクセスポートを通じて前記データを通信するかを判別するように構成されることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記データ特性は、緊急性識別子を含むことを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記データ通信制御器は、前記ＤＤＩＯプロトコルにしたがってデータを受信するように構成されるキャッシュの状態に応答して前記ＤＭＡプロトコルにしたがって前記データアクセスポートを通じて前記データを通信するか、又は前記ＤＤＩＯプロトコルにしたがって前記データアクセスポートを通じて前記データを通信するかを判別するように構成され、
前記データは、前記キャッシュがオーバーフロー保護状態であると判別されたことに応答して前記ＤＭＡプロトコルにしたがって通信されることを特徴とする請求項１３に記載のシステム。
【請求項１７】
前記データ通信制御器は、直接メモリアクセス（ＤＭＡ、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロトコルにしたがってデータを通信するデータアクセスポートの第１セットを構成し、データ直接Ｉ／Ｏ（ＤＤＩＯ、Ｄｉｒｅｃｔ  Ｄａｔａ  Ｉ／Ｏ）プロトコルにしたがってデータを通信するデータアクセスポートの第２セットを構成することを特徴とする請求項１０に記載のシステム。
【請求項１８】
前記データ通信制御器は、前記ＩＯ要請によって定義された伝送モードにしたがって前記第１及び第２セットの中の少なくとも１つを通じて前記データの通信をマルチプレクシングするように構成されることを特徴とする請求項１７に記載のシステム。
【請求項１９】
再構成可能なマルチポートを具備するＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）ストレージシステムのためのサービス品質（ＱｏＳ、ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ）を認識した入力／出力（ＩＯ、ｉｎｐｕｔ／ｏｕｔｐｕｔ）管理装置において、
データアクセスポートを通じてデータを通信するための情報を含む入力／出力（ＩＯ）要請をソフトウェアアプリケーションから受信するように構成される受信器インターフェイスと、
前記受信器インターフェイスと連結され、前記データアクセスポートを通じて前記データを通信するための伝送モードを判別するように構成され、前記伝送モードは、処理量指向モード、レイテンシ敏感モード、又は均衡モードから選択される伝送モード選択器と、
前記伝送モードにしたがって、前記ＩＯ要請に応答して前記データアクセスポートを通じて前記データを通信するように構成されるブロック分配ユニットと、を含むことを特徴とする装置。
【請求項２０】
前記処理量指向モードは、直接メモリアクセス（ＤＭＡ、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロトコルにしたがって前記データアクセスポートを通じてデータを通信するように構成され、
前記レイテンシ敏感モードは、データ直接Ｉ／Ｏ（ＤＤＩＯ）プロトコルにしたがって前記データアクセスポートを通じてデータを通信するように構成され、
前記均衡モードは、前記ＤＭＡプロトコル又は前記ＤＤＩＯプロトコルの中の１つにしたがって前記データアクセスポートを通じてデータを通信するように構成されることを特徴とする請求項１９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ管理システムに係り、より詳しくは、再構成可能なマルチポート（ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  ｍｕｌｔｉ−ｐｏｒｔｓ）を具備するＰＣＩｅ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）ストレージシステムのためのサービス品質（ＱｏＳ、ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ）を認識した入力／出力（ＩＯ）管理方法、管理システム、及び管理装置に関する。
【背景技術】
【０００２】
コンピュータシステムなどのデータ管理システムは、中央処理ユニット（ＣＰＵ、ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、メモリ装置、及び入出力装置を含むいくつかのコア構成要素を有するホストシステムと、ホストシステムの構成要素間の情報を伝送するデバイス接続部、即ちルートコンプレックス（ｒｏｏｔ  ｃｏｍｐｌｅｘ）とを一般的に含む。インターコネクタプロトコルの中の１つの例はホストシステム構成の間のデータ伝送モードを定義するＰＣＩｅである。
【０００３】
直接メモリアクセス（ＤＭＡ、ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）、直接キャッシュアクセス（ＤＣＡ、ｄｉｒｅｃｔ  ｃａｃｈｅ  ａｃｃｅｓｓ）、及びデータ直接入出力（ＤＤＩＯ、ｄａｔａ  ｄｉｒｅｃｔ  Ｉ／Ｏ）はホストシステム（メモリ又はキャッシュ）及び入出力装置の間においてデータを伝送するための現存する技法である。ＤＭＡは入出力装置及びホストシステムメモリの間においてデータを伝送する。ＤＤＩＯは入出力装置及びホストＣＰＵの最後レベルキャッシュ（ＬＬＣ、ｌａｓｔ  ｌｅｖｅｌ  ｃａｃｈｅ）の間においてデータを伝送する。ＤＣＡはＤＭＡと同様に、入出力装置及びホストシステムメモリの間においてデータを伝送するが、データ伝送が完了した後に、ＤＣＡはメモリからＣＰＵキャッシュにデータをプリフェッチ（ｐｒｅｆｅｔｃｈ）する。
【０００４】
ホストシステムは複数のデータ管理ポート（ｍｕｌｔｉｐｌｅ  ｄａｔａ  ｈａｎｄｌｉｎｇ  ｐｏｒｔｓ）を含む。複数のデータ管理ポートの各々はＤＭＡ、ＤＣＡ、又はＤＤＩＯプロトコルの中の１つによってデータを伝送するように構成される。このようなポートは以下において、‘‘マルチポート（ｍｕｌｔｉ−ｐｏｒｔｓ）’’と称する。一般的なシステムはＤＭＡのために構成された一種のマルチポート、ＤＤＩＯのために構成された一種のマルチポート、ＤＡＣのために構成された一種のマルチポートを含み得る。現存するシステムソフトウェアはこのような技法（ＤＭＡ、ＤＣＡ、又はＤＤＩＯ）の中の１つを使用してＩＯ要請を装置に伝送する。しかし、ＤＭＡ、ＤＣＡ、又はＤＤＩＯプロトコルの機能的な側面を結合するか、あるいは、マルチプレクシング、ＱｏＳ制御、又はキャッシュフロー制御のためにプロトコルの間を動的に切り替える方法はなかった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第７，８２５，６８４号公報
【特許文献２】米国特許第７，９３７，５３２号公報
【特許文献３】米国特許公開第２０１５／０２６９０９１号明細書
【特許文献４】国際特許公開第ＷＯ２００８／０１７８７２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は上述した技術的課題を解決するためになされたものであって、本発明の目的は再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理方法、管理システム及び管理装置を提供することにある。
【課題を解決するための手段】
【０００７】
再構成可能なマルチポートを具備するＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）ストレージシステムのためのサービス品質（ＱｏＳ、ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ）を認識した入力／出力（ＩＯ、ｉｎｐｕｔ／ｏｕｔｐｕｔ）管理方法システム、及び装置の実施形態を順次説明する。
実施形態において、本方法は受信器インターフェイスにおいて、ソフトウェアアプリケーションからデータアクセスポートを通じてデータを通信するための情報を含む入力／出力（ＩＯ）要請を受信する段階を含む。前記方法は伝送モード選択器により、前記データポートを通じて前記データを通信するための伝送モードを判別し、前記伝送モードは処理量指向モード、レイテンシ敏感モード、又は均衡モードから選択される段階をさらに含む。また、前記方法はブロック分配ユニットによって、前記伝送モードにしたがい前記ＩＯ要請に応答して、前記アクセスポートを通じ前記データを通信する段階を含む。
【０００８】
本システムの実施形態はデータ通信制御器を含む。前記データ通信制御器は前記データアクセスポートを通じてデータを通信するための情報を含む入力／出力（ＩＯ）要請をソフトウェアアプリケーションから受信するように構成される受信器インターフェイスを含む。また、前記データ通信制御器は前記受信器インターフェイスと連結され、前記データアクセスポートを通じて前記データを通信するための伝送モードを判別するように構成され、前記伝送モードは処理量指向モード、レイテンシ敏感モード、又は均衡モードから選択される伝送モード選択器をさらに含む。前記データ通信制御器は前記伝送モードにしたがい、前記ＩＯ要請に応答して前記データアクセスポートを通じ前記データを通信するように構成されるブロック分配ユニットを含む。前記システムは前記データ通信制御器と連結され、周辺構成インターコネクタバス（ＰＣＩ  ｂｕｓ）を通じて周辺装置に前記データを通信するように構成される前記データアクセスポートを含む。
【０００９】
本装置の実施形態はデータアクセスポートを通じてデータを通信するための情報を含む入力／出力（ＩＯ）要請をソフトウェアアプリケーションから受信するように構成される受信器インターフェイスを含む。前記装置は前記受信器インターフェイスと連結され、前記データアクセスポートを通じて前記データを通信するための伝送モードを判別するように構成され、前記伝送モードは処理量指向モード、レイテンシ敏感モード、又は均衡モードから選択される伝送モード選択器をさらに含む。前記装置は前記伝送モードにしたがい、前記ＩＯ要請に応答して前記データアクセスポートを通じ前記データを通信するように構成されるブロック分配ユニットをさらに含む。
【発明の効果】
【００１０】
本発明の実施形態によれば、システム処理量が向上する。また、従来のＤＤＩＯ又はＤＣＡ技法と比較する時、本発明の実施形態にしたがうならばキャッシュオーバーフローが防止される。したがって、向上した性能を有するストレージシステムが提供される。
【図面の簡単な説明】
【００１１】
【図１】再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理システムの実施形態を示す例示的なブロック図である。
【図２】再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した他の入出力管理システムの実施形態を示す例示的なブロック図である。
【図３】再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理方法の実施形態を示す順序図である。
【図４】再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理のために特に構成されたシステムの実施形態を示す論理的図面である。
【図５】図４の構造によって遂行される方法を説明する順序図である。
【図６】再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理システムのデータマルチプレクシングプロセスの実施形態を示す論理的図面である。
【図７】図６において説明したプロセスの実施形態を示す例示的な順序図である。
【図８】再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理のデータマルチプレクシングプロセスの実施形態を示す論理的図面である。
【図９】図８において説明したプロセスの実施形態を示す例示的な順序図である。
【図１０】再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理方法の性能を示す論理的図面である。
【図１１】再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理方法の実施形態を示す例示的な順序図である。
【図１２】本発明に係って特に構成されたコンピューティングシステムのブロック図である。
【発明を実施するための形態】
【００１２】
再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した入出力管理方法及びシステムの実施形態を説明する。記載した実施形態は特定データ管理システムの性能を向上させる。データ管理システムはコンピュータワークステーション、ラップトップコンピュータ、タブレットコンピュータ、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄａｔａ  ａｓｓｉｓｔａｎｃｅ）、スマートフォン等の個人用コンピュータ装置を含むが、これに限定されない。他の実施形態はサーバー、ストレージ制御器、クラウドサーバーファーム（ｃｌｏｕｄ  ｓｅｒｖｅｒ  ｆａｒｍｓ）、及びデータファームのような商業用データ管理システム及び他の商業用データセンターシステム及びその構成と共に使用できる。
【００１３】
記載した実施形態は論理装置インターフェイス（ｌｏｇｉｃａｌ  ｄｅｖｉｃｅ  ｉｎｔｅｒｆａｃｅ）をホストシステムと共に駆動するアプリケーションに提供する。実施形態において、論理装置は選択可能なデータ伝送能力及びＱｏＳを有する複数の物理的ポートを複数のデータ経路に結合する。データ経路は‘‘処理量増強（ｔｈｒｏｕｇｈｐｕｔ  ｂｏｏｓｔｅｒ  ｍｏｄｅ）’’、‘‘迅速モード（ｓｗｉｆｔ  ｍｏｄｅ）’’、及び‘‘均衡モード（ｂａｌａｎｃｅｄ  ｍｏｄｅ）’’を含む複数のデータ伝送モードの中の１つにしたがって構成される。実施形態において、処理量増強はＤＭＡデータ伝送のために構成されたポートを通じてすべてのデータを伝送する。実施形態において、迅速モードはＤＤＩＯデータ伝送のために構成されたポートを通じてすべてのデータを伝送する。実施形態において、均衡モードは検査されたデータ特性にしたがってＤＭＡポート及びＤＤＩＯポートの間を切り替える。また、本発明の実施形態は均衡モードにおいてＱｏＳ要件に基づいてデータ経路をマルチプレクシングすることを説明する。ここで、ＩＯブロックはＱｏＳ要件及びデータ特性に基づいてＤＭＡ又はＤＤＩＯポートのセットにしたがってグループ化され、伝送される。また、本発明の実施形態はＤＤＩＯポートが使用される場合、ＣＰＵキャッシュのオーバーフローを防止する流れ制御方法を含む。
【００１４】
当業者は本発明の実施形態の多様な長所及び利益を知得できる。特に、システムレイテンシ減少を含むＱｏＳ長所は以前のシステムと比較されて認識される。また、システム処理量は本発明の一部の実施形態によって向上する。また、キャッシュオーバーフローは従来のＤＤＩＯ又はＤＣＡ技法と比較する時、本発明の実施形態によって防止される。本発明の実施形態をＰＣＩｅを参照して詳細に説明するが、選択されたデータ伝送プロトコルがデータポート、メモリ、及びプロセッサキャッシュの間におけるアクセスを提供すれば、当業者は追加的な又は他のシステムに本発明の実施形態が適用されることを知得できる。
【００１５】
図１は再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識したＩＯ管理システム１００の実施形態を示すブロック図である。実施形態において、ＩＯ管理システム１００はホストシステム１０２を含み、選択的に、１つ以上の周辺エンドポイント（Ｐｅｒｉｐｈｅｒａｌ  ｅｎｄｐｏｉｎｔ）１１４を含む。ホストシステム１０２は、例えばコンピュータのようなデータ管理装置である。周辺エンドポイントはＰＣＩｅ、又は類似なデータバスを通じてホストシステム１０２と通信するように構成された周辺装置である。例としてはＰＣＩｅ拡張装置、データストレージ装置、サーバーブレード（ｓｅｒｖｅｒ  ｂｌａｄｅｓ）等を含むが、これに限定されない。
【００１６】
実施形態において、ホストシステム１０２は中央処理ユニット（ＣＰＵ）１０６、メモリ１０８、及び物理インターフェイス１１０を通じてルートコンプレックス（ｒｏｏｔ  ｃｏｍｐｌｅｘ）１０４と連結された１つ以上の内部エンドポイント１１２又は外部エンドポイント１１４の間においてデータを通信するためのデータ通信ファブリック（ｄａｔａ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｆａｂｒｉｃ）を形成するルートコンプレックス１０４を含む。ルートコンプレックス１０４はＰＣＩｅのような、しかし、これに限定されないデータ通信プロトコルにしたがって動作する。実施形態において、ルートコンプレックス１０４及び／又は物理インターフェイス１１０は図４に図示したような複数のデータ通信ポートを含む。多様な内部、外部エンドポイント１１２、１１４はルートコンプレックス１０４を通じてＣＰＵ１０６及び／又はメモリ１０８と通信する。実施形態において、ＣＰＵ１０６はキャッシュ１１６を含むか、又はキャッシュ１１６に外部的に連結される。キャッシュ１１６の一例は最後レベルキャッシュ（ＬＬＣ、ｌａｓｔ  ｌｅｖｅｌ  ｃａｃｈｅ）である。
【００１７】
図２は再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識した他のＩＯ管理システム２００の実施形態を示す例示的なブロック図である。実施形態において、ＣＰＵ１０６は複数のＣＰＵコア２０２を含む。ＩＯ管理システム２００はＣＰＵコア２０２、メモリ１０８、及び１つ以上のエンドポイントの間においてデータを通信するルートコンプレックス１０４を同様に含む。‘‘エンドポイント’’の用語は図１に図示した内部エンドポイント１１２及び外部エンドポイント１１４を含む。エンドポイントの例はグラフィック処理ユニット２０４、１つ以上のネットワークインターフェイス２０６、ディスク制御器２０８、他のＰＣＩｅエンドポイント２１０ａを含む。また、ＩＯ管理システム２００はＰＣＩ／ＰＣＩ−ｘへのＰＣＩスイッチ／ＰＣＩｅブリッジ２１２を含む。他の実施形態において、ＰＣＩスイッチはＰＣＩｅブリッジから分離される。ＰＣＩスイッチは複数のＰＣＩｅエンドポイント２１０ｂ、２１０ｃに切り替えた（ｓｗｉｔｃｈｅｄ）通信を提供する。ＰＣＩｅブリッジはレガシ（ｌｅｇａｃｙ）ＰＣＩ又はＰＣＩ−ｘプロトコルにしたがって動作するレガシエンドポイント２１４に連結性（ｃｏｎｎｅｃｔｉｖｉｔｙ）を提供する。
【００１８】
図３は再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識したＩＯ管理方法３００の実施形態を示す例示的な順序図である。実施形態において、ＩＯ管理方法３００はソフトウェアアプリケーションから３０２段階に図示したようにデータアクセスポートを通じてデータを通信するための命令語又は情報を含むＩＯ要請を受信してプロセスを開始する。３０４段階において、ＩＯ管理方法３００はデータアクセスポートを通じてデータを通信するための伝送モード選択（ｔｒａｎｓｆｅｒ  ｍｏｄｅ  ｓｅｌｅｃｔｉｏｎ）を決定する。伝送モードは処理量指向モード（ｔｈｒｏｕｇｈｐｕｔ−ｏｒｉｅｎｔｅｄ  ｍｏｄｅ）、レイテンシ敏感モード（ｌａｔｅｎｃｙ−ｓｅｎｓｉｔｉｖｅ  ｍｏｄｅ）、及び均衡モード（ｂａｌａｎｃｅｄ  ｍｏｄｅ）を含む伝送モードのグループから選択される。３０６段階において、ＩＯ管理方法３００はＩＯ要請に応答しデータ伝送モードにしたがってデータアクセスポートを通じデータを通信する。
【００１９】
図４は再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識したＩＯ管理のために特に構成されたシステム４００の実施形態を示す論理的図面である。実施形態において、システム４００はルートコンプレックス１０４の構成又は他のＰＣＩｅ制御構成にプログラムされる。システムソフトウェア又はファームウェアモジュールはアプリケーションによる使用のための論理装置４０２を具現する。一実施形態において、システム４００は伝送モード選択器４０４を具備する受信器インターフェイス４０３（ｒｅｃｅｉｖｅｒ  ｉｎｔｅｒｆａｃｅ）を含むデータ通信制御器４０１を含む。また、データ通信制御器４０１はＤＭＡ要請を管理するＴＯブロック分配器４１４（ＴＯ  ｂｌｏｃｋ  ｄｉｓｔｒｉｂｕｔｏｒ）、ＤＤＩＯ要請を管理するＬＳブロック分配器４１６（ＬＳ  ｂｌｏｃｋ  ｄｉｓｔｒｉｂｕｔｏｒ）、及びデータ特性にしたがってＴＯブロック分配器４１４及びＬＳブロック分配器４１６の間においてブロックを切り替えるブロック識別器４１２（ｂｌｏｃｋ  ｉｄｅｎｔｉｆｉｅｒ）を含むブロック分配ユニット４０５（ｂｌｏｃｋ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｕｎｉｔ）を含む。データ通信制御器４０１は複数のＤＭＡポート４２０及び／又は複数のＤＤＩＯポート４２２を動作するように構成されるマルチポート装置ドライバー４０７をさらに含む。
【００２０】
実施形態において、マルチポートストレージ装置４２８のようにストレージエンドポイントと連結されたポートはアプリケーションによる使用のための論理的ストレージ構成を示す。実施形態において、システム４００はアプリケーションからＩＯ要請を受信する受信器インターフェイス４０３（ｒｅｃｅｉｖｅｒ  ｉｎｔｅｒｆａｃｅ）を含む。受信器インターフェイス４０３は伝送モード選択器４０４を含む。伝送モード選択器４０４は複数のデータ伝送モードの中の１つを選択する。データ伝送モードの例は処理量増強４０６（ｔｈｒｏｕｇｈｐｕｔ  ｂｏｏｓｔｅｒ  ｍｏｄｅ）、迅速モード４１０（ｓｗｉｆｔ  ｍｏｄｅ）、及び均衡モード４０８（ｂａｌａｎｃｅｄ  ｍｏｄｅ）を含む。
【００２１】
一実施形態において、処理量増強４０６はアプリケーションがメモリ１０８にデータを伝送するようにする。このような実施形態は向上したデータ処理量を提供する。実施形態において、迅速モード４１０は１つ以上のＣＰＵコア２０２と連関されたＬＬＣ又は他のキャッシュのようなキャッシュ１１６にデータを通信することによって、アプリケーションにＣＰＵ１６０との速いデータ通信を提供する。均衡モード４０８はアプリケーションから通信されるデータ特性に基づいてメモリ１０８又はキャッシュ１１６の中の１つと選択的にデータを通信する。
【００２２】
このような実施形態において、データブロックはアプリケーションからのＩＯ要請により受信される。伝送モード選択器４０４は適用される伝送モードを識別する。実施形態において、伝送モード選択器４０４はＩＯ要請に含まれたデータ特性のような情報に応答して伝送モードを選択する。他の実施形態において、伝送モード選択器４０４はＤＭＡポートが可能であるか、又はＤＤＩＯポートが可能であるかに対する判別に応答して伝送モードを選択する。その他の実施形態において、伝送モード選択器４０４は予め定められたＱｏＳプロトコル、規則、又はロード（ｌｏａｄ）バランシングシークェンスに応答して伝送モードを判別する。当業者は伝送モード選択器４０４によって特定ＩＯ要請のために使用される伝送モードの判別に使用される多様な基準を認知できる。その他の実施形態において、伝送モード選択器４０４はタイミング又はパケットカウント規則にしたがって伝送モードを決定する。
【００２３】
伝送モード選択器４０４はブロック分配ユニット４０５にデータブロックを伝送する。実施形態において、ブロック分配ユニット４０５は処理量指向（ＴＯ、ｔｈｒｏｕｇｈｐｕｔ  ｏｒｉｅｎｔｅｄ）ブロック分配器４１４、及びレイテンシ敏感（ＬＳ、ｌａｔｅｎｃｙ−ｓｅｎｓｉｔｉｖｅ）ブロック分配器４１６、ブロック識別器４１２、及び流れ制御器４１８を含む。
【００２４】
処理量増強４０６が選択された場合、データブロックはＴＯブロック分配器４１４に伝送される。ＴＯブロック分配器４１４は要請ブロック（ｒｅｑｕｅｓｔ  ｂｌｏｃｋ）を複数のサブブロックに分け、複数のサブブロックの各々はＤＭＡプロトコルを通じてデータをメモリ１０８に伝送するように構成された１つ以上のＤＭＡポート４２０に伝送される。一部の実施形態において、１つ以上のＤＭＡポート４２０は、例えばマルチポート装置ドライバーによって又はシステム基本入出力システム（ＢＩＯＳ、ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）によってシステムが開始する時、定義される。同様に、１つ以上のＤＤＩＯポート４２２はシステムが開始する時、定義される。他の実施形態において、１つ以上のＤＭＡポート４２０は動作の中において、ＩＯ要請に応答して、ＤＤＩＯポート４２２に動的に再構成される。同様に、１つ以上のＤＤＩＯポート４２２は動作の中において、ＩＯ要請に応答して、ＤＭＡポート４２０に動的に再構成される。
【００２５】
迅速モード４１０（ｓｗｉｆｔ  ｍｏｄｅ）において、データブロックはＬＳブロック分配器４１６に通信され、その次にデータブロック又はサブブロックはＤＤＩＯポート４２２に伝送される。他の実施形態において、流れ制御器４１８はＣＰＵ１０６と連関されたキャッシュ１１６の汚染（ｐｏｌｌｕｔｉｏｎ）又はオーバーフローを防止するためにデータブロック又はサブブロックのＤＤＩＯポートへの流れを制御する。流れ制御方法の実施形態は以下の図１０乃至図１２を参照して説明する。実施形態において、マルチポートストレージ装置４２８はデータを伝送するように構成される複数のＤＭＡポート４２４及び／又は複数のＤＤＩＯポート４２６を含む。
【００２６】
実施形態において、均衡モード４０８はＤＭＡポート４２０を通じて通信するＴＯブロック分配器４１４又はＤＤＩＯポート４２２を通じて通信するＬＳブロック分配器４１６の中の１つにデータブロックを選択的に伝送する。このような実施形態において、ブロック識別器４１２はデータブロックに対するデータ特性を検査し、データ特性にしたがって、データブロックがＴＯブロック分配器４１４に伝送されるか、又はＬＳブロック分配器４１６に伝送されるかを判別する。実施形態において、データ特性はアプリケーションによって設定された緊急性識別子（ｕｒｇｅｎｃｙ  ｉｄｅｎｔｉｆｉｅｒ）を含む。例えば、データ特性はデータブロックを緊急（ｕｒｇｅｎｔ）であるか、又は緊急でない（ｎｏｎ−ｕｒｇｅｎｔ）かの特徴を有する。このような実施形態において、緊急なデータブロックはＬＳブロック分配器４１６に伝送され、緊急でないデータブロックはＴＯブロック分配器４１４に伝送される。
【００２７】
実施形態において、データ特性はデータブロックと連関されたメタデータ又はタッグ（ｔａｇ）を含む。又は、データ特性はデータブロック内のビットセットを含む。その他の実施形態において、データ特性は提供されるデータブロックの種類に応答するか、又はデータブロックを提供するアプリケーション又は使用者に応答して内在的に誘導される。他の実施形態において、一部の使用者又はアプリケーションは緊急データブロックを生成し、他の使用者又はアプリケーションは緊急でないデータブロックを生成する。一実施形態において、ブロックがアクセス可能に準備されたら直ちにブロックをアクセスできるように、使用者が要請した場合、ブロックを緊急にできる。プリフェッチブロックはブロックが近い将来にアクセスされるか、又はアクセスされないか分からないので、プリフェッチブロックは緊急でない。当業者はブロック識別器４１２によってデータブロックがＴＯブロック分配器４１４に伝送されるか、又はＬＳブロック分配器４１６に伝送されるかを判別するのに使用される追加的な又は他のデータ特性を認知できる。
【００２８】
図５は図４の構成によって遂行される方法５００を説明する順序図を示す。このような実施形態において、方法５００は５０２段階に図示したようにアプリケーションからＩＯ要請を受信する。５０４段階において、伝送モード選択器４０４はデータ特性に基づいて伝送モードを選択する。すべてのポートがＤＭＡポート４２０として設定された場合、処理量増強４０６が選択され、すべてのデータブロックはＴＯブロック分配器４１４に伝送される。すべてのポートがＤＤＩＯポート４２２として設定された場合、迅速モード４１０が選択され、すべてのデータブロックはＬＳブロック分配器４１６に伝送される。ポートの中の一部がＤＭＡポート４２０として設定され、ポートの中の一部がＤＤＩＯポート４２２に設定された場合、５０４段階において、均衡モードが選択される。他の実施形態において、すべてのポートは１つの種類又は他の種類として設定される必要はない。処理量要請は使用されないＤＤＩＯポートを残し、ＤＭＡであるポートのサブセットに要請を単純に伝送する。このような実施形態において、５１６段階において、データブロックはブロックの識別のためのブロック識別器４１２に伝送される。‘‘一般（ｎｏｒｍａｌ）’’又は‘‘緊急でない（ｎｏｎ−ｕｒｇｅｎｔ）’’ブロックは５０６段階に図示したように、ＴＯブロック分配器４１４に伝送される。緊急ブロックは５１０段階に図示したように、ＬＳブロック分配器４１６に伝送される。５１２段階において、流れ制御プロセスが遂行され、ＤＤＩＯ要請が５１４段階において発行される。又はＤＭＡ要請は５０８段階において発行される。
【００２９】
図６は再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識したＩＯ管理システムのデータマルチプレクシングプロセス６００の実施形態を示す論理的図面である。一実施形態において、図６のプロセスはＴＯブロック分配器４１４又はＤＭＡ伝送経路に連関された構成によって遂行される。実施形態において、要請されたデータブロック６０２が受信され、検査される。データブロック６０２は複数のサブブロック６０４（例えば、８個又はそれ以上のサブブロック）に分割される。６０６段階において、サブブロックの大きさに対する判別が遂行される。例えば、データブロック６０２に含まれたサブブロック６０４の数がサブブロック６０４と通信できるＤＭＡポート４２０の数より小さいか又は同一である場合、各サブブロック６０４の現在の大きさが維持される。しかし、サブブロック６０４の数がサブブロック６０４を伝送できるＤＭＡポート４２０の数より多いと６０６段階において判別された場合、各サブブロック６０４の大きさが調節され、サブブロック６０４の全体数が減少される。例えば、サブブロック６０４の数がＤＭＡポート４２０の数より少ないか、或いは同一である場合に対応する第１結果６１０は元の要請されたデータブロック６０２と同一のサブブロック構造を含む。第２結果６０８は少ない数のサブブロックを含み、各サブブロックはＤＭＡポート４２０を通じて通信するためにその各大きさが大きくなる。
【００３０】
図７は図６において説明したプロセスの実施形態を示す例示的な順序図である。図７の実施形態において、方法７００は７０２段階において、データブロックを受信する。７０４段階において、方法７００は受信されたデータブロックに含まれたサブブロックの数を計算する。サブブロックの数は受信されたデータブロックの大きさをデータ伝送の最小単位で割った値として計算される。このような計算の結果は図６に図示した元のデータブロック６０２内のサブブロック６０４の確認である。
【００３１】
図７の７０６段階において、サブブロックの数が使用可能であるＤＭＡポート４２０の数より少ないか、或は同一であるかを判別する。仮に少ないか、或は同一であれば、サブブロックの大きさは、７０８段階に図示したように、受信されたデータブロックの大きさをサブブロックの数で割った値と同一である。仮に多ければ、７１０段階において、サブブロックの大きさが調節される。このような実施形態において、サブブロックの大きさは要請されたブロックの大きさを使用可能であるＤＭＡポート４２０の数で割った値に増加される。図６の例において、第２結果６０８は７１０段階において生成される。
【００３２】
サブブロックの大きさが７０８段階又は７１０段階において判別された後に、７１２段階において、ＤＭＡ要請がサブブロックと共に装置ドライバーに伝送される。７１４段階において、データブロックの終了地点（ｅｎｄ  ｏｆ  ｄａｔａ  ｂｌｏｃｋ）に到達したと判別された場合、プロセスが終了される。終了地点に到達していないと判別された場合、７１６段階において、サブブロックは増加され、７１２段階において、次のＤＭＡ要請が伝送される。このようなループはデータブロックのすべてのサブブロックがＤＭＡポート４２０を通じて伝送される時まで繰り返される。
【００３３】
図８は再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識したＩＯ管理システムのデータマルチプレクシングプロセス８００の実施形態を示す論理的図面である。図８の実施形態はデータブロックがＤＤＩＯポート４２２を通じて伝送される迅速モード（ｓｗｉｆｔ  ｍｏｄｅ）の例を示す。プロセス８００はＬＳブロック分配器４１６及び流れ制御器４１８によって少なくとも一部において遂行される。図６の実施形態のように、プロセス８００は通信のためのデータブロック６０２を受信すると共に開始される。データブロック６０２は複数のサブブロック６０４を含む。８０２段階において、サブブロック６０４の数がサブブロック６０４を通信できるＤＤＩＯポート４２２の数より少ないか、或は同一であるかを判別する。少ないか、或は同一であれば、第１結果８０４は元の大きさのサブブロックを含む。多ければ、第２結果８０６は大きさが調節されたサブブロックを含む。ここで、ブロック大きさはサブブロックを通信できるＤＤＩＯポートの数に符合されるように変形される。８０８段階において、追加的な段階はサブブロックの大きさがＤＤＩＯキャッシュ大きさより大きいかを判別することを含む。大きければ、大きさはＤＤＩＯキャッシュ大きさ要求に符合されるように調節される。５１２段階において、流れ制御動作が遂行されてキャッシュオーバーラン（ｏｖｅｒｒｕｎ）又は汚染（ｐｏｌｌｕｔｉｏｎ）を防止する。流れ制御プロセスの例は図１２を参照して説明する。８１０段階において、サブブロックはラウンドロビンプロセス（ｒｏｕｎｄ−ｒｏｂｉｎ  ｐｒｏｃｅｓｓ）にしたがってＤＤＩＯポート４２２に分配される。
【００３４】
図９は図８において説明したプロセスの実施形態を示す例示的な順序図である。図９の実施形態において、方法９００は９０２段階において、データブロックを受信する。９０４段階において、方法９００は受信されたデータブロックに含まれたサブブロックの数を計算する。サブブロックの数は受信されたデータブロックの大きさをデータ伝送の最小単位で割った値として計算される。このような計算の結果は図８に図示した元のデータブロック６０２内のサブブロック６０４の確認である。
【００３５】
図９の９０６段階において、サブブロックの数が使用可能であるＤＤＩＯポート４２２の数より少ないか、或は同一であるかを判別する。少ないか、或は同一であれば、サブブロックの大きさは９０８段階に図示したように、受信されたデータブロックの大きさをサブブロックの数で割った値と同一である。多ければ、９１０段階において、サブブロックの大きさが調節される。このような実施形態において、サブブロックの大きさは要請されたブロックの大きさを使用可能であるＤＤＩＯポート４２２の数で割った値に増加する。図８の例において、第２結果８０６は９１０段階において生成される。
【００３６】
実施形態において、９１０段階において調節されたサブブロックの大きさをＬＬＣによりＤＤＩＯの予約サイズ（ｒｅｓｅｒｖｅｄ  ｓｉｚｅ）より小さいかを９１２段階において判別する。小さいか、或いは同一であれば、５１２段階において、流れ制御が遂行される。大きければ、サブブロックはＬＬＣによりＤＤＩＯの予約サイズより小さいか、或いは同一になるように大きさが調節される。そして、５１２段階において、流れ制御が遂行される。
【００３７】
サブブロックの大きさが判別され、流れ制御が遂行された後に、９１６段階に図示したように、ＤＤＩＯ要請がサブブロックと共に装置ドライバーに伝送される。９１８段階において、データブロックの終了地点（ｄａｔａ  ｂｌｏｃｋ  ｏｆ  ｅｎｄ）に到達したと判別された場合、プロセスが終了する。終了地点に到達していないと判別された場合、サブブロックが９２０段階に図示したように増加され、９１６段階において、次のＤＤＩＯ要請が伝送される。このようなループはデータブロックのすべてのサブブロックがＤＤＩＯポート４２２を通じて伝送される時まで繰り返す。
【００３８】
図１０は再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識したＩＯ管理方法の性能を示す論理的図面である。図１０はＣＰＵコア２０２と連関されたＬＬＣ（ｌａｓｔ  ｌｅｖｅｌ  ｃａｃｈｅ）のようなキャッシュ１１６を示す。図示した実施形態において、ＬＬＣは複数のキャッシュラインＣＬを含む。占有されたキャッシュラインはＣＰＵコア２０２による回収（ｒｅｔｒｉｅｖａｌ）のためのデータを含むキャッシュラインである。残るキャッシュラインは占有されておらず使用可能であるキャッシュラインである。占有されたキャッシュライン及び残るキャッシュラインの組合せはＬＬＣの全体予備キャッシュライン（ｔｏｔａｌ  ｒｅｓｅｒｖｅｄ  ｃａｃｈｅ  ｌｉｎｅｓ）を含む。
【００３９】
図１０は３つのキャッシュ状態の例を示す。第１状態１００２において、３つのキャッシュラインは受信されたデータによって占有される。実施形態において、キャッシュライン大きさは６４バイトである。一実施形態において、ＬＬＣのアクセスレイテンシは１００ｎｓであり、相互要請（ｉｎｔｅｒ−ｒｅｑｕｅｓｔ）到着時間は２００ｎｓである。したがって、毎要請到着に対して、２つの追加的なキャッシュラインがキャッシュラインを回収するＣＰＵコア２０２によって保障される。したがって、第２状態１００４において、ただ１つのキャッシュラインが占有される。第２要請が２５６バイトデータのサブブロックと共に受信された場合、４つの追加的なキャッシュラインが第３状態１００６に図示したように占有され全体５つのキャッシュラインが占有される。
【００４０】
図１１は再構成可能なマルチポートを具備するＰＣＩｅストレージシステムのためのＱｏＳを認識したＩＯ管理方法の実施形態を示す例示的な順序図である。流れ制御のための方法１１００の実施形態が流れ制御器４１８によって、少なくとも一部において、遂行される。流れ制御器４１８はキャッシュ１１６の状態を点検し、オーバーフロー保護状態（ｏｖｅｒｆｌｏｗ  ｐｒｏｔｅｃｔｉｏｎ  ｓｔａｔｕｓ）をトリガーすることによって、キャッシュオーバーラン（ｃａｃｈｅ  ｏｖｅｒｒｕｎ）を防止する。本明細書において使用する‘‘オーバーフロー保護状態（ｏｖｅｒｆｌｏｗ  ｐｒｏｔｅｃｔｉｏｎ  ｓｔａｔｕｓ）’’はキャッシュ１１６のデータの流れを計測するか、又はスロットリング（ｔｈｒｏｔｔｌｉｎｇ）することによってキャッシュオーバーランが防止される論理的又は動作上の状態を意味する。実施形態において、１１０２段階において、データブロックが受信される。アクセスされたキャッシュラインの数は１１０４段階に図示したように、相互要請到着時間を平均キャッシュラインアクセスレイテンシで割った値として計算される。１１０６段階において、残るキャッシュラインはアクセスされたキャッシュラインの数を以前に残るキャッシュラインの数と合算することによって計算される。このような例は図１０の第２状態１００４に示した。
【００４１】
キャッシュ保護状態がトリガーされてキャッシュのオーバーランを防止できる。全体データブロックをキャッシュに書き込む代わりに、ブロックは残るキャッシュラインの数に基づいて、キャッシュへの通信のための適切な大きさのサブブロックに分けられる。必要によって、キャッシュ保護状態はサブブロックが順次的に書き込まれるか、又は空間をおいてキャッシュオーバーランを防止する。追加的な実施形態において、キャッシュ保護状態はデータブロックがキャッシュ１１６の代わりに、メモリ１０８に書込まれるようにする。したがって、１１０８段階において、残るキャッシュラインが全体予備キャッシュラインより多いか否かが判別される。多ければ、残るキャッシュラインは１１１０段階に図示したように、全体予備キャッシュラインと同一である。多くなければ、１１１２段階において、キャッシュラインのサブブロックの数が残るキャッシュラインより小さいか否かが判別される。小さければ、１１１４段階に図示したように、残るキャッシュラインの元の数でキャッシュラインのサブブロックの数を減算することによって計算される。小さくなければ、計算はキャッシュラインのサブブロックの数が残るキャッシュラインより小さくなる時までループにより遂行される。
【００４２】
図１２は本発明に係って特に構成されたコンピューティングシステム１２００のブロック図である。コンピューティングシステム１２００は図４の受信器インターフェイス４０３、ブロック分配ユニット４０５、及びマルチポート装置ドライバー４０７を具備するＰＣＩｅデータ通信制御器４０１を含む。コンピューティングシステム１２００はクロック１２０４、ランダムアクセスメモリ（ＲＡＭ、ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）のようなメモリ１０８、使用者インターフェイス１２０８、基底帯チップセット（ｂａｓｅｂａｎｄ  ｃｈｉｐｓｅｔ）のようなモデム１２１０、ソリッドステートドライブ／ディスク（ＳＳＤ）１２１４、及び／又はＣＰＵ１０６、システムバス１２０２と電気的に連結されるすべてのものを含む。コンピューティングシステム１２００はシステムバス１２０２と電気的又は論理的に連結される図４の受信器インターフェイス４０３、ブロック分配ユニット４０５、及びマルチポート装置ドライバー４０７を具備するＰＣＩｅデータ通信制御器４０１を含む。
【００４３】
実施形態は仲裁（ａｒｂｉｔｒａｔｉｏｎ）又は監視タイマー（ａｒｂｉｔｒａｔｉｏｎ  ｏｒ  ｗａｔｃｈｄｏｇ  ｔｉｍｅｒ）を含んでＩＯキューを圧倒することからビデオストリームのようなレイテンシに敏感であるＩＯトランザクションを防止する。即ち、性能ブースタＩＯ要請は前進を進める機会を有する。追加的に、実施形態はランダム（小さいランダム読出し／書込み）ＩＯトランザクションもまた収容する。
【００４４】
以下の説明は本発明の特定な思想が具現される適切なマシンの概略的であり、一般的な説明である。一般的に、マシンはプロセッサ、メモリ、例えばランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、及び他の状態保持媒体、ストレージ装置、ビデオインターフェイス、及び入力／出力インターフェイスポートと連結されたシステムバスを含む。マシンはキーボード、マイク等の従来の入力装置からの入力のみならず、他のマシンから受信された命令、仮想現実（ＶＲ、ｖｉｒｔｕａｌ  ｒｅａｌｉｔｙ）環境との通信、生体認識フィードバック、又は他の入力信号によって、少なくとも一部において、制御される。本文に使用する‘‘マシン（ｍａｃｈｉｎｅ）’’の用語はシングルマシン、仮想マシン、又はマシン、仮想マシン、共に動作する装置が電気的に連結されたシステムを包括的に含む。例示的なマシンは個人用コンピュータ、ワークステーション、サーバー、携帯用コンピュータ、ポケット用コンピュータ、電話機、タブレット等のコンピューティング装置のみならず、個人又は大衆交通手段、例えば、自動車、汽車、タクシー等の輸送装置を含む。
【００４５】
マシンはプログラム可能か、又はプログラム可能でないロジック装置又はアレイ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、内装コンピュータ、スマートカード等の内装された制御器を含む。マシンはネットワークインターフェイス、モデム、又は他の通信連結のような１つ以上の遠隔マシンへの１つ以上の連結を活用する。マシンはイントラネット、インターネット、近距離通信網（ＬＡＮ、ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、遠距離通信網（ＷＡＮ、ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）のような物理的及び／又は論理的ネットワークの方式によって連結される。当業者はネットワーク通信が無線周波数（ＲＦ、Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）、衛星、マイクロ波、ＩＥＥＥ  ５４５．１１、ブルートゥース（登録商標）、光、赤外線、ケーブル、レーザー等の多様な有線／無線短距離又は長距離キャリヤー及びプロトコルを活用できることを理解できる。
【００４６】
本発明の実施形態は、マシンによってアクセスされる時マシンが遂行する作業、又は要約データタイプ又は低レベルハードウェア構成を定義する機能、手続、データ構造、アプリケーションプログラムを含む連関されたデータを参照するか、又は関連して説明される。連関されたデータは揮発性又は不揮発性メモリ（例えば、ＲＡＭ、ＲＯＭ）に格納されるか、又はハードディスクドライブ、フロッピーディスク、光ストレージ、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、生体ストレージ等を含む連関したストレージ媒体及び他の格納装置に格納される。連関されたデータは物理的又は論理的ネットワークを含む伝送環境上においてパケット、直列データ、並列データ、電波信号等の形態により提供され、圧縮されるか、又は暗号化された形式により使用される。連関されたデータは分散された環境において使用され、論理的に又は遠隔に装置アクセスのために格納される。
【００４７】
実施形態を参照して本発明の理論を説明したが、実施形態は本発明の技術的思想から逸脱せず、変形でき、他の適切な方式と組合されることはよく理解されるべきである。そして、詳細な説明が特定実施形態に集中したが、他の構成も考慮される。特に、本明細書において‘‘本発明の実施形態によれば’’のような表現を使用したが、このような表現は一般的に、参照実施形態の可能性を意味し、本発明が特定実施形態の構成に限定されることを意味しない。本明細書に記載したように、このような用語は他の実施形態と組合される同一の又は他の実施形態を参照できる。
【００４８】
本発明の実施形態は１つ以上のプロセッサによって実行される命令語を含む類型の非一時的な機械読出し可能な媒体（ｔａｎｇｉｂｌｅ、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｍａｃｈｉｎｅ−ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を含む。命令語は本明細書に記載したような本発明の構成要素を遂行するための命令語を含む。
【００４９】
上述した実施形態は本発明を限定しない。一部の実施形態を説明したが、当業者は本文の長所及び新しい特徴から逸脱せず、本発明の可能な多様な変形を容易に遂行できる。したがって、このような変形は特許請求の範囲に定義された本発明の思想内に含まれる。
【符号の説明】
【００５０】
１００、２００  ＩＯ管理システム
１０２  ホストシステム
１０４  ルートコンプレックス
１０６  中央処理ユニット（ＣＰＵ）
１０８  メモリ
１１０  物理インターフェイス
１１２  内部エンドポイント
１１４  外部エンドポイント
１１６  キャッシュ
２０２  ＣＰＵコア
２０４  グラフィック処理ユニット
２０６  ネットワークインターフェイス
２０８  ディスク制御器
２１０ａ、２１０ｂ、２１０ｃ  ＰＣＩｅエンドポイント
２１２  ＰＣＩ／ＰＣＩ−ｘへのＰＣＩスイッチ／ＰＣＩｅブリッジ
２１４  レガシエンドポイント
３００  ＩＯ管理方法
４００  システム
４０１  データ通信制御器
４０２  論理装置
４０３  受信器インターフェイス
４０４  伝送モード選択器
４０５  ブロック分配ユニット
４０６  処理量増強
４０７  マルチポート装置ドライバー
４０８  均衡モード
４１０  迅速モード
４１２  ブロック識別器
４１４  ＴＯブロック分配器
４１６  ＬＳブロック分配器
４１８  流れ制御器
４２０、４２４  ＤＭＡポート
４２２、４２６  ＤＤＩＯポート
４２８  マルチポートストレージ装置
６００  データマルチプレクシングプロセス
６０２  データブロック
６０４  サブブロック
１２００  コンピューティングシステム
１２０２  システムバス
１２０４  クロック
１２０８  使用者インターフェイス
１２１０  モデム
１２１４  ソリッドステートドライブ／ディスク（ＳＳＤ）
【図１】
2017211984.tif 000003
【図２】
2017211984.tif 000004
【図３】
2017211984.tif 000005
【図４】
2017211984.tif 000006
【図５】
2017211984.tif 000007
【図６】
2017211984.tif 000008
【図７】
2017211984.tif 000009
【図８】
2017211984.tif 000010
【図９】
2017211984.tif 000011
【図１０】
2017211984.tif 000012
【図１１】
2017211984.tif 000013
【図１２】
2017211984.tif 000014