JP6014271B2 - データ処理システム及びデータ処理方法 - Google Patents

データ処理システム及びデータ処理方法 Download PDF

Info

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
Application number
JP2015544331A
Other languages
English (en)
Other versions
JP2015537310A (ja
Inventor
▲剣▼ 何
▲剣▼ 何
▲広▼宇 施
▲広▼宇 施
小珂 倪
小珂 倪
エギ ノルベルト
エギ ノルベルト
▲顕▼▲ツァイ▼ 李
▲顕▼▲ツァイ▼ 李
▲ユィ▼ ▲劉▼
▲ユィ▼ ▲劉▼
▲華▼▲偉▼ ▲劉▼
▲華▼▲偉▼ ▲劉▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2015537310A publication Critical patent/JP2015537310A/ja
Application granted granted Critical
Publication of JP6014271B2 publication Critical patent/JP6014271B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance 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

本発明は、情報技術の分野に関し、特に異なるデータ処理システムの間のデータ送信のための装置、方法及びシステムに関する。
ビッグデータのトレンドでは、データ信頼性を確保するため、マルチ複製方法が通常利用される。しかしながら、マルチ複製方法が利用されるとき、ノード間で多くのデータマイグレーション処理が通常生じる。
RDMA(Remote Direct Memory Access,リモート・ダイレクト・メモリ・アクセス)技術は、ネットワーク上の2つのノードの間のデータのリード処理を実現する技術である。RDMAは、ネットワークを介しコンピュータのメモリにデータを直接送信し、オペレーティングシステムに対する影響を生じさせることなく、ローカルノードからリモートノードのメモリにデータを高速にマイグレートする。
ネットワーク上で送信されるRDMA情報は、デスティネーションバーチャルアドレス、メモリキー及びデータ自体を含む。リクエストの完了は、ユーザスペースにおいて完全に処理されてもよいし(ポーリングユーザレベルを利用することによって、構成が完了される)、又はリクエストが完了するまで、アプリケーションがスリープ状態にある場合にはカーネルメモリを利用することによって処理される。RDMA処理を実行することによって、アプリケーションは、リモートアプリケーションのメモリからデータを読み、又はデータをメモリに書き込むようにしてもよい。ターゲットホストのネットワークアダプタは、メモリキーを決定し、データをアプリケーションキャッシュに直接書き込む。
RDMAは、互いに通信する2つのサーバの間のデータ送信がメモリを利用することによって送信データに対して実行される必要があることを要求する。メモリが利用されない場合、データ送信は実行できない。この結果、データ送信の遅延とメモリの利用率とが相対的に高くなる。
本発明の実施例は、2つのデータ処理システムの間のデータ送信のための効率性とデバイス利用とを向上させるため、システム及びデータ処理方法を提供する。
本発明の実施例は、中央処理ユニット(CPU)、メモリ、PCIe(Peripheral Component Interconnect Express)コントローラ、ネットワークアダプタ及び少なくとも1つのPCIeストレージ装置を有するデータ処理システムであって、更に、
当該データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第1アドレス情報に従って前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するよう構成される管理部を有し、前記第1ストレージアドレスは、メモリマッピング入出力(MMIO)アドレスであり、
前記ネットワークアダプタは、前記第1ストレージアドレスに従って前記PCIeストレージ装置からデータを直接読み込み、前記データを第2データ処理システムに送信するか、又は前記第2データ処理システムから受信したデータを前記PCIeストレージ装置に直接書き込み、前記第2データ処理システムは、ネットワークを介し当該データ処理システムと通信するデータ処理システムであるデータ処理システムを提供する。
任意的には、前記PCIeストレージ装置は、前記第1ストレージアドレスに従って前記PCIeストレージ装置における前記データリクエストによりリクエストされたデータの第2ストレージアドレスを取得するよう構成されるアドレス変換部を有する。
任意的には、前記第2ストレージアドレスは、物理アドレス又は論理アドレスであり、前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
任意的には、前記アドレス変換部は更に、第1ベースアドレスレジスタBARを構成するよう構成され、前記第1BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスとの間の対応関係を格納し、前記第2ストレージアドレスは、リニアな連続するストレージアドレスである。
任意的には、前記アドレス変換部は更に、第2BARアドレスレジスタを構成するよう構成され、前記第2BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、前記第2ストレージアドレスは、非リニアな連続するストレージアドレスであり、前記第2ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第2ストレージアドレスに対して実行された後に取得されるアドレスである。
任意的には、前記CPUは、各PCIeストレージ装置に一意的な識別子を割り当て、前記一意的な識別子は、各PCIeストレージ装置を特定するのに利用される。
任意的には、前記第1アドレス情報は、前記PCIeストレージ装置の前記一意的な識別子と論理ブロックアドレス(LBA)とを有する。
任意的には、前記管理部は更に、前記PCIeストレージ装置の前記一意的な識別子とBARにおけるベースアドレスとの間の対応関係を確立するよう構成される。
前記一意的な識別子は、ベンダ識別子(ベンダID)、デバイス識別子(デバイスID)及びハードディスクシリアル番号の少なくとも1つを有するか、又は、前記一意的な識別子は、前記ベンダID、前記デバイスID及び前記ハードディスクシリアル番号の少なくとも1つに対してハッシュ処理が実行された後に取得される識別子である。
任意的には、前記管理部は、ベースアドレス取得部とストレージアドレス取得部とを有し、
前記ベースアドレス取得部は、当該データ処理システムが前記ネットワークを介し当該データ処理システムと通信する第2データ処理システムの第1データリクエストを受信すると、前記PCIeストレージ装置のものであって、前記第1データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するよう構成され、
前記ストレージアドレス取得部は、前記BARにおけるベースアドレスと前記第1データリクエストにより搬送されるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するよう構成され、前記第1ストレージアドレスは、MMIOアドレスである。
任意的には、前記CPUは、前記ネットワークアダプタに前記取得した第1ストレージアドレスを登録する。
任意的には、当該データ処理システムは更に送信部を有し、前記送信部は、前記管理部により取得された第1ストレージアドレスを前記第2データ処理システムに送信するよう構成される。
任意的には、前記PCIeコントローラは、前記ネットワークアダプタにより送信され、前記第1ストレージアドレスを搬送するデータリクエストを取得し、前記アドレス変換部は、前記第2ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第2ストレージアドレスに書き込む。
任意的には、前記管理部は更に、グローバルベースアドレス取得部とグローバルストレージアドレス取得部とを有し、
前記グローバルベースアドレス取得部は、当該データ処理システムが第2データリクエストを取得すると、前記PCIeストレージ装置のものであって、前記第2データリクエストにより搬送される一意的な識別子に従って前記第2データ処理システムのBARにおける前記第2データリクエストによりリクエストされるデータのベースアドレスを取得するよう構成され、前記第2データリクエストは、前記第2データ処理システムにデータを送信するためのリクエスト又は前記第2データ処理システムからデータを読み込むためのリクエストであり、
前記グローバルストレージアドレス取得部は、前記第2データ処理システムのBARにおけるベースアドレスと前記第2データリクエストにより搬送されるLBAアドレスとに従って前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データのMMIOアドレスを取得するよう構成される。
任意的には、前記第2データ処理システムのPCIeコントローラにおけるデータ変換部は、前記第2データ処理システムにおける当該データ処理システムにより送信された前記第2データリクエストによりリクエストされる前記データのMMIOアドレスに従って、前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
本発明の実施例は、データ処理方法であって、当該方法は、中央処理ユニット(CPU)、メモリ、PCIe(Peripheral Component Interconnect Express)コントローラ、ネットワークアダプタ及び少なくとも1つのPCIeストレージ装置を有するデータ処理システムに適用され、当該方法は、
前記データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第1アドレス情報を取得するステップと、
前記第1アドレス情報に従って前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップであって、前記第1ストレージアドレスはMMIOアドレスである、取得するステップと、
前記ネットワークアダプタによって、前記第1ストレージアドレスに従って前記PCIeストレージ装置からデータを直接読み込み、前記データを第2データ処理システムに送信するか、又は前記第2データ処理システムから受信したデータを前記PCIeストレージ装置に直接書き込むステップであって、前記第2データ処理システムは、ネットワークを介し前記第1データ処理システムと通信するデータ処理システムである、書き込むステップと、
を有するデータ処理方法を提供する。
任意的には、前記PCIeストレージ装置は、前記第1ストレージアドレスに従って前記PCIeストレージ装置における前記データリクエストによりリクエストされたデータの第2ストレージアドレスを取得する。
任意的には、前記第2ストレージアドレスは、物理アドレス又は論理アドレスであり、前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
任意的には、当該方法は更に、
前記PCIeコントローラによって第1BARアドレスレジスタを構成するステップを有し、前記第1BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスとの間の対応関係を格納し、前記第2ストレージアドレスは、リニアな連続するストレージアドレスである。
任意的には、当該方法は更に、
前記PCIeコントローラによって、第2BARアドレスレジスタを構成するステップを有し、前記第2BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、前記第2ストレージアドレスは、非リニアな連続するストレージアドレスであり、前記第2ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第2ストレージアドレスに対して実行された後に取得されるアドレスである。
任意的には、前記CPUは、各PCIeストレージ装置に一意的な識別子を割り当て、前記一意的な識別子は、各PCIeストレージ装置を特定するのに利用される。
任意的には、前記第1アドレス情報は、前記PCIeストレージ装置の前記一意的な識別子と論理ブロックアドレス(LBA)とを有する。
任意的には、当該方法は更に、
前記PCIeストレージ装置の前記一意的な識別子とBARにおけるベースアドレスとの間の対応関係を確立するステップを有する。
任意的には、前記一意的な識別子は、ベンダ識別子(ベンダID)、デバイス識別子(デバイスID)及びハードディスクシリアル番号の少なくとも1つを有するか、又は、前記一意的な識別子は、前記ベンダID、前記デバイスID及び前記ハードディスクシリアル番号の少なくとも1つに対してハッシュ処理が実行された後に取得される識別子である。
任意的には、前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップは、
前記PCIeストレージ装置のものであって、前記第1データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するステップと、
前記BARにおけるベースアドレスと前記第1データリクエストにおけるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するステップであって、前記第1ストレージアドレスは、MMIOアドレスである、取得するステップと、
を有する。
任意的には、前記CPUは、前記ネットワークアダプタに前記取得した第1ストレージアドレスを登録する。
任意的には、当該方法は更に、
前記データ処理システムによって、前記取得された第1ストレージアドレスを前記第2データ処理システムに送信するステップを有する。
任意的には、前記PCIeコントローラは、前記ネットワークアダプタにより送信され、前記第1ストレージアドレスを搬送するデータリクエストを取得し、第2ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第2ストレージアドレスに書き込む。
任意的には、当該方法は更に、
前記データ処理システムが第2データリクエストを取得すると、前記PCIeストレージ装置のものであって、前記第2データリクエストにより搬送される一意的な識別子に従って前記第2データ処理システムのBARにおける前記第2データリクエストによりリクエストされるデータのベースアドレスを取得するステップであって、前記第2データリクエストは、前記第2データ処理システムにデータを送信するためのリクエスト又は前記第2データ処理システムからデータを読み込むためのリクエストである、取得するステップと、
前記第2データ処理システムのBARにおけるベースアドレスと前記第2データリクエストにより搬送されるLBAアドレスとに従って前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データのMMIOアドレスを取得するステップと、
を有する。
任意的には、前記第2データ処理システムのPCIeコントローラは、前記第2データ処理システムにおける前記データ処理システムにより送信された前記第2データリクエストによりリクエストされる前記データのMMIOアドレスに従って、前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
本発明の実施例により提供されるデータ処理システム及びデータ処理方法では、データリクエストのMMIOアドレスが取得され、ここで、PCIeストレージ装置に格納されるデータはMMIOアドレスから直接取得可能であり、MMIOアドレスに従って、ネットワークアダプタは、データ処理システムのPCIeストレージ装置からデータを直接読み込み、当該データを第2処理システムに送信するか、又は第2データ処理システムから受信したデータをPCIeストレージ装置に直接書き込むことができる。従って、処理システムは、ネットワークを介し通信する2つのデータ処理システムの間のデータ送信を実行する際、メモリを利用することなくPCIeストレージ装置からネットワークアダプタにデータを直接送信することを実現できる。2つのデータ処理システムの間のデータ送信中、メモリ及びCPUなどのリソースの利用率が低下し、データ送信の効率性が向上する。
本発明の実施例又は従来技術における技術的手段をより明確に説明するため、以下において、実施例又は従来技術を説明するのに要求される添付した図面が簡単に紹介される。明らかに、以下の説明における添付した図面は、本発明の一部の実施例しか示しておらず、当業者は、創作的な努力なくこれらの添付した図面から他の図面を依然として導出してもよい。
図1は、従来技術におけるリモートノードストレージ装置におけるデータをローカルノードストレージ装置にマイグレートする概略的なフローチャートである。 図2は、本発明の実施例によるデータ処理システムの概略的な構成図である。 図3は、本発明の実施例によるデータ処理システムの特定の実現形態の概略的な構成図である。 図4は、本発明の実施例によるデータ処理方法の概略的なフローチャートである。 図5は、本発明の実施例によるデータ処理システムの実現方法のベースハードウェアの概略的な構成図である。 図6は、本発明の実施例によるPCIeストレージ装置のものであって、管理部に格納される一意的な識別子と、PCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係の一例となる図である。 図7は、本発明の実施例によるPCIeストレージ装置に構成されるアドレスからCPUのMIMOアドレスへのマッピングの構成関係の概略図である。 図8は、本発明の実施例によるデータ処理システムの間のデータ送信のデータフロー方向の概略図である。
以下において、本発明の実施例における添付した図面を参照して、本発明の実施例における技術的手段が明確に説明される。明らかに、説明される実施例は、本発明の全ての実施例でなく一部である。創作的な努力なく本発明の実施例に基づき当業者により獲得される他の全ての実施例は、本発明の保護範囲に属する。
図1は、従来技術におけるリモートノードストレージ装置におけるデータをローカルノードストレージ装置にマイグレートする概略的なフローチャートである。ノードは、サーバなど計算機能又はストレージ機能を実現する装置であってもよい。Node 1がネットワークを介しノードNode 2からNode 2のストレージ装置に格納されているデータを読む必要があるとき、それの実現処理は以下のようである。
ステップ1:Node 1のCPUは、データの読み取りのためリモート接続リクエストを発信する。
ステップ2:Node 1のネットワークアダプタは、指定されたノード(すなわち、Node 2)のネットワークアダプタにリクエストパケットを送信する。
ステップ3:Node 2のネットワークアダプタは、リクエストパケットをNode 2のCPUに転送する。
ステップ4:Node 2のCPUは、リクエストパケットを解析し、その後、データリクエストをNode 2のCPUのPCIeコントローラに発信する。
ステップ5:PCIeコントローラは、リクエストされたデータをDMA方法によりメモリに対して読み込む。
ステップ6:Node 2のCPUは、メモリに対して読み込まれたリクエストされたデータをNode 2のネットワークアダプタに送信する。
ステップ7:Node 2のネットワークアダプタは、リクエストされたデータをネットワークを介しNode 1のネットワークアダプタに送信する。
ステップ8:Node 1のCPUは、Node 1のネットワークアダプタからリクエストされたデータを読み込み、その後、データをメモリにバッファリングする。
ステップ9:Node 1のCPUは、メモリにバッファリングされたデータをPCIeコントローラに送信し、データをPCIeストレージ装置に書き込むようリクエストする。
ステップ10:Node 1のPCIeコントローラは、受信したデータをPCIeストレージ装置に書き込む。
従来技術における上述したデータリモートリード処理から理解されるように、リード処理に関係するノードであるCPUは、データリード処理及びライト処理に関係し、各ノードは、CPUによりリード又はライトされるデータを格納するため、メモリスペースのセグメントを適用する必要がある。この場合、データマイグレーションの処理全体において、データは多数回マイグレートされるため、遅延が必然的に増加し、CPU及びメモリの利用率が高いままとなる。
従来技術におけるリモートデータマイグレーション中のCPU及びメモリの大きな遅延及び高い利用率の問題を解決するため、本発明の実施例は、従来技術におけるデータ処理システムの間のリモートデータリード処理及びライト処理中にメモリ及びCPUリソースの占有によって生じる遅延及びリソース消費の問題を解決するため、データ処理システムを提供する。
従来技術におけるノード間データ送信中の大きな送信遅延と多数のCPU及びメモリリソースの占有との問題を解決するため、本発明の実施例はデータ処理システムを提供する。PCIeストレージ装置のMMIOアドレスマッピング技術とネットワーク技術とを組み合わせることによって、ノード間のデータリモートダイレクトアクセス技術が、データを直接コピーするのに利用される。コピー処理中、CPUはデータマイグレーションに関与する必要はなく、CPUは制御のみを実行しさえすればよく、同時に、CPU及びメモリの利用を低下させるため、データは処理のために予めメモリにマイグレートされる必要はない。さらに、CPUとメモリとの間のデータのマイグレーション処理が低減され、データ処理の遅延が低減され、データ送信の効率性が向上する。
図2を参照して、図2は、本発明の実施例によるデータ処理システム200の概略的な構成図である。データ処理システム200は、中央処理ユニット(CPU)202、メモリ206、PCIe(Peripheral Component Interconnect Express)コントローラ203、ネットワークアダプタ205及び少なくとも1つのPCIeストレージ装置204を有し、更に、
当該データ処理システムがデータリクエストを受信すると、データリクエストにより搬送される第1アドレス情報に従ってPCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するよう構成される管理部201を有し、ここで、第1ストレージアドレスは、MMIO(Memory mapping I/O、メモリマッピング入出力)アドレスであり、
ネットワークアダプタ205は、第1ストレージアドレスに従ってPCIeストレージ装置204からデータを直接読み込み、データを第2データ処理システムに送信するか、又は第2データ処理システムから受信したデータをPCIeストレージ装置204に直接書き込み、ここで、第2データ処理システムは、ネットワークを介し第1データ処理システムと通信するデータ処理システムである。
データリクエストのMMIOアドレスは、上記のデータ処理システムの管理部201により取得され、PCIeストレージ装置に格納されているデータは、MMIOアドレスから直接取得可能であり、MMIOアドレスに従って、ネットワークアダプタ205は、データ処理システム200のPCIeストレージ装置204からデータを直接読み込み可能であり、当該データを第2データ処理システムに送信するか、又は第2データ処理システムから受信したデータをPCIeストレージ装置204に直接書き込み可能である。従って、処理システムは、ネットワークを介し通信する2つのデータ処理システムの間のデータ送信を実行する際、メモリを利用することなくPCIeストレージ装置からネットワークアダプタにデータを直接送信することを実現可能である。2つのデータ処理システムの間のデータ送信中、メモリ及びCPUなどのリソースの利用率は低下し、データ送信の効率性が向上する。
図3を参照して、図3は、本発明の実施例によるデータ処理システム200の特定の実現形態の概略的な構成図である。図3に示されるように、PCIeコントローラ203は更に、第1ストレージアドレスに従ってPCIeストレージ装置におけるデータリクエストによりリクエストされたデータの第2ストレージアドレスを取得するよう構成されるアドレス変換部2031を有する。第2ストレージアドレスは、物理アドレス又は論理アドレスであってもよく、ここで、物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
アドレス変換部2031は、第1ストレージアドレス、すなわち、MMIOアドレスを第2ストレージアドレスに変換し、ここで、第2ストレージアドレスはPCIeストレージ装置204のアクセス可能な媒体の物理アドレスであり、この結果、PCIeコントローラ203がネットワークアダプタ205のデータリクエストを受信すると、PCIeコントローラ203は、データリクエストにより搬送されるMMIOアドレスに従って、MMIOアドレスに対応するアクセス可能な媒体の物理アドレスを取得し、当該物理アドレスを利用することによってデータを読み込むことができる。PCIeストレージ装置204では、アクセス可能な媒体のアドレスがMMIOアドレスによって示されないとき、ネットワークアダプタ205は、データの直接的なリード処理及びライト処理を実現するため、リクエストされたデータのアクセス可能な媒体のアドレスを取得可能である。
任意的な実現方法として、アドレス変換部2031は更に、第1ベースアドレスレジスタ(Base Address Register,BAR)を構成するよう構成され、ここで、第1BARアドレスレジスタは、第1ストレージアドレスと第2ストレージアドレスとの間の対応関係を格納し、第2ストレージアドレスは、リニアな連続するストレージアドレスである。第2ストレージアドレスが非リニアな連続するストレージアドレスである場合、アドレス変換部2031は、第2BARアドレスレジスタを構成するよう構成され、ここで、第2BARアドレスレジスタは、第1ストレージアドレスと第2ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、第2ストレージアドレスのバーチャルアドレスは、リニアオーダリングが第2ストレージアドレスに対して実行された後に取得されるアドレスである。
上記のアドレス変換部2031は、BARアドレスレジスタを構成し、この結果、PCIeストレージ装置において、リニアな連続する物理アドレスは、一対一によりMMIOアドレスに対応させられ、PCIeストレージ装置において、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得される論理アドレスは、一対一によりMMIOアドレスに対応させられ、MMIOアドレスとPCIeストレージ装置のアクセス可能な媒体のアドレスとのマッピングが実現される。従って、ネットワークアダプタは、PCIeコントローラを利用することによってMMIOアドレスに従って一対一によりMMIOアドレスに対応するPCIeのアクセス可能な記憶媒体のアドレスにマッピングし、これにより、データの直接的なリード処理及びライト処理を実現する。
任意的な実現方法として、CPU202は、各PCIeストレージ装置に一意的な識別子を割り当て、ここで、一意的な識別子は、各PCIeストレージ装置を特定するのに利用される。これにより、管理部201は更に、PCIeストレージ装置の一意的な識別子とBARにおけるベースアドレスとの間の対応関係を確立するよう構成される。PCIeストレージ装置の一意的な識別子と、PCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係を利用することによって、管理部201は、PCIeストレージ装置のものであり、データ処理システム200により受信されるデータリクエストメッセージに含まれる一意的な識別子に従って、一意的な識別子に対応し、PCIeストレージ装置のBAR内にあるベースアドレスを取得可能である。データ処理システムにより受信されるデータリクエストにおける第1アドレス情報は、PCIeストレージ装置の一意的な識別子とLBA(Logical Block Address、論理ブロックアドレス)とを含むため、管理部201は、BARにおける取得したベースアドレスとPCIeストレージ装置のLBAアドレスとを利用することによって、リクエストされたデータのMMIOアドレスアドレスを取得できる。
任意的には、一意的な識別子は、ベンダID、デバイスID及びハードディスクシリアル番号の少なくとも1つを有するか、又は、一意的な識別子は、ベンダID、デバイスID及びハードディスクシリアル番号の少なくとも1つに対してハッシュ処理が実行された後に取得される識別子である。
任意的な実現方法として、図3に示されるように、管理部201は、ベースアドレス取得部2011とストレージアドレス取得部2012とを有し、
ベースアドレス取得部2011は、当該データ処理システム200がネットワークを介し当該データ処理システム200と通信する第2データ処理システムの第1データリクエストを受信すると、PCIeストレージ装置204のものであって、第1データリクエストにより搬送される一意的な識別子に従って、リクエストされたデータのBARにおけるベースアドレスを取得するよう構成され、
ストレージアドレス取得部2012は、BARにおけるベースアドレスと第1データリクエストにおけるLBAアドレスとに従ってPCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するよう構成され、第1ストレージアドレスは、MMIOアドレスである。
任意的な実現方法として、CPU202は、ネットワークアダプタに取得した第1ストレージアドレスを登録する。第1ストレージアドレスは、ネットワークアダプタに登録される。ネットワークアダプタ205は、第2データ処理システムのものであって、第1ストレージアドレスを搬送するデータリクエストを受信すると、PCIeバスにより第1ストレージアドレスを公開することが可能である。PCIeコントローラ203は、ネットワークアダプタ205により送信され、第1ストレージアドレスを搬送するリクエストを受信するとき、データリクエストを取得し、リクエストされたデータをネットワークアダプタ205に送信するか、又はネットワークアダプタにより受信され、第2データ処理システムにより送信されるデータを、PCIeストレージ装置における第1ストレージアドレスに対応する位置に書き込む。
任意的な実現方法として、データ処理システム200は更に送信部207を有し、送信部207は、管理部200により取得された第1ストレージアドレスを第2データ処理システムに送信するよう構成される。
任意的には、PCIeコントローラ203は、ネットワークアダプタ205により送信され、第1ストレージアドレスを搬送するデータリクエストを取得し、アドレス変換部2031は、第2ストレージアドレスのデータを取得し、取得したデータをネットワークアダプタに返すか、又はネットワークアダプタにより送信されたデータを第2ストレージアドレスに書き込む。
本発明の実施例では、データ処理システム200と、第2データ処理システムなどの他のデータ処理システムとは、異なるデータ処理システムの間のデータ送信を実現するため、ネットワークを介し通信する。ネットワークは、限定することなく、イーサネット(登録商標)、複数の同時リンクをサポートする変換ケーブル技術IBネットワーク、FC(Fiber Channel、ファイバチャネル)ネットワークなどを含む。上記の第2データ処理システムは、本発明の実施例の手段を実現するシステムであってもよく、また従来技術によるデータ処理システムであってもよい。第2データ処理システムが本発明の実施例の手段を実現するシステムであるとき、第2データ処理システムはまた、ネットワークアダプタからPCIeストレージ装置への直接的なデータリード処理又はライト処理を実現可能である。
任意的な実現手段として、管理部203は更に、グローバルベースアドレス取得部2033とグローバルストレージアドレス取得部2034とを有し、
グローバルベースアドレス取得部2033は、当該データ処理システムが第2データリクエストを取得すると、PCIeストレージ装置のものであって、第2データリクエストにより搬送される一意的な識別子に従って第2データ処理システムのBARにおける第2データリクエストによりリクエストされるデータのベースアドレスを取得するよう構成され、ここで、第2データリクエストは、第2データ処理システムにデータを送信するためのリクエスト又は第2データ処理システムからデータを読み込むためのリクエストであり、
グローバルストレージアドレス取得部2034は、第2データ処理システムのBARにおけるベースアドレスと第2データリクエストにより搬送されるLBAアドレスとに従って第2データ処理システムにおける第2データリクエストによりリクエストされるデータのMMIOアドレスを取得するよう構成される。
対応して、第2データ処理システムのPCIeコントローラにおけるデータ変換部は、第2データ処理システムにおける当該データ処理システムにより送信された第2データリクエストによりリクエストされるデータのMMIOアドレスに従って、第2データ処理システムにおける第2データリクエストによりリクエストされるデータの物理アドレス又は論理アドレスを取得し、ここで、物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
上記の実施例では、管理部203は更に、PCIeストレージ装置の一意的な識別子とPCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係を第2データ処理システムに格納し、データ処理システム200がデータを第2データ処理システムに送信する又は第2データ処理システムからデータを読み込むための第2データリクエストを受信すると、データ処理システム200は、CPUやメモリの関与なく2つのデータ処理システムの間の直接的な送信を実現し、これにより、CPU及びメモリリソースを節約し、データ送信の効率性を向上させるため、第2データ処理システムのBARにおける第2データリクエストによりリクエストされたデータのベースアドレスを取得し、更に第2データリクエストによりリクエストされたデータのMMIOアドレスを取得可能である。例えば、図8は、第1データ処理システムと第2データ処理システムとの間のデータ送信が実現されることを示し、ここで、黒の破線部分は2つのデータ処理システムの間のデータ送信のトラック及びフロー方向である。
本発明の実施例におけるデータ処理システム200はまた、通信ネットワークを介し複数のデータ処理システムに接続され、データ送信を実行してもよい。データ処理システム200は、データ処理システムの間の直接的な送信を実現するため、他の複数のデータ処理システムによって送信され、PCIeストレージ装置の一意的な識別子とPCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係を取得してもよい。データ処理システム200はまた、データ処理システムの間の直接的な送信を実現するため、他の複数のデータ処理システムからPCIeストレージ装置の一意的な識別子とPCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係をリクエストし、当該対応関係を格納する。おそらく、データ処理システム200がPCIeストレージ装置とPCIeストレージ装置のBARにおけるベースアドレスとの間の他の複数のデータ処理システムにおける対応関係を取得し、PCIeストレージ装置とPCIeストレージ装置のBARにおけるベースアドレスとの間の他の複数のデータ処理システムにおける対応関係が変更されると、変更が行われたデータ処理システムは、変更後の対応関係をデータ処理システム200に送信してもよい。
図4を参照して、図4は、本発明の実施例によるデータ処理方法の概略的なフローチャートである。本発明の実施例におけるデータ処理方法は、中央処理ユニット(CPU)、メモリ、PCIe(Peripheral Component Interconnect Express)コントローラ、ネットワークアダプタ及び少なくとも1つのPCIeストレージ装置を有するデータ処理システムに適用され、当該方法は以下を含む。
ステップ400:データ処理システムがデータリクエストを受信すると、データリクエストにより搬送される第1アドレス情報を取得する。
ステップ402:第1アドレス情報に従ってPCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得し、ここで、第1ストレージアドレスはMMIOアドレスである。
ステップ404:ネットワークアダプタは、第1ストレージアドレスに従ってPCIeストレージ装置からデータを直接読み込み、データを第2データ処理システムに送信するか、又は第2データ処理システムから受信したデータをPCIeストレージ装置に直接書き込み、ここで、第2データ処理システムは、ネットワークを介し第1データ処理システムと通信するデータ処理システムである。
上記の方法におけるステップ400及び402は、データ処理システムにおける管理部により実現されてもよい。管理部は、モジュール又はCPUにおける論理ユニットであってもよく、またデータ処理システムにおける別のハードウェアであってもよい。管理ユニットの具体的な実現方法は、本発明の実施例において限定されない。
上記の実施例において、ステップ402においてデータリクエストのMMIOアドレスが取得され、ここで、PCIeストレージ装置に格納されるデータはMMIOアドレスから直接取得可能であり、MMIOアドレスに従って、ネットワークアダプタは、データ処理システムのPCIeストレージ装置からデータを直接読み込み、データを第2データ処理システムに送信するか、又は第2データ処理システムから受信したデータをPCIeストレージ装置に直接書き込むことができる。従って、処理システムは、ネットワークを介し通信する2つのデータ処理システムの間のデータ送信を実行する際、メモリを利用することなくPCIeストレージ装置からネットワークアダプタにデータを直接送信することが実現可能である。2つのデータ処理システムの間のデータ送信中、メモリ及びCPUなどのリソースの利用率は低下し、データ送信の効率性が向上する。
任意的な実現方法として、データ処理方法は更に、PCIeストレージ装置によって、第1ストレージアドレスに従ってPCIeストレージ装置におけるデータリクエストによりリクエストされたデータの第2ストレージアドレスを取得するステップを含む。第2ストレージアドレスは、物理アドレス又は論理アドレスであり、ここで、物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
任意的には、PCIeコントローラは第1BARアドレスレジスタを構成し、ここで、第1BARアドレスレジスタは、第1ストレージアドレスと第2ストレージアドレスとの間の対応関係を格納し、第2ストレージアドレスは、リニアな連続するストレージアドレスである。あるいは、PCIeコントローラは第2BARアドレスレジスタを構成し、ここで、第2BARアドレスレジスタは、第1ストレージアドレスと第2ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、第2ストレージアドレスは、非リニアな連続するストレージアドレスであり、第2ストレージアドレスのバーチャルアドレスは、リニアオーダリングが第2ストレージアドレスに対して実行された後に取得されるアドレスである。
PCIeストレージ装置のアクセス可能な媒体のアドレスとMMIOアドレスとのマッピングを実現するため、PCIeストレージ装置において、リニアな連続する物理アドレスが一対一によりMMIOアドレスに対応させられ、PCIeストレージ装置において、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得される論理アドレスが一対一によりMMIOアドレスに対応させられるように、BARアドレスレジスタが構成される。従って、ネットワークアダプタは、PCIeコントローラを利用することによってMMIOアドレスに従って、一対一によるMMIOアドレスに対応するPCIeのアクセス可能な記憶媒体のアドレスにマッピングし、これによりデータの直接的なリード処理及びライト処理を実現する。
任意的な実現方法として、データ処理方法は更に、CPUによって、各PCIeストレージ装置に一意的な識別子を割り当てるステップと、ここで、一意的な識別子は、各PCIeストレージ装置を特定するのに利用され、一意的な識別子に従ってPCIeストレージ装置の一意的な識別子とBARにおけるベースアドレスとの間の対応関係を確立するステップとを有する。
任意的には、第1アドレス情報は、PCIeストレージ装置の一意的な識別子と論理ブロックアドレス(LBA)とを有する。
任意的には、一意的な識別子は、ベンダID、デバイスID及びハードディスクシリアル番号の少なくとも1つを有するか、又は、一意的な識別子は、ベンダID、デバイスID及びハードディスクシリアル番号の少なくとも1つに対してハッシュ処理が実行された後に取得される識別子である。
PCIeストレージ装置の一意的な識別子とPCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係を利用することによって、PCIeストレージ装置のものであって、データ処理システムにより受信されたデータリクエストメッセージに含まれる一意的な識別子に従って、一意的な識別子に対応し、PCIeストレージ装置のBARにおけるベースアドレスが取得可能である。データ処理システムにより受信されたデータリクエストの第1アドレス情報は、PCIeストレージ装置の一意的な識別子とLBAアドレスとを含むため、リクエストされたデータのMMIOアドレスは、BARにおける取得されたベースアドレスとPCIeストレージ装置のLBAアドレスとを利用することによって取得可能である。
任意的な実現方法として、PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップは、
PCIeストレージ装置のものであって、第1データリクエストにより搬送される一意的な識別子に従って、リクエストされたデータのBARにおけるベースアドレスを取得するステップと、
BARにおけるベースアドレスと第1データリクエストにおけるLBAアドレスとに従ってPCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップであって、第1ストレージアドレスは、MMIOアドレスである、取得するステップと、
を有する。
任意的には、CPUは、ネットワークアダプタに取得した第1ストレージアドレスを登録する。データ処理システムは、取得された第1ストレージアドレスを第2データ処理システムに送信する。データ処理システムのネットワークアダプタが、第1ストレージアドレスを搬送し、第2データ処理システムにより送信されるデータリクエストを受信すると、ネットワークアダプタは、PCIeバスにおいて受信したデータリクエストを公開し、ここで、当該リクエストは、データ処理システムにおけるPCIeコントローラにより受信可能である。PCIeコントローラが、第1ストレージアドレスを搬送し、ネットワークアダプタにより送信されるデータリクエストを取得した後、PCIeコントローラは、第1ストレージアドレスに従って対応する第2ストレージアドレスを取得し、第2ストレージアドレスからデータを取得し、取得したデータをネットワークアダプタに返すか、又はネットワークアダプタにより送信されたデータを第2ストレージアドレスに書き込む。
任意的な実現方法として、当該方法は更に、
データ処理システムが第2データリクエストを受信すると、PCIeストレージ装置のものであって、第2データリクエストにより搬送される一意的な識別子に従って第2データ処理システムのBARにおける第2データリクエストによりリクエストされるデータのベースアドレスを取得するステップであって、第2データリクエストは、第2データ処理システムにデータを送信するためのリクエスト又は第2データ処理システムからデータを読み込むためのリクエストである、取得するステップと、
第2データ処理システムのBARにおけるベースアドレスと第2データリクエストにより搬送されるLBAアドレスとに従って第2データ処理システムにおける第2データリクエストによりリクエストされるデータのMMIOアドレスを取得するステップと、
を有する。
対応して、第2データ処理システムのPCIeコントローラは、第2データ処理システムにおけるデータ処理システムにより送信された第2データリクエストによりリクエストされるデータのMMIOアドレスに従って、第2データ処理システムにおける第2データリクエストによりリクエストされるデータの物理アドレス又は論理アドレスを取得し、ここで、物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
PCIeストレージ装置の一意的な識別子と第2データ処理システムにおけるPCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係が上述したように取得され、この結果、CPU又はメモリの関与なく2つのデータ処理システムの間の直接的な送信を実現し、これにより、CPU及びメモリのリソースを節約し、データ送信の効率性を向上させるため、第2データ処理システムのBARにおける第2データリクエストによりリクエストされるデータのベースアドレスが取得可能であり、第2データリクエストによりリクエストされるデータのMMIOアドレスが更に取得される。
図5は、本発明の実施例によるデータ処理システムの実現方法のベースハードウェアの概略的な構成図を例示する。データ処理システムは、CPU、メモリ、PCIeコントローラ、PCIeバス、PCIeストレージ装置及びネットワークアダプタを含むベースハードウェアにより構成される。データ処理システムにおけるネットワークアダプタは、ネットワークダイレクトアクセス技術をサポートし、PCIeバス技術に基づくネットワークアダプタである。ネットワークダイレクトアクセス技術は、以下に限定することなく、RDMA(Remote Direct Memory Access、リモート・ダイレクト・メモリ・アクセス)などを含む。ネットワークアダプタは、限定することなく、イーサネット(登録商標)カード、IB HCA(Infiniband Host Channel Adapter、複数の同時的なリンクをサポートする変換ケーブル技術ホストチャネルアダプタ)、iWarp HCA(internet Wide area RDMA protocol Host Channel Adapter、インターネット・ワイド・エリア・RDMA・プロトコル・ホスト・チャンネル・アダプタ)、Rapid IO HCA(Rapid IO Host Channel Adapter、ラピッド・IO・ホスト・チャネル・アダプタ)などを含む。ネットワークアダプタがPCIeバス技術に基づくということは、ネットワークアダプタのアップリンクバスインタフェースがPCIeであることを示す。データ処理システムは更に、PCIeバスに基づく少なくとも1つのPCIeストレージ装置を含む。PCIeストレージ装置は、限定することなく、ハードディスク、SSD(Solid State Disk、ソリッド・ステート・ディスク)、Flash、NVRAM(Non−Volatile Random Access Memory、不揮発性ランダム・アクセス・メモリ)などを含む。データ処理システムの実現方法は、限定することなく、サーバ(ラックサーバ、ツールタレットサーバ、シェルフサーバなど)、ストレージ装置又はミッドレンジコンピュータなどの装置を含む。
本発明の実施例におけるデータ処理システムによると、管理部は、図5に示されるようなハードウェアのベースアーキテクチャに基づき追加される。管理部は、データ処理システムがデータリクエストを受信すると、データリクエストにより搬送される第1アドレス情報に従ってPCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するよう構成され、第1ストレージアドレスはMMIOアドレスである。管理部はCPUにおいて実現されてもよく、また別のハードウェアを利用することによって実現されてもよい。データ処理システムにおける管理部の実現方法は、本発明の実施例において限定されない。
具体的には、管理部は、PCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子との間の確立された対応関係に従って、PCIeストレージ装置におけるデータ処理システムにより受信されたデータリクエストのデータのアドレスを取得する。
GUID(Globally Unique Identifier、グローバルに一意的な識別子)などのPCIeストレージ装置の一意的な識別子は、各PCIeストレージ装置に対してデータ処理システムにより割り当てられ、PCIeストレージ装置を一意的に決定する識別子である。一意的な識別子は、CPUにより割り当てられた一意的な識別子であってもよく、また管理部により割り当てられた一意的な識別子であってもよい。一意的な識別子は、PCIeストレージ装置のベンダID(Vender Identity、ベンダ識別子)及びデバイスID(Device Identity、デバイス識別子)により構成される一意的な文字列セットであってもよく、また、PCIeストレージ装置に搭載されたストレージ装置の一意的な識別子ID(例えば、ハードディスクシリアル番号など)又は文字列に対してハッシュ処理が実行された後に取得される識別子であってもよい。一意的な識別子の構成は、ノード内のストレージ装置の情報が一意的にマーク付け可能である限り、本発明の実施例において限定されるものでない。
データ処理システムがスタートすると、PCIeストレージ装置のBARにおけるベースアドレスが割り当てられる。データ処理システムがスタート処理を終了した後、管理部は、各PCIeストレージ装置のBARにおけるベースアドレスを取得する。管理部は、データ処理システムの全てのPCIeストレージ装置をスキャンすることによって、各PCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子とを取得してもよい。
管理部は、各PCIeストレージ装置のBARにおける取得されたベースアドレスとPCIeストレージ装置の一意的な識別子とに従って、各PCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子との間の対応関係を記録する。
データ処理システムがデータリクエストを受信すると、データリクエストは、PCIeストレージ装置におけるリクエストされたデータのLBA(Logical Block Address、論理ブロックアドレス)と一意的な識別子とを搬送する。管理部は、データリクエストにより搬送される一意的な識別子と、各PCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子との間の確立された対応関係とに従って、PCIeストレージ装置のBARにおけるリクエストされたデータのベースアドレスを取得し、LBAアドレスを参照してリクエストされたデータのMMIOアドレスを取得する。管理部は、以下のようにしてMMIOアドレスのスタートアドレス及びエンドアドレスを取得してもよい。
スタートアドレス=BARにおけるマッピングされたベースアドレス+(LBA×ブロックサイズ)
エンドアドレス=BARにおけるマッピングされたベースアドレス+((LBA+ブロック数)×ブロックサイズ)−1
管理部は更に、PCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子との間の対応関係を維持し、PCIeストレージ装置のBARにおけるベースアドレスが変更されると、PCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子との間の対応関係を更新するよう構成される。例えば、PCIeストレージ装置のBARにおけるベースアドレスは、データ処理システムの再スタートにより変更されてもよく、すなわち、各PCIeストレージ装置に対してデータ処理システムにより割り当てられたPCIeストレージ装置のBARにおけるベースアドレスは、最後に割り当てられたベースアドレスと異なるものであってもよい。更新部は、各PCIeストレージ装置の一意的な識別子に従って、PCIeストレージ装置の一意的な識別子とPCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係を更新する必要がある。
管理部はまた、他のデータ処理システムのPCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子との間の対応関係を取得してもよい。他のデータ処理システムのPCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子との間の対応関係を利用することによって、他のデータ処理システムに対してデータリード処理及びライト処理が実行されるとき、他のデータ処理システムにおけるPCIeストレージ装置のストレージアドレスが取得可能である。他のデータ処理システムのPCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子との間の対応関係を取得することは、データ処理システムが他のデータ処理システムにリクエストを自発的に発信するようにして実現されてもよく、また、他のデータ処理システムにより自発的に送信された対応関係が受信された後に実現されてもよい。具体的な取得方法は、本発明の実施例において限定されるものでない。
図6を参照して、図6は、本発明の実施例によるPCIeストレージ装置のものであり、管理部に格納される一意的な識別子と、PCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係の一例となる図である。この一例となる図では、データ処理システムが配置されるネットワーク上のデータ処理システムの一意的なアドレスを識別するため、IPアドレスが利用され、GUIDがPCIeストレージ装置の一意的な識別子である場合、マッピングスペースのスタートアドレスは、CPUアドレッシングスペースからマッピングされるエリアにおけるPCIeストレージ装置のアドレスのスタートアドレスであり、デバイス論理アドレスは、PCIeストレージ装置内の論理スタートアドレスを表し、スペース長は、システムにおいてマッピングされるエリアの全体の長さを表す。
本発明の実施例では、PCIeストレージ装置の一意的な識別子とPCIeストレージ装置のBARにおけるベースアドレスとの間の対応関係は、PCIeストレージ装置のドライブにより確立されてもよく、また管理部により確立されてもよい。具体的には、スクリプトを加える方法は、データ処理システムがスタートした後に自動的なロード処理のため利用されてもよく、手動による方法がまたロード処理のために利用されてもよい。対応関係がPCIeストレージ装置のドライブにより確立されると、PCIeストレージ装置のドライブはまずPCIe BARアドレスレジスタを構成し、管理部は、構成されたマッピング関係を読み込む。対応関係が管理部により確立されるとき、対応関係の確立はPCIeストレージ装置のレジスタを構成することによって実現される。
本発明の実施例におけるPCIeストレージ装置は更に、第1ストレージアドレスに従ってPCIeストレージ装置におけるデータリクエストによりリクエストされたデータの第2ストレージアドレスを取得するよう構成されるアドレス変換部を有する。
アドレス変換部は、PCIeデバイスコントローラにおいて実現されてもよい。PCIeストレージ装置におけるMMIOアドレスと媒体のアクセス可能なアドレスとの間の対応関係が確立され、PCIeストレージ装置のMMIOアドレスに対応する媒体のアクセス可能なアドレスは、MMIOアドレスに対するデータリード処理及びライト処理のリクエストが受信されると、データのリード処理及びライト処理を実行するため、PCIeストレージ装置のストレージアドレスなどのMMIOアドレスに従って取得可能である。
一例として、PCIe NVRAMがPCIeストレージ装置として利用されることは、PCIe NVRAMが従うPCIeプロトコル仕様に従って利用され、PCIe NVRAMなどのアクセス可能な媒体のアドレススペースは、CPUのMMIOアドレススペースに直接マッピングされ、これにより、PCIe NVRAMに対する全てのリード処理及びライト処理のリクエストは、MMIOアドレスに対するリクエストに等価となる。MMIOアドレススペースは、NVRAMの全てのアクセス可能なスペースに対応し、すなわち、PCIeストレージ装置におけるMMIOアドレスと媒体のアクセス可能なアドレスとの間の対応関係が確立される。MMIOアドレススペースにアクセスすることによって、MMIOアドレススペースに対応するNVRAMスペースは直接アクセス可能である。PCIe NVRAM内のアクセス可能な媒体のアドレススペースとCPUのMMIOアドレススペースとの直接的なマッピングは、BARアドレスレジスタを構成するようにして実現可能である。
図7に示されるように、図7は、本発明の実施例によるPCIeストレージ装置に構成されたアドレスからCPUのMMIOアドレスへのマッピングの構成関係の概略図である。図において、PCIeコントローラのPCIeエンドポイントがアドレス変換部として利用され、PCIeストレージ装置のアドレスをCPUのMMIOアドレスにマッピングするためのPCIe BARアドレスレジスタを構成し、これにより、CPUアドレス(DMAを提供するためのアドレス)スペースへのアクセスは、PCIeストレージ装置のアクセス可能な媒体のアドレスに直接マッピングされてもよい。
本発明の実施例では、PCIeストレージ装置における媒体のアクセス可能なアドレスとMMIOアドレスとの間の対応関係が確立され、すなわち、PCIeストレージ装置のアドレススペースとCPUにおけるMMIOアドレススペースとの間のマッピング関係が確立される。PCIeストレージ装置の物理アドレスがリニアな連続するストレージアドレスであるかに基づき、マッピング関係を確立するための実現方法は異なる。
PCIeストレージ装置の物理アドレスがリニアな連続するストレージアドレスであるとき、アドレス変換部により構成されるBARアドレスレジスタは、CPUアドレススペースのセグメントを実際のストレージ装置のサイズに整合したサイズにマッピングする。PCIeストレージ装置のアドレスがリニアで連続的であるため、PCIeストレージ装置のアドレスは、一対一によりマッピングされたCPUアドレススペースのアドレスに対応する。アドレススペースの当該セグメントに対するCPUの処理は、アドレス変換部により取得可能であり、ここで、アドレス変換部は、受信したリクエストをPCIeストレージ装置の実際の物理アドレスに変換する。
PCIeストレージ装置の物理アドレスがリニアな連続するストレージアドレスでないとき、アドレス変換部は、リニアオーダリングが実行された後に取得されるストレージアドレスとCPUアドレスとの間のマッピングを確立する。すなわち、BARアドレスレジスタは、CPUアドレススペースのセグメントをバーチャルアドレスのサイズに整合するサイズにマッピングするよう構成され、ここで、バーチャルアドレスは、非リニアな連続するストレージアドレスに対してリニアオーダリングが実行された後に取得されるアドレスである。例えば、セクタ、ブロック又は他の最小単位の単位が、“バーチャル”リニアスペースを構成するため連続的にラベル付けされ、CPUアドレススペースとのマッピング関係を確立するのに利用される。
PCIeストレージ装置のBARにおけるベースアドレスとPCIeストレージ装置の一意的な識別子との間であって、上記のデータ処理システムにおける管理部により確立される対応関係によると、管理部は、データ処理システムにより受信されたデータリクエストによりリクエストされたデータのMMIOアドレスを取得可能であり、MMIOアドレスに従ってデータリクエストをPCIeコントローラに発信する。PCIeコントローラにおけるアドレス変換部は、PCIeストレージ装置の媒体のアクセス可能なアドレスとMMIOアドレスとの間の確立された対応関係に従って、PCIeストレージ装置におけるリクエストされたデータの媒体のアクセス可能なアドレス、すなわち、実際の物理アドレスを取得する。データリード処理又はデータライト処理は、媒体のアクセス可能なアドレスを利用することによって直接実行可能である。
対応して、データ処理システムのネットワークアダプタは、上記のMMIOアドレスに従ってPCIeストレージ装置からデータを直接読み込むか、又はデータをPCIeストレージ装置に直接書き込むことが可能である。PCIeストレージ装置の関連するデータが物理メモリに読み込まれる必要があり、その後に、物理メモリを利用することによってリモートデータ処理システムに送信される際に生じる従来技術によるメモリ及びCPUリソースの消費と送信遅延との問題が回避される。
以下において、一例として、第1データ処理システムがPCIe SSD Fのオフセットアドレス0x1000−0x2000の4キロバイトのデータを、第2データ処理システムのPCIe SSD Gの0x3000−0x4000の位置に書き込む必要があることを利用することによって、本発明の実施例のデータ処理システム及びデータ処理方法の実現方法が詳細に説明される。PCIe SSDは、PCIeストレージ装置の特定の実現方法である。本実施例では、第1データ処理システムが第1データ処理システムのPCIe SSDの一意的な識別子とPCIe SSDのBARにおけるベースアドレスとの間の対応関係を確立するだけでなく、第2データ処理システムのPCIe SSDの一意的な識別子とPCIe SSDのBARにおけるベースアドレスとの間の対応関係を取得することが、説明のための一例として利用される。
ステップ500:第1データ処理システムは、PCIe SSDのBARにおけるベースアドレスを取得する。
第1データ処理システムは、管理部のPCIe SSDの一意的な識別子とPCIe SSDのBARにおけるベースアドレスとの間の対応関係に従って、オフセットアドレス0x1000に対応するMMIOアドレス、例えば、0xff00 1000などを取得するため、PCIe SSD FのPCIe BARにおけるベースアドレス0xff00 0000を取得し、さらにオフセットアドレス0x3000−0x4000に対応するMMIOアドレス、例えば、0xfe00 3000などを取得するため、PCIe SSD GのPCIe BARにおけるベースアドレス0xfe00 0000を取得する。
ステップ502:第1データ処理システムのネットワークアダプタは、データライト処理リクエストを発信する。
第1データ処理システムのネットワークアダプタは、PCIe SSD Fの新たなMMIOアドレス0xff00 1000を利用することによって、PCIe SSD F装置にデータリクエストを発信し、PCIe SSD F装置内のPCIeインタフェースは、MMIOアドレスを内部のアクセス可能な記憶媒体のアドレスXXXに変換する。ここで、XXXの結果は、マッピング部の異なる実現形態に応じて異なってもよい。PCIe SSD Fは、記憶媒体のアドレスXXXに対応するデータを読み込み、リード処理が終了した後にPCIeバスを利用することによって、データをネットワークアダプタに送信する。当該処理全体において、何れのCPUもデータ送信処理に関与する必要はなく、同時に何れのメモリも占有される必要はない。
ステップ504:第2データ処理システムのネットワークアダプタは、第1データ処理システムのネットワークアダプタにより送信されたデータを受信し、当該データをPCIe SSD Gに送信する。
第2データ処理システムのネットワークアダプタは、PCIe SSD Gの新たなMMIOアドレス0xfe00 3000を利用することによって、PCIe SSD G装置にデータライト処理リクエストを発信し、PCIe SSD G装置のPCIeインタフェースは、MMIOアドレスを内部のアクセス可能な記憶媒体のアドレスYYYに変換する。ここで、YYYの結果は、マッピング部の異なる実現形態に応じて異なってもよい。PCIe SSD Gは、ネットワークアダプタにより送信されたデータを記憶媒体のアドレスYYYに書き込む。この処理全体では、何れのCPUもデータ送信処理に関与する必要はなく、何れのメモリも占有される必要はない。
PCIe SSD F装置内のPCIeインタフェースがMMIOアドレスを内部のアクセス可能な記憶媒体のアドレスXXXに変換し、PCIe SSD G装置のPCIeインタフェースがMMIOアドレスを内部のアクセス可能な記憶媒体のアドレスYYYに変換することは、第2ストレージアドレスがリニアな連続する物理アドレスであるケースに適用される。第2ストレージアドレスが論理アドレスであるとき、PCIe SSD F装置内のPCIeインタフェースがMMIOアドレスを内部のアクセス可能な記憶媒体のアドレスXXXに変換することはまた、論理アドレスから非リニアな連続するアドレスへの変換を必要とするが、ここでは繰り返し説明しない。
第1データ処理システムが第2データ処理システムにおけるPCIe SSDの一意的な識別子とPCIe SSDのBARにおけるベースアドレスとの間の対応関係を取得しないケースについて、第2データ処理システムの管理部は、第2データ処理システムにおいてPCIe SSDの一意的な識別子とPCIe SSDのBARにおけるベースアドレスとの間の対応関係を確立し、第2データ処理システムのネットワークアダプタが第1データ処理システムにより送信されたデータリード処理及びライト処理リクエストを受信すると、第2データ処理システムにおいてPCIe SSDの一意的な識別子とPCIe SSDのBARにおけるベースアドレスとの間の対応関係に従って、PCIe SSDのBARにおけるデータが書き込まれる必要があるベースアドレスを取得し、当該データを対応するPCIe SSDに直接書き込む。
本発明の上記の実施例では、PCIeストレージ装置は、異なるデータ処理システムの間のデータ送信中にデータを直接読み込み又は書き込むための実現方法を説明するため、一例として利用される。SCM(Storage Class Memory)、RRAM(登録商標)(Resistive Random Access Memory)又はNVDIMM(Non−Volatile DIMM)などのメモリインタフェースを通過するストレージ装置について、上記のPCIeストレージ装置の実現方法が参照されてもよく、管理部は、SCM、RRAM(登録商標)及びNVDIMMに対するデータの直接的なリード処理及びライト処理を実行するのに利用される。システムがスタートすると、初期化中、ストレージ装置(NVDIMM/RRAM(登録商標)/SCM)は、システムにおいてストレージ装置によりアクセスされるスペースを登録してもよい。登録されたアドレスにアクセスすることによって、ストレージ装置がアクセス可能である。上記の実施例と異なって、PCIeストレージ装置においてMMIOアドレスとアクセス可能な媒体のアドレスとの間のマッピングを実行する必要はなく、またアドレス変換を実行する必要もなく、しかしながら、ネットワーク上の他のデータ処理システムがアクセス予定のデータのアドレスを取得することを可能にするため、システムにおけるストレージ装置(NVDIMM/RRAM(登録商標)/SCM)のアドレスが取得される必要があり、他のデータ処理システムが同期される必要がある。
当業者は、本明細書に開示される実施例において説明された具体例に関して、ユニット及びアルゴリズムのステップが電子ハードウェア、コンピュータソフトウェア又はこれらの組み合わせにより実現されてもよいことを認識するであろう。ハードウェアとソフトウェアとの間の互換性を明確に説明するため、各具体例の構成及びステップが機能に従って全体的に上述された。これらの機能がハードウェア又はソフトウェアにより実行されるか否かは、技術的手段の設計制約条件及びアプリケーションに依存する。当業者は、異なる方法を利用して、各アプリケーションについて説明された機能を実現してもよいが、当該実現形態は本発明の範囲外であるとみなされるべきでない。
説明の簡単化と便宜のため、上記のシステム、装置及びユニットの詳細なワーキング処理について、上記の方法の実施例における対応する処理が参照されてもよく、詳細は再びここでは説明されないことが、当業者により明確に理解されてもよい。
本出願において提供される複数の実施例において、開示されたシステム、装置及び方法は他の方法により実現されてもよいことが理解されるべきである。例えば、説明された装置の実施例は単なる一例である。例えば、ユニットの分割は、単なる論理機能の分割であり、実際の実現形態では他の分割であってもよい。例えば、複数のユニット又はコンポーネントが、他のシステムに組み合わせ又は統合されてもよいし、又はいくつかの特徴は無視又は実行されなくてもよい。さらに、表示又は説明された相互結合、直接的な結合又は通信接続は、いくつかのインタフェースを介し実現されてもよい。装置又はユニットの間の間接的な結合又は通信接続は、電子、機械又は他の形態により実現されてもよい。
別々のパーツとして説明されるユニットは、物理的に分離されてもよいし、又はそうでなくてもよく、ユニットとして表示されるパーツは、物理的なユニットであってもよいし、又はそうでなくてもよく、1つの位置に配置されてもよいし、又は複数のネットワークユニット上に分散されてもよい。これらのユニットの一部又は全ては、本発明の実施例の手段の目的を達成するため、実際のニーズに従って選択されてもよい。
さらに、本発明の実施例における機能ユニットは、1つの処理ユニットに統合されてもよいし、又は各ユニットは物理的に単独で存在してもよいし、又は2以上のユニットが1つのユニットに統合される。統合されたユニットは、ハードウェアの形態により実現されてもよいし、又はソフトウェアの機能ユニットの形態により実現されてもよい。
統合されたユニットがソフトウェアの機能ユニットの形態により実現され、独立した製品として販売又は利用されるとき、統合されたユニットはコンピュータ可読記憶媒体に格納されてもよい。このような理解に基づき、本質的又は部分的に従来技術に寄与する本発明の技術的手段又は当該技術的手段の全て若しくは一部は、ソフトウェアプロダクトの形態により実現されてもよい。コンピュータソフトウェアプロダクトは、記憶媒体に格納され、コンピュータ装置(パーソナルコンピュータ、サーバ、ネットワーク装置などであってもよい)に本発明の実施例において説明された方法のステップの全て又は一部を実行するよう指示するための複数の命令を含む。上記の記憶媒体は、USBフラッシュドライブ、着脱可能なハードディスク、ROM(Read−Only Memory)、RAM(Random Access Memory)、磁気ディスク又は光ディスクなど、プログラムコードを格納可能な何れかの媒体を含む。
上記説明は、本発明の単なる特定の実施例であり、本発明の保護範囲を限定することを意図するものでない。本発明において開示された技術的範囲内で当業者により容易に理解される何れかの改良又は置換は、本発明の保護範囲内に属する。従って、本発明の保護範囲は、請求項の保護範囲に従うことになる。

Claims (26)

  1. 中央処理ユニット(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ストレージアドレスを取得するよう構成されるデータ処理システム。
  2. 前記PCIeコントローラは、前記第1ストレージアドレスに従って前記PCIeストレージ装置における前記データリクエストによりリクエストされたデータの第2ストレージアドレスを取得するよう構成されるアドレス変換部を有する、請求項1記載のデータ処理システム。
  3. 前記第2ストレージアドレスは、物理アドレス又は論理アドレスであり、
    前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであるか、又は前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項2記載のデータ処理システム。
  4. 前記アドレス変換部は更に、第1BARアドレスレジスタを構成するよう構成され、
    前記第1BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスとの間の対応関係を格納し、
    前記第2ストレージアドレスは、リニアな連続するストレージアドレスである、請求項2又は3記載のデータ処理システム。
  5. 前記アドレス変換部は更に、第2BARアドレスレジスタを構成するよう構成され、
    前記第2BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、
    前記第2ストレージアドレスは、非リニアな連続するストレージアドレスであり、
    前記第2ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第2ストレージアドレスに対して実行された後に取得されるアドレスである、請求項2乃至4何れか一項記載のデータ処理システム。
  6. 前記第1アドレス情報は、前記PCIeストレージ装置の前記一意的な識別子と論理ブロックアドレス(LBA)とを有する、請求項1乃至5何れか一項記載のデータ処理システム。
  7. 前記一意的な識別子は、ベンダ識別子(ベンダID)、デバイス識別子(デバイスID)及びハードディスクシリアル番号の少なくとも1つを有するか、又は、前記一意的な識別子は、前記ベンダID、前記デバイスID及び前記ハードディスクシリアル番号の少なくとも1つに対してハッシュ処理が実行された後に取得される識別子である、請求項6記載のデータ処理システム。
  8. 前記管理部は、ベースアドレス取得部とストレージアドレス取得部とを有し、
    前記ベースアドレス取得部は、当該データ処理システムが前記ネットワークを介し当該データ処理システムと通信する第2データ処理システムの第1データリクエストを受信すると、前記PCIeストレージ装置のものであって、前記第1データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するよう構成され、
    前記ストレージアドレス取得部は、前記BARにおけるベースアドレスと前記第1データリクエストにより搬送されるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するよう構成され、前記第1ストレージアドレスは、MMIOアドレスである、請求項記載のデータ処理システム。
  9. 前記CPUは、前記ネットワークアダプタに前記取得した第1ストレージアドレスを登録する、請求項1又は記載のデータ処理システム。
  10. 当該データ処理システムは更に送信部を有し、
    前記送信部は、前記管理部により取得された第1ストレージアドレスを前記第2データ処理システムに送信するよう構成される、請求項1又は記載のデータ処理システム。
  11. 前記PCIeコントローラは、前記ネットワークアダプタにより送信され、前記第1ストレージアドレスを搬送するデータリクエストを取得し、
    前記アドレス変換部は、前記第2ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第2ストレージアドレスに書き込む、請求項2又は記載のデータ処理システム。
  12. 前記管理部は更に、グローバルベースアドレス取得部とグローバルストレージアドレス取得部とを有し、
    前記グローバルベースアドレス取得部は、当該データ処理システムが第2データリクエストを取得すると、前記PCIeストレージ装置のものであって、前記第2データリクエストにより搬送される一意的な識別子に従って前記第2データ処理システムのBARにおける前記第2データリクエストによりリクエストされるデータのベースアドレスを取得するよう構成され、前記第2データリクエストは、前記第2データ処理システムにデータを送信するためのリクエスト又は前記第2データ処理システムからデータを読み込むためのリクエストであり、
    前記グローバルストレージアドレス取得部は、前記第2データ処理システムのBARにおけるベースアドレスと前記第2データリクエストにより搬送されるLBAアドレスとに従って前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データのMMIOアドレスを取得するよう構成される、請求項又は記載のデータ処理システム。
  13. 前記第2データ処理システムのPCIeコントローラにおけるデータ変換部は、前記第2データ処理システムにおける当該データ処理システムにより送信された前記第2データリクエストによりリクエストされる前記データのMMIOアドレスに従って、前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、
    前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項12記載のデータ処理システム。
  14. データ処理方法であって、当該方法は、中央処理ユニット(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ストレージアドレスを取得するステップと、
    を有するデータ処理方法。
  15. 前記PCIeコントローラは、前記第1ストレージアドレスに従って前記PCIeストレージ装置における前記データリクエストによりリクエストされたデータの第2ストレージアドレスを取得する、請求項14記載のデータ処理方法。
  16. 前記第2ストレージアドレスは、物理アドレス又は論理アドレスであり、
    前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであるか、又は前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項15記載のデータ処理方法。
  17. 当該方法は更に、前記PCIeコントローラによって第1BARアドレスレジスタを構成するステップを有し、
    前記第1BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスとの間の対応関係を格納し、
    前記第2ストレージアドレスは、リニアな連続するストレージアドレスである、請求項15又は16記載のデータ処理方法。
  18. 当該方法は更に、前記PCIeコントローラによって、第2BARアドレスレジスタを構成するステップを有し、
    前記第2BARアドレスレジスタは、前記第1ストレージアドレスと前記第2ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、
    前記第2ストレージアドレスは、非リニアな連続するストレージアドレスであり、
    前記第2ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第2ストレージアドレスに対して実行された後に取得されるアドレスである、請求項15乃至17何れか一項記載のデータ処理方法。
  19. 前記第1アドレス情報は、前記PCIeストレージ装置の前記一意的な識別子と論理ブロックアドレス(LBA)とを有する、請求項14乃至18何れか一項記載のデータ処理方法。
  20. 前記一意的な識別子は、ベンダ識別子(ベンダID)、デバイス識別子(デバイスID)及びハードディスクシリアル番号の少なくとも1つを有するか、又は、前記一意的な識別子は、前記ベンダID、前記デバイスID及び前記ハードディスクシリアル番号の少なくとも1つに対してハッシュ処理が実行された後に取得される識別子である、請求項19記載のデータ処理方法。
  21. 前記PCIeストレージ装置におけるリクエストされたデータの第1ストレージアドレスを取得するステップは、
    前記PCIeストレージ装置のものであって、第1データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのBARにおけるベースアドレスを取得するステップと、
    前記BARにおけるベースアドレスと前記第1データリクエストにより搬送されるLBAアドレスとに従って前記PCIeストレージ装置における前記リクエストされたデータの前記第1ストレージアドレスを取得するステップであって、前記第1ストレージアドレスは、MMIOアドレスである、取得するステップと、
    を有する、請求項19記載のデータ処理方法。
  22. 前記CPUは、前記ネットワークアダプタに前記取得した第1ストレージアドレスを登録する、請求項14又は21記載のデータ処理方法。
  23. 当該方法は更に、前記データ処理システムによって、前記取得された第1ストレージアドレスを前記第2データ処理システムに送信するステップを有する、請求項15又は21記載のデータ処理方法。
  24. 前記PCIeコントローラは、前記ネットワークアダプタにより送信され、前記第1ストレージアドレスを搬送するデータリクエストを取得し、前記第2ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第2ストレージアドレスに書き込む、請求項14又は22記載のデータ処理方法。
  25. 当該方法は更に、
    前記データ処理システムが第2データリクエストを取得すると、前記PCIeストレージ装置のものであって、前記第2データリクエストにより搬送される一意的な識別子に従って前記第2データ処理システムのBARにおける前記第2データリクエストによりリクエストされるデータのベースアドレスを取得するステップであって、前記第2データリクエストは、前記第2データ処理システムにデータを送信するためのリクエスト又は前記第2データ処理システムからデータを読み込むためのリクエストである、取得するステップと、
    前記第2データ処理システムのBARにおけるベースアドレスと前記第2データリクエストにより搬送されるLBAアドレスとに従って前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データのMMIOアドレスを取得するステップと、
    を有する、請求項19又は21記載のデータ処理方法。
  26. 前記第2データ処理システムのPCIeコントローラは、前記第2データ処理システムにおける前記データ処理システムにより送信された前記第2データリクエストによりリクエストされる前記データのMMIOアドレスに従って、前記第2データ処理システムにおける前記第2データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、
    前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項25記載のデータ処理方法。
JP2015544331A 2013-10-29 2013-10-29 データ処理システム及びデータ処理方法 Active JP6014271B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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