CN105955916B - 一种写立即数的方法、设备及*** - Google Patents

一种写立即数的方法、设备及*** Download PDF

Info

Publication number
CN105955916B
CN105955916B CN201610286660.XA CN201610286660A CN105955916B CN 105955916 B CN105955916 B CN 105955916B CN 201610286660 A CN201610286660 A CN 201610286660A CN 105955916 B CN105955916 B CN 105955916B
Authority
CN
China
Prior art keywords
immediate
write
starter
object machine
request
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
CN201610286660.XA
Other languages
English (en)
Other versions
CN105955916A (zh
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
Priority to CN201610286660.XA priority Critical patent/CN105955916B/zh
Publication of CN105955916A publication Critical patent/CN105955916A/zh
Application granted granted Critical
Publication of CN105955916B publication Critical patent/CN105955916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0036Small computer system interface [SCSI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明实施例提供一种写立即数的方法、设备及***,涉及通信技术领域,至少能够解决现有技术中,由于启动器和目标器至少需要通过两次交互才能完成写立即数方式对应的传输参数的协商,从而导致的协商流程复杂的问题。具体方案为:启动器向目标器发送协商请求消息,其中携带有支持写立即数方式的第一标识;目标器在支持写立即数方式时向启动器回应协商响应消息,其中携带有支持写立即数方式的第二标识,以及写立即数方式对应的传输参数;启动器在接收到数据写请求时,根据传输参数将数据写请求转换为写立即数请求,并发送至目标器;目标器根据写立即数请求,写入写立即数请求中的待写入数据。本发明实施例用于写立即数。

Description

一种写立即数的方法、设备及***
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种写立即数的方法、设备及***。
背景技术
互联网小型计算机***接口(英文全称:Internet Small Computer SystemInterface,简称:iSCSI)技术是一个供硬件设备使用的可以在因特网互联协议(英文全称:Internet Protocol,简称:IP)协议的上层运行的SCSI命令集,这种命令集合可以实现在IP网络上运行SCSI协议,该技术的主要功能是在TCP/IP网络上的主机***和存储设备之间,或者在存储设备与存储设备之间,通过SCSI命令进行大量数据的可靠传输。在数据传输过程中,发起SCSI命令的设备称为启动器,接收SCSI命令的设备称为目标器。
在启动器向目标器写入数据时,采用基于光纤通道(英文全称:Fibre Channel,简称:FC)传输协议的普通写命令方式,启动器在接收到数据写请求时,将该数据写请求发送给目标器,目标器在准备好接收数据缓冲器后,向启动器发送数据传送请求,而后启动器将数据帧发送给目标器,目标器接收完数据后,向启动器发送响应消息,从而通过启动器与目标器之间的两次交互,完成一次数据写入。当启动器和目标器之间的距离较长时,时延也较长。
为了降低时延,通信***引入了写立即数方式。若采用该传输方式,则启动器和目标器需要在写入数据之前,事先对写立即数方式对应的传输参数进行协商,在协商完成后,启动器可以将待写入数据携带于写立即数请求中发送给目标器,从而通过与目标器的一次交互过程,完成数据的写入,从而降低时延。
在协商过程中,参见图1,启动器在确定本设备支持写立即数方式时,将支持写立即数方式的标识携带于连接注册(英文全称:Process Login,简称:PRLI)帧中发送给目标器;目标器在接收到PRLI帧后,在确定本设备支持写立即数方式时,将支持写立即数方式的标识携带于连接注册响应PRLI ACC帧中发给启动器;启动器确定接收到的目标器发送的PRLI ACC帧中,携带支持写立即数方式对应的标识后,向目标器发送模式检测(英文全称:Mode Sense)命令,以获取启动器向目标器发送的写立即数请求可携带的数据的最大长度;目标器响应该模式检测命令,并将写立即数请求可携带的数据的最大长度反馈给启动器。
在上述流程中,启动器和目标器至少需要通过两次交互完成写立即数方式对应的传输参数的协商。
发明内容
本发明实施例提供一种写立即数的方法、设备及***,至少能够解决现有技术中,由于启动器和目标器至少需要通过两次交互才能完成写立即数方式对应的传输参数的协商,从而导致的协商流程复杂的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种写立即数的方法,该方法包括:启动器向目标器发送协商请求消息,协商请求消息中携带有标识启动器支持写立即数方式的第一标识;目标器接收启动器发送的协商请求消息,若目标器支持写立即数方式,则向启动器发送协商响应消息,协商响应消息中携带有目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数;启动器接收目标器发送的协商响应消息,从协商响应消息中获取第二标识和传输参数并存储,根据第二标识确定目标器支持写立即数方式,在接收到数据写请求时,若确定待写入数据符合传输参数的要求,则根据传输参数将数据写请求转换为写立即数请求,并将写立即数请求发送至目标器;目标器接收启动器发送的写立即数请求,并根据写立即数请求,写入写立即数请求中的待写入数据。
这样,启动器向目标器发送携带有标识支持写立即数方式的第一标识的协商请求消息,以请求获取写立即数方式对应的传输参数,并接收目标器发送的携带有标识支持写立即数方式的第二标识以及传输参数的协商响应消息,从而可以通过与目标器的一次交互过程完成传输参数的协商,而不需要像现有技术那样需要至少两次交互完成传输参数的协商过程,因而简化了协商流程,从而简化了写立即数的整个处理流程。
并且,由于目标器在接收在启动器发送的协商请求消息后,可以向启动器发送协商响应消息从而将所有的传输参数均发送给启动器,而无论传输参数是否包含新增的扩展参数,从而能够解决现有技术中启动器需要通过专门的请求命令获取特定的传输参数,而新增的扩展参数难以获取的问题。
第二方面,提供一种启动器,该启动器包括:发送单元,用于向目标器发送协商请求消息,协商请求消息中携带有标识启动器支持写立即数方式的第一标识;接收单元,用于接收目标器发送的协商响应消息,协商响应消息中携带有标识目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数;保存单元,用于从协商响应消息中获取第二标识和传输参数,并存储;确定单元,用于根据第二标识确定目标器支持写立即数方式;转换单元,用于在接收到数据写请求时,若确定待写入数据符合传输参数的要求,则根据传输参数将数据写请求转换为写立即数请求;发送单元还用于,将写立即数请求发送至目标器,以使目标器根据写立即数请求,写入写立即数请求中的待写入数据。
第三方面,提供一种目标器,该目标器包括:接收单元,用于接收启动器发送的协商请求消息,协商请求消息中携带有标识启动器支持写立即数方式的第一标识;发送单元,用于若目标器支持写立即数方式,则向启动器发送协商响应消息,协商响应消息中携带有标识目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数;接收单元还用于,接收启动器发送的写立即数请求;写入单元,用于根据写立即数请求,写入写立即数请求中的待写入数据。
第四方面,提供一种***,包括上述第二方面所描述的启动器和上述第三方面所描述的目标器。
为了便于理解,示例的给出了部分与本发明相关概念的说明以供参考。如下所示:
写立即数:一种数据写入方式,即启动器在向目标器发送数据写命令的同时,将待写入数据携带于数据写命令中发送至目标器,从而通过启动器与目标器的一次交互,将待写入数据写入目标器。
传输参数:本发明实施例中是指,在启动器通过写立即数方式向目标器发送待写入数据时,启动器需要满足的参数要求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中提供的一种协商方法流程图;
图2为本发明实施例提供的一种启动器和目标器的结构示意图;
图3为本发明实施例提供的一种协商方法流程图;
图4为本发明实施例提供的一种启动器的结构示意图;
图5为本发明实施例提供的另一种启动器的结构示意图;
图6为本发明实施例提供的一种目标器的结构示意图;
图7为本发明实施例提供的另一种目标器的结构示意图;
图8为本发明实施例提供的一种***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在通信***中,参见图2,启动器与目标器通过光纤链路相连,启动器和目标器通过内部各组件间的相互协作,实现相应的数据传输功能。启动器和目标器分别可以包括应用层、SCSI中层、驱动层、接口卡、光模块等组件。其中,应用层用于为用户的应用进程提供服务;驱动层,一般由硬件抽象层、板级支持包和驱动程序组成,用于实现设备的驱动程序,为上层程序提供外部设备的操作接口,封装并解析上层下发的命令,并传递给下一层,在本发明实施例中,驱动层还可以具体用于发起和响应连接命令,例如PRLI帧,这里的“发起”是指,该命令并不是上层下发给驱动层的,而是驱动层自身生成的;接口卡为命令的发送和接收设备;光模块为光信号的发送、接收设备;光纤为光信号的传输通道。对于图2中的SCSI层来说,启动器中的SCSI层用于发起SCSI命令,目标器中的SCSI层用于响应SCSI命令。当启动器的应用程序发出数据读/写请求后,启动器的操作***会生成一个相应的SCSI命令,并发送给目标器,目标器的SCSI层接收到SCSI命令后,响应该SCSI命令进行读/写操作。
现有技术中,在采用写立即数方式写入数据之前,启动器和目标器均需要通过确定启动器是否支持写立即数方式;并在支持写立即数方式时,启动器和目标器对写立即数请求可携带的数据的最大长度这一必需的传输参数进行协商,此外,启动器和目标器还可以通过再次交互,协商其它传输参数,也就是说,现有技术中需要启动器和目标器至少进行两次交互,才能完成写立即数方式对应的传输参数的协商过程;在协商完成后,启动器可以根据协商确定的传输参数,通过与目标器的一次交互过程完成数据的写入。
针对现有技术中启动器和目标器需要至少进行两次交互,才能完成写立即数方式对应的传输参数的协商,从而导致协商流程复杂的问题,本发明以下实施例提供了一种协商方法,可以仅通过启动器和目标器之间的一次交互即完成写立即数方式对应的传输参数的协商过程,从而可以简化协商处理流程。以下将通过具体实施例进行详细说明。
参见图3,本发明实施例提供一种协商方法,可以包括:
101、启动器向目标器发送协商请求消息,协商请求消息中携带有标识启动器支持写立即数方式的第一标识。
启动器是否支持写立即数方式是用户配置的,用户的配置记录会保存在驱动层中,启动器根据驱动层中的配置记录可以确定本身是否支持写立即数方式。当启动器确定支持写立即数方式时,可以将标识启动器支持写立即数方式的第一标识发送给目标器,以通知目标器该启动器支持写立即数方式。
具体的,启动器可以将第一标识携带于协商请求消息中,并通过接口卡发送给目标器。该协商请求可以用于启动器向目标器请求对写立即数方式对应的传输参数进行协商,并向目标器请求获取写立即数方式对应的传输参数。
102、目标器接收启动器发送的协商请求消息。
目标器可以通过接口卡接收启动器发送的协商请求消息,该协商请求消息中可以携带有标识启动器支持写立即数方式的第一标识。在接收到第一标识后,目标器可以获知启动器支持写立即数方式。
103、若目标器支持写立即数方式,则向启动器发送协商响应消息,协商响应消息中携带有目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数。
在接收到启动器发送的协商请求消息后,目标器的根据其中的第一标识获知启动器支持写立即数方式后,同样可以根据驱动层中的配置记录,确定本设备是否支持写立即数方式。若目标器也支持写立即数方式,则目标器将标识本设备支持写立即数方式的第二标识,通过协商响应消息发送给目标器,以通知启动器该目标器支持写立即数方式,并将写立即数方式对应的传输参数携带于协商响应消息中发送给启动器。
其中的传输参数可以为目标器要求的,在启动器向目标器通过写立即数方式传输待写入数据时,启动器需要满足的参数条件或需要获知的参数值。这里的传输参数至少可以包括写立即数请求可携带的数据的最大长度。在通过写立即数方式写入数据时,待写入数据携带于写立即数请求中发送至目标器,写立即数请求可携带的数据的最大长度是指,通过写立即数方式写入数据时,目标器可以支持的,写立即数请求中一次可以携带的最大数据长度。写立即数请求可携带的数据的最大长度为写立即数方式写入数据过程中必需的传输参数。
此外,传输参数还可以包括以下至少一项:交换响应标识符RXID的起始值、交换响应标识符RXID的个数、校验字段和版本号等传输参数。
其中,交换响应标识符RXID的起始值用于限定启动器发起写立即数命令时,所使用的交换响应标识的最小值;交换响应标识符RXID的个数用于与交换响应标识符RXID的起始值相配合,从而限定启动器发起写立即数命令时,所使用的交换响应标识的最大值,也即交换响应标识符RXID的个数用于限定待可以并发写入的写入数据中数据块的个数。交换响应标识符RXID的起始值和交换响应标识符RXID的个数是现有技术中已存在的传输参数。
本发明实施例中的校验字段和版本号属于新增的扩展参数。其中,校验字段可以对协商响应消息中存放传输参数的字段进行校验,以确定协商响应消息中存放的是传输参数;版本号可以用于标识当前所对应的版本级别。
此外,若目标器不支持写立即数方式,则可以将标识目标器不支持写立即数方式的第三标识通过协商响应消息发送给目标器,以通知启动器该目标器不支持写立即数方式,并且不需要向启动器发送传输参数;或者,若目标器不支持写立即数方式,也可以不向启动器发送协商响应消息,这里不作具体限定。
需要说明的是,在本发明实施例中,目标器在接收到启动器的第一标识后,即将第二标识以及需要的传输参数同时发送给启动器。因而,无论是现有技术中已经存在的传输参数(例如写立即数请求可携带的数据的最大长度、交换响应标识符RXID的起始值和交换响应标识符RXID的个数等),还是现有技术中暂时不存在但后续可能需要的新增的扩展参数(例如校验字段和版本号等),目标器均可以将其通过协商响应消息发送给启动器。而在现有技术中,在遵循FC传输协议的前提下,协商过程不能随意增加流程,并且现有流程中每个命令对应的传输参数是确定的,当需要增加新的传输参数时,现有协商流程将无法实现。
因而,本发明实施例提供的协商方法,可以解决现有技术在进行写立即数方式对应的传输参数协商时,无法增加扩展的传输参数的问题。
104、启动器接收目标器发送的协商响应消息,协商响应消息中携带有标识目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数。
启动器可以通过接口卡接收目标器发送的协商响应消息,协商响应消息中包括第二标识以及传输参数。
105、启动器从协商响应消息中获取第二标识和传输参数,并存储。
启动器在接收到目标器发送的协商响应消息后,获取其中的第二标识和传输参数并保存,从而完成传输参数的协商流程。
需要说明的是,在本发明实施例中,启动器可以将标识本设备支持写立即数方式的第一标识发送给目标器,同时向目标器请求写立即数方式对应的传输参数,而不用像现有技术那样,需要将本设备支持写立即数方式的标识发送给目标器,还需要向目标器获取传输参数中必需的写立即数请求可携带的数据的最大长度,或者,还需要在通过其它交互向目标器获取其它传输参数,从而至少需要与目标器进行两次交互,才能完成传输参数的协商。目标器可以一次将本设备支持写立即数方式的第二标识,以及写立即数方式对应的传输参数发送给启动器,而不需要像现有技术那样,需要将本设备支持写立即数方式的标识以及各个传输参数分别发送给启动器,从而至少与启动器进行两次交互,才能完成传输参数的协商。
因而,与现有技术相比,本发明实施例提供的方法能够通过启动器与目标器的一次交换,即可完成写立即数方式对应的传输参数的协商过程,简化了协商处理流程,从而可以解决现有技术中,由于启动器和目标器至少需要通过两次交互,才能完成写立即数方式对应的传输参数的协商,因而导致的协商流程复杂的问题。
106、启动器根据第二标识确定目标器支持写立即数方式。
在协商完成后,启动器可以根据协商过程中的第二标识,确定目标器支持写立即数方式。
107、启动器在接收到数据写请求时,若确定待写入数据符合传输参数的要求,则根据传输参数将数据写请求转换为写立即数请求,并将写立即数请求发送至目标器。
在启动器和目标器均支持写立即数方式的情况下,当启动器接收到数据写请求时,可以确定待写入的数据是否符合启动器中所保存的所有传输参数的要求。在符合所有传输参数的要求时,启动器可以根据传输参数将数据写请求转换为写立即数请求,并将待写入数据携带于写立即数请求中,将写立即数请求发送至目标器,以使目标器根据写立即数请求写入写立即数请求中的待写入数据,使得启动器可以通过与目标器的一次交互过程,完成数据的写入,从而可以降低普通写命令方式时通过两次交互写入数据产生的时延。
当待写入数据不能符合所有传输参数的要求时,则不能通过写立即数方式传输待写入数据。示例性的,若传输参数中写立即数请求可携带的数据的最大长度为32字节,而待写入数据中数据块的长度为60字节,启动器确定待写入数据的数据块的长度超出了目标器支持的写立即数请求可携带的数据的最大长度,则待写入数据一定不能满足所有传输参数的要求,因而不能通过写立即数方式传输待写入数据,此时,可以通过普通写命令方式进行传输。
其中,启动器可以根据传输参数将数据写请求转换为写立即数请求是指,启动器需要根据协商确定的传输参数的要求,对数据写请求中的待写入数据进行设置,使得设置后的待写入数据的数据块的大小、数量等信息与传输参数相匹配,并将设置后的数据块携带于写立即数请求中。
108、目标器接收启动器发送的写立即数请求,并根据写立即数请求,写入写立即数请求中的待写入数据。
目标器在接收到携带有待写入数据的写立即数请求时,可以获取其中的待写入数据,并将待写入数据写入本设备的存储部件中。
因此,本发明实施例提供的一种写立即数的方法,可以通过启动器与目标器的一次交互过程,即可完成写立即数方式对应的传输参数的协商,从而简化了传输参数的协商流程。在传输参数协商完成后,启动器与目标器可以通过一次交互过程完成数据的写入,因而,在传输参数的协商流程得到简化的前提下,写立即数的整个处理流程也得到了简化。
可选地,在上述过程中,协商请求消息为连接注册PRLI帧,协商响应消息为连接注册响应PRLI ACC帧,传输参数携带于PRLI ACC帧的扩展字段中。
示例性的,PRLI ACC帧的结构示意图可以参见如下表1:
表1
在上述表1中,字(word)0-4为PRLI ACC帧现有结构中包含的字段,字5-7为扩展字段。其中,字4中比特(bit)0对应的标识为使能立即数功能标记write FCP_XFER_RDYDisabled,当驱动器确定本设备支持写立即数方式时,可以将使能立即数功能标记置为1;当驱动器确定本设备不支持写立即数方式时,可以将使能立即数功能标记置为0。对于字0-4中的其它现有字段,这里不再细述。
其中,字5中可以存放扩展参数校验字段和版本号。示例性的,校验字段可以是一个魔术数字,用于表明PRLI ACC帧的扩展字段用于对写立即数方式对应的传输参数进行扩展。字6中可以存放交换响应标识符RXID(英文全称:Responder Exchange Identifier,简称:RXID)的起始值和RXID的数量。字7中可以存放写立即数请求可携带的数据的最大长度。
当然,扩展后的PRLI ACC帧并不仅限于上述表1所示的结构,可扩展的传输参数也并不局限于上述校验字段和版本号,这里不再赘述。
综上可知,本发明实施例提供的一种写立即数的方法,可以简化写立即数方式对应的传输参数的协商流程,从而简化写立即数的处理流程。并且,本发明实施例提供的写立即数的方法,还可以解决需要增加新的传输参数时,现有协商流程无法实现的问题。
参见图4,本发明另一实施例提供一种启动器200,该启动器200可以包括:
发送单元201,可以用于向目标器发送协商请求消息,协商请求消息中携带有标识启动器支持写立即数方式的第一标识。
接收单元202,可以用于接收目标器发送的协商响应消息,协商响应消息中携带有标识目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数。
保存单元203,可以用于从协商响应消息中获取第二标识和传输参数,并存储。
确定单元204,可以用于根据所述第二标识确定所述目标器支持写立即数方式。
转换单元205,可以用于在接收到数据写请求时,若确定待写入数据符合传输参数的要求,则根据传输参数将数据写请求转换为写立即数请求。
发送单元201还可以用于,将写立即数请求发送至目标器,以使目标器根据写立即数请求,写入写立即数请求中的待写入数据。
其中,上述传输参数至少可以包括写立即数请求可携带的数据的最大长度。
此外,上述传输参数还可以包括以下至少一项:交换响应标识符RXID对应的起始值、交换响应标识符RXID的个数、校验字段和版本号。
具体的,协商请求消息为连接注册PRLI帧,协商响应消息为连接注册响应PRLIACC帧,传输参数携带于PRLI ACC帧的扩展字段中。
在本发明实施例提供的启动器中,启动器向目标器发送携带有标识支持写立即数方式的第一标识的协商请求消息,以请求获取写立即数方式对应的传输参数,并接收目标器发送的携带有标识支持写立即数方式的第二标识以及传输参数的协商响应消息,从而可以通过与目标器的一次交互过程完成传输参数的协商,而不需要像现有技术那样需要至少两次交互完成传输参数的协商过程,因而简化了协商流程,从而简化了写立即数的整个处理流程。
需要说明的是,本发明实施例中的发送单元201和接收单元202可以为启动器的通信接口。保存单元203可以为启动器中的存储器。确定单元204和转换单元205可以为单独设立的处理器,也可以集成在启动器的某一个处理器中实现,此外,也可以以程序代码的形式存储于启动器的存储器中,由启动器的某一个处理器调用并执行以上确定单元204和转换单元205的功能。
参见图5,本发明另一实施例提供一种启动器300,该启动器300可以包括处理器301、存储器302、通信接口303和总线304。总线304用于连接处理器301、存储器302和通信接口303,通信接口303可以用于与其它网元进行通信,存储器302可以用于存储相关指令和数据,处理器301用于执行存储器302中的相关指令。
其中,总线304可以是外设部件互连标准(英文全称:peripheral componentinterconnect,简称:PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称:EISA)总线等。总线304可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器302可以包括易失性存储器(英文全称:Volatile memory),例如随机存取存储器(英文全称:Random-access Memory,简称:RAM);存储器302也可以包括非易失性存储器(英文全称:Non-volatile Memory),例如快闪存储器(英文全称:Flash Memory),硬盘(英文全称:Hard Disk Drive,简称:HDD)或固态硬盘(英文全称:Solid-state Drive,简称:SSD);存储器302还可以包括上述种类的存储器的组合。
处理器301可以是中央处理器(英文全称:Central Processing Unit,简称:CPU),网络处理器(英文全称:Network Processor,简称:NP)或者CPU和NP的组合。
处理器301还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文全称:Application-specific Integrated Circuit,简称:ASIC),可编程逻辑器件(英文全称:Programmable Logic Device,简称:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文全称:Complex Programmable Logic Device,简称:CPLD),现场可编程逻辑门阵列(英文全称:Field-programmable Gate Array,简称:FPGA),通用阵列逻辑(英文全称:Generic Array Logic,简称:GAL)或其任意组合。
具体的,通信接口303可以用于,接收目标器发送的协商响应消息,协商响应消息中携带有标识目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数。
存储器302可以用于,从协商响应消息中获取第二标识和传输参数,并存储;
处理器301可以用于,在接收到数据写请求时,若确定待写入数据符合传输参数的要求,则根据传输参数将数据写请求转换为写立即数请求;
通信接口303还可以用于,将写立即数请求发送至目标器,以使目标器根据写立即数请求,写入写立即数请求中的待写入数据。
在本发明实施例提供的启动器中,启动器向目标器发送携带有标识支持写立即数方式的第一标识的协商请求消息,以请求获取写立即数方式对应的传输参数,并接收目标器发送的携带有标识支持写立即数方式的第二标识以及传输参数的协商响应消息,从而可以通过与目标器的一次交互过程完成传输参数的协商,而不需要像现有技术那样需要至少两次交互完成传输参数的协商过程,因而简化了协商流程,从而简化了写立即数的整个处理流程。
参见图6,本发明另一实施例提供一种目标器400,该目标器400可以包括:
接收单元401,可以用于接收启动器发送的协商请求消息,协商请求消息中携带有标识启动器支持写立即数方式的第一标识。
发送单元402,可以用于若目标器400支持写立即数方式,则向启动器发送协商响应消息,协商响应消息中携带有标识目标器400支持写立即数方式的第二标识,以及写立即数方式对应的传输参数。
接收单元401还可以用于,接收启动器发送的写立即数请求。
写入单元403,可以用于根据写立即数请求,写入写立即数请求中的待写入数据。
其中,这里的传输参数至少可以包括写立即数请求可携带的数据的最大长度。
此外,传输参数还可以包括以下至少一项:交换响应标识符RXID对应的起始值、交换响应标识符RXID的个数、校验字段和版本号。
具体的,协商请求消息为连接注册PRLI帧,协商响应消息为连接注册响应PRLIACC帧,传输参数携带于PRLI ACC帧的扩展字段中。
在本发明实施例提供的目标器中,在接收到启动器发送的携带有支持写立即数方式的第一标识的协商请求消息,以请求获取写立即数方式对应的传输参数后,目标器将携带有支持写立即数方式的第二标识以及传输参数的协商响应消息发送给启动器,从而可以仅通过与启动器的一次交互完成传输参数的协商过程,而不需要像现有技术那样需要至少两次交互完成传输参数的协商过程,因而简化了协商处理流程,从而简化了写立即数的整个处理流程。
需要说明的是,本发明实施例中的发送单元402和接收单元401可以为目标器的通信接口。写入单元403可以为单独设立的处理器,也可以集成在目标器的某一个处理器中实现,此外,也可以以程序代码的形式存储于目标器的存储器中,由目标器的某一个处理器调用并执行以上写入单元403的功能。
本发明另一实施例提供一种目标器500,参见图7,该目标器500可以包括处理器501、存储器502、通信接口503和总线504。总线504用于连接处理器501、存储器502和通信接口503,通信接口503可以用于与其它网元进行通信,存储器502可以用于存储相关指令和数据,处理器501用于执行存储器502中的相关指令。其中,本发明实施例中的处理器501、存储器502、通信接口503和总线504的具体结构,可以参见上述实施例中关于处理器401、存储器402、通信接口403和总线404的描述。
具体的,通信接口503可以用于,用于接收启动器发送的协商请求消息,协商请求消息中携带有标识启动器支持写立即数方式的第一标识;若目标器500支持写立即数方式,则向启动器发送协商响应消息,协商响应消息中携带有标识目标器500支持写立即数方式的第二标识,以及写立即数方式对应的传输参数;且接收启动器发送的写立即数请求。
处理器501可以用于,根据写立即数请求,写入写立即数请求中的待写入数据。
在本发明实施例提供的目标器中,在接收到启动器发送的携带有支持写立即数方式的第一标识的协商请求消息,以请求获取写立即数方式对应的传输参数后,目标器将携带有支持写立即数方式的第二标识以及传输参数的协商响应消息发送给启动器,从而可以仅通过与启动器的一次交互完成传输参数的协商过程,而不需要像现有技术那样需要至少两次交互完成传输参数的协商过程,因而简化了协商处理流程,从而简化了写立即数的整个处理流程。
本发明另一实施例还提供一种***600,参见图8,该***600可以包括如图4或5所示的启动器以及如图6或7所示的目标器。该***600中的启动器和目标器可以执行如图3所示的方法流程。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、方法和***,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称:ROM)、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种写立即数的方法,其特征在于,所述方法包括:
启动器向目标器发送协商请求消息,所述协商请求消息中携带有标识所述启动器支持写立即数方式的第一标识;
所述启动器接收所述目标器发送的协商响应消息,所述协商响应消息中携带有标识所述目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数,所述传输参数至少包括写立即数请求可携带的数据的最大长度;
所述启动器从所述协商响应消息中获取所述第二标识和所述传输参数,并存储;
所述启动器根据所述第二标识确定所述目标器支持写立即数方式;
所述启动器在接收到数据写请求时,若确定待写入数据符合所述传输参数的要求,则根据所述传输参数将所述数据写请求转换为写立即数请求,并将所述写立即数请求发送至所述目标器,以使所述目标器根据所述写立即数请求,写入所述写立即数请求中的待写入数据。
2.根据权利要求1所述的方法,其特征在于,所述传输参数还包括以下至少一项:交换响应标识符RXID对应的起始值、交换响应标识符RXID的个数、校验字段和版本号。
3.根据权利要求1或2所述的方法,其特征在于,所述协商请求消息为连接注册PRLI帧,所述协商响应消息为连接注册响应PRLI ACC帧,所述传输参数携带于所述PRLI ACC帧的扩展字段中。
4.一种写立即数的方法,其特征在于,包括:
目标器接收启动器发送的协商请求消息,所述协商请求消息中携带有标识所述启动器支持写立即数方式的第一标识;
若所述目标器支持写立即数方式,则所述目标器向所述启动器发送协商响应消息,所述协商响应消息中携带有标识所述目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数,所述传输参数至少包括写立即数请求可携带的数据的最大长度;
所述目标器接收启动器发送的写立即数请求,并根据所述写立即数请求,写入所述写立即数请求中的待写入数据。
5.根据权利要求4所述的方法,其特征在于,所述传输参数还包括以下至少一项:交换响应标识符RXID对应的起始值、交换响应标识符RXID的个数、校验字段和版本号。
6.根据权利要求4或5所述的方法,其特征在于,所述协商请求消息为连接注册PRLI帧,所述协商响应消息为连接注册响应PRLI ACC帧,所述传输参数携带于所述PRLI ACC帧的扩展字段中。
7.一种启动器,其特征在于,包括:
发送单元,用于向目标器发送协商请求消息,所述协商请求消息中携带有标识启动器支持写立即数方式的第一标识;
接收单元,用于接收所述目标器发送的协商响应消息,所述协商响应消息中携带有标识所述目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数,所述传输参数至少包括写立即数请求可携带的数据的最大长度;
保存单元,用于从所述协商响应消息中获取所述第二标识和所述传输参数,并存储;
确定单元,用于根据所述第二标识确定所述目标器支持写立即数方式;
转换单元,用于在接收到数据写请求时,若确定待写入数据符合所述传输参数的要求,则根据所述传输参数将所述数据写请求转换为写立即数请求;
所述发送单元还用于,将所述写立即数请求发送至所述目标器,以使所述目标器根据所述写立即数请求,写入所述写立即数请求中的待写入数据。
8.根据权利要求7所述的启动器,其特征在于,所述传输参数还包括以下至少一项:交换响应标识符RXID对应的起始值、交换响应标识符RXID的个数、校验字段和版本号。
9.根据权利要求7或8所述的启动器,其特征在于,所述协商请求消息为连接注册PRLI帧,所述协商响应消息为连接注册响应PRLI ACC帧,所述传输参数携带于所述PRLI ACC帧的扩展字段中。
10.一种目标器,其特征在于,包括:
接收单元,用于接收启动器发送的协商请求消息,所述协商请求消息中携带有标识所述启动器支持写立即数方式的第一标识;
发送单元,用于若目标器支持写立即数方式,则向所述启动器发送协商响应消息,所述协商响应消息中携带有标识所述目标器支持写立即数方式的第二标识,以及写立即数方式对应的传输参数,所述传输参数至少包括写立即数请求可携带的数据的最大长度;
所述接收单元还用于,接收启动器发送的写立即数请求;
写入单元,用于根据所述写立即数请求,写入所述写立即数请求中的待写入数据。
11.根据权利要求10所述的目标器,其特征在于,所述传输参数还包括以下至少一项:交换响应标识符RXID对应的起始值、交换响应标识符RXID的个数、校验字段和版本号。
12.根据权利要求10或11所述的目标器,其特征在于,所述协商请求消息为连接注册PRLI帧,所述协商响应消息为连接注册响应PRLI ACC帧,所述传输参数携带于所述PRLIACC帧的扩展字段中。
CN201610286660.XA 2016-04-29 2016-04-29 一种写立即数的方法、设备及*** Active CN105955916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610286660.XA CN105955916B (zh) 2016-04-29 2016-04-29 一种写立即数的方法、设备及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610286660.XA CN105955916B (zh) 2016-04-29 2016-04-29 一种写立即数的方法、设备及***

Publications (2)

Publication Number Publication Date
CN105955916A CN105955916A (zh) 2016-09-21
CN105955916B true CN105955916B (zh) 2019-09-20

Family

ID=56914251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610286660.XA Active CN105955916B (zh) 2016-04-29 2016-04-29 一种写立即数的方法、设备及***

Country Status (1)

Country Link
CN (1) CN105955916B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073351B (zh) * 2016-11-11 2021-06-15 阿里巴巴集团控股有限公司 芯片中非易失性存储空间的数据存储方法和可信芯片

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119383A (zh) * 2007-09-19 2008-02-06 杭州华三通信技术有限公司 目标端和发起端建立iSCSI会话的方法及设备
US7870317B2 (en) * 2005-04-29 2011-01-11 Network Appliance, Inc. Storage processor for handling disparate requests to transmit in a storage appliance
CN103533075A (zh) * 2013-10-23 2014-01-22 中国科学院声学研究所 将数据导入iSCSI目标器的方法和iSCSI启动器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694611B (zh) * 2009-10-29 2012-01-04 成都市华为赛门铁克科技有限公司 启动器、目标器及信息捎带方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870317B2 (en) * 2005-04-29 2011-01-11 Network Appliance, Inc. Storage processor for handling disparate requests to transmit in a storage appliance
CN101119383A (zh) * 2007-09-19 2008-02-06 杭州华三通信技术有限公司 目标端和发起端建立iSCSI会话的方法及设备
CN103533075A (zh) * 2013-10-23 2014-01-22 中国科学院声学研究所 将数据导入iSCSI目标器的方法和iSCSI启动器

Also Published As

Publication number Publication date
CN105955916A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN110166432A (zh) 对内网目标服务的访问方法、提供内网目标服务的方法
CN106775434B (zh) 一种NVMe网络化存储的实现方法、终端、服务器及***
US7519768B2 (en) Computer system, management computer, and volume allocation change method of management computer
EP4216515A1 (en) Method and apparatus for transmitting data processing request
EP2453364A1 (en) A method for deterministic SAS discovery and configuration
CN103257941B (zh) 多协议存储控制器和***
CN103139157B (zh) 一种基于socket的网络通信方法、装置及***
CN106105154A (zh) 数据上载的方法、装置及***
US20200260277A1 (en) Method for wireless access authentication
CN102821082A (zh) 一种数据传输方法、装置和***
CN112579311A (zh) 访问固态硬盘的方法及存储设备
CN107040613A (zh) 一种报文传输方法及***
CN115080479B (zh) 传输方法、服务器、设备、裸金属实例及基板管理控制器
JP5624997B2 (ja) デバイスの複数のコンポーネント間でメモリ資源を共有するための通信プロトコル
CN113014510B (zh) 惯导***分布式测试中数据缓存方法及装置
CN108182119A (zh) 读写分离控制方法和装置、存储介质及电子装置
CN112422485B (zh) 一种传输控制协议的通信方法及装置
CN116243853A (zh) 数据传输方法、装置、电子设备及非易失性存储介质
CN104915302B (zh) 数据传输处理方法和数据传输器
CN105955916B (zh) 一种写立即数的方法、设备及***
CN109417507A (zh) 部分延迟的报文访问
CN107277163B (zh) 一种设备远程映射方法及装置
CN109800202B (zh) 一种基于pcie的数据传输***、方法及装置
CN105471930A (zh) 一种读取分布式数据的方法、***和设备
CN106598883B (zh) 基于fpga的sas错误状态命令的处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant