JP7501957B2 - ネットワークアダプタのデータ処理方法およびネットワークアダプタ - Google Patents
ネットワークアダプタのデータ処理方法およびネットワークアダプタ Download PDFInfo
- Publication number
- JP7501957B2 JP7501957B2 JP2022572527A JP2022572527A JP7501957B2 JP 7501957 B2 JP7501957 B2 JP 7501957B2 JP 2022572527 A JP2022572527 A JP 2022572527A JP 2022572527 A JP2022572527 A JP 2022572527A JP 7501957 B2 JP7501957 B2 JP 7501957B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- network adapter
- information
- local server
- command
- 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
- 238000003672 processing method Methods 0.000 title claims description 12
- 238000003860 storage Methods 0.000 claims description 127
- 238000000034 method Methods 0.000 claims description 105
- 230000004044 response Effects 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 35
- 238000013475 authorization Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 66
- 230000005540 biological transmission Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000004088 simulation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- 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
-
- 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/0626—Reducing size or complexity of storage systems
-
- 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
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/128—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
-
- 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
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/061—Improving I/O performance
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer And Data Communications (AREA)
Description
[他の可能な項目]
[項目1]
ネットワークアダプタのためのデータ処理方法であって、
前記ネットワークアダプタが、第1の入出力I/Oコマンドを取得する段階であって、前記第1のI/Oコマンドは、ローカルサーバに記憶されたデータを少なくとも1つのピアサーバに書き込むことを命令し、前記第1のI/Oコマンドは、ローカルサーバに記憶されている前記データのアドレス情報および長さ情報を含む、段階と、
前記ネットワークアダプタが、前記アドレス情報および前記長さ情報に基づいて前記データを分割し、アドレス情報および長さ情報の複数のグループを取得する段階と、
前記ネットワークアダプタが、アドレス情報と長さ情報の前記複数のグループに基づいて、前記ローカルサーバから、アドレス情報と前記長さ情報の前記複数のグループに対応するデータを取得する段階と、前記データを前記少なくとも1つのピアサーバへ送信する段階と、を備える方法。
[項目2]
前記ネットワークアダプタが、アドレス情報と長さ情報の前記複数のグループに基づいて、前記ローカルサーバから、アドレス情報と長さ情報の前記複数のグループに対応するデータを取得する前記段階が、
前記ネットワークアダプタが、第1の仮想マシンVMから、アドレス情報と長さ情報の前記複数のグループと、前記第1のI/Oコマンドを配信する前記ローカルサーバ内の前記第1のVMに対応する識別子とに基づいて、アドレス情報と長さ情報の前記複数のグループに対応する前記データを取得する段階を備える、項目1に記載の方法。
[項目3]
前記ネットワークアダプタ上のメモリは、前記データを保存しない、項目1または2に記載の方法。
[項目4]
前記ネットワークアダプタが、複数のI/Oコマンドを受信する段階と、
前記ネットワークアダプタが、前記複数のI/Oコマンドが記憶されている前記ピアサーバおよび/または前記複数のI/Oコマンドを配信する前記ローカルサーバ内の仮想マシンVMの記憶アドレスに基づいて、前記複数のI/Oコマンドから前記第1のI/Oコマンドを選択する段階と、をさらに備える項目1から3のいずれか1項に記載の方法。
[項目5]
前記ネットワークアダプタがハードウェアエンジンを備え、前記ハードウェアエンジンがデータプレーンを処理するために使用され、
前記ネットワークアダプタが、前記複数のI/Oコマンドが記憶されている前記ピアサーバおよび/または前記複数のI/Oコマンドを配信する前記ローカルサーバ内の仮想マシンVMの記憶アドレスに基づいて、前記複数のI/Oコマンドから前記第1のI/Oコマンドを選択する前記段階は、
前記ネットワークアダプタ上のハードウェアエンジンが、複数のI/Oコマンドが記憶されている前記ピアサーバおよび/または前記複数のI/Oコマンドを配信する前記ローカルサーバ内の仮想マシンVMの記憶アドレスに基づいて、前記複数のI/Oコマンドから第1のI/Oコマンドを選択する段階を備える、項目4に記載の方法。
[項目6]
前記ネットワークアダプタが、前記第1のI/Oコマンドのコンテキスト情報に基づいて、前記複数のデータがすべて前記少なくとも1つのピアサーバに書き込まれているかを決定する段階であって、前記第1のI/Oコマンドの前記コンテキスト情報は、前記少なくとも1つのピアサーバ内の前記複数のデータの記憶状態を含む、段階と、
前記複数のデータがすべて前記少なくとも1つのピアサーバに別々に書き込まれたとき、前記ネットワークアダプタが、インタフェースを通じて前記ローカルサーバにI/O書き込み完了メッセージを送信する段階と、をさらに備える項目1から5のいずれか1項に記載の方法。
[項目7]
ネットワークアダプタのためのデータ処理方法であって、
前記ネットワークアダプタが、第2のI/Oコマンドを取得する段階であって、前記第2のI/Oコマンドが、少なくとも1つのピアサーバのデータをローカルサーバに記憶することを命令し、前記第2のI/Oコマンドが、前記ローカルサーバに書き込まれる前記データのアドレス情報および長さ情報を含む段階と、
前記ネットワークアダプタが、前記アドレス情報および前記長さ情報に基づいて前記第2のI/Oコマンドを分割し、複数のI/O読み出しメッセージを取得する段階であって、前記複数のI/O読み出しメッセージの各々は、ローカルサーバに書き込まれる各データの情報を含む段階と、
前記ネットワークアダプタが、前記I/O読み出しメッセージを前記少なくとも1つのピアサーバに別々に送信する段階と、を備える方法。
[項目8]
前記ローカルサーバに書き込まれる前記各データの情報は、
前記ローカルサーバに書き込まれる前記各データのアドレス情報および長さ情報、
前記ローカルサーバに書き込まれる前記各データのアドレス情報および長さ情報と、前記ローカルサーバに存在し、前記第2のI/Oコマンドを配信するVMに関する情報、または、
前記ローカルサーバに書き込まれる前記データの第1の識別子IDおよびオフセット情報であって、前記第1のIDは、前記ローカルサーバに存在し前記第2のI/Oコマンドを配信するVMに関する情報と、前記VMに書き込まれる前記データのアドレス情報および長さ情報の複数のグループとを示すために使用される情報、のいずれかを含む項目7に記載の方法。
[項目9]
前記ネットワークアダプタが、前記ピアサーバから第1のI/O読み出し応答メッセージを受信する段階であって、前記第1のI/O読み出し応答メッセージは、前記ローカルサーバが前記ピアサーバから取得する必要がある第1のデータを含む段階と、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに基づいて、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する段階と、
前記ネットワークアダプタが、前記アドレス情報および前記長さ情報に基づいて、前記第1のデータを前記ローカルサーバに記憶する段階と、をさらに備える項目7または8に記載の方法。
[項目10]
前記第1のI/O読み出し応答メッセージは、前記ローカルサーバに書き込まれる前記第1のデータの前記第1のIDおよびオフセット情報を含み、および、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに基づいて、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する前記段階は、
前記ネットワークアダプタが、前記第1のIDに基づいて、VMに書き込まれる前記データのアドレス情報および長さ情報の前記複数のグループを決定する段階と、
前記ネットワークアダプタが、前記オフセット情報に基づいて、アドレス情報および長さ情報の前記複数のグループから、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する段階と、を備える項目7から9のいずれか1項に記載の方法。
[項目11]
前記第1のI/O読み出し応答メッセージは、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報と、前記ローカルサーバに存在し、前記第2のI/Oコマンドを配信するVMに関する情報とを含み、
前記第1のI/O読み出し応答メッセージに基づいて、前記ネットワークアダプタによって、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する前記段階は、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに含まれる情報に基づいて、ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する段階を含む、項目7から10のいずれか1項に記載の方法。
[項目12]
前記ネットワークアダプタが、前記アドレス情報および前記長さ情報に基づいて、前記第1のデータを前記ローカルサーバに記憶する前記段階は、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに含まれるアドレス情報および長さ情報が許可テーブル内に存在し、前記許可テーブルが、前記ローカルサーバ内の書き込みデータのアドレス情報および長さ情報の複数のグループを含むことを決定する段階と、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに含まれる前記アドレス情報および前記長さ情報に基づき、前記第1のデータを前記ローカルサーバに記憶する段階と、を含む項目11に記載の方法。
[項目13]
前記ネットワークアダプタが、前記第2のI/Oコマンドのコンテキスト情報に基づいて、前記複数のデータがすべて前記ローカルサーバに書き込まれているかを決定する段階であって、前記第2のI/Oコマンドのコンテキスト情報は、前記ローカルサーバの前記複数のデータの保存完了状態を含む段階と、
前記複数のデータがすべて前記ローカルサーバに書き込まれたとき、前記ネットワークアダプタが、前記ローカルサーバにI/O読み出し完了メッセージをインタフェース経由で送信する段階と、をさらに備える項目7から12のいずれか1項に記載の方法。
[項目14]
プロセッサとメモリとを備え、前記プロセッサが前記メモリ内の命令を実行することにより、前記ネットワークアダプタが項目1から6のいずれか1項に記載の方法を実行するネットワークアダプタ。
[項目15]
プロセッサとメモリとを備え、前記プロセッサが前記メモリ内の命令を実行することにより、前記ネットワークアダプタが項目7から13のいずれか1項に記載の方法を実行するネットワークアダプタ。
[項目16]
命令を含み、前記命令が項目1から6のいずれか1項に記載の方法を実施するために使用されるコンピュータ可読記憶媒体。
[項目17]
命令を含み、前記命令が項目7から13のいずれか1項に記載の方法を実施するために使用されるコンピュータ可読記憶媒体。
Claims (16)
- ネットワークアダプタのためのデータ処理方法であって、
前記ネットワークアダプタが、第1のI/Oコマンドを取得する段階であって、前記第1のI/Oコマンドは、ローカルサーバに記憶されたデータを少なくとも1つのリモートサーバに書き込むことを命令し、前記第1のI/Oコマンドは、ローカルサーバに記憶されている前記データのアドレス情報および長さ情報を含む、段階と、
前記ネットワークアダプタが、前記アドレス情報および前記長さ情報に基づいて前記データを分割し、アドレス情報および長さ情報の複数のグループを取得する段階と、
前記ネットワークアダプタが、アドレス情報と長さ情報の前記複数のグループに基づいて、前記ローカルサーバから、アドレス情報と前記長さ情報の前記複数のグループに対応するデータを取得する段階と、前記データを前記少なくとも1つのリモートサーバへ送信する段階と、を備え、
前記ネットワークアダプタ上のメモリは、前記データを保存しない、方法。 - 前記ネットワークアダプタが、アドレス情報と長さ情報の前記複数のグループに基づいて、前記ローカルサーバから、アドレス情報と長さ情報の前記複数のグループに対応するデータを取得する前記段階が、
前記ネットワークアダプタが、第1のVMから、アドレス情報と長さ情報の前記複数のグループと、前記第1のI/Oコマンドを配信する前記ローカルサーバ内の前記第1のVMに対応する識別子とに基づいて、アドレス情報と長さ情報の前記複数のグループに対応する前記データを取得する段階を備える、請求項1に記載の方法。
方法。 - 前記ネットワークアダプタが、複数のI/Oコマンドを受信する段階と、
前記ネットワークアダプタが、前記複数のI/Oコマンドが記憶されている前記リモートサーバおよび/または前記複数のI/Oコマンドを配信する前記ローカルサーバ内の仮想マシンVMの記憶アドレスに基づいて、前記複数のI/Oコマンドから前記第1のI/Oコマンドを選択する段階と、をさらに備える請求項1に記載の方法。 - 前記ネットワークアダプタがハードウェアエンジンを備え、前記ハードウェアエンジンがデータプレーンを処理するために使用され、
前記ネットワークアダプタが、前記複数のI/Oコマンドが記憶されている前記リモートサーバおよび/または前記複数のI/Oコマンドを配信する前記ローカルサーバ内の仮想マシンVMの記憶アドレスに基づいて、前記複数のI/Oコマンドから前記第1のI/Oコマンドを選択する前記段階は、
前記ネットワークアダプタ上のハードウェアエンジンが、複数のI/Oコマンドが記憶されている前記リモートサーバおよび/または前記複数のI/Oコマンドを配信する前記ローカルサーバ内の仮想マシンVMの記憶アドレスに基づいて、前記複数のI/Oコマンドから第1のI/Oコマンドを選択する段階を備える、請求項3に記載の方法。 - 前記ネットワークアダプタが、前記第1のI/Oコマンドのコンテキスト情報に基づいて、複数のデータがすべて前記少なくとも1つのリモートサーバに書き込まれているかを決定する段階であって、前記第1のI/Oコマンドの前記コンテキスト情報は、前記少なくとも1つのリモートサーバ内の前記複数のデータの記憶状態を含む、段階と、
前記複数のデータがすべて前記少なくとも1つのリモートサーバに別々に書き込まれたとき、前記ネットワークアダプタが、インタフェースを通じて前記ローカルサーバにI/O書き込み完了メッセージを送信する段階と、をさらに備える請求項1から4のいずれか1項に記載の方法。 - ネットワークアダプタのためのデータ処理方法であって、
前記ネットワークアダプタが、第2のI/Oコマンドを取得する段階であって、前記第2のI/Oコマンドが、少なくとも1つのリモートサーバのデータをローカルサーバに記憶することを命令し、前記第2のI/Oコマンドが、前記ローカルサーバに書き込まれる前記データのアドレス情報および長さ情報を含む段階と、
前記ネットワークアダプタが、前記アドレス情報および前記長さ情報に基づいて前記第2のI/Oコマンドを分割し、複数のI/O読み出しメッセージを取得する段階であって、前記複数のI/O読み出しメッセージの各々は、ローカルサーバに書き込まれる複数のデータの各データの情報を含む段階と、
前記ネットワークアダプタが、前記I/O読み出しメッセージを前記少なくとも1つのリモートサーバに別々に送信する段階と、を備え、
前記ネットワークアダプタ上のメモリは、前記データを保存しない、方法。 - 前記ローカルサーバに書き込まれる複数のデータの前記各データの前記情報は、
前記ローカルサーバに書き込まれる前記各データのアドレス情報および長さ情報、
前記ローカルサーバに書き込まれる前記各データのアドレス情報および長さ情報、ならびに前記ローカルサーバに存在し、前記第2のI/Oコマンドを配信するVMに関する情報、または、
前記ローカルサーバに書き込まれる前記データの第1のIDおよびオフセット情報
のいずれか1つを含み、
前記第1のIDは、前記ローカルサーバに存在し前記第2のI/Oコマンドを配信するVMに関する情報と、前記VMに書き込まれる前記データのアドレス情報および長さ情報の複数のグループとを示すために使用される、請求項6に記載の方法。 - 前記ネットワークアダプタが、前記リモートサーバから第1のI/O読み出し応答メッセージを受信する段階であって、前記第1のI/O読み出し応答メッセージは、前記ローカルサーバが前記リモートサーバから取得する必要がある第1のデータを含む段階と、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに基づいて、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する段階と、
前記ネットワークアダプタが、前記アドレス情報および前記長さ情報に基づいて、前記第1のデータを前記ローカルサーバに記憶する段階と、をさらに備える請求項7に記載の方法。 - 前記第1のI/O読み出し応答メッセージは、前記ローカルサーバに書き込まれる前記第1のデータの前記第1のIDおよびオフセット情報を含み、および、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに基づいて、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する前記段階は、
前記ネットワークアダプタが、前記第1のIDに基づいて、VMに書き込まれる前記データのアドレス情報および長さ情報の前記複数のグループを決定する段階と、
前記ネットワークアダプタが、前記オフセット情報に基づいて、アドレス情報および長さ情報の前記複数のグループから、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する段階と、を備える請求項8に記載の方法。 - 前記第1のI/O読み出し応答メッセージは、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報と、前記ローカルサーバに存在し、前記第2のI/Oコマンドを配信するVMに関する情報とを含み、
前記第1のI/O読み出し応答メッセージに基づいて、前記ネットワークアダプタによって、前記ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する前記段階は、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに含まれる情報に基づいて、ローカルサーバに書き込まれる前記第1のデータのアドレス情報および長さ情報を決定する段階を含む、請求項8または9に記載の方法。 - 前記ネットワークアダプタが、前記アドレス情報および前記長さ情報に基づいて、前記第1のデータを前記ローカルサーバに記憶する前記段階は、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに含まれるアドレス情報および長さ情報が許可テーブル内に存在し、前記許可テーブルが、前記ローカルサーバ内の書き込みデータのアドレス情報および長さ情報の複数のグループを含むことを決定する段階と、
前記ネットワークアダプタが、前記第1のI/O読み出し応答メッセージに含まれる前記アドレス情報および前記長さ情報に基づき、前記第1のデータを前記ローカルサーバに記憶する段階と、を含む請求項10に記載の方法。 - 前記ネットワークアダプタが、前記第2のI/Oコマンドのコンテキスト情報に基づいて、前記複数のデータがすべて前記ローカルサーバに書き込まれているかを決定する段階であって、前記第2のI/Oコマンドのコンテキスト情報は、前記ローカルサーバの前記複数のデータの記憶完了状態を含む段階と、
前記複数のデータがすべて前記ローカルサーバに書き込まれたとき、前記ネットワークアダプタが、前記ローカルサーバにI/O読み出し完了メッセージをインタフェース経由で送信する段階と、をさらに備える請求項6に記載の方法。 - プロセッサとメモリとを備え、前記プロセッサが前記メモリ内の命令を実行することにより、前記ネットワークアダプタが請求項1から5のいずれか1項に記載の方法を実行するネットワークアダプタ。
- プロセッサとメモリとを備え、前記プロセッサが前記メモリ内の命令を実行することにより、前記ネットワークアダプタが請求項6から12のいずれか1項に記載の方法を実行するネットワークアダプタ。
- コンピュータに、請求項1から5のいずれか1項に記載の方法を実施させるコンピュータプログラム。
- コンピュータに、請求項6から12のいずれか1項に記載の方法を実施させるコンピュータプログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010526778.1 | 2020-06-09 | ||
CN202010526778 | 2020-06-09 | ||
CN202010999199.9 | 2020-09-22 | ||
CN202010999199.9A CN113778319A (zh) | 2020-06-09 | 2020-09-22 | 网卡的数据处理方法以及网卡 |
PCT/CN2021/091779 WO2021249063A1 (zh) | 2020-06-09 | 2021-04-30 | 网卡的数据处理方法以及网卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023528782A JP2023528782A (ja) | 2023-07-06 |
JP7501957B2 true JP7501957B2 (ja) | 2024-06-18 |
Family
ID=78835052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022572527A Active JP7501957B2 (ja) | 2020-06-09 | 2021-04-30 | ネットワークアダプタのデータ処理方法およびネットワークアダプタ |
Country Status (5)
Country | Link |
---|---|
US (1) | US12014173B2 (ja) |
EP (1) | EP4148548A4 (ja) |
JP (1) | JP7501957B2 (ja) |
CN (1) | CN113778319A (ja) |
WO (1) | WO2021249063A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7473600B2 (ja) | 2022-07-15 | 2024-04-23 | 株式会社日立製作所 | ストレージシステム、データ送信方法およびネットワークインタフェース |
CN116016570A (zh) * | 2022-12-29 | 2023-04-25 | 深圳云豹智能有限公司 | 报文处理方法、装置和*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008102967A (ja) | 2007-12-28 | 2008-05-01 | Hitachi Ltd | ディスクアレイ制御方法及びディスクアレイ制御装置 |
JP2014153754A (ja) | 2013-02-05 | 2014-08-25 | Ntt Data Corp | 中継装置、中継方法、中継プログラム |
WO2015121912A1 (ja) | 2014-02-12 | 2015-08-20 | 株式会社日立製作所 | データ記憶装置 |
JP2018185814A (ja) | 2017-04-25 | 2018-11-22 | 三星電子株式会社Samsung Electronics Co.,Ltd. | NVMe−oF SSDにおける低レイテンシ直接データアクセス方法、及びそのためのシステム |
JP2019164713A (ja) | 2018-03-20 | 2019-09-26 | 東芝メモリ株式会社 | ストレージシステム及びデータ転送方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081501B2 (en) | 2010-01-08 | 2015-07-14 | International Business Machines Corporation | Multi-petascale highly efficient parallel supercomputer |
US8473700B2 (en) * | 2010-03-29 | 2013-06-25 | International Business Machines Corporation | Providing versioning in a storage device |
US20130311434A1 (en) | 2011-11-17 | 2013-11-21 | Marc T. Jones | Method, apparatus and system for data deduplication |
WO2014042976A2 (en) * | 2012-09-15 | 2014-03-20 | Numbergun Llc, A Utah Limited Liability Company | Flexible high-speed generation and formatting of application-specified strings |
CN105450588B (zh) | 2014-07-31 | 2019-02-12 | 华为技术有限公司 | 一种基于rdma的数据传输方法及rdma网卡 |
CN105808345B (zh) | 2014-12-31 | 2019-03-08 | 华为技术有限公司 | 数据处理方法、加速引擎、控制板和*** |
CN105068817B (zh) | 2015-08-26 | 2019-02-19 | 华为技术有限公司 | 将数据写入存储设备的方法及存储设备 |
CN106775434B (zh) | 2015-11-19 | 2019-11-29 | 华为技术有限公司 | 一种NVMe网络化存储的实现方法、终端、服务器及*** |
CN106020731B (zh) * | 2016-05-23 | 2019-07-02 | 中国科学技术大学 | 存储设备、存储设备阵列和网络适配器 |
CN106210041B (zh) * | 2016-07-05 | 2019-09-20 | 杭州华为数字技术有限公司 | 一种数据写入方法及服务器端网卡 |
EP3352086B1 (en) * | 2016-12-05 | 2020-11-11 | Huawei Technologies Co., Ltd. | Control method, device and system for data reading-writing command in nvme over fabric architecture |
CN109962832B (zh) | 2017-12-26 | 2022-06-14 | 华为技术有限公司 | 报文处理的方法和装置 |
CN109981878B (zh) | 2017-12-28 | 2021-09-14 | 华为终端有限公司 | 一种图标管理的方法及装置 |
CN108768851B (zh) | 2018-06-01 | 2019-11-15 | 武汉绿色网络信息服务有限责任公司 | 一种基于Linux***实现的路由器环回口方法和装置 |
CN109656855A (zh) | 2018-08-16 | 2019-04-19 | 浮栅智联科技(苏州)有限公司 | 在网卡内读写数据的方法、计算存储网络一体化芯片和网卡 |
CN110896406A (zh) | 2018-09-13 | 2020-03-20 | 华为技术有限公司 | 数据存储方法、装置及服务器 |
CN109218308A (zh) | 2018-09-14 | 2019-01-15 | 上海赋华网络科技有限公司 | 一种基于智能网卡的数据高速安全交换方法 |
CN109597582A (zh) | 2018-12-03 | 2019-04-09 | 郑州云海信息技术有限公司 | 一种数据处理方法及相关设备 |
CN110677402B (zh) | 2019-09-24 | 2022-12-20 | 深圳前海微众银行股份有限公司 | 一种基于智能网卡的数据整合方法及装置 |
-
2020
- 2020-09-22 CN CN202010999199.9A patent/CN113778319A/zh active Pending
-
2021
- 2021-04-30 JP JP2022572527A patent/JP7501957B2/ja active Active
- 2021-04-30 EP EP21821479.9A patent/EP4148548A4/en active Pending
- 2021-04-30 WO PCT/CN2021/091779 patent/WO2021249063A1/zh unknown
-
2022
- 2022-12-07 US US18/062,874 patent/US12014173B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008102967A (ja) | 2007-12-28 | 2008-05-01 | Hitachi Ltd | ディスクアレイ制御方法及びディスクアレイ制御装置 |
JP2014153754A (ja) | 2013-02-05 | 2014-08-25 | Ntt Data Corp | 中継装置、中継方法、中継プログラム |
WO2015121912A1 (ja) | 2014-02-12 | 2015-08-20 | 株式会社日立製作所 | データ記憶装置 |
JP2018185814A (ja) | 2017-04-25 | 2018-11-22 | 三星電子株式会社Samsung Electronics Co.,Ltd. | NVMe−oF SSDにおける低レイテンシ直接データアクセス方法、及びそのためのシステム |
JP2019164713A (ja) | 2018-03-20 | 2019-09-26 | 東芝メモリ株式会社 | ストレージシステム及びデータ転送方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4148548A1 (en) | 2023-03-15 |
EP4148548A4 (en) | 2023-11-01 |
US12014173B2 (en) | 2024-06-18 |
US20230106771A1 (en) | 2023-04-06 |
JP2023528782A (ja) | 2023-07-06 |
WO2021249063A1 (zh) | 2021-12-16 |
CN113778319A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10079889B1 (en) | Remotely accessible solid state drive | |
US10348830B1 (en) | Virtual non-volatile memory express drive | |
US11755527B2 (en) | Techniques for command validation for access to a storage device by a remote client | |
US10713074B2 (en) | Method, apparatus, and system for accessing storage device | |
EP3358463B1 (en) | Method, device and system for implementing hardware acceleration processing | |
WO2020000483A1 (zh) | 数据处理的方法和存储*** | |
US10175891B1 (en) | Minimizing read latency for solid state drives | |
US12014173B2 (en) | Data processing method for network adapter and network adapter | |
WO2015165298A1 (zh) | 计算机,控制设备和数据处理方法 | |
EP4152140A1 (en) | Network card and method for network card to process data | |
KR102365312B1 (ko) | 스토리지 컨트롤러, 연산 스토리지 장치, 및 연산 스토리지 장치의 동작 방법 | |
US11741039B2 (en) | Peripheral component interconnect express device and method of operating the same | |
US11809799B2 (en) | Systems and methods for multi PF emulation using VFs in SSD controller | |
AU2015402888A1 (en) | Computer device and method for reading/writing data by computer device | |
TWI797022B (zh) | 儲存控制器、計算儲存裝置以及計算儲存裝置的操作方法 | |
US11829641B2 (en) | Storage device and operating method for managing a command queue | |
WO2022063273A1 (zh) | 一种基于numa属性的资源分配方法及装置 | |
WO2017020572A1 (zh) | 一种中断处理方法、ioapic及计算机*** | |
CN112131166B (zh) | 轻量桥接器电路及其操作方法 | |
WO2022141250A1 (zh) | 数据传输方法和相关装置 | |
CN112131166A (zh) | 轻量桥接器电路及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240419 |
|
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: 20240507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240531 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7501957 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |