JP6014271B2 - データ処理システム及びデータ処理方法 - Google Patents
データ処理システム及びデータ処理方法 Download PDFInfo
- Publication number
- JP6014271B2 JP6014271B2 JP2015544331A JP2015544331A JP6014271B2 JP 6014271 B2 JP6014271 B2 JP 6014271B2 JP 2015544331 A JP2015544331 A JP 2015544331A JP 2015544331 A JP2015544331 A JP 2015544331A JP 6014271 B2 JP6014271 B2 JP 6014271B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- data processing
- processing system
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- 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
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion 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/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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
Description
当該データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第1アドレス情報に従って前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するよう構成される管理部を有し、前記第1ストレージアドレスは、メモリマッピング入出力(MMIO)アドレスであり、
前記ネットワークアダプタは、前記第1ストレージアドレスに従って前記PCIeストレージ装置からデータを直接読み込み、前記データを第2データ処理システムに送信するか、又は前記第2データ処理システムから受信したデータを前記PCIeストレージ装置に直接書き込み、前記第2データ処理システムは、ネットワークを介し当該データ処理システムと通信するデータ処理システムであるデータ処理システムを提供する。
前記ベースアドレス取得部は、当該データ処理システムが前記ネットワークを介し当該データ処理システムと通信する第2データ処理システムの第1データリクエストを受信すると、前記PCIeストレージ装置のものであって、前記第1データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するよう構成され、
前記ストレージアドレス取得部は、前記BARにおけるベースアドレスと前記第1データリクエストにより搬送されるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するよう構成され、前記第1ストレージアドレスは、MMIOアドレスである。
前記グローバルベースアドレス取得部は、当該データ処理システムが第2データリクエストを取得すると、前記PCIeストレージ装置のものであって、前記第2データリクエストにより搬送される一意的な識別子に従って前記第2データ処理システムのBARにおける前記第2データリクエストによりリクエストされるデータのベースアドレスを取得するよう構成され、前記第2データリクエストは、前記第2データ処理システムにデータを送信するためのリクエスト又は前記第2データ処理システムからデータを読み込むためのリクエストであり、
前記グローバルストレージアドレス取得部は、前記第2データ処理システムのBARにおけるベースアドレスと前記第2データリクエストにより搬送されるLBAアドレスとに従って前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データのMMIOアドレスを取得するよう構成される。
前記データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第1アドレス情報を取得するステップと、
前記第1アドレス情報に従って前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップであって、前記第1ストレージアドレスはMMIOアドレスである、取得するステップと、
前記ネットワークアダプタによって、前記第1ストレージアドレスに従って前記PCIeストレージ装置からデータを直接読み込み、前記データを第2データ処理システムに送信するか、又は前記第2データ処理システムから受信したデータを前記PCIeストレージ装置に直接書き込むステップであって、前記第2データ処理システムは、ネットワークを介し前記第1データ処理システムと通信するデータ処理システムである、書き込むステップと、
を有するデータ処理方法を提供する。
前記PCIeコントローラによって第1BARアドレスレジスタを構成するステップを有し、前記第1BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスとの間の対応関係を格納し、前記第2ストレージアドレスは、リニアな連続するストレージアドレスである。
前記PCIeコントローラによって、第2BARアドレスレジスタを構成するステップを有し、前記第2BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、前記第2ストレージアドレスは、非リニアな連続するストレージアドレスであり、前記第2ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第2ストレージアドレスに対して実行された後に取得されるアドレスである。
前記PCIeストレージ装置の前記一意的な識別子とBARにおけるベースアドレスとの間の対応関係を確立するステップを有する。
前記PCIeストレージ装置のものであって、前記第1データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するステップと、
前記BARにおけるベースアドレスと前記第1データリクエストにおけるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するステップであって、前記第1ストレージアドレスは、MMIOアドレスである、取得するステップと、
を有する。
前記データ処理システムによって、前記取得された第1ストレージアドレスを前記第2データ処理システムに送信するステップを有する。
前記データ処理システムが第2データリクエストを取得すると、前記PCIeストレージ装置のものであって、前記第2データリクエストにより搬送される一意的な識別子に従って前記第2データ処理システムのBARにおける前記第2データリクエストによりリクエストされるデータのベースアドレスを取得するステップであって、前記第2データリクエストは、前記第2データ処理システムにデータを送信するためのリクエスト又は前記第2データ処理システムからデータを読み込むためのリクエストである、取得するステップと、
前記第2データ処理システムのBARにおけるベースアドレスと前記第2データリクエストにより搬送されるLBAアドレスとに従って前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データのMMIOアドレスを取得するステップと、
を有する。
当該データ処理システムがデータリクエストを受信すると、データリクエストにより搬送される第1アドレス情報に従ってPCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するよう構成される管理部201を有し、ここで、第1ストレージアドレスは、MMIO(Memory mapping I/O、メモリマッピング入出力)アドレスであり、
ネットワークアダプタ205は、第1ストレージアドレスに従ってPCIeストレージ装置204からデータを直接読み込み、データを第2データ処理システムに送信するか、又は第2データ処理システムから受信したデータをPCIeストレージ装置204に直接書き込み、ここで、第2データ処理システムは、ネットワークを介し第1データ処理システムと通信するデータ処理システムである。
ベースアドレス取得部2011は、当該データ処理システム200がネットワークを介し当該データ処理システム200と通信する第2データ処理システムの第1データリクエストを受信すると、PCIeストレージ装置204のものであって、第1データリクエストにより搬送される一意的な識別子に従って、リクエストされたデータのBARにおけるベースアドレスを取得するよう構成され、
ストレージアドレス取得部2012は、BARにおけるベースアドレスと第1データリクエストにおけるLBAアドレスとに従ってPCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するよう構成され、第1ストレージアドレスは、MMIOアドレスである。
グローバルベースアドレス取得部2033は、当該データ処理システムが第2データリクエストを取得すると、PCIeストレージ装置のものであって、第2データリクエストにより搬送される一意的な識別子に従って第2データ処理システムのBARにおける第2データリクエストによりリクエストされるデータのベースアドレスを取得するよう構成され、ここで、第2データリクエストは、第2データ処理システムにデータを送信するためのリクエスト又は第2データ処理システムからデータを読み込むためのリクエストであり、
グローバルストレージアドレス取得部2034は、第2データ処理システムのBARにおけるベースアドレスと第2データリクエストにより搬送されるLBAアドレスとに従って第2データ処理システムにおける第2データリクエストによりリクエストされるデータのMMIOアドレスを取得するよう構成される。
PCIeストレージ装置のものであって、第1データリクエストにより搬送される一意的な識別子に従って、リクエストされたデータのBARにおけるベースアドレスを取得するステップと、
BARにおけるベースアドレスと第1データリクエストにおけるLBAアドレスとに従ってPCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップであって、第1ストレージアドレスは、MMIOアドレスである、取得するステップと、
を有する。
データ処理システムが第2データリクエストを受信すると、PCIeストレージ装置のものであって、第2データリクエストにより搬送される一意的な識別子に従って第2データ処理システムのBARにおける第2データリクエストによりリクエストされるデータのベースアドレスを取得するステップであって、第2データリクエストは、第2データ処理システムにデータを送信するためのリクエスト又は第2データ処理システムからデータを読み込むためのリクエストである、取得するステップと、
第2データ処理システムのBARにおけるベースアドレスと第2データリクエストにより搬送されるLBAアドレスとに従って第2データ処理システムにおける第2データリクエストによりリクエストされるデータのMMIOアドレスを取得するステップと、
を有する。
スタートアドレス=BARにおけるマッピングされたベースアドレス+(LBA×ブロックサイズ)
エンドアドレス=BARにおけるマッピングされたベースアドレス+((LBA+ブロック数)×ブロックサイズ)−1
Claims (26)
- 中央処理ユニット(CPU)、メモリ、PCIe(Peripheral Component Interconnect Express)コントローラ、ネットワークアダプタ及び少なくとも1つのPCIeストレージ装置を有するデータ処理システムであって、更に、
当該データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第1アドレス情報に従って前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するよう構成される管理部を有し、
前記第1ストレージアドレスは、メモリマッピング入出力(MMIO)アドレスであり、
前記ネットワークアダプタは、前記第1ストレージアドレスに従って前記PCIeストレージ装置からデータを直接読み込み、前記データを第2データ処理システムに送信するか、又は前記第2データ処理システムから受信したデータを前記PCIeストレージ装置に直接書き込み、
前記第2データ処理システムは、ネットワークを介し当該データ処理システムと通信するデータ処理システムであり、
前記CPUは、各PCIeストレージ装置に一意的な識別子を割り当て、前記一意的な識別子は、各PCIeストレージ装置を特定するのに利用され、
前記管理部は更に、前記PCIeストレージ装置の前記一意的な識別子とBARにおけるベースアドレスとの間の対応関係を確立するよう構成され、
前記管理部は、ベースアドレス取得部とストレージアドレス取得部とを有し、
前記ベースアドレス取得部は、前記PCIeストレージ装置のものであって、前記データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するよう構成され、
前記ストレージアドレス取得部は、前記BARにおけるベースアドレスと前記データリクエストにより搬送されるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するよう構成されるデータ処理システム。 - 前記PCIeコントローラは、前記第1ストレージアドレスに従って前記PCIeストレージ装置における前記データリクエストによりリクエストされたデータの第2ストレージアドレスを取得するよう構成されるアドレス変換部を有する、請求項1記載のデータ処理システム。
- 前記第2ストレージアドレスは、物理アドレス又は論理アドレスであり、
前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであるか、又は前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項2記載のデータ処理システム。 - 前記アドレス変換部は更に、第1BARアドレスレジスタを構成するよう構成され、
前記第1BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスとの間の対応関係を格納し、
前記第2ストレージアドレスは、リニアな連続するストレージアドレスである、請求項2又は3記載のデータ処理システム。 - 前記アドレス変換部は更に、第2BARアドレスレジスタを構成するよう構成され、
前記第2BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、
前記第2ストレージアドレスは、非リニアな連続するストレージアドレスであり、
前記第2ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第2ストレージアドレスに対して実行された後に取得されるアドレスである、請求項2乃至4何れか一項記載のデータ処理システム。 - 前記第1アドレス情報は、前記PCIeストレージ装置の前記一意的な識別子と論理ブロックアドレス(LBA)とを有する、請求項1乃至5何れか一項記載のデータ処理システム。
- 前記一意的な識別子は、ベンダ識別子(ベンダID)、デバイス識別子(デバイスID)及びハードディスクシリアル番号の少なくとも1つを有するか、又は、前記一意的な識別子は、前記ベンダID、前記デバイスID及び前記ハードディスクシリアル番号の少なくとも1つに対してハッシュ処理が実行された後に取得される識別子である、請求項6記載のデータ処理システム。
- 前記管理部は、ベースアドレス取得部とストレージアドレス取得部とを有し、
前記ベースアドレス取得部は、当該データ処理システムが前記ネットワークを介し当該データ処理システムと通信する第2データ処理システムの第1データリクエストを受信すると、前記PCIeストレージ装置のものであって、前記第1データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するよう構成され、
前記ストレージアドレス取得部は、前記BARにおけるベースアドレスと前記第1データリクエストにより搬送されるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するよう構成され、前記第1ストレージアドレスは、MMIOアドレスである、請求項6記載のデータ処理システム。 - 前記CPUは、前記ネットワークアダプタに前記取得した第1ストレージアドレスを登録する、請求項1又は8記載のデータ処理システム。
- 当該データ処理システムは更に送信部を有し、
前記送信部は、前記管理部により取得された第1ストレージアドレスを前記第2データ処理システムに送信するよう構成される、請求項1又は8記載のデータ処理システム。 - 前記PCIeコントローラは、前記ネットワークアダプタにより送信され、前記第1ストレージアドレスを搬送するデータリクエストを取得し、
前記アドレス変換部は、前記第2ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第2ストレージアドレスに書き込む、請求項2又は9記載のデータ処理システム。 - 前記管理部は更に、グローバルベースアドレス取得部とグローバルストレージアドレス取得部とを有し、
前記グローバルベースアドレス取得部は、当該データ処理システムが第2データリクエストを取得すると、前記PCIeストレージ装置のものであって、前記第2データリクエストにより搬送される一意的な識別子に従って前記第2データ処理システムのBARにおける前記第2データリクエストによりリクエストされるデータのベースアドレスを取得するよう構成され、前記第2データリクエストは、前記第2データ処理システムにデータを送信するためのリクエスト又は前記第2データ処理システムからデータを読み込むためのリクエストであり、
前記グローバルストレージアドレス取得部は、前記第2データ処理システムのBARにおけるベースアドレスと前記第2データリクエストにより搬送されるLBAアドレスとに従って前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データのMMIOアドレスを取得するよう構成される、請求項7又は8記載のデータ処理システム。 - 前記第2データ処理システムのPCIeコントローラにおけるデータ変換部は、前記第2データ処理システムにおける当該データ処理システムにより送信された前記第2データリクエストによりリクエストされる前記データのMMIOアドレスに従って、前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、
前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項12記載のデータ処理システム。 - データ処理方法であって、当該方法は、中央処理ユニット(CPU)、メモリ、PCIe(Peripheral Component Interconnect Express)コントローラ、ネットワークアダプタ及び少なくとも1つのPCIeストレージ装置を有するデータ処理システムに適用され、
前記データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第1アドレス情報を取得するステップと、
前記第1アドレス情報に従って前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップであって、前記第1ストレージアドレスはメモリマッピング入出力(MMIO)アドレスである、取得するステップと、
前記ネットワークアダプタによって、前記第1ストレージアドレスに従って前記PCIeストレージ装置からデータを直接読み込み、前記データを第2データ処理システムに送信するか、又は前記第2データ処理システムから受信したデータを前記PCIeストレージ装置に直接書き込むステップであって、前記第2データ処理システムは、ネットワークを介し前記データ処理システムと通信するデータ処理システムである、書き込むステップと、
を有し、
前記CPUは、各PCIeストレージ装置に一意的な識別子を割り当て、前記一意的な識別子は、各PCIeストレージ装置を特定するのに利用され、
前記PCIeストレージ装置の前記一意的な識別子とBARにおけるベースアドレスとの間の対応関係を確立するステップを有し、
前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップは、
前記PCIeストレージ装置のものであって、前記データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するステップと、
前記BARにおけるベースアドレスと前記データリクエストにより搬送されるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するステップと、
を有するデータ処理方法。 - 前記PCIeコントローラは、前記第1ストレージアドレスに従って前記PCIeストレージ装置における前記データリクエストによりリクエストされたデータの第2ストレージアドレスを取得する、請求項14記載のデータ処理方法。
- 前記第2ストレージアドレスは、物理アドレス又は論理アドレスであり、
前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであるか、又は前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項15記載のデータ処理方法。 - 当該方法は更に、前記PCIeコントローラによって第1BARアドレスレジスタを構成するステップを有し、
前記第1BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスとの間の対応関係を格納し、
前記第2ストレージアドレスは、リニアな連続するストレージアドレスである、請求項15又は16記載のデータ処理方法。 - 当該方法は更に、前記PCIeコントローラによって、第2BARアドレスレジスタを構成するステップを有し、
前記第2BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、
前記第2ストレージアドレスは、非リニアな連続するストレージアドレスであり、
前記第2ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第2ストレージアドレスに対して実行された後に取得されるアドレスである、請求項15乃至17何れか一項記載のデータ処理方法。 - 前記第1アドレス情報は、前記PCIeストレージ装置の前記一意的な識別子と論理ブロックアドレス(LBA)とを有する、請求項14乃至18何れか一項記載のデータ処理方法。
- 前記一意的な識別子は、ベンダ識別子(ベンダID)、デバイス識別子(デバイスID)及びハードディスクシリアル番号の少なくとも1つを有するか、又は、前記一意的な識別子は、前記ベンダID、前記デバイスID及び前記ハードディスクシリアル番号の少なくとも1つに対してハッシュ処理が実行された後に取得される識別子である、請求項19記載のデータ処理方法。
- 前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップは、
前記PCIeストレージ装置のものであって、第1データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するステップと、
前記BARにおけるベースアドレスと前記第1データリクエストにより搬送されるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するステップであって、前記第1ストレージアドレスは、MMIOアドレスである、取得するステップと、
を有する、請求項19記載のデータ処理方法。 - 前記CPUは、前記ネットワークアダプタに前記取得した第1ストレージアドレスを登録する、請求項14又は21記載のデータ処理方法。
- 当該方法は更に、前記データ処理システムによって、前記取得された第1ストレージアドレスを前記第2データ処理システムに送信するステップを有する、請求項15又は21記載のデータ処理方法。
- 前記PCIeコントローラは、前記ネットワークアダプタにより送信され、前記第1ストレージアドレスを搬送するデータリクエストを取得し、前記第2ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第2ストレージアドレスに書き込む、請求項14又は22記載のデータ処理方法。
- 当該方法は更に、
前記データ処理システムが第2データリクエストを取得すると、前記PCIeストレージ装置のものであって、前記第2データリクエストにより搬送される一意的な識別子に従って前記第2データ処理システムのBARにおける前記第2データリクエストによりリクエストされるデータのベースアドレスを取得するステップであって、前記第2データリクエストは、前記第2データ処理システムにデータを送信するためのリクエスト又は前記第2データ処理システムからデータを読み込むためのリクエストである、取得するステップと、
前記第2データ処理システムのBARにおけるベースアドレスと前記第2データリクエストにより搬送されるLBAアドレスとに従って前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データのMMIOアドレスを取得するステップと、
を有する、請求項19又は21記載のデータ処理方法。 - 前記第2データ処理システムのPCIeコントローラは、前記第2データ処理システムにおける前記データ処理システムにより送信された前記第2データリクエストによりリクエストされる前記データのMMIOアドレスに従って、前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、
前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項25記載のデータ処理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/086170 WO2015061971A1 (zh) | 2013-10-29 | 2013-10-29 | 数据处理系统和数据处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015537310A JP2015537310A (ja) | 2015-12-24 |
JP6014271B2 true JP6014271B2 (ja) | 2016-10-25 |
Family
ID=51193110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015544331A Active JP6014271B2 (ja) | 2013-10-29 | 2013-10-29 | データ処理システム及びデータ処理方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US9459798B2 (ja) |
EP (2) | EP2889780B1 (ja) |
JP (1) | JP6014271B2 (ja) |
KR (1) | KR101670342B1 (ja) |
CN (2) | CN103946828B (ja) |
AU (1) | AU2013388031C1 (ja) |
ES (2) | ES2779551T3 (ja) |
WO (1) | WO2015061971A1 (ja) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2779551T3 (es) * | 2013-10-29 | 2020-08-18 | Huawei Tech Co Ltd | Sistema de procesamiento de datos y método de procesamiento de datos |
US10162786B2 (en) | 2014-12-01 | 2018-12-25 | SK Hynix Inc. | Storage node based on PCI express interface |
US9792245B2 (en) * | 2014-12-09 | 2017-10-17 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Peripheral component interconnect express (PCIe) devices with efficient memory mapping by remapping a plurality of base address registers (BARs) |
CN104657299B (zh) * | 2015-02-26 | 2018-01-12 | 新华三技术有限公司 | Ict融合设备及其存储板管理方法和装置 |
US20160283156A1 (en) * | 2015-03-23 | 2016-09-29 | Kabushiki Kaisha Toshiba | Key-value drive hardware |
US9886194B2 (en) * | 2015-07-13 | 2018-02-06 | Samsung Electronics Co., Ltd. | NVDIMM adaptive access mode and smart partition mechanism |
CN105183684B (zh) * | 2015-09-09 | 2019-01-25 | 成都思鸿维科技有限责任公司 | 数据处理装置、方法及系统 |
CN105404597B (zh) * | 2015-10-21 | 2018-10-12 | 华为技术有限公司 | 数据传输的方法、设备及系统 |
US10054636B2 (en) * | 2015-10-23 | 2018-08-21 | Intel IP Corporation | Device, system and method to support communication of test, debug or trace information with an external input/output interface |
CN106713183B (zh) * | 2015-10-30 | 2020-03-17 | 新华三技术有限公司 | 网络设备的接口板以及该网络设备和报文转发方法 |
CN105353989B (zh) * | 2015-11-19 | 2018-12-28 | 华为技术有限公司 | 存储数据访问方法及相关的控制器、设备、主机和系统 |
WO2017131752A1 (en) * | 2016-01-29 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Remote direct memory access |
US10140057B2 (en) * | 2016-02-18 | 2018-11-27 | Micron Technology, Inc. | Apparatuses and methods for multiple address registers for a solid state device |
US10042720B2 (en) | 2016-02-22 | 2018-08-07 | International Business Machines Corporation | Live partition mobility with I/O migration |
US10002018B2 (en) | 2016-02-23 | 2018-06-19 | International Business Machines Corporation | Migrating single root I/O virtualization adapter configurations in a computing system |
US10042723B2 (en) | 2016-02-23 | 2018-08-07 | International Business Machines Corporation | Failover of a virtual function exposed by an SR-IOV adapter |
US10025584B2 (en) | 2016-02-29 | 2018-07-17 | International Business Machines Corporation | Firmware management of SR-IOV adapters |
CN105824761B (zh) * | 2016-03-10 | 2019-01-08 | 珠海豹趣科技有限公司 | 一种物理内存信息获取方法及装置 |
CN105893289B (zh) * | 2016-03-30 | 2019-02-12 | 华为技术有限公司 | 内存映射输入输出地址分配方法、装置及计算机系统 |
US10409754B2 (en) * | 2016-04-28 | 2019-09-10 | Smart Modular Technologies, Inc. | Interconnected memory system and method of operation thereof |
CN106020731B (zh) * | 2016-05-23 | 2019-07-02 | 中国科学技术大学 | 存储设备、存储设备阵列和网络适配器 |
US20170351639A1 (en) * | 2016-06-06 | 2017-12-07 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
WO2018035856A1 (zh) * | 2016-08-26 | 2018-03-01 | 华为技术有限公司 | 实现硬件加速处理的方法、设备和系统 |
US9760512B1 (en) | 2016-10-21 | 2017-09-12 | International Business Machines Corporation | Migrating DMA mappings from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system |
US9715469B1 (en) | 2016-10-21 | 2017-07-25 | International Business Machines Corporation | Migrating interrupts from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system |
US9720863B1 (en) | 2016-10-21 | 2017-08-01 | International Business Machines Corporation | Migrating MMIO from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system |
US9785451B1 (en) | 2016-10-21 | 2017-10-10 | International Business Machines Corporation | Migrating MMIO from a source I/O adapter of a computing system to a destination I/O adapter of the computing system |
US9720862B1 (en) | 2016-10-21 | 2017-08-01 | International Business Machines Corporation | Migrating interrupts from a source I/O adapter of a computing system to a destination I/O adapter of the computing system |
US9740647B1 (en) | 2016-10-21 | 2017-08-22 | International Business Machines Corporation | Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system |
EP3537304B1 (en) * | 2016-11-26 | 2021-03-17 | Huawei Technologies Co., Ltd. | Method for migrating data, host and solid static disk |
CN107273213B (zh) * | 2017-06-27 | 2024-04-19 | 联想(北京)有限公司 | 一种计算控制方法、网卡及电子设备 |
US10387347B2 (en) | 2017-08-18 | 2019-08-20 | Quanta Computer Inc. | Method to locate SAS JBOD cable routing |
CN107579892A (zh) * | 2017-08-29 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种基于RapidIO协议和RDMA技术的通信方法 |
KR101980190B1 (ko) | 2017-09-25 | 2019-05-21 | 서울대학교산학협력단 | 입출력 디바이스 제어 장치, 그것의 동작 방법 및 입출력 디바이스 제어 장치 드라이버의 동작 방법 |
CN107844435A (zh) * | 2017-11-08 | 2018-03-27 | 北京锐安科技有限公司 | 一种缓存系统、方法及装置 |
US11321249B2 (en) * | 2018-03-26 | 2022-05-03 | Samsung Electronics Co., Ltd. | Mechanism to autonomously manage SSDS in an array |
US10838763B2 (en) * | 2018-07-17 | 2020-11-17 | Xilinx, Inc. | Network interface device and host processing device |
CN110764688B (zh) * | 2018-07-27 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 对数据进行处理的方法和装置 |
TWI673610B (zh) * | 2018-11-09 | 2019-10-01 | 財團法人資訊工業策進會 | 遠端工作系統及其工作方法 |
CN111724295B (zh) * | 2019-03-18 | 2024-05-14 | 芯原微电子(成都)有限公司 | 一种外部存储器的协同访问方法及系统、协同访问架构 |
CN113468090B (zh) * | 2020-03-30 | 2024-04-05 | 浙江宇视科技有限公司 | 一种PCIe通信方法、装置、电子设备及可读存储介质 |
CN111586034B (zh) * | 2020-04-30 | 2022-06-03 | 龙芯中科技术股份有限公司 | 数据处理系统及方法 |
CN112445735A (zh) * | 2020-11-20 | 2021-03-05 | 深圳致星科技有限公司 | 一种联邦学习数据传输方法、计算机设备、系统及存储介质 |
WO2022133656A1 (zh) * | 2020-12-21 | 2022-06-30 | 华为技术有限公司 | 一种数据处理装置、方法及相关设备 |
CN112597094B (zh) * | 2020-12-24 | 2024-05-31 | 联想长风科技(北京)有限公司 | 一种提高rdma传输效率的装置及方法 |
CN114625220A (zh) * | 2021-04-09 | 2022-06-14 | 深圳宏芯宇电子股份有限公司 | 服务器及其数据处理方法 |
EP4365748A1 (en) * | 2021-07-23 | 2024-05-08 | Huawei Technologies Co., Ltd. | Data access method and related device |
CN115048227B (zh) * | 2022-08-15 | 2022-12-09 | 阿里巴巴(中国)有限公司 | 数据处理方法、系统及存储介质 |
CN117453117A (zh) * | 2022-08-17 | 2024-01-26 | 北京超弦存储器研究院 | 一种网络存储处理设备、存储服务器、数据存储及读取方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1149736A (zh) * | 1995-06-05 | 1997-05-14 | 北京航空航天大学 | 一种分布式存储器共享管理方法 |
US6457121B1 (en) * | 1999-03-17 | 2002-09-24 | Intel Corporation | Method and apparatus for reordering data in X86 ordering |
US20010047473A1 (en) * | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
US7711793B1 (en) * | 2001-07-17 | 2010-05-04 | Adaptec, Inc. | No single point of failure RAID box using SATA drives |
JP2003280825A (ja) * | 2002-03-22 | 2003-10-02 | Fujitsu Ltd | ストレージシステム |
JP2005149082A (ja) * | 2003-11-14 | 2005-06-09 | Hitachi Ltd | ストレージ制御装置、及びストレージ制御装置の制御方法 |
US20050223118A1 (en) * | 2004-04-05 | 2005-10-06 | Ammasso, Inc. | System and method for placement of sharing physical buffer lists in RDMA communication |
US7269708B2 (en) * | 2004-04-20 | 2007-09-11 | Rambus Inc. | Memory controller for non-homogenous memory system |
US20080098197A1 (en) * | 2006-10-20 | 2008-04-24 | International Business Machines Corporation | Method and System For Address Translation With Memory Windows |
US8112582B2 (en) * | 2008-03-10 | 2012-02-07 | Lsi Corporation | Redundant array of inexpensive disks configuration using simple network management protocol |
JP2010039644A (ja) * | 2008-08-01 | 2010-02-18 | Nec Electronics Corp | 周辺デバイスの動作検証方法、デバイスドライバ・プログラム及びアプリケーション・プログラム |
US8838850B2 (en) * | 2008-11-17 | 2014-09-16 | Violin Memory, Inc. | Cluster control protocol |
US9015446B2 (en) * | 2008-12-10 | 2015-04-21 | Nvidia Corporation | Chipset support for non-uniform memory access among heterogeneous processing units |
CN101819543A (zh) * | 2010-02-01 | 2010-09-01 | 成都市华为赛门铁克科技有限公司 | 快照数据处理方法和系统以及存储设备 |
US8799519B2 (en) * | 2011-06-27 | 2014-08-05 | Via Technologies, Inc. | Network-to-network bridge |
JP5869135B2 (ja) * | 2011-09-30 | 2016-02-24 | インテル コーポレイション | コプロセッサのためのダイレクトi/oアクセス |
KR20140065009A (ko) | 2011-10-27 | 2014-05-28 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 데이터 고속 분배 방법 및 장치 |
BR112014017543A2 (pt) * | 2012-01-17 | 2017-06-27 | Intel Corp | técnicas de validação de comando para o acesso a um dispositivo de armazenamento por um cliente remoto |
US8554963B1 (en) * | 2012-03-23 | 2013-10-08 | DSSD, Inc. | Storage system with multicast DMA and unified address space |
US8645594B2 (en) * | 2012-06-29 | 2014-02-04 | Intel Corporation | Driver-assisted base address register mapping |
US10496152B2 (en) * | 2013-09-27 | 2019-12-03 | Intel Corporation | Power control techniques for integrated PCIe controllers |
ES2779551T3 (es) * | 2013-10-29 | 2020-08-18 | Huawei Tech Co Ltd | Sistema de procesamiento de datos y método de procesamiento de datos |
-
2013
- 2013-10-29 ES ES16164174T patent/ES2779551T3/es active Active
- 2013-10-29 CN CN201380002065.3A patent/CN103946828B/zh active Active
- 2013-10-29 KR KR1020147032585A patent/KR101670342B1/ko active IP Right Grant
- 2013-10-29 EP EP13882622.7A patent/EP2889780B1/en active Active
- 2013-10-29 JP JP2015544331A patent/JP6014271B2/ja active Active
- 2013-10-29 WO PCT/CN2013/086170 patent/WO2015061971A1/zh active Application Filing
- 2013-10-29 AU AU2013388031A patent/AU2013388031C1/en active Active
- 2013-10-29 CN CN201710044364.3A patent/CN106933775B/zh active Active
- 2013-10-29 ES ES13882622.7T patent/ES2628328T3/es active Active
- 2013-10-29 EP EP16164174.1A patent/EP3125126B1/en active Active
-
2014
- 2014-12-11 US US14/567,656 patent/US9459798B2/en active Active
-
2015
- 2015-05-05 US US14/704,735 patent/US9329783B2/en active Active
-
2016
- 2016-09-29 US US15/280,700 patent/US9678918B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
AU2013388031B2 (en) | 2016-02-04 |
ES2628328T3 (es) | 2017-08-02 |
US9678918B2 (en) | 2017-06-13 |
US20150234597A1 (en) | 2015-08-20 |
CN106933775B (zh) | 2021-08-20 |
EP2889780A4 (en) | 2015-07-01 |
CN103946828B (zh) | 2017-02-22 |
AU2013388031A1 (en) | 2015-05-14 |
US20150120969A1 (en) | 2015-04-30 |
ES2779551T3 (es) | 2020-08-18 |
KR101670342B1 (ko) | 2016-10-28 |
EP3125126A1 (en) | 2017-02-01 |
CN106933775A (zh) | 2017-07-07 |
US9459798B2 (en) | 2016-10-04 |
WO2015061971A1 (zh) | 2015-05-07 |
KR20150070046A (ko) | 2015-06-24 |
JP2015537310A (ja) | 2015-12-24 |
EP2889780A1 (en) | 2015-07-01 |
AU2013388031C1 (en) | 2016-04-28 |
US20170017607A1 (en) | 2017-01-19 |
CN103946828A (zh) | 2014-07-23 |
EP2889780B1 (en) | 2017-04-12 |
EP3125126B1 (en) | 2020-01-01 |
US9329783B2 (en) | 2016-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6014271B2 (ja) | データ処理システム及びデータ処理方法 | |
KR102427561B1 (ko) | Fpga 기반 가속화를 위한 새로운 ssd 구조 | |
US10241951B1 (en) | Device full memory access through standard PCI express bus | |
US10282192B1 (en) | Updating device code through a bus | |
CN112130748B (zh) | 一种数据访问方法、网卡及服务器 | |
JP6475256B2 (ja) | コンピュータ、制御デバイス及びデータ処理方法 | |
US10466935B2 (en) | Methods for sharing NVM SSD across a cluster group and devices thereof | |
EP2891051A1 (en) | Block-level access to parallel storage | |
JP6498844B2 (ja) | コンピュータデバイス及びコンピュータデバイスによりデータを読み取る/書き込むための方法 | |
TW202101951A (zh) | 輕量橋接器電路以及用於多實體功能模擬的方法及物品 | |
JP2014179066A (ja) | ストレージ制御装置、ストレージシステム、およびストレージ制御方法 | |
JP2007004710A (ja) | ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム | |
JP4809166B2 (ja) | リモートi/oを構成する計算機システム及びi/oデータ転送方法 | |
JP2020087238A (ja) | 通信装置、情報処理システム、および通信方法 | |
CN105765542A (zh) | 访问文件的方法、分布式存储系统和存储节点 | |
WO2020118650A1 (zh) | 快速发送写数据准备完成消息的方法、设备和系统 | |
US9424227B2 (en) | Providing byte enables for peer-to-peer data transfer within a computing environment | |
WO2016065612A1 (zh) | 访问文件的方法、系统和主机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160223 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160523 |
|
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: 20160830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160923 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6014271 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 |