JP5953573B2 - ペリフェラル・コンポーネント・インターコネクト・エクスプレス・エンドポイントデバイスにアクセスするためのコンピュータシステム、方法、および装置 - Google Patents
ペリフェラル・コンポーネント・インターコネクト・エクスプレス・エンドポイントデバイスにアクセスするためのコンピュータシステム、方法、および装置 Download PDFInfo
- Publication number
- JP5953573B2 JP5953573B2 JP2015514331A JP2015514331A JP5953573B2 JP 5953573 B2 JP5953573 B2 JP 5953573B2 JP 2015514331 A JP2015514331 A JP 2015514331A JP 2015514331 A JP2015514331 A JP 2015514331A JP 5953573 B2 JP5953573 B2 JP 5953573B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- endpoint device
- pcie endpoint
- processor
- pcie
- 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
- 238000000034 method Methods 0.000 title claims description 69
- 230000002093 peripheral effect Effects 0.000 title claims description 21
- 230000004044 response Effects 0.000 claims description 45
- 230000004913 activation Effects 0.000 claims description 23
- 238000011022 operating instruction Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 8
- 238000011144 upstream manufacturing Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 16
- 239000007787 solid Substances 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 8
- 239000000203 mixture Substances 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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
-
- 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/28—DMA
- G06F2213/2802—DMA using DMA transfer descriptors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
- Power Sources (AREA)
- Hardware Redundancy (AREA)
Description
プロセッサと、
PCIeエンドポイントデバイスに接続するように構成されたペリフェラル・コンポーネント・インターコネクト・エクスプレスPCIeバスと
を含むコンピュータシステムであって、
コンピュータシステムがアクセスプロキシをさらに含み、アクセスプロキシがプロセッサとPCIeエンドポイントデバイスとに接続し、
プロセッサが、アクセスプロキシを使用することによってPCIeエンドポイントデバイスにアクセスするようにプロセッサに命令する動作命令を獲得し、PCIeエンドポイントデバイスにアクセスするようにアクセスプロキシに命令するアクセス要求を動作命令に従ってアクセスプロキシに送信するように構成され、
アクセスプロキシが、プロセッサによって送信されたアクセス要求を受信した後で、アクセス要求の応答メッセージをプロセッサに送信するように構成された、
コンピュータシステムを提供する。
プロセッサは、PCIeエンドポイントデバイスのドライブモジュールによって生成された動作命令を獲得するよう特に構成される。
PCIeエンドポイントデバイスのドライブモジュールは、PCIeエンドポイントデバイスにアクセスするために、ホストオペレーティングシステムを起動させるように構成され、
ホストオペレーティングシステムは、PCIeエンドポイントデバイスのドライブモジュールによる起動に応答して、アクセスプロキシを指摘する、PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って動作命令を生成するように構成され、
プロセッサは、ホストオペレーティングシステムによって生成された動作命令を獲得するように特に構成される。
プロセッサによって、動作命令を獲得するステップであって、動作命令が、アクセスプロキシを使用することによってPCIeエンドポイントデバイスにアクセスするようにプロセッサに命令する、獲得するステップと、
プロセッサによって、動作命令に従ってアクセス要求をアクセスプロキシに送信するステップであって、アクセス要求がPCIeエンドポイントデバイスにアクセスするようにアクセスプロキシに命令する、送信するステップと、
プロセッサによって、アクセスプロキシによって送信されたアクセス要求の応答メッセージを受信するステップと
を含む方法が提供される。
プロセッサは、動作命令に従ってデータ移動要求をDMAエンジンに送信し、データ移動要求は、PCIeエンジンのメモリ内の特定データをコンピュータシステムのメモリに移動するように、またはコンピュータシステムのメモリ内の特定データをPCIeエンドポイントデバイスのメモリに移動するようにDMAエンジンに命令する。
プロセッサによって、アクセスプロキシによって送信された第1の通知メッセージを受信するステップであって、第1の通知メッセージが、アクセスプロキシがPCIeエンドポイントデバイスに成功裏にアクセスしたことを示す、受信するステップと、
プロセッサによって、第1の通知メッセージに従ってアクセス結果を獲得するステップと
をさらに含む。
プロセッサによって、アクセスプロキシによって送信された第2の通知メッセージを受信するステップであって、第2の通知メッセージが、アクセスプロキシがPCIeエンドポイントデバイスにアクセスするのに失敗したことを示す、受信するステップと、
プロセッサによって、第2の通知メッセージに従って、アクセス失敗に関する後続処理を実行するステップと
をさらに含む。
プロセッサによって、アクセスプロキシがPCIeエンドポイントデバイスにアクセスするのに失敗した理由を判断して、アクセス失敗の理由が、アクセスされるべきPCIeエンドポイントデバイスが異常にオフラインであるためである場合、プロセッサによって、PCIeエンドポイントデバイスへのアクセスを停止するステップ
を含む。
プロセッサと、
コンピュータ実行命令を記憶するように構成されたメモリとを含むコンピュータであって、
コンピュータが実行しているとき、プロセッサが、コンピュータが第2の態様に従ってペリフェラル・コンポーネント・インターコネクト・エクスプレスPCIeエンドポイントデバイスにアクセスする方法を実行するように、メモリ内に記憶されたコンピュータ実行命令を実行して、通信インターフェースを介してコンピュータの外部デバイスと通信する
コンピュータが提供される。
起動命令を受信するステップであって、起動命令がPCIeエンドポイントデバイスにアクセスする必要があることを示す、受信するステップと、
アクセスプロキシを指摘する、PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って動作命令を生成するステップであって、動作命令が、アクセスプロキシを使用することによってPCIeエンドポイントデバイスにアクセスするようにプロセッサに命令するために使用される、生成するステップと
を含む方法が提供される。
PCIeエンドポイントデバイスにアクセスする必要があることを示す起動命令を受信するように構成された受信モジュールと、
アクセスプロキシを指摘する、PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って、PCIeエンドポイントデバイスにアクセスするための動作命令を生成するように構成された生成モジュールであって、動作命令が、アクセスプロキシを使用することによってPCIeエンドポイントデバイスにアクセスするようにプロセッサに命令するために使用される、生成モジュールと
を含む装置が提供される。
プロセッサと、
コンピュータ実行命令を記憶するように構成されたメモリとを含むコンピュータであって、
コンピュータが実行しているとき、コンピュータが以下のステップ、すなわち、
起動命令を受信するステップであって、起動命令がPCIeエンドポイントデバイスにアクセスする必要があることを示す、受信するステップと、
アクセスプロキシを指摘する、PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って、PCIeエンドポイントデバイスにアクセスするための動作命令を生成するステップであって、動作命令が、アクセスプロキシを使用することによってPCIeエンドポイントデバイスにアクセスするようにプロセッサに命令するために使用される、生成するステップと
を実行するように、プロセッサが、メモリ内に記憶されたコンピュータ実行命令を実行するコンピュータが提供される。
起動命令を受信するステップであって、起動命令がPCIeエンドポイントデバイスにアクセスする必要があることを示す、受信するステップと、
アクセスプロキシを指摘する、PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って、PCIeエンドポイントデバイスにアクセスするための動作命令を生成するステップであって、動作命令が、アクセスプロキシを使用することによってPCIeエンドポイントデバイスにアクセスするようにプロセッサに命令するために使用される、生成するステップと
を実行するコンピュータ可読媒体が提供される。
アクセスプロキシがプロセッサとPCIeエンドポイントデバイスとに接続し、
プロセッサとPCIeエンドポイントデバイスとの間の直接アクセスを分離して、PCIeエンドポイントデバイスにアクセスするための要求をプロセッサから受信して、アクセス要求の応答メッセージをプロセッサに返すように構成されたアクセスプロキシが提供される。
PCIe交換器の上流ポートがPCIeバスを介してプロセッサに接続し、PCIe交換器の下流ポートがPCIeバスを介してPCIeエンドポイントデバイスに接続し、
第9の態様によるアクセスプロキシがその中に組み込まれたPCIe交換器が提供される。
PCIeエンドポイントデバイスにアクセスするためのそれぞれのポートに関して特定割合のリソースを確保するステップであって、特定割合がPCIeエンドポイントデバイスの必要とされるリソース量以上である、確保するステップと、
確保された特定割合のリソースに従って、PCIeエンドポイントデバイスにアクセスするためのそれぞれのポートに確保された特定割合のリソースを割り振るステップと
を含む方法が提供される。
この方法は、PCIeエンドポイントデバイスにアクセスするためのそれぞれのポートに割り振られた特定割合のリソースをPCIeツリー内に記録するステップをさらに含む。
それぞれのPCIeエンドポイントデバイスがコンピュータシステムからオフラインであるとき、PCIeエンドポイントデバイスにアクセスするためのそれぞれのポートに割り振られ、かつPCIeツリー内に記録された特定割合のリソースを確保するステップを含む。
プロセッサと、
PCIeエンドポイントデバイスを接続するように構成されたペリフェラル・コンポーネント・インターコネクト・エクスプレスPCIeバスと、
PCIeエンドポイントデバイスにアクセスするためのそれぞれのポートに関して特定割合のリソースを確保するように構成された基本出力システムBIOSであって、特定割合がPCIeエンドポイントデバイスの必要とされるリソース量以上である、基本入出力システムBIOSと、
BIOSによって確保された特定割合のリソースに従って、PCIeエンドポイントデバイスにアクセスするためのそれぞれのポートに確保された特定割合のリソースを割り振るように構成されたPCIe管理モジュールと
を含むコンピュータシステムが提供される。
本発明のある実施形態のシステムアーキテクチャ
以下は、本発明のある実施形態による、PCIeエンドポイントデバイスにアクセスするためのあるプロセスを説明し、このプロセスは、コンピュータシステム内に新たに追加されたアクセスプロキシによって実施される。図5に示されるように、本発明のこの実施形態において、PCIeエンドポイントデバイスにアクセスするためのあるプロセスは以下を含む。
DMAエンジンに障害がある場合、DMAエンジンの障害を回復するために、CPUによってDMAエンジンをリセットするか、またはDMAエンジンに障害があることを示す通知を送信するステップと、
DMAエンジンに障害がない場合、アクセス失敗の原因が、SSDデバイスが異常にオフラインであるためであると判断し、CPUによって、SSDデバイスに対するアクセスを停止するステップとを含むことが可能である。
DMAエンジンに障害がある場合、DMAエンジンの障害を回復するために、CPUによって、DMAエンジンをリセットするか、またはDMAエンジンに障害があることを示す通知を送信するステップと、
DMAエンジンに障害がない場合、アクセス失敗の原因が、SSDデバイスが異常にオフラインであるためであると判断し、CPUによって、SSDデバイスに対するアクセスを停止するステップを含むことが可能である。
図11に示されるように、本発明のある実施形態で提供される、ペリフェラル・コンポーネント・インターコネクト・エクスプレスPCIeエンドポイントデバイスにアクセスするための装置は、
PCIeエンドポイントデバイスにアクセスする必要があることを示す起動命令を受信するように構成された受信モジュール1101と、
アクセスプロキシを指摘する、PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って、PCIeエンドポイントデバイスにアクセスするための動作命令を生成するように構成された生成モジュール1102であって、動作命令が、アクセスプロキシを使用することによってPCIeエンドポイントデバイスにアクセスするようにCPUに命令するために使用される、生成モジュール1102と
を含む。
プロセッサ1201と、メモリ1202と、システムバス1204と、通信インターフェース1205とを含むことが可能である。CPU1201、メモリ1202、および通信インターフェース1205は、システムバス1204を使用することによって、互いの間の通信を接続および完了する。
PCIeエンドポイントデバイスがコンピュータシステムから除去されるとき、PCIeエンドポイントデバイスを後でコンピュータシステムに再度挿入することができる。加えて、新しいPCIeエンドポイントデバイスが実行状態のコンピュータシステムに接続する必要があるという条件も存在する。例えば、SSDデバイスの人気として、ユーザがSSDデバイスを直接的に挿入または除去するという現象がますます頻繁に生じている。先行技術では、いずれかのPCIeエンドポイントデバイスの電源がオンにされて、システムに接続されるとき、CPUはPCIeエンドポイントデバイスに関して走査およびリソース割振りプロセスを開始し、CPUが電源が新たにオンにされたPCIeエンドポイントデバイスを走査するプロセスにおいて、PCIeエンドポイントデバイスがシステムから直接的に除去された場合、CPUはMCEエラーを報告することが可能であり、これはシステムリセットを引き起こす。この問題を回避するために、本発明のこの実施形態は、PCIeエンドポイントデバイスの電源が新たにオンにされて、システムに接続したとき、CPUが、電源が新たにオンにされたそのPCIeエンドポイントデバイスを走査する必要またはリソースを割り振る必要がないように、PCIeエンドポイントデバイスにリソースを割り振るための新しい解決策を提案する。
120 メモリ
121 アプリケーションモジュール
122 ドライブモジュール
122-1 グラフィックス処理ユニットのドライブモジュール
122-2 ネットワークインターフェースカードNICのドライブモジュール
122-3 固体ディスクSSDのドライブモジュール
122-4 ビデオ加速構成要素のドライブモジュール
123 ホストオペレーティングシステム(HOS)
130 PCIeエンドポイントデバイス
131 グラフィックス処理ユニット
132 ネットワークインターフェースカード
133 固体ディスク(SSD)
134 ビデオ加速構成要素
140 PCIeバス
150 PCIe交換器
160 アクセスプロキシ
1101 受信モジュール
1102 生成モジュール
1201 プロセッサ
1202 メモリ
1203 コンピュータ実行命令
1204 システムバス
1205 通信インターフェース
Claims (24)
- プロセッサと、
PCIeエンドポイントデバイスに接続するためのペリフェラル・コンポーネント・インターコネクト・エクスプレスPCIeバスと
を含むコンピュータシステムであって、
前記コンピュータシステムがアクセスプロキシをさらに含み、前記アクセスプロキシが前記プロセッサと前記PCIeエンドポイントデバイスとに接続し、
前記プロセッサが、前記アクセスプロキシによって前記PCIeエンドポイントデバイスにアクセスするように前記プロセッサに命令する動作命令を獲得し、前記PCIeエンドポイントデバイスにアクセスするように前記アクセスプロキシに命令するアクセス要求を前記動作命令に従って前記アクセスプロキシに送信するように構成され、
前記PCIeエンドポイントデバイスへのアクセスが成功であるか否かにかかわらず、前記アクセスプロキシが、前記プロセッサによって送信された前記アクセス要求を受信した後で、前記アクセス要求の応答メッセージを前記プロセッサに送信するように構成され、
前記プロセッサは、更に、前記応答メッセージを受信した後で、前記アクセス要求に対応するタスクが完了していると判断して、前記タスクに関して開始されたタイマを停止するように構成された、コンピュータシステム。 - 前記コンピュータシステムが、
前記アクセスプロキシを指摘する、前記PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って前記動作命令を生成するように構成された、前記PCIeエンドポイントデバイスのドライブモジュールをさらに含み、
前記プロセッサが、前記PCIeエンドポイントデバイスの前記ドライブモジュールによって生成された前記動作命令を獲得するように構成された、請求項1に記載のコンピュータシステム。 - 前記PCIeエンドポイントデバイスのドライブモジュールとホストオペレーティングシステムとをさらに含み、
前記PCIeエンドポイントデバイスの前記ドライブモジュールが、前記PCIeエンドポイントデバイスにアクセスするために、前記ホストオペレーティングシステムを起動させるように構成され、
前記ホストオペレーティングシステムが、前記PCIeエンドポイントデバイスの前記ドライブモジュールによって実行された起動に応答して、前記アクセスプロキシを指摘する、前記PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って前記動作命令を生成するように構成され、
前記プロセッサが、前記ホストオペレーティングシステムによって生成された前記動作命令を獲得するように構成された、請求項1に記載のコンピュータシステム。 - 前記アクセスプロキシがダイレクトメモリアクセスDMAエンジンによって実施され、
前記プロセッサが、前記動作命令に従ってデータ移動要求を前記DMAエンジンに送信するように構成され、
前記DMAエンジンが、前記データ移動要求に従って、前記PCIeエンドポイントデバイスのメモリ内の特定データを前記コンピュータシステムのメモリに移動するか、または前記コンピュータシステムの前記メモリ内の特定データを前記PCIeエンドポイントデバイスの前記メモリ内に移動するように構成される、請求項1から3のいずれか一項に記載のコンピュータシステム。 - 前記アクセスプロキシが、前記PCIeエンドポイントデバイスに対するアクセスが失敗したことを示す第2の通知メッセージを前記プロセッサに送信するようにさらに構成され、
前記プロセッサが、前記第2の通知メッセージを受信した後で、前記アクセスプロキシが前記PCIeエンドポイントデバイスにアクセスするのに失敗した理由を判断し、前記アクセス失敗に関する前記理由が、前記PCIeエンドポイントデバイスが異常にオフラインであるためである場合、前記PCIeエンドポイントデバイスに対するアクセスを停止するようにさらに構成される、請求項1または4に記載のコンピュータシステム。 - PCIe管理モジュールをさらに含み、
前記PCIe管理モジュールが、前記PCIeエンドポイントデバイスが異常にオフラインであることを示す通知を獲得して、前記PCIeエンドポイントデバイスに割り振られたリソースを確保するように構成された、請求項5に記載のコンピュータシステム。 - 前記アクセスプロキシが前記プロセッサと共にパッケージ化された、請求項1から6のいずれか一項に記載のコンピュータシステム。
- 前記アクセスプロキシが前記プロセッサに接続しているプリント回路基板上に溶接される、または、接続ファームウェアを使用することによって、前記プロセッサに接続する、請求項1から7のいずれか一項に記載のコンピュータシステム。
- 前記コンピュータシステムがPCIe交換器をさらに含み、前記PCIe交換器の上流ポートが前記PCIeバスを介して前記プロセッサに接続し、前記PCIe交換器の下流ポートが前記PCIeバスを介して前記PCIeエンドポイントデバイスに接続する、請求項1から8のいずれか1項に記載のコンピュータシステム。
- 前記アクセスプロキシが前記PCIe交換器内にパッケージ化された、請求項9に記載のコンピュータシステム。
- 前記PCIe交換器が前記プロセッサに接続しているプリント回路基板上に溶接されるか、または、接続ファームウェアを使用することによって、前記プロセッサに接続する、請求項10に記載のコンピュータシステム。
- ペリフェラル・コンポーネント・インターコネクト・エクスプレスPCIeエンドポイントデバイスにアクセスするための方法であって、コンピュータシステムのプロセッサがPCIeバスを介して前記PCIeエンドポイントデバイスに接続し、
前記プロセッサによって、動作命令を獲得するステップであって、前記動作命令が、アクセスプロキシを使用することによって前記PCIeエンドポイントデバイスにアクセスするように前記プロセッサに命令する、獲得するステップと、
前記プロセッサによって、前記動作命令に従ってアクセス要求を前記アクセスプロキシに送信するステップであって、前記アクセス要求が前記PCIeエンドポイントデバイスにアクセスするように前記アクセスプロキシに命令する、送信するステップと、
前記PCIeエンドポイントデバイスへのアクセスが成功であるか否かにかかわらず、前記プロセッサによって、前記アクセスプロキシによって送信された前記アクセス要求の応答メッセージを受信するステップと、
前記プロセッサによって、前記応答メッセージを受信した後で、前記アクセス要求に対応するタスクが完了していると判断して、前記タスクに関して開始されたタイマを停止するステップとを含む方法。 - 前記プロセッサによって、動作命令を獲得する前記ステップが、
前記プロセッサによって、前記アクセスプロキシを指摘する、前記PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って、前記PCIeエンドポイントデバイスのドライブモジュールによって生成された前記動作命令を獲得するステップと、
前記プロセッサによって、前記アクセスプロキシを指摘する、前記PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って、ホストオペレーティングシステムによって生成された前記動作命令を獲得するステップと
を含む、請求項12に記載の方法。 - 前記アクセスプロキシがダイレクトメモリアクセスDMAエンジンによって実施され、前記動作命令が、前記DMAエンジンを使用することによって前記PCIeエンドポイントデバイスにアクセスするように前記プロセッサに特に命令し、
前記プロセッサによって、前記動作命令に従ってアクセス要求を前記アクセスプロキシに送信する前記ステップが、
前記プロセッサによって、前記動作命令に従ってデータ移動要求を前記DMAエンジンに送信するステップであって、前記データ移動要求が、前記PCIeエンジンのメモリ内の特定データを前記コンピュータシステムのメモリに移動するか、または前記コンピュータシステムの前記メモリ内の特定データを前記PCIeエンドポイントデバイスの前記メモリに移動するように前記DMAエンジンに命令する、送信するステップ
を含む、請求項12に記載の方法。 - 前記動作命令が、アクセスタイプが読取り動作であることをさらに示し、かつ前記読取り動作の発信源アドレスと前記読取り動作の長さとを示し、
前記プロセッサによって、前記動作命令に従ってデータ移動要求を前記DMAエンジンに送信する前記ステップが、
前記プロセッサによって、前記コンピュータシステムの前記メモリによって割り振られた前記読取り動作の宛先アドレスを獲得するステップと、
前記プロセッサによって、前記データ移動要求を前記DMAエンジンに送信するステップであって、前記データ移動要求が、前記読取り動作の前記長さのデータを前記読取り動作の前記発信源アドレスから前記読取り動作の前記宛先アドレスに移動するように前記DMAエンジンに命令するために、前記読取り動作の前記発信源アドレスと、前記読取り動作の前記宛先アドレスと、前記読取り動作の前記長さとを搬送する、送信するステップとを含む、請求項14に記載の方法。 - 前記プロセッサによって、前記アクセスプロキシによって送信された第2の通知メッセージを受信するステップであって、前記第2の通知メッセージが、前記アクセスプロキシが前記PCIeエンドポイントデバイスにアクセスするのに失敗したことを示す、受信するステップと、
前記プロセッサによって、前記アクセスプロキシが前記PCIeエンドポイントデバイスにアクセスするのに失敗した理由を判断し、前記アクセス失敗の前記理由が、前記PCIeエンドポイントデバイスが異常にオフラインであるためである場合、前記プロセッサによって、前記PCIeエンドポイントデバイスに対するアクセスを停止するステップと
をさらに含む、請求項12から15のいずれか一項に記載の方法。 - 前記PCIeエンドポイントデバイスが異常にオフラインであることを示す通知を獲得して、前記PCIeエンドポイントデバイスに割り振られたリソースを確保するステップ
をさらに含む、請求項16に記載の方法。 - プロセッサと、メモリと、バスと、通信インターフェースとを含むコンピュータであって、
前記メモリがコンピュータ実行命令を記憶するように構成され、前記プロセッサが前記バスを介して前記メモリに接続し、前記コンピュータが実行しているとき、前記コンピュータが、以下のアクセスステップ、すなわち、
前記プロセッサによって、動作命令を獲得するステップであって、前記動作命令が、アクセスプロキシを使用することによって前記PCIeエンドポイントデバイスにアクセスするように前記プロセッサに命令する、獲得するステップと、
前記プロセッサによって、前記動作命令に従ってアクセス要求を前記アクセスプロキシに送信するステップであって、前記アクセス要求が前記PCIeエンドポイントデバイスにアクセスするように前記アクセスプロキシに命令する、送信するステップと、
前記PCIeエンドポイントデバイスへのアクセスが成功であるか否かにかかわらず、前記プロセッサによって、前記アクセスプロキシによって送信された前記アクセス要求の応答メッセージを受信するステップと、
前記プロセッサによって、前記応答メッセージを受信した後で、前記アクセス要求に対応するタスクが完了していると判断して、前記タスクに関して開始されたタイマを停止するステップと
を実行するように、前記プロセッサが、前記メモリ内に記憶された前記コンピュータ実行命令を実行するコンピュータ。 - コンピュータ実行命令を含むコンピュータ可読記録媒体であって、コンピュータのプロセッサが前記コンピュータ実行命令を実行するとき、コンピュータが請求項12から17のいずれか一項に記載のアクセス方法を実行するコンピュータ可読記録媒体。
- ペリフェラル・コンポーネント・インターコネクト・エクスプレスPCIeエンドポイントデバイスにアクセスするための方法であって、前記PCIeエンドポイントデバイスがPCIeバスを介してコンピュータシステムのプロセッサに接続し、
起動命令を受信するステップであって、前記起動命令が前記PCIeエンドポイントデバイスにアクセスする必要があることを示す、受信するステップと、
前記PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って動作命令を生成するステップであって、前記プリセットされたインターフェースは、アクセスプロキシを指し示し、前記動作命令が、前記アクセスプロキシを使用することによって前記PCIeエンドポイントデバイスにアクセスするように前記プロセッサに命令するために使用される、生成するステップとを含む方法。 - 起動命令を受信する前記ステップが、
前記PCIeエンドポイントデバイスのドライブモジュールによって、前記起動命令を受信するステップを含み、
それに応じて、前記PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って動作命令を生成する前記ステップが、
前記PCIeエンドポイントデバイスの前記ドライブモジュールによって、前記PCIeエンドポイントデバイスにアクセスするための前記プリセットインターフェースに従って、前記PCIeエンドポイントデバイスにアクセスするための前記動作命令を生成するステップを含む、請求項20に記載の方法。 - 起動命令を受信する前記ステップが、
前記コンピュータシステムのホストオペレーティングシステムによって、前記PCIeエンドポイントデバイスのドライブモジュールの前記起動命令を受信するステップを含み、
それに応じて、前記PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って動作命令を生成する前記ステップが、
前記ホストオペレーティングシステムによって、前記PCIeエンドポイントデバイスにアクセスするための前記プリセットインターフェースに従って、前記PCIeエンドポイントデバイスにアクセスするための前記動作命令を生成するステップを含む、請求項20に記載の方法。 - プロセッサと、メモリと、バスと、通信インターフェースとを含むコンピュータであって、
前記メモリがコンピュータ実行命令を記憶するように構成され、前記プロセッサが前記バスを介して前記メモリに接続し、前記コンピュータが実行しているとき、前記コンピュータが、以下のステップ、すなわち、
起動命令を受信するステップであって、前記起動命令がPCIeエンドポイントデバイスにアクセスする必要があることを示す、受信するステップと、
前記PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って、前記PCIeエンドポイントデバイスにアクセスするための動作命令を生成するステップであって、前記プリセットされたインターフェースは、アクセスプロキシを指し示し、前記動作命令が、前記アクセスプロキシを使用することによって前記PCIeエンドポイントデバイスにアクセスするように前記プロセッサに命令するために使用される、生成するステップと
を実行するように、前記プロセッサが、前記メモリ内に記憶された前記コンピュータ実行命令を実行するコンピュータ。 - コンピュータ実行命令を含むコンピュータ可読記録媒体であって、前記コンピュータのプロセッサが前記コンピュータ実行命令を実行するとき、コンピュータが以下のステップ、すなわち、
起動命令を受信するステップであって、前記起動命令がPCIeエンドポイントデバイスにアクセスする必要があることを示す、受信するステップと、
前記PCIeエンドポイントデバイスにアクセスするためにプリセットされたインターフェースに従って、前記PCIeエンドポイントデバイスにアクセスするための動作命令を生成するステップであって、前記プリセットされたインターフェースは、アクセスプロキシを指し示し、前記動作命令が、前記アクセスプロキシを使用することによって前記PCIeエンドポイントデバイスにアクセスするように前記プロセッサに命令するために使用される、生成するステップと
を行うコンピュータ可読記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/075088 WO2014176775A1 (zh) | 2013-05-02 | 2013-05-02 | 一种计算机系统、高速外围组件互联端点设备的访问方法、和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015519665A JP2015519665A (ja) | 2015-07-09 |
JP5953573B2 true JP5953573B2 (ja) | 2016-07-20 |
Family
ID=51135815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015514331A Active JP5953573B2 (ja) | 2013-05-02 | 2013-05-02 | ペリフェラル・コンポーネント・インターコネクト・エクスプレス・エンドポイントデバイスにアクセスするためのコンピュータシステム、方法、および装置 |
Country Status (10)
Country | Link |
---|---|
US (3) | US8782317B1 (ja) |
EP (3) | EP2811413B1 (ja) |
JP (1) | JP5953573B2 (ja) |
KR (1) | KR101539878B1 (ja) |
AU (1) | AU2013263866B2 (ja) |
BR (1) | BR112013033792B1 (ja) |
CA (1) | CA2833940C (ja) |
ES (3) | ES2610978T3 (ja) |
WO (1) | WO2014176775A1 (ja) |
ZA (1) | ZA201308948B (ja) |
Families Citing this family (169)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
WO2013101209A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Thin translation for system access of non volatile semicondcutor storage as random access memory |
JP5953573B2 (ja) * | 2013-05-02 | 2016-07-20 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | ペリフェラル・コンポーネント・インターコネクト・エクスプレス・エンドポイントデバイスにアクセスするためのコンピュータシステム、方法、および装置 |
US9552323B1 (en) * | 2013-07-05 | 2017-01-24 | Altera Corporation | High-speed peripheral component interconnect (PCIe) input-output devices with receive buffer management circuitry |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US8850108B1 (en) | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US10114757B2 (en) | 2014-07-02 | 2018-10-30 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US9836245B2 (en) | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9747229B1 (en) * | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
US10229085B2 (en) | 2015-01-23 | 2019-03-12 | Hewlett Packard Enterprise Development Lp | Fibre channel hardware card port assignment and management method for port names |
US9948615B1 (en) | 2015-03-16 | 2018-04-17 | Pure Storage, Inc. | Increased storage unit encryption based on loss of trust |
US11294893B2 (en) | 2015-03-20 | 2022-04-05 | Pure Storage, Inc. | Aggregation of queries |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9817576B2 (en) | 2015-05-27 | 2017-11-14 | Pure Storage, Inc. | Parallel update to NVRAM |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US11232079B2 (en) | 2015-07-16 | 2022-01-25 | Pure Storage, Inc. | Efficient distribution of large directories |
CN105938461B (zh) * | 2015-07-31 | 2019-02-19 | 杭州迪普科技股份有限公司 | 一种dma数据传输方法、装置以及网络设备 |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
ES2726302T3 (es) * | 2015-09-21 | 2019-10-03 | Huawei Tech Co Ltd | Sistema informático y procedimiento para acceder a un dispositivo de punto extremo del mismo |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
CN105824622B (zh) * | 2016-03-11 | 2020-04-24 | 联想(北京)有限公司 | 数据处理方法及电子设备 |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US11449232B1 (en) | 2016-07-22 | 2022-09-20 | Pure Storage, Inc. | Optimal scheduling of flash operations |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US10216420B1 (en) | 2016-07-24 | 2019-02-26 | Pure Storage, Inc. | Calibration of flash channels in SSD |
US11080155B2 (en) | 2016-07-24 | 2021-08-03 | Pure Storage, Inc. | Identifying error types among flash memory |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10613974B2 (en) | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
US12039165B2 (en) | 2016-10-04 | 2024-07-16 | Pure Storage, Inc. | Utilizing allocation shares to improve parallelism in a zoned drive storage system |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US10979223B2 (en) | 2017-01-31 | 2021-04-13 | Pure Storage, Inc. | Separate encryption for a solid-state drive |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
CN108733479B (zh) * | 2017-04-24 | 2021-11-02 | 上海宝存信息科技有限公司 | 卸载固态硬盘卡的方法以及使用该方法的装置 |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US10223318B2 (en) | 2017-05-31 | 2019-03-05 | Hewlett Packard Enterprise Development Lp | Hot plugging peripheral connected interface express (PCIe) cards |
US11467913B1 (en) | 2017-06-07 | 2022-10-11 | Pure Storage, Inc. | Snapshots with crash consistency in a storage system |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
US11138103B1 (en) | 2017-06-11 | 2021-10-05 | Pure Storage, Inc. | Resiliency groups |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10210926B1 (en) | 2017-09-15 | 2019-02-19 | Pure Storage, Inc. | Tracking of optimum read voltage thresholds in nand flash devices |
US10877827B2 (en) | 2017-09-15 | 2020-12-29 | Pure Storage, Inc. | Read voltage optimization |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
US10515701B1 (en) | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
US12032848B2 (en) | 2021-06-21 | 2024-07-09 | Pure Storage, Inc. | Intelligent block allocation in a heterogeneous storage system |
US12067274B2 (en) | 2018-09-06 | 2024-08-20 | Pure Storage, Inc. | Writing segments and erase blocks based on ordering |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10990566B1 (en) | 2017-11-20 | 2021-04-27 | Pure Storage, Inc. | Persistent file locks in a storage system |
CN107957885B (zh) * | 2017-12-01 | 2021-02-26 | 麒麟软件有限公司 | 一种基于飞腾平台的pcie链路设备待机与恢复方法 |
US10719265B1 (en) | 2017-12-08 | 2020-07-21 | Pure Storage, Inc. | Centralized, quorum-aware handling of device reservation requests in a storage system |
US10929053B2 (en) | 2017-12-08 | 2021-02-23 | Pure Storage, Inc. | Safe destructive actions on drives |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US10733053B1 (en) | 2018-01-31 | 2020-08-04 | Pure Storage, Inc. | Disaster recovery for high-bandwidth distributed archives |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
CN108509155B (zh) * | 2018-03-31 | 2021-07-13 | 深圳忆联信息系统有限公司 | 一种远程访问磁盘的方法和装置 |
US12001688B2 (en) | 2019-04-29 | 2024-06-04 | Pure Storage, Inc. | Utilizing data views to optimize secure data access in a storage system |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US10853146B1 (en) | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US12079494B2 (en) | 2018-04-27 | 2024-09-03 | Pure Storage, Inc. | Optimizing storage system upgrades to preserve resources |
US10931450B1 (en) | 2018-04-27 | 2021-02-23 | Pure Storage, Inc. | Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US11438279B2 (en) | 2018-07-23 | 2022-09-06 | Pure Storage, Inc. | Non-disruptive conversion of a clustered service from single-chassis to multi-chassis |
US11017071B2 (en) * | 2018-08-02 | 2021-05-25 | Dell Products L.P. | Apparatus and method to protect an information handling system against other devices |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US10846155B2 (en) * | 2018-10-16 | 2020-11-24 | Samsung Electronics Co., Ltd. | Method for NVMe SSD based storage service using RPC and gRPC tunneling over PCIe + |
US10454498B1 (en) | 2018-10-18 | 2019-10-22 | Pure Storage, Inc. | Fully pipelined hardware engine design for fast and efficient inline lossless data compression |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
CN109684084A (zh) * | 2018-12-12 | 2019-04-26 | 浪潮(北京)电子信息产业有限公司 | 一种总线资源的分配方法、系统及相关组件 |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US12087382B2 (en) | 2019-04-11 | 2024-09-10 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
JP7326863B2 (ja) * | 2019-05-17 | 2023-08-16 | オムロン株式会社 | 転送装置、情報処理装置、および、データ転送方法 |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11714572B2 (en) | 2019-06-19 | 2023-08-01 | Pure Storage, Inc. | Optimized data resiliency in a modular storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US12001684B2 (en) | 2019-12-12 | 2024-06-04 | Pure Storage, Inc. | Optimizing dynamic power loss protection adjustment in a storage system |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US11507297B2 (en) | 2020-04-15 | 2022-11-22 | Pure Storage, Inc. | Efficient management of optimal read levels for flash storage systems |
US11256587B2 (en) | 2020-04-17 | 2022-02-22 | Pure Storage, Inc. | Intelligent access to a storage device |
US12056365B2 (en) | 2020-04-24 | 2024-08-06 | Pure Storage, Inc. | Resiliency for a storage system |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
CN111767242B (zh) * | 2020-05-28 | 2022-04-15 | 西安广和通无线软件有限公司 | Pcie设备控制方法、装置、计算机设备和存储介质 |
US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
US11513974B2 (en) | 2020-09-08 | 2022-11-29 | Pure Storage, Inc. | Using nonce to control erasure of data blocks of a multi-controller storage system |
US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US12067282B2 (en) | 2020-12-31 | 2024-08-20 | Pure Storage, Inc. | Write path selection |
US12061814B2 (en) | 2021-01-25 | 2024-08-13 | Pure Storage, Inc. | Using data similarity to select segments for garbage collection |
US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
US12099742B2 (en) | 2021-03-15 | 2024-09-24 | Pure Storage, Inc. | Utilizing programming page size granularity to optimize data segment storage in a storage system |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
US11832410B2 (en) | 2021-09-14 | 2023-11-28 | Pure Storage, Inc. | Mechanical energy absorbing bracket apparatus |
CN113868181B (zh) * | 2021-09-30 | 2023-07-21 | 苏州浪潮智能科技有限公司 | 一种存储设备pcie链路协商方法、系统、设备及介质 |
EP4213007A3 (en) * | 2021-12-24 | 2023-09-27 | Samsung Electronics Co., Ltd. | Storage device having deduplication manager, method of operating the same, and method of operating storage system including the same |
US11994723B2 (en) | 2021-12-30 | 2024-05-28 | Pure Storage, Inc. | Ribbon cable alignment apparatus |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5630076A (en) * | 1995-05-05 | 1997-05-13 | Apple Computer, Inc. | Dynamic device matching using driver candidate lists |
KR100244778B1 (ko) * | 1997-07-19 | 2000-02-15 | 윤종용 | 정상 동작중인 시스템에 보드를 실장 또는 탈장하는 회로 |
US7152167B2 (en) | 2002-12-11 | 2006-12-19 | Intel Corporation | Apparatus and method for data bus power control |
US7404047B2 (en) | 2003-05-27 | 2008-07-22 | Intel Corporation | Method and apparatus to improve multi-CPU system performance for accesses to memory |
US7484045B2 (en) | 2004-03-30 | 2009-01-27 | Intel Corporation | Store performance in strongly-ordered microprocessor architecture |
US7484016B2 (en) * | 2004-06-30 | 2009-01-27 | Intel Corporation | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
US7543094B2 (en) | 2005-07-05 | 2009-06-02 | Via Technologies, Inc. | Target readiness protocol for contiguous write |
US7546487B2 (en) * | 2005-09-15 | 2009-06-09 | Intel Corporation | OS and firmware coordinated error handling using transparent firmware intercept and firmware services |
JP4809166B2 (ja) | 2006-09-06 | 2011-11-09 | 株式会社日立製作所 | リモートi/oを構成する計算機システム及びi/oデータ転送方法 |
US7657663B2 (en) * | 2006-12-19 | 2010-02-02 | International Business Machines Corporation | Migrating stateless virtual functions from one virtual plane to another |
US7836238B2 (en) * | 2006-12-19 | 2010-11-16 | International Business Machines Corporation | Hot-plug/remove of a new component in a running PCIe fabric |
US7835391B2 (en) | 2007-03-07 | 2010-11-16 | Texas Instruments Incorporated | Protocol DMA engine |
US8141094B2 (en) * | 2007-12-03 | 2012-03-20 | International Business Machines Corporation | Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions |
US7934033B2 (en) * | 2008-03-25 | 2011-04-26 | Aprius, Inc. | PCI-express function proxy |
CN101763221B (zh) * | 2008-12-24 | 2013-01-30 | 成都市华为赛门铁克科技有限公司 | 一种存储方法、存储系统及控制器 |
CN101631083B (zh) * | 2009-08-07 | 2012-04-04 | 成都市华为赛门铁克科技有限公司 | 设备接管方法和装置及双控系统 |
US8521915B2 (en) * | 2009-08-18 | 2013-08-27 | Fusion-Io, Inc. | Communicating between host computers and peripheral resources in an input/output (I/O) virtualization system |
JP5953573B2 (ja) * | 2013-05-02 | 2016-07-20 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | ペリフェラル・コンポーネント・インターコネクト・エクスプレス・エンドポイントデバイスにアクセスするためのコンピュータシステム、方法、および装置 |
-
2013
- 2013-05-02 JP JP2015514331A patent/JP5953573B2/ja active Active
- 2013-05-02 WO PCT/CN2013/075088 patent/WO2014176775A1/zh active Application Filing
- 2013-05-02 AU AU2013263866A patent/AU2013263866B2/en active Active
- 2013-05-02 KR KR1020137032327A patent/KR101539878B1/ko active IP Right Grant
- 2013-05-02 EP EP13792568.1A patent/EP2811413B1/en active Active
- 2013-05-02 EP EP16180277.2A patent/EP3173936B1/en active Active
- 2013-05-02 ES ES13792568.1T patent/ES2610978T3/es active Active
- 2013-05-02 ES ES16180277.2T patent/ES2687609T3/es active Active
- 2013-05-02 ES ES18155911T patent/ES2866156T3/es active Active
- 2013-05-02 BR BR112013033792-3A patent/BR112013033792B1/pt active IP Right Grant
- 2013-05-02 CA CA2833940A patent/CA2833940C/en active Active
- 2013-05-02 EP EP18155911.3A patent/EP3385854B1/en active Active
- 2013-11-27 ZA ZA2013/08948A patent/ZA201308948B/en unknown
- 2013-12-30 US US14/143,460 patent/US8782317B1/en active Active
-
2014
- 2014-06-06 US US14/297,959 patent/US10025745B2/en active Active
-
2015
- 2015-05-04 US US14/703,328 patent/US9477632B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2811413A1 (en) | 2014-12-10 |
KR20150005854A (ko) | 2015-01-15 |
ES2866156T3 (es) | 2021-10-19 |
US8782317B1 (en) | 2014-07-15 |
US20140331000A1 (en) | 2014-11-06 |
ES2610978T3 (es) | 2017-05-04 |
KR101539878B1 (ko) | 2015-07-27 |
JP2015519665A (ja) | 2015-07-09 |
EP2811413A4 (en) | 2014-12-10 |
EP2811413B1 (en) | 2016-10-19 |
CN104335194A (zh) | 2015-02-04 |
EP3173936B1 (en) | 2018-07-18 |
US9477632B2 (en) | 2016-10-25 |
CA2833940A1 (en) | 2014-11-02 |
AU2013263866A1 (en) | 2014-12-04 |
ZA201308948B (en) | 2016-01-27 |
BR112013033792A2 (pt) | 2017-02-07 |
EP3173936A1 (en) | 2017-05-31 |
EP3385854A1 (en) | 2018-10-10 |
CA2833940C (en) | 2018-12-04 |
US20150234772A1 (en) | 2015-08-20 |
WO2014176775A1 (zh) | 2014-11-06 |
EP3385854B1 (en) | 2021-01-27 |
US10025745B2 (en) | 2018-07-17 |
BR112013033792B1 (pt) | 2018-12-04 |
AU2013263866B2 (en) | 2016-02-18 |
ES2687609T3 (es) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5953573B2 (ja) | ペリフェラル・コンポーネント・インターコネクト・エクスプレス・エンドポイントデバイスにアクセスするためのコンピュータシステム、方法、および装置 | |
JP6140303B2 (ja) | 仮想マシンのライブマイグレーション方法、仮想マシンのメモリデータ処理方法、サーバ及び仮想マシンシステム | |
TWI453597B (zh) | 經由在一輸入輸出虛擬管理分割中之虛擬仲介以管理輸入輸出虛擬配接器的系統及方法 | |
TWI616758B (zh) | 遠端多電腦切換技術之儲存裝置、系統及方法 | |
US10027532B2 (en) | Storage control apparatus and storage control method | |
JP6064237B2 (ja) | メモリデータを移行するための方法、コンピュータ、および装置 | |
KR102147629B1 (ko) | 플렉시블 서버 시스템 | |
RU2614569C2 (ru) | Стойка с функцией автоматического восстановления и способ автоматического восстановления для этой стойки | |
CN114817105A (zh) | 设备枚举的方法、装置、计算机设备以及存储介质 | |
CN110413554B (zh) | 热插拔系统及热插拔方法 | |
JP6357879B2 (ja) | システムおよび障害処理方法 | |
CN113722147A (zh) | 一种保持业务连接方法及相关设备 | |
CN104335194B (zh) | 一种计算机系统、高速外围组件互联端点设备的访问方法、和装置 | |
US20190266061A1 (en) | Information processing apparatus, control method for information processing apparatus, and computer-readable recording medium having stored therein control program for information processing apparatus | |
CN104283950A (zh) | 一种业务请求处理的方法、装置及系统 | |
JP6112205B2 (ja) | 情報処理システム、装置、方法及びプログラム | |
CN116700594A (zh) | 存储设备、存储方法、计算设备及存储介质 | |
CN117251039A (zh) | 设备复位方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150623 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150924 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160308 |
|
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: 20160517 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160520 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5953573 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |