CN108319428A - 一种数据读取的方法及装置 - Google Patents

一种数据读取的方法及装置 Download PDF

Info

Publication number
CN108319428A
CN108319428A CN201711482453.2A CN201711482453A CN108319428A CN 108319428 A CN108319428 A CN 108319428A CN 201711482453 A CN201711482453 A CN 201711482453A CN 108319428 A CN108319428 A CN 108319428A
Authority
CN
China
Prior art keywords
starter
input
message
output commands
object machine
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.)
Pending
Application number
CN201711482453.2A
Other languages
English (en)
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
Hangzhou Huawei Digital 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 Hangzhou Huawei Digital Technologies Co Ltd filed Critical Hangzhou Huawei Digital Technologies Co Ltd
Priority to CN201711482453.2A priority Critical patent/CN108319428A/zh
Publication of CN108319428A publication Critical patent/CN108319428A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种数据读取的方法及装置,用以解决现有技术中存在的基于RDMA实现数据存储转移的过程交互次数较多,数据存储转移的处理过程时延较长的问题。该方法包括:启动器向目标器发送输入/输出命令请求,所述输入/输出命令请求用于指示所述启动器需要获取的写入数据;所述启动器接收到目标器根据所述输入/输出命令请求发送的远程直接数据存取首先写入数据包和远程直接数据存取中间写入数据包之后,接收所述目标器发送的第一消息,所述第一消息中包括远程直接数据存取最后写入数据包以及输入/输出命令响应,其中,所述输入/输出命令响应用于响应所述启动器发送的输入输出命令请求,告知所述启动器所述输入输出命令请求已处理完成。

Description

一种数据读取的方法及装置
技术领域
本申请涉及信息技术领域,尤其涉及一种数据读取的方法及装置。
背景技术
在两台计算机设备之间的数据存储过程中,采用远程直接数据存取(remotedirect memory access,RDMA)的方式,通过网络把其中一台计算机存储区的数据直接传入到另一台计算机的存储区,采用该方式不会对操作***造成任何影响,较少的使用计算机的处理功能,消除了外部存储器复制和文本交换操作,提高了***性能。
随着基于融合网络的非易失性内存(non-volatile memory express overfabric,NoF)技术的发展,在RDMA过程中对时延的要求越来越高,而现有技术中在数据路径上的转发过程中交互相对较多,导致时延较长,举例说明,两台计算机设备分别为控制器A和控制器B,在控制器B从控制器A中读取写入到自身的数据的数据转发过程如下:控制器B的具备远程直接数据存取能力的网卡(RDMAnetwork interface card,RNIC)的启动器(initiator,INI)向控制器A的目标器(target,TGT)发送输入/输出命令请求(input/output command request,IO CMD Request),所述TGT接收到所述INI发送的IO CMDRequest之后,首先发送远程直接数据存取首先写入数据包(RDMA write first packet),继续发送远程直接数据存取中间写入数据包(RDMA write middle packet),然后发送远程直接数据存取最后写入数据包(RDMA write last packet),所述INI每次接收到数据包之后都向TGT反馈确认消息(ACK),再TGT发送RDMA write last packet,并接收到TGT针对所述RDMA write last packet反馈的ACK之后,TGT向INI发送输入/输出命令响应(input/output command response,IO CMD Response),用于告知INI所述IO CMD Request已处理完成。
综上,基于RDMA实现数据存储转移的过程交互次数较多,数据存储转移的处理过程时延较长。
发明内容
本申请提供一种数据读取的方法及装置,用以解决现有技术中基于RDMA实现数据存储转移的过程交互次数较多,数据存储转移的处理过程时延较长的问题。
第一方面,本申请提供了一种数据读取的方法,启动器向目标器发送输入/输出命令请求,所述输入/输出命令请求用于指示所述启动器需要获取的写入数据;所述目标器接收到所述输入/输出命令请求;所述目标器根据所述输入/输出命令请求向所述启动器发送远程直接数据存取首先写入数据包和远程直接数据存取中间写入数据包,所述启动器接收到远程直接数据存取首先写入数据包和远程直接数据存取中间写入数据包,所述目标器向所述启动器发送第一消息,所述启动器接收到所述第一消息,所述第一消息中包括远程直接数据存取最后写入数据包以及输入/输出命令响应,其中,所述输入/输出命令响应用于响应所述启动器发送的输入输出命令请求,告知所述启动器所述输入输出命令请求已处理完成。
通过上述方法,所述启动器接收到的第一消息中包含了远程直接数据存取最后写入数据包以及输入/输出命令响应,所述远程直接数据存取最后写入数据包以及输入/输出命令响应在同一条消息中发送,可以减少数据存储转移的过程交互次数,缩短数据存储转移的处理过程时延。
在一种可能的设计中,所述启动器接收目标器发送的第一消息之后,还可以向所述目标器发送第一确认消息,其中,所述第一确认消息用于告知所述目标器已接收到所述第一消息。
在一种可能的设计中,所述输入/输出命令响应可以携带在所述第一消息中的立即数区域中。通过该方法,通过对第一消息携带的立即数的字节数进行扩展后,扩展后的立即数区域可以存放所述输入/输出命令响应,使第一消息能够同时携带远程直接数据存取最后写入数据包以及输入/输出命令响应。
第二方面,本申请提供一种启动器,包括接收单元和发送单元,所述接收单元和发送单元可以通过硬件实现,也可以通过相应的逻辑功能模块实现。接收单元和发送单元通过交互配合可以实现上述第一方面及其第一方面中任一种可能的设计中由启动器完成的方法过程。
第三方面,本申请提供一种目标器,包括接收单元和发送单元,所述接收单元和发送单元可以通过硬件实现,也可以通过相应的逻辑功能模块实现。接收单元和发送单元通过交互配合可以实现上述第一方面及其第一方面中任一种可能的设计中由目标器完成的方法过程。
第四方面,本申请实施例还提供了一种设备,包括处理器和存储器,所述存储器用于存储软件程序,所述处理器用于读取所述存储器中存储的软件程序并实现第一方面、第一方面的任意一种设计提供的方法。
第五方面,本申请还提供了一种计算机可读存储介质,用于存储为执行上述第一方面、第一方面的任意一种设计的功能所用的计算机软件指令,其包含用于执行上述第一方面、第一方面的任意一种设计的方法所设计的程序。
第六方面,本申请实施例还提供了一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现第一方面或上述第一方面的任意一种设计的方法。
附图说明
图1为本申请提供的一种数据流向示意图;
图2为本申请提供的一种数据写入过程示意图;
图3为本申请提供的一种数据读取的方法流程图;
图4为本申请提供的另一种数据读取的方法流程图;
图5为本申请提供的一种报文格式示意图;
图6为本申请提供的另一种启动器结构示意图;
图7为本申请提供的另一种目标器结构示意图;
图8为本申请提供的一种数据读取装置的硬件结构图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例提供一种数据读取的方法及装置,用于解决现有技术中存在的基于RDMA实现数据存储转移的过程交互次数较多,数据存储转移的处理过程时延较长的问题。其中,方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此设备与方法的实施可以相互参见,重复之处不再赘述。
以下,对本申请中的部分用语进行解释说明,以便使本领域技术人员理解。
远程直接数据存取(remote direct memory access,RDMA),指通过网络把一台计算机存储区的数据直接传入到另一台计算机的存储区,而不对操作***造成任何影响,较少的使用计算机的处理功能的数据存储方式。
启动器(initiator,INI),属于具备远程直接数据存取能力的网卡(RDMA networkinterface card,RNIC)中的一部分,用于发送和接收数据。
目标器(target,TGT),属于具备远程直接数据存取能力的网卡(RDMA networkinterface card,RNIC)中的一部分,用于发送和接收数据。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请可以应用于基于RDMA实现数据存储转移的过程。具体的,基于RDMA实现数据存储转移的过程的数据流向如图1所示,图1中两台计算机设备分别为控制器A和控制器B,表示的是从控制器A向控制器B写入数据的过程,控制器A的网卡从控制器A的存储区读取数据,发送给控制器B的网卡,控制器B的网卡将接收到的数据写入到控制器B的存储区。其中,控制器B的具体写入过程如图2所示,分为4个步骤,第一步,接收到控制器A的网卡发送的数据包,第二步通过网卡进行数据包解析,第三步,(a)将解析后的数据包写入控制器B的存储区,(b)同时向控制器A的网卡发送确认消息。在现有技术中,第一步更加细化的操作过程如图3所示,即与本申请实施例相对应的现有技术,具体的,控制器B的具备远程直接数据存取能力的网卡(RDMAnetwork interface card,RNIC)的启动器(initiator,INI)向控制器A的目标器(target,TGT)发送输入/输出命令请求(input/output command request,IOCMD Request),所述TGT接收到所述INI发送的IO CMDRequest之后,首先发送远程直接数据存取首先写入数据包(RDMA write first packet),继续发送远程直接数据存取中间写入数据包(RDMA write middle packet),然后发送远程直接数据存取最后写入数据包(RDMAwrite last packet),所述INI每次接收到数据包之后都向TGT反馈确认消息(ACK),在TGT发送RDMA write last packet,并接收到TGT针对所述RDMAwrite last packet反馈的ACK之后,TGT向INI发送输入/输出命令响应(input/output command response,IO CMDResponse),用于告知INI所述IO CMD Request已处理完成。其中,所述IO CMD Request和IOCMD Response都可以封装在报文中发送。通过上述方法,会出现基于RDMA实现数据存储转移的过程交互次数较多,数据存储转移的处理过程时延较长的问题。
为了解决上述问题,下面结合附图对本申请提供的数据读取方案进行具体说明。
参见图4,为本申请提供的数据读取的方法流程图。该方法包括:
S401,启动器向目标器发送输入/输出命令请求,所述输入/输出命令请求用于指示所述启动器需要获取的写入数据。具体的,如图1所示,启动器属于控制器B中的网卡,目标器属于控制器A中的网卡,控制器B向控制器A发起数据读取,也可以称为输入输出读取(IORead)。其中,所述输入/输出命令请求可以封装在任意一个报文中发送。
S402、所述目标器根据接收到的所述输入/输出命令请求,向所述启动器发送远程直接数据存取首先写入数据包。
S403、所述启动器接收到远程直接数据存取首先写入数据包之后,向所述目标器发送远程直接数据存取首先写入数据包对应的确认消息。
S404、所述目标器接收到所述启动器发送的远程直接数据存取首先写入数据包对应的确认消息之后,向所述启动器发送远程直接数据存取中间写入数据包。
S405、所述启动器接收到远程直接数据存取中间写入数据包之后,向所述目标器发送远程直接数据存取中间写入数据包对应的确认消息。
S406、所述目标器接收到所述启动器发送的远程直接数据存取中间写入数据包对应的确认消息之后,向所述启动器发送远第一消息,所述第一消息中包括远程直接数据存取最后写入数据包以及输入/输出命令响应,其中,所述输入/输出命令响应用于响应所述启动器发送的输入输出命令请求,告知所述启动器所述输入输出命令请求已处理完成。
S407、所述启动器接收目标器发送的第一消息之后,向所述目标器发送第一确认消息,其中,所述第一确认消息用于告知所述目标器已接收到所述第一消息。
通过上述方法,所述目标器向启动器发送首先写入数据包和中间写入数据包之后,向所述启动器发送携带远程直接数据存取最后写入数据包以及输入/输出命令响应的第一消息,通过将所述远程直接数据存取最后写入数据包以及输入/输出命令响应在同一条消息中发送,可以减少数据存储转移的过程交互次数,缩短数据存储转移的处理过程时延。
在一种可能的方式中,所述远程直接数据存取中间写入数据包与所述第一消息之间还可以存在其他写入数据包,目标器向启动器发送的数据包的数量本申请不做限定,只要目标器向启动器发送的最后一个数据包中即携带最后一个写入数据包又携带输入/输出命令响应即可。
在一种可能的方式中,启动器发送输入/输出命令请求开始(即IO Read开始),到启动器接收输入/输出命令响应结束(即IO Read Complete(完成)),可以称为是一个IO潜伏期(latency),表示全执行一个指令所需的时钟周期。
在一种可能的实现方式中,步骤406中涉及的第一消息中携带立即数(immediateDate),在现有技术中,远程直接数据存取最后写入数据包可以携带的立即数为4字节,如下表1所示,立即数的操作码(opcode)类型为01001,具体为RMDA WRITE LAST withImmediate,由于发送远程直接数据存取最后写入数据包的同时还需要发送输入/输出命令响应,因此现有技术中的4字节无法完成存储输入/输出命令响应,因此,本申请通过对立即数区域进行扩展,如下表2所示,在扩展后的立即数区域中,输入/输出命令响应可以占用除第一字节以外的任意字段,本申请不做限定,第一字节用于存储立即数的长度(immediatelength),扩展后的字节数为N,N为大于4的正整数。表1和表2的行表示位数(bits),列表示字节数(bytes)。
表1
表2
在现有技术中,一般承载RDMA首先写入数据包和各个RDMA中间写入数据包的报文格式可以如图5所示的上面RoCE报文格式,即传统的RoCE报文格式,RDMA首先写入数据包和各个RDMA中间写入数据包可以承载在IB Payload中发送,传统的RoCE报文格式中包括立即数区域(IB GRH区域)。在本发明实施例中,承载远程直接数据存取最后写入数据包的报文格式可以改为图5所示的下面的更新RoCE报文格式,即RoCEv2格式的报文可以作为本发明实施例上述提及的第一消息,其中对IB GRH区域进行扩展,IP Header域继续承载数据包的IP地址等信息,UDP Header为扩展后的立即数区域,可以用于承载输入/输出命令响应,RoCEv2的其他字段与现有技术中RoCE报文的其他字段的作用相同,在此不再过多赘述。
本申请实施例不限定数据读取的过程,现有技术中的数据写入过程也可以使用本申请提出的数据读取过程进行替换,例如,控制器B向控制器A写入的过程可以替换为控制器A从控制器B读取的过程。
基于与方法实施例同样的发明构思,本申请还提供了一种启动器示意图,如图6所示,包括发送单元601,用于向目标器发送输入/输出命令请求,所述输入/输出命令请求用于指示所述启动器需要获取的写入数据;接收单元602,用于接收到所述目标器根据所述输入/输出命令请求发送的远程直接数据存取首先写入数据包和远程直接数据存取中间写入数据包之后,接收所述目标器发送的第一消息,所述第一消息中包括远程直接数据存取最后写入数据包以及输入/输出命令响应,其中,所述输入/输出命令响应用于响应所述启动器发送的输入输出命令请求,告知所述启动器所述输入输出命令请求已处理完成。
在一种可能的实现方式中,所述发送单元601还用于:向所述目标器发送第一确认消息,其中,所述第一确认消息用于告知所述目标器已接收到所述第一消息。
基于与方法实施例同样的发明构思,本申请还提供了一种目标器示意图,如图7所示,包括接收单元701,用于接收到启动器发送的输入/输出命令请求,所述输入/输出命令请求用于指示所述启动器需要获取的写入数据;发送单元702,用于根据所述输入/输出命令请求向所述启动器发送远程直接数据存取首先写入数据包和远程直接数据存取中间写入数据包之后,向所述启动器发送第一消息,所述第一消息中包括远程直接数据存取最后写入数据包以及输入/输出命令响应,其中,所述输入/输出命令响应用于响应所述启动器发送的输入输出命令请求,告知所述启动器所述输入输出命令请求已处理完成。
在一种可能的实现方式中,所述接收单元701还用于:接收到所述目标器发送的第一确认消息,其中,所述第一确认消息用于告知所述目标器已接收到所述第一消息。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
其中,集成的模块既可以采用硬件的形式实现时,如图8所示的数据读取装置,所述数据读取装置为目标器或为启动器,目标器和启动器可以包括处理器801,还可以包括收发器804,上述接收单元602或701,发送单元601或702,对应的实体的硬件可以为收发器804。处理器801,可以是一个中央处理模块(英文:central processing unit,简称CPU),或者为数字处理模块等等。该目标器或启动器还包括:存储器802,用于存储处理器801执行的程序。存储器802可以是非易失性存储器,比如硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)等,还可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM)。存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器801用于执行存储器802存储的程序代码,具体调用所述存储器802中存储的程序指令。
本申请实施例中不限定上述处理器801以及存储器802之间的具体连接介质。本申请实施例在图8中处理器801以及存储器802之间通过总线803连接,总线在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种数据读取的方法,其特征在于,所述方法包括:
启动器向目标器发送输入/输出命令请求,所述输入/输出命令请求用于指示所述启动器需要获取的写入数据;
所述启动器接收到所述目标器根据所述输入/输出命令请求发送的远程直接数据存取首先写入数据包和远程直接数据存取中间写入数据包之后,接收所述目标器发送的第一消息,所述第一消息中包括远程直接数据存取最后写入数据包以及输入/输出命令响应,其中,所述输入/输出命令响应用于响应所述启动器发送的输入输出命令请求,告知所述启动器所述输入输出命令请求已处理完成。
2.如权利要求1所述的方法,其特征在于,接收目标器发送的第一消息之后,该方法还包括:
所述启动器向所述目标器发送第一确认消息,其中,所述第一确认消息用于告知所述目标器已接收到所述第一消息。
3.如权利要求1所述的方法,其特征在于,所述输入/输出命令响应携带在所述第一消息的立即数区域中。
4.一种数据读取的方法,其特征在于,所述方法包括:
目标器接收到启动器发送的输入/输出命令请求,所述输入/输出命令请求用于指示所述启动器需要获取的写入数据;
所述目标器根据所述输入/输出命令请求向所述启动器发送远程直接数据存取首先写入数据包和远程直接数据存取中间写入数据包之后,向所述启动器发送第一消息,所述第一消息中包括远程直接数据存取最后写入数据包以及输入/输出命令响应,其中,所述输入/输出命令响应用于响应所述启动器发送的输入输出命令请求,告知所述启动器所述输入输出命令请求已处理完成。
5.如权利要求4所述的方法,其特征在于,所述目标器向所述启动器发送第一消息之后,该方法还包括:
所述启动器接收到所述目标器发送的第一确认消息,其中,所述第一确认消息用于告知所述目标器已接收到所述第一消息。
6.如权利要求4所述的方法,其特征在于,所述输入/输出命令响应携带在所述第一消息的立即数区域中。
7.一种启动器,其特征在于,包括:
发送单元,用于向目标器发送输入/输出命令请求,所述输入/输出命令请求用于指示所述启动器需要获取的写入数据;
接收单元,用于接收到所述目标器根据所述输入/输出命令请求发送的远程直接数据存取首先写入数据包和远程直接数据存取中间写入数据包之后,接收所述目标器发送的第一消息,所述第一消息中包括远程直接数据存取最后写入数据包以及输入/输出命令响应,其中,所述输入/输出命令响应用于响应所述启动器发送的输入输出命令请求,告知所述启动器所述输入输出命令请求已处理完成。
8.如权利要求7所述的启动器,其特征在于,所述发送单元还用于:
接收目标器发送的第一消息之后,向所述目标器发送第一确认消息,其中,所述第一确认消息用于告知所述目标器已接收到所述第一消息。
9.如权利要求7所述的启动器,其特征在于,所述输入/输出命令响应携带在所述第一消息中的立即数区域中。
10.一种目标器,其特征在于,所述目标器包括:
接收单元,用于接收到启动器发送的输入/输出命令请求,所述输入/输出命令请求用于指示所述启动器需要获取的写入数据;
发送单元,用于根据所述输入/输出命令请求向所述启动器发送远程直接数据存取首先写入数据包和远程直接数据存取中间写入数据包之后,向所述启动器发送第一消息,所述第一消息中包括远程直接数据存取最后写入数据包以及输入/输出命令响应,其中,所述输入/输出命令响应用于响应所述启动器发送的输入输出命令请求,告知所述启动器所述输入输出命令请求已处理完成。
11.如权利要求10所述的目标器,其特征在于,所述接收单元还用于:
向所述启动器发送第一消息之后,接收到所述目标器发送的第一确认消息,其中,所述第一确认消息用于告知所述目标器已接收到所述第一消息。
12.如权利要求10所述的目标器,其特征在于,所述输入/输出命令响应携带在所述第一消息中的立即数区域中。
13.一种设备,其特征在于,包括处理器、存储器和收发器,
所述存储器,存储有软件程序;
所述处理器,用于调用并执行所述存储器中存储的软件程序,通过所述收发器收发数据来实现如权利要求1至6中任一项所述的方法。
14.一种计算机可读介质,其特征在于,所述计算机可读介质存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至6中任一项所述的方法。
15.一种芯片,其特征在于,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现如权利要求1至6任一项所述的方法。
CN201711482453.2A 2017-12-29 2017-12-29 一种数据读取的方法及装置 Pending CN108319428A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711482453.2A CN108319428A (zh) 2017-12-29 2017-12-29 一种数据读取的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711482453.2A CN108319428A (zh) 2017-12-29 2017-12-29 一种数据读取的方法及装置

Publications (1)

Publication Number Publication Date
CN108319428A true CN108319428A (zh) 2018-07-24

Family

ID=62892839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711482453.2A Pending CN108319428A (zh) 2017-12-29 2017-12-29 一种数据读取的方法及装置

Country Status (1)

Country Link
CN (1) CN108319428A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888827A (zh) * 2018-09-10 2020-03-17 华为技术有限公司 数据传输方法、装置、设备及存储介质
CN111400213A (zh) * 2019-09-29 2020-07-10 杭州海康威视***技术有限公司 传输数据的方法、装置及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103227778A (zh) * 2013-03-26 2013-07-31 华为技术有限公司 内存访问方法、设备和***
CN103645994A (zh) * 2013-11-05 2014-03-19 华为技术有限公司 一种数据处理方法及设备
US20160226951A1 (en) * 2011-06-29 2016-08-04 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
CN105893323A (zh) * 2016-05-23 2016-08-24 华为技术有限公司 一种读数据的方法及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160226951A1 (en) * 2011-06-29 2016-08-04 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
CN103227778A (zh) * 2013-03-26 2013-07-31 华为技术有限公司 内存访问方法、设备和***
CN103645994A (zh) * 2013-11-05 2014-03-19 华为技术有限公司 一种数据处理方法及设备
CN105893323A (zh) * 2016-05-23 2016-08-24 华为技术有限公司 一种读数据的方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张琳 等: "《网络组建、管理与安全》", 31 December 2000 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888827A (zh) * 2018-09-10 2020-03-17 华为技术有限公司 数据传输方法、装置、设备及存储介质
CN110888827B (zh) * 2018-09-10 2021-04-09 华为技术有限公司 数据传输方法、装置、设备及存储介质
CN111400213A (zh) * 2019-09-29 2020-07-10 杭州海康威视***技术有限公司 传输数据的方法、装置及***
CN111400213B (zh) * 2019-09-29 2022-02-18 杭州海康威视***技术有限公司 传输数据的方法、装置及***

Similar Documents

Publication Publication Date Title
US10339079B2 (en) System and method of interleaving data retrieved from first and second buffers
CN103902486B (zh) 一种远端直接内存访问实现方法、装置及***
JP4908017B2 (ja) Dmaデータ転送装置及びdmaデータ転送方法
JP5280135B2 (ja) データ転送装置
CN106951388A (zh) 一种基于PCIe的DMA数据传输方法及***
EP3671478B1 (en) Securely providing multiple wake-up time options for pci express
TW200814672A (en) Method and system for a user space TCP offload engine (TOE)
US11829323B2 (en) Method of notifying a process or programmable atomic operation traps
CN107783727B (zh) 一种内存设备的访问方法、装置和***
CN103180817A (zh) 存储扩展装置及服务器
US9690713B1 (en) Systems and methods for effectively interacting with a flash memory
US11403023B2 (en) Method of organizing a programmable atomic unit instruction memory
EP3077914B1 (en) System and method for managing and supporting virtual host bus adaptor (vhba) over infiniband (ib) and for supporting efficient buffer usage with a single external memory interface
US11693690B2 (en) Method of completing a programmable atomic transaction by ensuring memory locks are cleared
US11586439B2 (en) Detecting infinite loops in a programmable atomic transaction
CN109117386A (zh) 一种网络远程读写二级存储的***及方法
CN106662895B (zh) 计算机设备和计算机设备数据读写的方法
WO2015176664A1 (zh) 一种数据操作的方法、设备和***
CN102750249B (zh) 上位机与下位机通信的方法、装置及***
US20230244416A1 (en) Communicating a programmable atomic operator to a memory controller
CN106055504B (zh) 控制数据传输的方法、装置及计算机设备
CN116601601A (zh) 在多过程***内执行可编程原子单元资源的方法
CN108319428A (zh) 一种数据读取的方法及装置
CN115883022B (zh) Dma传输控制方法、装置、电子设备及可读存储介质
JP2016076108A (ja) 情報処理装置、メモリ制御装置及び情報処理装置の制御方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200415

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou

Applicant before: Huawei Technologies Co.,Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20180724

RJ01 Rejection of invention patent application after publication