CN108304214A - 一种立即数的完整性的校验方法及装置 - Google Patents

一种立即数的完整性的校验方法及装置 Download PDF

Info

Publication number
CN108304214A
CN108304214A CN201711329056.1A CN201711329056A CN108304214A CN 108304214 A CN108304214 A CN 108304214A CN 201711329056 A CN201711329056 A CN 201711329056A CN 108304214 A CN108304214 A CN 108304214A
Authority
CN
China
Prior art keywords
connection
interface card
immediate
write operation
operation requests
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.)
Granted
Application number
CN201711329056.1A
Other languages
English (en)
Other versions
CN108304214B (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.)
XFusion Digital 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 CN201711329056.1A priority Critical patent/CN108304214B/zh
Publication of CN108304214A publication Critical patent/CN108304214A/zh
Application granted granted Critical
Publication of CN108304214B publication Critical patent/CN108304214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Abstract

本发明提出了一种写操作中的立即数的完整性的校验方法和装置。在当前的做法中,存储控制器收到接口卡发来的携带立即数的写操作请求通知后,才将相应的完整性控制信息下发给接口卡,使其根据该完整性控制信息进行立即数完整性的校验。针对目前做法产生的效率较低、交互时延较长的问题,本发明在接口卡收到携带立即数的写操作请求之前,存储控制器就将完整性控制信息预存至接口卡的存储空间中。接口卡收到携带立即数的写操作请求后,可以立刻获取完整性控制信息并进行立即数完整性的校验。

Description

一种立即数的完整性的校验方法及装置
技术领域
本发明涉及数据存储技术领域,特别涉及一种立即数的完整性的校验的方法及装置。
背景技术
随着网络技术的发展以及数字信息的指数化增长,网络存储技术变得越来越重要,其发展也日新月异。其中,光纤通道技术(Fiber Channel,FC)是一种能够为存储设备、IP数据网、音频流等应用提供高速数据传输的骨干网络技术。光纤通道技术由美国工业标准协会提出,它能够为多种高层协议(Upper Level Protocols,ULP)提供高性能的传输通道。这些协议包括智能外设接口(Intelligent Peripheral Interface,IPI)命令集、小型计算机系统接口(Small Computer System Interface,SCSI)命令集或高性能并行接口(High-Performance Parallel Interface,HIPPI)数据帧、互联网协议(InternetProtocol,IP)等。其中,小型计算机系统接口协议是一种用于计算机和智能设备之间系统级接口的独立处理器标准,是各类存储技术中的重要组成部分。
根据所要传输的数据类型的不同,小型计算机系统接口协议进行数据传输的写操作请求可分为两种模式:一种是请求数据写操作请求,另一种是立即数写操作请求(也成为非请求数据写操作请求)。其中,立即数(Immediate Data)指:在立即寻址方式中,操作数紧跟在操作码后面,与操作码一起放在命令中,存储设备接收到命令后直接调用该操作数,而不需要到其他地址单元去取相应的操作数,上述写命令中的操作数就被称为立即数。
在立即数从服务器通过网络传输到存储设备的过程中,可能会因为网络环境或者硬件设备等问题而出现错误。这些数据传输的错误对于一些对数据准确性和完整性有着重要要求的场合是不能允许的。为了确认接收到的信息的完整性和准确性,需要对其进行校验,其中的一种方法是采用数据完整域(Data Integrity Field,DIF)的方法进行数据完整性的校验。该方法是通过对数据附加校验数据等信息的方式,对数据传输过程中的完整性和一致性进行保护。
目前,对于立即数的完整性校验的操作,通常采取以下的技术方案:当接口卡接收到携带立即数的写操作请求后,先缓存该立即数,并将该写操作请求通知存储控制器。存储控制器收到该写操作请求后,将相应的完整性控制信息下发给接口卡,接口卡再根据该完整性控制信息进行立即数完整性的校验。采取该技术方案对立即数进行完整性校验时,存在着交互时延较长的缺陷。
发明内容
本申请的实施例提供一种写操作的立即数的完整性校验方法以及实现该方法的接口卡和存储设备,解决现有技术中存在的交互时延较长的问题。
本申请的实施例提供的具体技术方案如下:
第一方面,提供一种写操作的立即数的完整性校验方法,该方法应用于存储设备,该存储设备包括接口卡、存储控制器以及存储介质,用于存储至少一个服务器的数据,并与至少一个服务器之间建立至少一条连接。该方法包括:
接口卡接收来自服务器的写操作请求,该写操作请求携带立即数,根据该写操作请求获取服务器与存储设备连接的连接信息,再根据该连接信息,从预存的完整性校验信息集合中获取连接对应的完整性控制信息,接口卡根据该完整性控制信息,对写操作请求中的立即数进行完整性校验。采用这种方法,接口卡在收到写操作请求后就可以直接获取对应的完整性控制信息,减少了接口卡和存储控制器之间的交互时延。
结合第一方面,在第一种可能的实现方式中,还包括:
接口卡接收服务器发送的连接建立消息,将该连接建立消息转发到存储控制器,以建立该服务器与存储设备之间的连接;接口卡接收该连接所对应的连接上下文信息,该连接上下文信息携带该连接对应的完整性控制信息,该完整性控制信息用来对连接上传输的数据进行完整性校验;接口卡将该完整性控制信息保存到完整性校验信息集合中。采用这种方法,在接口卡收到写操作请求之前就将包括完整性控制信息在内的连接上下文存储至接口卡内,使得之后接口卡不需要再通过存储控制器获取该完整性控制信息。
结合第一方面,或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,接口卡接收到写操作请求之后,以及对立即数的完整性校验完成之前,该接口卡向存储控制器转发写操作请求,并将写操作请求中携带的立即数保存到存储控制器的存储空间中。采用这种方法,接口卡不需要缓存收到的立即数,节省了接口卡的存储空间;同时,在对立即数的完整性校验完成之前就将立即数发送给存储控制器,进一步节省了时间。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,如果立即数的完整性校验的结果为不通过,接口卡向存储控制器发送错误信息指示,该错误信息用于指示存储控制器写操作请求中携带的立即数的完整性存在错误。采用这种方法,可以使存储控制器删除收到的错误信息。
结合第一方面,或者第一方面的第一种可能的实现方式,在第四种可能的实现方式中,当接口卡接收到写操作请求后,将该写操作请求中携带的立即数保存到接口卡本地的存储空间中。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,接口卡完成对立即数的完整性校验后,如果该校验结果为通过,则接口卡向存储控制器转发写操作请求,并将保存在接口卡本地的存储空间中的立即数保存到存储控制器的存储空间中。采用这种方法,在完成对立即数的完整性校验后再将立即数发送给存储控制器,使得存储控制器收到的立即数更加准确。
结合第一方面的第一种可能的实现方式,在第六种可能的实现方式中,当服务器与存储设备的连接断开之后,接口卡将该连接所对应的完整性控制信息从完整性校验信息集合中删除。采用这种方法,可以节省接口卡的存储空间。
结合第一方面的第一至第六种可能的实现方式,在第七种可能的实现方式中,当其他的服务器与存储设备建立新的连接时,接口卡接收新连接所对应的连接上下文,当接口卡确定完整性校验信息集合中保存的连接数目达到其本地存储空间的最大限制时,将拒绝保存新的连接对应的完整性控制信息。采用这种方法,防止了保存的完整性校验信息集合超出了接口卡的存储空间大小而导致错误发生。
结合第一方面的第二种或第三种可能的实现方式,在第八种可能的实现方式中,如果立即数的完整性校验结果为不通过,接口卡向相应的服务器发送错误信息指示,该错误信息用于指示服务器写操作请求中携带的立即数的完整性存在错误,服务器重新发送携带这部分数据的写操作请求。采用这种方法,可以使服务器重新发送传输过程中产生错误的数据,以便接口卡将正确的数据再次发送给存储控制器。
第二方面,提供一种接口卡,该接口卡应用于存储设备,该存储设备与至少一个服务器建立至少一条连接,该接口卡包括:
接收模块,用于接收来自第一服务器的写操作请求,该写操作请求携带立即数,该所述第一服务器为至少一个服务器中的任意一个服务器;
存储模块,用于保存完整性校验信息集合,该完整性校验信息集合包括至少一条连接对应的完整性控制信息;
校验模块,用于根据接收模块中的写操作请求获取从存储模块中获取与第一服务器连接对应的第一连接信息;根据第一连接的连接信息,从存储模块中获取与该第一连接对应的完整性控制信息;该第一连接对应的完整性控制信息对所述写操作请求中的立即数进行完整性校验。
结合第二方面,在第一种可能的实现方式中,还包括上传模块,在接收模块接收写操作请求之前,所接收模块接收第一服务器发送的连接建立消息;该上传模块用于将连接建立消息转发到存储控制器,以建立第一服务器与存储设备之间的第一连接;
接收模块接收存储控制器发送的第一连接的连接上下文信息,该第一连接的上下文信息携带该第一连接对应的完整性控制信息,该第一连接对应的完整性控制信息用于对在该第一连接上传输的数据进行完整性校验;
存储模块将第一连接对应的完整性控制信息保存到完整性校验信息集合中。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括上传模块,用于在接收模块接收到写操作请求之后,以及该校验模块对立即数的完整性校验完成之前,向存储控制器转发该写操作请求,并将该写操作请求中携带的立即数保存到该存储控制器的存储空间中。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,如果校验模块对于立即数完整性校验的结果为不通过,上传模块将向存储控制器发送错误信息指示,该错误信息将用于指示该存储控制器写操作请求中携带的立即数的完整性存在错误。
结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,接收模块接收到写操作请求之后,存储模块保存写操作请求中携带的立即数。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括上传模块,用于在校验模块对立即数的完整性校验完成之后,如果对该立即数的完整性校验通过,向该存储控制器转发所述写操作请求,并将保存在存储模块中的该立即数保存到该存储控制器的存储空间中。
结合第二方面的第一种可能的实现方式,在第六种可能的实现方式中,当第一连接断开之后,存储模块将该第一连接对应的完整性控制信息从完整性校验信息集合中删除。
结合第二方面的第一至第六种可能的实现方式,在第七种可能的实现方式中,接收模块接收存储控制器发送的第二连接的连接上下文信息,该第二连接的连接上下文信息携带该第二连接对应的完整性控制信息,该第二连接对应的完整性控制信息用于对在该第二连接上传输的数据进行完整性校验;该接收模块在确定完整性校验信息集合中保存的连接数目达到接口卡的本地存储空间的最大限制时,拒绝保存该第二连接对应的完整性控制信息。
结合第二方面的第二种或第三种可能的实现方式,在第八种可能的实现方式中,如果立即数的完整性校验结果为不通过,上传模块向相应的服务器发送错误信息指示,该错误信息用于指示服务器写操作请求中携带的立即数的完整性存在错误,服务器重新发送携带这部分数据的写操作请求。
第三方面,提供一种存储设备,该存储设备用于存储至少一个服务器的数据,并与至少一个服务器之间建立至少一条连接,该存储设备包括:
接口卡,用于接收来自服务器的写操作请求,该写操作请求携带立即数;保存完整性校验信息集合,该完整性校验信息集合包括至少一个与服务器连接对应的完整性控制信息;根据写操作请求获取与服务器连接对应的连接信息;根据该连接信息,从存储模块中获取与服务器连接对应的完整性控制信息;再根据该完整性控制信息对写请求操作中的立即数进行完整性校验;
存储控制器,用于接收接口卡转发的写操作请求,该写操作请求携带立即数。结合第三方面,在一种可能的实现方式中,接口卡还用于接收第一服务器发送的连接建立消息,该接口卡将连接建立消息转发到存储控制器,以建立第一服务器与存储设备之间的第一连接;该接口卡还接收存储控制器发送的第一连接的连接上下文信息,该第一连接的连接上下文信息携带第一连接对应的完整性控制信息,该完整性控制信息将用于对第一连接上传输的数据进行完整性校验;接口卡将第一连接对应的完整性控制信息保存到所述完整性校验信息集合中。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,在接口卡接收到写操作请求之后,以及对立即数的完整性校验完成之前,该接口卡向存储控制器转发写操作请求,并将写请求操作中携带的立即数保存到存储控制器的存储空间中。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,如果立即数的完整性校验的结果为不通过,接口卡向存储控制器发送错误信息指示,该错误信息用于指示存储控制器写操作请求中携带的立即数的完整性存在错误。
结合第三方面的第一种可能的实现方式,在第四种可能的实现方式中,当接口卡接收到写操作请求后,将该写操作请求中携带的立即数保存到接口卡本地的存储空间中。
结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,接口卡完成对立即数的完整性校验后,如果该校验结果为通过,则接口卡向存储控制器转发写操作请求,并将保存在接口卡本地的存储空间中的立即数保存到存储控制器的存储空间中。
结合第三方面的第一种可能的实现方式,在第六种可能的实现方式中,当服务器与存储设备的连接断开之后,接口卡将该连接所对应的完整性控制信息从完整性校验信息集合中删除。
结合第三方面的第一种至第五种可能的实现方式,在第七种可能的实现方式中,当其他的服务器与存储设备建立新的连接时,接口卡接收新连接所对应的连接上下文,当接口卡确定完整性校验信息集合中保存的连接数目达到其本地存储空间的最大限制时,将拒绝保存新的连接对应的完整性控制信息。
结合第三方面的第二种或第三种可能的实现方式,在第八种可能的实现方式中,如果立即数的完整性校验结果为不通过,接口卡向相应的服务器发送错误信息指示,该错误信息用于指示服务器写操作请求中携带的立即数的完整性存在错误,服务器重新发送携带这部分数据的写操作请求。
附图说明
图1为本申请的实施例中数据和对应的数据完整域数值的示意图;
图2为本申请的实施例中存储系统的示意图;
图3为本申请的实施例中立即数完整性校验的第一种实施例的示意图;
图4为本申请的实施例中立即数完整性校验的第二种实施例的示意图;
图5为本申请的实施例中接口卡的功能结构的示意图;
图6为本申请的实施例中存储设备结构的示意图。
具体实施方式
为了使本申请的上述目的、技术方案和优点更易于理解,下文提供了详细的描述。所述详细的描述通过使用方框图、流程图和/或示例提出了设备和/或过程的各种实施例。由于这些方框图、流程图和/或示例包含一个或多个功能和/或操作,所以本领域内人员将理解可以通过许多硬件、软件、固件或它们的任意组合单独和/或共同实施这些方框图、流程图或示例内的每个功能和/或操作。
以下是本申请文件包含的术语:
立即数,指的是在立即寻址方式中,操作数紧跟在操作码后面,与操作码一起放在命令中,存储设备接收到命令后可以直接调用该操作数,而不需要到其他地址单元中去取响应的操作数,上述写命令中的操作数就称为立即数。携带立即数的写命令请求的处理方法通常是,服务器发起写命令请求,将即将进行写数据的动作通知存储设备,同时发送部分数据给存储设备;存储设备收到写命令后,立即处理后续到达的立即数。存储设备在收到数据后再准备存储空间,并将接收到的数据存储到该存储空间中。
数据完整域(Data Integrity Field,DIF),是进行数据完整性校验的一种方式,通过对数据附加校验数据等向信息的方式,对数据传输过程中的完整性和一致性进行保护。采用数据完整域的方法对接收到的数据进行完整性校验,可以检测和防止静态数据破坏,包括数据通道上的硬件故障和软件错误导致的数据破坏,以及磁盘不可检测和纠正的数据错误等。在本申请的实施例中,当立即数从服务器通过网络传输到存储设备的过程中,可能会因为网络环境或者硬件设备等问题而出现错误,这些数据传输的错误对于一些对数据准确性和完整性有要求的场合是不能允许的。为了确认接收到的信息的完整性和准确性,需要采取数据完整域等方法对接收到的信息进行数据完整性校验。
对于数据完整域的格式,T10技术委员会(T10 Technical Committee)定义的标准格式是标准数据扇区加上8个字节的数据完整域,其中标准数据扇区的大小通常为512字节(Byte)或4千字节(KB)。在传输过程中,服务器和存储设备可以根据数据完整性校验的计算规则(称为完整性控制信息),对接收到的数据进行校验。通常的做法是,服务器作为数据的发起者,在每个数据单元中,也就是标准数据扇区后插入数据完整域。存储设备作为数据的接收者,对接收到的数据根据相应的完整性控制信息进行计算,得出数据完整域的数值,与服务器发来的数据完整域的数值进行对比校验。如果两者相符合明接收到的数据是完整、准确的;如果两者不相符合的话,确认传输的数据是不完整或者不准确的,发生了错误或者篡改,后续需要进行相应的处理。
在现有技术中,目标器在接收到数据时无法拿到数据完整域控制信息,于是将立即数先暂存于接口卡外挂DDR(Double Data Rate Synchronous Dynamic Random AccessMemory,双倍速率同步动态随机存储器)或者内部存储空间中,等到接口卡上传写命令到上层软件并获取上层软件下发的数据完整域控制信息后,完成数据完整域操作后再将数据上传。这种做法增加数据完整域控制信息的传递交互时延,导致效率降低的问题。
本申请致力于解决上述技术问题,存储控制器会预先将数据完整域控制信息传输至接口卡的存储空间中,待接口卡收到带有立即数的写命令后,可以根据预存的数据完整域控制信息进行数据完整域的校验,从而降低了信息交互时延,提升了效率。
下面结合说明书附图对本发明优选的实施方式进行详细说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,而且在不冲突的情况下,本申请的实施例及实施例中的特征可以互相结合。
图2所示的是一个可以用来实施本发明方案的存储系统架构。
存储系统200可以是一种高速的存储专用网络,通过专用的数据交换技术连接数据中心里的所有存储设备和服务器。存储系统200包括服务器201、服务器202以及服务器203等多个服务器(图示3台,实际的数量可能为一台或多台)。连接服务器(以服务器201为例,下同)和存储设备210的网络204、存储设备210所包括的接口卡205、存储控制器206以及存储介质207。
当服务器A201需要将数据存入存储设备210时,将报文根据既定的协议进行封装并通过网络204发送到存储设备210。
存储设备210由接口卡205、存储控制器206和存储介质207三部分组成。接口卡205的主要作用是对收到的报文进行解析,剥离出原始的数据后,将该数据上传到控制器206。存储控制器206收到数据后,将其转发给存储介质207。其中,存储介质207通常是由磁盘阵列构成。
以下对本申请的具体实施场景和方法进行详细介绍。
参阅图3所示,本发明的实施例中,存储系统实现立即数数据完整性校验第一种方案的详细流程如下:
步骤300:当存储系统内一个或多个服务器开始和存储设备进行连接时,接口卡接收该服务器发送的连接建立消息。接口卡将连接建立消息转发到存储控制器,以建立服务器和存储设备之间的连接。
步骤310:存储控制器收到连接建立消息并与服务器建立连接后,预留立即数存储空间。这部分存储空间将会被用来在之后的步骤中接收接口卡上传的立即数数据。其中,所预留的立即数存储空间大小是根据接口卡所能存储数据的大小来确定的。
在本发明的实施例中,存储控制器预留立即数存储空间可以由多种方式实现。存储控制器预留立即数存储空间可以通过共享接收队列(Shared Receive Queue,SRQ)来实现。共享接收队列的优势在于可以在多个连接之间共享使用,用以节省存储空间的消耗。立即数接收完毕后,存储控制器对共享接收队列已使用的页面资源进行释放,被释放的页面将被用于后续的立即数接收。
步骤320:存储控制器启动连接卸载工作,将连接上下文信息转发给接口卡,接口卡将其存入本地存储空间里的完整性校验信息集合中。此处的连接上下文信息包括服务器与存储设备之间连接建立以后所产生的连接信息以及完整性控制信息。其中,完整性控制信息将用来对该连接所传输的数据进行完整性校验,连接信息在后续的步骤中被接口卡用来索引并获取完整性控制信息。同时,该连接上下文在启动器和目标器的连接生命周期中将一直保存在接口卡中。
每当有新的服务器与所述存储设备进行连接时,接口卡都会接收存储控制器下发的连接上下文信息。考虑到接口卡的本地存储空间大小是存在限制的,当接口卡确定其所保存的完整性校验信息集合中的连接数目超过了其所能容纳的最大数目限制时,接口卡将拒绝接收和保存该连接以及后续连接所对应的连接上下文信息。
为了节省接口卡内部的存储空间,当服务器和存储设备之间的连接生命周期结束后,即服务器和存储设备之间的连接断开之后,接口卡会将该连接所对应的连接上下文信息从其所保存的完整性校验信息集合中删除,从而释放接口卡内部的存储空间。
步骤330:接口卡接收到服务器发来的携带有立即数的写操作请求后,对该写操作请求进行报文解析,根据写操作请求中报文的信息通过映射关系查找到该写操作请求所指向的服务器和存储设备之间的连接信息,再根据该连接信息查找到相应的完整性控制信息,并获取该完整性控制信息。
步骤340:接口卡接收到来自服务器的立即数后,将该立即数保存到其本地的存储空间中,并根据预先获取的完整性控制信息进行数据完整性的校验工作。
步骤345:如果在接口卡根据完整性控制信息在完成数据完整性的校验过程中出现错误,则接口卡会删除错误信息所对应的数据,并将该错误信息转发给服务器。服务器收到错误信息后,将重新传输错误信息对应的立即数数据。
步骤350:当接口卡根据完整性控制信息完成数据完整性校验并且通过时,接口卡将立即数上传至存储控制器所预留的立即数存储空间中。
在本申请的实施例中,接口卡进行数据的上传可以采取多种方式来实现。例如,可以采取直接内存存取(Direct Memory Access,DMA)的形式上传数据。DMA允许不同速度的硬件装置之间进行沟通,而不需要依赖于CPU的大量中断负载。采取这种做法,可以减少对CPU资源的消耗,提高系统的整体效率。
步骤360:存储控制器在收到接口卡上传的立即数之后,将该立即数转发至存储介质中进行存储。参阅图4所示,本发明的实施例中,存储系统实现立即数数据完整性校验第二种方案的详细流程如下:
在第二种方案中,步骤400、步骤410、步骤420、步骤430和步骤460分别与第一种方案中的步骤300、步骤310、步骤320、步骤330和步骤360相同,在此不再赘述。
步骤440:接口卡接收到来自服务器的立即数后,将其上传至存储控制器预留的存储空间中。采用这种做法,接口卡不需要提供存储空间来存储接收到的立即数。
步骤450:在接收卡上传立即数的同时或者之后,接口卡根据预先获取的完整性控制信息对该立即数进行数据完整性的校验工作。
步骤455:如果在接口卡根据完整性控制信息在完成数据完整性的校验过程中出现错误,则将该错误信息转发给服务器。服务器接收到错误信息后,将重新传输错误信息对应的立即数数据。同时,接口卡也会将错误信息转发给存储控制器,存储控制器接收到错误信息后,将删除错误信息对应的立即数数据。
基于上述技术方案,参阅图5所示,本申请的实施例提供一种接口卡510,该接口卡包括接收模块511、存储模块512、校验模块513,其中:
接收模块511,用于接收来自服务器的写操作请求,该写操作请求携带立即数;
存储模块512,用于保存完整性校验信息集合,该完整性校验信息集合包括至少一个服务器与存储设备的连接所对应的完整性控制信息;
校验模块513,用于解析写操作请求,获取服务器与存储设备500连接所对应的连接信息;根据该连接信息,从存储模块512中索引到该连接对应的完整性控制信息,并获取该完整性控制信息;根据该完整性控制信息对写操作请求中的立即数进行完整性校验。
在本申请的实施例中,进一步的,还包括上传模块514,用于将所述写操作请求中携带的立即数保存到存储控制器的存储空间中。
基于上述技术方案,参阅图6所示,本申请的实施例提供一种存储设备600,该存储设备用于存储至少一个服务器的数据,并与至少一个服务器之间建立连接。该存储设备600包括:
接口卡610,用于接收来自一个或多个服务器的写操作请求,该写操作请求携带立即数;保存完整性校验信息集合,该完整性校验信息集合包括存储设备600与至少一个服务器连接所对应的完整性控制信息;根据写操作请求获取存储设备600与服务器连接所对应的连接信息;根据该连接信息获取与该连接对应的完整性控制信息;根据该完整性控制信息对写操作请求中的立即数进行完整性校验;
存储控制器620,由内存621和处理器622组成。其中,内存621,用于存储计算机指令,当该指令运行时,向接口卡发送与一个或多个服务器连接的连接上下文信息,该连接上下文信息携带与该连接对应的完整性控制信息,该完整性控制信息用于对该连接上传输的数据进行完整性校验;处理器622,用于读取并运行内存所存储的计算机指令。
存储介质630,用于接收存储控制器620发送的立即数数据。
综上所述,本申请的实施例中,提供了一种写操作的立即数的完整性校验方法:接口卡接收服务器发送的携带立即数的写操作请求;根据该写操作请求获取与服务器连接对应的连接信息;根据该连接信息获取该连接对应的完整性控制信息;再根据该完整性控制信息对写操作请求中的立即数进行完整性校验。在该方案中,由于立即数的完整性校验信息已经预存在接口卡的存储空间中,因而减少了接口卡和存储控制器之间的交互,提高了系统整体的效率。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的,应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合,可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能的步骤。
尽管已经描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动在内。

Claims (20)

1.一种写操作中的立即数的完整性校验方法,其特征在于,所述方法应用于存储设备,所述存储设备与至少一个服务器之间建立至少一条连接,所述存储设备包括接口卡、存储控制器,所述方法包括:
所述接口卡接收来自第一服务器的写操作请求,所述写操作请求携带立即数,所述第一服务器为所述至少一个服务器中的任意一个服务器;
所述接口卡根据所述写操作请求获取第一连接的连接信息,所述第一连接为所述第一服务器与所述存储设备之间建立的连接;
所述接口卡根据所述第一连接的连接信息,从预存的完整性校验信息集合中获取所述第一连接对应的完整性控制信息,所述完整性校验信息集合保存在所述接口卡的本地存储空间中,包括至少一个连接对应的完整性控制信息;
所述接口卡根据所述第一连接对应的完整性控制信息,对所述写操作请求中的立即数进行完整性校验。
2.根据权利要求1所述的方法,其特征在于,在所述接口卡接收所述写操作请求之前,所述方法还包括:
所述接口卡接收所述第一服务器发送的连接建立消息;
所述接口卡将所述连接建立消息转发到所述存储控制器,以建立所述第一服务器与所述存储设备之间的所述第一连接;
所述接口卡接收所述存储控制器发送的所述第一连接的连接上下文信息,所述第一连接的连接上下文信息携带所述第一连接对应的完整性控制信息,所述第一连接对应的完整性控制信息用于对在所述第一连接上传输的数据进行完整性校验;
所述接口卡将所述第一连接对应的完整性控制信息保存到所述完整性校验信息集合中。
3.根据权利要求1或2所述的方法,其特征在于,所述接口卡接收到所述写操作请求之后,以及对所述立即数的完整性校验完成之前,还包括:
所述接口卡向所述存储控制器转发所述写操作请求,并将所述写操作请求中携带的所述立即数保存到所述存储控制器的存储空间中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果对所述立即数的完整性校验不通过,所述接口卡向所述存储控制器发送错误信息指示,所述错误信息用于指示所述存储控制器所述写操作请求中携带的所述立即数的完整性存在错误。
5.根据权利要求1或2所述的方法,其特征在于,所述接口卡接收到所述写操作请求之后,所述方法还包括:
所述接口卡将所述写操作请求中携带的所述立即数保存到所述接口卡本地的存储空间。
6.根据权利要求5所述的方法,其特征在于,所述接口卡对所述立即数的完整性校验完成之后,所述方法还包括:
如果对所述立即数的完整性校验通过,所述接口卡向所述存储控制器转发所述写操作请求,并将保存在所述接口卡本地的存储空间中的所述立即数保存到所述存储控制器的存储空间中。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述第一连接断开之后,所述接口卡将所述第一连接对应的完整性控制信息从所述完整性校验信息集合中删除。
8.根据权利要求2-7任意一项所述的方法,其特征在于,所述方法还包括:
所述接口卡接收所述存储控制器发送的第二连接的连接上下文信息,所述第二连接的连接上下文信息携带所述第二连接对应的完整性控制信息,所述第二连接对应的完整性控制信息用于对在所述第二连接上传输的数据进行完整性校验;
所述接口卡在确定所述完整性校验信息集合中保存的连接数目达到所述接口卡的本地存储空间的最大限制时,拒绝保存所述第二连接对应的完整性控制信息。
9.一种存储设备的接口卡,其特征在于,应用于存储设备,所述存储设备与至少一个服务器建立至少一条连接,所述接口卡包括:
接收模块,用于接收来自第一服务器的写操作请求,所述写操作请求携带立即数,所述第一服务器为所述至少一个服务器中的任意一个服务器;
存储模块,用于保存完整性校验信息集合,所述完整性校验信息集合包括所述至少一条连接对应的完整性控制信息;
校验模块,用于根据所述接收模块中的所述写操作请求从所述存储模块中获取与所述第一服务器连接对应的第一连接的连接信息;根据所述第一连接的连接信息,从存储模块中获取与所述第一连接对应的完整性控制信息;
根据所述第一连接对应的完整性控制信息对所述写操作请求中的立即数进行完整性校验。
10.根据权利要求9所述的接口卡,其特征在于,还包括上传模块,
在所述接收模块接收所述写操作请求之前,所述接收模块接收所述第一服务器发送的连接建立消息;
所述上传模块用于将所述连接建立消息转发到存储控制器,以建立所述第一服务器与所述存储设备之间的所述第一连接;
所述接收模块接收所述存储控制器发送的所述第一连接的连接上下文信息,所述第一连接的上下文信息携带所述第一连接对应的完整性控制信息,所述第一连接对应的完整性控制信息用于对在所述第一连接上传输的数据进行完整性校验;
所述存储模块将所述第一连接对应的完整性控制信息保存到所述完整性校验信息集合中。
11.根据权利要求10所述的接口卡,其特征在于,所述上传模块,还用于在所述接收模块接收到所述写操作请求之后,以及所述校验模块对所述立即数的完整性校验完成之前,向所述存储控制器转发所述写操作请求,并将所述写操作请求中携带的所述立即数保存到所述存储控制器的存储空间中。
12.根据权利要求11所述的接口卡,其特征在于,如果所述校验模块对于所述立即数的完整性校验的结果为不通过,所述上传模块还用于向所述存储控制器发送错误信息指示,所述错误信息用于指示所述存储控制器所述写操作请求中携带的所述立即数的完整性存在错误。
13.根据权利要求10所述的接口卡,其特征在于,所述存储模块还用于在所述接收模块接收到所述写操作请求后,保存所述写操作请求中携带的所述立即数。
14.根据权利要求13所述的接口卡,其特征在于,所述上传模块,还用于在所述校验模块对所述立即数的完整性校验完成之后,如果对所述立即数的完整性校验通过,向所述存储控制器转发所述写操作请求,并将保存在所述存储模块中的所述立即数保存到所述存储控制器的存储空间中。
15.根据权利要求10所述的接口卡,其特征在于,当所述第一连接断开之后,所述存储模块将所述第一连接对应的完整性控制信息从所述完整性校验信息集合中删除。
16.根据权利要求10-15任意一项所述的接口卡,其特征在于,所述接收模块接收所述存储控制器发送的第二连接的连接上下文信息,所述第二连接的连接上下文信息携带所述第二连接对应的完整性控制信息,所述第二连接对应的完整性控制信息用于对在所述第二连接上传输的数据进行完整性校验;
所述接收模块在确定所述完整性校验信息集合中保存的连接数目达到所述接口卡的本地存储空间的最大限制时,拒绝保存所述第二连接对应的完整性控制信息。
17.一种存储设备,其特征在于,所述存储设备与所述至少一个服务器之间建立至少一条连接,所述存储设备包括:
接口卡,用于接收来自第一服务器的写操作请求,所述写操作请求携带立即数,所述第一服务器为所述至少一个服务器中的任意一个服务器;
保存完整性校验信息集合,所述完整性校验信息集合包括至少一个与所述服务器连接对应的完整性控制信息;
根据所述写操作请求获取与所述服务器连接对应的连接信息;
根据所述连接信息,从存储模块中获取与所述服务器连接对应的完整性控制信息;
根据所述完整性控制信息对所述写操作请求中的立即数进行完整性校验;
存储控制器,用于接收所述接口卡转发的所述写操作请求,所述写操作请求携带所述立即数。
18.根据权利要求17所述的存储设备,其特征在于,所述接口卡还用于接收所述第一服务器发送的连接建立消息;所述接口卡将所述连接建立消息转发到所述存储控制器,以建立所述第一服务器与所述存储设备之间的所述第一连接;所述接口卡接收所述存储控制器发送的所述第一连接的连接上下文信息,所述第一连接的连接上下文信息携带所述第一连接对应的完整性控制信息,所述第一连接对应的完整性控制信息用于对在所述第一连接上传输的数据进行完整性校验;所述接口卡将所述第一连接对应的完整性控制信息保存到所述完整性校验信息集合中。
19.根据权利要求17或18所述的存储设备,其特征在于,所述方法还包括:
如果所述立即数的完整性校验的结果为不通过,所述接口卡向所述存储控制器发送错误信息指示,所述错误信息用于指示所述内存所述写操作请求中携带的所述立即数的完整性存在错误。
20.根据权利要求19所述的存储设备,其特征在于,所述接口卡对所述立即数的完整性校验完成之后,如果对所述立即数的完整性校验通过,所述接口卡向所述存储控制器转发所述写操作请求。
CN201711329056.1A 2017-12-13 2017-12-13 一种立即数的完整性的校验方法及装置 Active CN108304214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711329056.1A CN108304214B (zh) 2017-12-13 2017-12-13 一种立即数的完整性的校验方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711329056.1A CN108304214B (zh) 2017-12-13 2017-12-13 一种立即数的完整性的校验方法及装置

Publications (2)

Publication Number Publication Date
CN108304214A true CN108304214A (zh) 2018-07-20
CN108304214B CN108304214B (zh) 2022-05-13

Family

ID=62869904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711329056.1A Active CN108304214B (zh) 2017-12-13 2017-12-13 一种立即数的完整性的校验方法及装置

Country Status (1)

Country Link
CN (1) CN108304214B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961559A (zh) * 2004-04-21 2007-05-09 Level5网络有限公司 校验数据完整性
CN101918925A (zh) * 2007-09-04 2010-12-15 先进微装置公司 用于处理器的高关联性高速缓存的第二次机会取代机制
CN103647807A (zh) * 2013-11-27 2014-03-19 华为技术有限公司 一种信息缓存方法、装置和通信设备
CN104283938A (zh) * 2013-07-08 2015-01-14 英特尔公司 用于在存储服务器之间复制数据的技术
CN104461954A (zh) * 2013-09-18 2015-03-25 国际商业机器公司 用于管理多个互连ip块中的通信的方法和系统
CN104767834A (zh) * 2006-04-12 2015-07-08 思杰系统有限公司 用于加速计算环境到远程用户的传送的系统和方法
CN105373503A (zh) * 2014-08-19 2016-03-02 雷夫科技有限公司 具有经由控制器集成的多功能的闪存驱动器
CN105487937A (zh) * 2015-11-27 2016-04-13 华为技术有限公司 一种rdma实现方法和装置
CN105681223A (zh) * 2015-12-31 2016-06-15 清华大学 一种sdn的数据包转发方法及装置
CN105960639A (zh) * 2014-01-31 2016-09-21 谷歌公司 分布式存储系统中的优先化数据重构
CN106030518A (zh) * 2014-03-27 2016-10-12 英特尔公司 用于整理和退出存储的指令和逻辑
CN106164899A (zh) * 2014-01-31 2016-11-23 谷歌公司 从分布式存储系统的高效数据读取
CN106688217A (zh) * 2014-03-08 2017-05-17 狄亚曼提公司 用于融合联网和存储的方法和系统

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961559A (zh) * 2004-04-21 2007-05-09 Level5网络有限公司 校验数据完整性
CN104767834A (zh) * 2006-04-12 2015-07-08 思杰系统有限公司 用于加速计算环境到远程用户的传送的系统和方法
CN101918925A (zh) * 2007-09-04 2010-12-15 先进微装置公司 用于处理器的高关联性高速缓存的第二次机会取代机制
CN104283938A (zh) * 2013-07-08 2015-01-14 英特尔公司 用于在存储服务器之间复制数据的技术
CN104461954A (zh) * 2013-09-18 2015-03-25 国际商业机器公司 用于管理多个互连ip块中的通信的方法和系统
CN103647807A (zh) * 2013-11-27 2014-03-19 华为技术有限公司 一种信息缓存方法、装置和通信设备
CN105960639A (zh) * 2014-01-31 2016-09-21 谷歌公司 分布式存储系统中的优先化数据重构
CN106164899A (zh) * 2014-01-31 2016-11-23 谷歌公司 从分布式存储系统的高效数据读取
CN106688217A (zh) * 2014-03-08 2017-05-17 狄亚曼提公司 用于融合联网和存储的方法和系统
CN106030518A (zh) * 2014-03-27 2016-10-12 英特尔公司 用于整理和退出存储的指令和逻辑
CN105373503A (zh) * 2014-08-19 2016-03-02 雷夫科技有限公司 具有经由控制器集成的多功能的闪存驱动器
CN105487937A (zh) * 2015-11-27 2016-04-13 华为技术有限公司 一种rdma实现方法和装置
CN105681223A (zh) * 2015-12-31 2016-06-15 清华大学 一种sdn的数据包转发方法及装置

Also Published As

Publication number Publication date
CN108304214B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN111147564B (zh) 数据文件传输方法、系统及通信终端
US20120317153A1 (en) Caching responses for scoped and non-scoped domain name system queries
CN104410692B (zh) 一种用于重复文件上传的方法和系统
TWI603206B (zh) Server cluster based data processing method and cluster based data processing system
CN111600965B (zh) 区块链中的共识方法和系统
CN108683668B (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
CN103475682B (zh) 文件迁移方法及设备
CN110287696B (zh) 一种反弹shell进程的检测方法、装置和设备
CN107153644A (zh) 一种数据同步方法及装置
CN102546730A (zh) 数据处理方法、装置及系统
CN110995851B (zh) 消息处理方法、装置、存储介质及设备
CN106878164A (zh) 一种报文传输方法和装置
EP3816924A1 (en) Method for accepting blockchain evidence storage transaction and system
CN109918226A (zh) 一种静默错误检测方法、装置及存储介质
CN103986585A (zh) 报文预处理方法及其装置
CN107341062A (zh) 一种数据推送方法、装置、设备以及存储介质
US11341842B2 (en) Metering data management system and computer readable recording medium
CN108206839A (zh) 一种基于多数派数据存储方法、装置及系统
CN104270287A (zh) 一种报文乱序检测方法及装置
CN104780123A (zh) 一种网络包收发处理装置及其设计方法
CN108304214A (zh) 一种立即数的完整性的校验方法及装置
CN116132625A (zh) 交易流程的监管方法和装置
CN103501251B (zh) 断网情况下的数据包处理方法及装置
CN109861967A (zh) 基于Spark Shuffle的远程直接内存访问系统
CN103049351B (zh) 多元数据服务器的日志处理方法和装置

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: 20211223

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Applicant after: Super fusion Digital Technology Co.,Ltd.

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

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant