CN115129509A - 一种数据传输方法、装置、介质 - Google Patents
一种数据传输方法、装置、介质 Download PDFInfo
- Publication number
- CN115129509A CN115129509A CN202210764719.7A CN202210764719A CN115129509A CN 115129509 A CN115129509 A CN 115129509A CN 202210764719 A CN202210764719 A CN 202210764719A CN 115129509 A CN115129509 A CN 115129509A
- Authority
- CN
- China
- Prior art keywords
- data
- instruction
- ses
- check data
- ses instruction
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012937 correction Methods 0.000 claims description 43
- 238000012795 verification Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
Abstract
本申请涉及数据传输领域,公开了一种数据传输方法、装置、介质,包括:获取第一ses指令,以便于控制硬盘扩展柜执行数据读写工作,其中,第一ses指令为存储主机用于控制硬盘扩展柜的指令。根据第一ses指令和第一校验数据生成第二ses指令,将第二ses指令发送至硬盘扩展柜,以便于硬盘扩展柜根据获取到的第二ses指令计算第二校验数据,并通过判断第一校验数据和第二校验数据是否相等以确定数据是否正确传输。由此可见,本申请所提供方案中在ses指令中增加校验数据,通过判断存储主机发送的第一校验数据和硬盘扩展柜根据ses指令计算的第二校验数据是否一致以判断数据传输过程中是否存在异常情况,从而防止数据传输错误。
Description
技术领域
本申请涉及数据传输领域,特别是涉及一种数据传输方法、装置、介质。
背景技术
随着云计算技术的发展,对大数据处理需求的快速增长,目前服务器对存储设备存储海量数据的存储速度和存储能力的需求也越来越高。为了扩展存储设备的存储容量,目前通常使用硬盘扩展柜(just a bunch of nvme flash,JBOF)设备来连接更多的磁盘阵列以进行存储空间的扩充。存储主机通过高速串行计算机扩展总线标准(peripheralcomponent interconnect express,PCI-Express)连接JBOF,并在JBOF下连接多个硬盘以进行磁盘阵列的扩充。
在具体实施中,存储主机与JBOF间通过SAS线缆连接,以传输数据。但在数据传输过程中SAS线缆发生热插拔状况,可能会导致写入的数据存在错误。
由此可见,如何提供一种数据传输方法,以防止SAS线缆发生热插拔时数据传输错误,是本领域技术人员亟需解决的问题。
发明内容
本申请的目的是提供一种数据传输装置方法、装置、介质,以防止SAS线缆发生热插拔导致数据传输错误,提高存储设备的稳定性和可靠性。
为了解决上述技术问题,本申请提供了一种数据传输方法,应用于存储主机,包括:
获取第一ses指令,其中,所述第一ses指令为所述存储主机用于控制硬盘扩展柜的指令;
根据所述第一ses指令和第一校验数据生成第二ses指令,其中,所述第一校验数据为根据所述第一ses指令生成的数据;
将所述第二ses指令发送至所述硬盘扩展柜,以便于所述硬盘扩展柜根据获取到的所述第二ses指令计算第二校验数据,并通过判断所述第一校验数据和所述第二校验数据是否相等以确定所述第二ses指令是否正确传输。
优选的,所述根据所述第一ses指令和第一校验数据生成第二ses指令包括:
获取所述第一ses指令中的data数据;
利用校验算法对所述data数据进行处理,以获取所述第一校验数据,并将所述校验数据写入所述第一ses指令中以生成所述第二ses指令。
优选的,所述根据所述第一ses指令和第一校验数据生成第二ses指令的步骤后,还包括:
利用纠错算法对所述data数据进行处理以获取纠错数据;
将所述纠错数据写入所述第二ses指令中,以便于所述硬盘扩展柜在所述第一校验数据和所述第二校验数据不相等时根据所述纠错数据对所述第二校验数据进行纠错处理。
优选的,所述将所述第二ses指令发送至所述硬盘扩展柜的步骤后,还包括:
判断是否接收到所述硬盘扩展柜发送的错误信息;
若接收到所述错误信息,再次向所述硬盘扩展柜发送所述第二ses指令。
为了解决上述技术问题,本申请还提供了另一种数据传输方法,应用于硬盘扩展柜,包括:
获取存储主机发送的第二ses指令,其中,所述第二ses指令为所述存储主机根据第一ses指令和第一校验数据生成的指令,所述第一ses指令为所述存储主机用于控制硬盘扩展柜的指令;
根据获取到的所述第二ses指令计算第二校验数据;
判断所述第一校验数据和所述第二校验数据是否相等,以确定所述第二ses指令是否正确传输。
优选的,所述判断所述第一校验数据和所述第二校验数据是否相等,以确定所述第二ses指令是否正确传输的步骤后,还包括:
若所述第一校验数据和所述第二校验数据相等,执行所述第二ses指令;
若所述第一校验数据和所述第二校验数据不相等,获取纠错数据,并根据所述纠错数据计算第三校验数据,并判断所述第三校验数据与所述第一校验数据是否相等,其中,所述纠错数据为根据利用纠错算法对所述第一ses指令中的data数据进行处理获取的数据;
若所述第三校验数据与所述第一校验数据相等,执行所述第二ses指令。
优选的,所述判断所述第三校验数据与所述第一校验数据是否相等的步骤后,还包括:
若所述第三校验数据与所述第一校验数据不相等,向所述存储主机发送错误信息以使所述存储主机再次发送所述第二ses指令。
为了解决上述技术问题,本申请还提供一种数据传输装置,应用于存储主机,包括:
获取模块,用于获取第一ses指令,其中,所述第一ses指令为所述存储主机用于控制硬盘扩展柜的指令;
生成模块,用于根据所述第一ses指令和第一校验数据生成第二ses指令;
发送模块,用于将所述第二ses指令发送至所述硬盘扩展柜,以便于所述硬盘扩展柜根据获取到的所述第二ses指令计算第二校验数据,并通过判断所述第一校验数据和所述第二校验数据是否相等以确定所述第二ses指令是否正确传输。
为了解决上述技术问题,本申请还提供一种数据传输装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的数据传输方法的步骤。
为了解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据传输方法的步骤。
本申请提供了一种数据传输方法,应用于存储主机,包括:获取第一ses指令,以便于控制硬盘扩展柜执行数据读写工作,其中,第一ses指令为存储主机用于控制硬盘扩展柜的指令。根据第一ses指令和第一校验数据生成第二ses指令,将第二ses指令发送至硬盘扩展柜,以便于硬盘扩展柜根据获取到的第二ses指令计算第二校验数据,并通过判断第一校验数据和第二校验数据是否相等以确定第二ses指令是否正确传输。由此可见,本申请所提供方案中在ses指令中增加校验数据,通过判断存储主机发送的第一校验数据和硬盘扩展柜根据ses指令计算的第二校验数据是否一致以判断数据传输过程中是否存在异常情况,从而防止数据传输错误,提高系统稳定性和可靠性。
此外,本申请还提供了一种数据传输装置、介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据传输方法的流程图;
图2为本申请实施例所提供的第一ses指令的示意图;
图3为本申请实施例所提供的第二ses指令的示意图;
图4为本申请实施例所提供的另一种数据传输方法的流程图
图5为本申请实施例所提供的一种数据传输装置的结构图;
图6为本申请实施例所提供的另一种数据传输装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种数据传输方法、装置、介质,以防止SAS线缆发生热插拔导致数据传输错误,提高存储设备的稳定性和可靠性。
在服务器存储主机应用场景中,为了增强存储主机的存储能力和存储性能,需要使用JBOF对存储主机进行扩展。存储主机与JBOF间通过线缆连接(例如:SAS线缆、MiniSAS线缆等),若连接线缆在当存储主机向与JBOF连接的磁盘写入数据时断开,会导致后续数据无法传输,但由于连接线缆使用PCIe协议,当线缆断开时会根据PCIe协议生成数据位,由于数据位的自动补全导致管理人员无法发现线缆已经断开,导致待传输的数据出现错误。为了解决这一问题,本申请提供了一种数据传输方法,在ses指令中增加校验数据,通过判断存储主机发送的第一校验数据和硬盘扩展柜根据ses指令计算的第二校验数据是否一致以判断数据传输过程中是否存在异常情况,从而防止数据传输错误,提高系统稳定性和可靠性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例所提供的一种数据传输方法的流程图,如图1所示,该方法应用于存储主机,包括:
S10:获取第一ses指令,其中,第一ses指令为存储主机用于控制硬盘扩展柜的指令。
本实施例所提供的方法应用于服务器的存储主机,用于保证存储主机与硬盘扩展柜间的传输的数据的准确性。其中,存储主机与硬盘扩展柜间使用ses协议连接,根据ses协议定义,ses数据是以页的格式进行传输的,一个ses数据页包含许多内容。图2本申请实施例所提供的第一ses指令的示意图,如图1所示,VPD Control页包括:Page Code,PageLength,Mode,Start Address,data等内容。因为ses协议的页较大,存储空间没有完全使用,所以可以在ses页中的的空白区域写入校验数据。为了便于描述,本申请中将存储主机生成的用于控制硬盘扩展柜的ses协议页称为第一ses指令,将加入校验数据后的ses协议页称为第二ses指令。
可以理解的是,在获取第一ses指令前,还需要在存储主机与硬盘扩展柜的磁盘阵列间建立数据传输网络,具体的,将存储主机作为网络的Initiator端,将带有NVME SSD盘通过minisas线与主柜连接的硬盘扩展柜作为Target端,用来作为扩展的数据存储端。存储主机按照ses协议组装控制Target端硬盘扩展柜的ses页,以生成第一ses指令。
S11:根据第一ses指令和第一校验数据生成第二ses指令,其中,第一校验数据为根据第一ses指令生成的数据。
在具体实施中,存储主机的控制单元获取第一校验数据,并根据第一校验数据和第一ses指令生成第二ses指令。可以理解的是,第一校验数据的作用在于与第二校验数据比较,并根据二者是否相等以确定数据是否正确传输。因此,第一校验数据可以为根据任意数据生成的数据;也可以为根据第一ses指令生成的数据。但为了便于硬盘扩展柜计算第二ses指令,第一校验数据的基础数据也需要写入第二ses指令中并发送至硬盘扩展柜。如果选用第一种方案,需要向第一ses指令和第二ses指令中写入大量的无关数据,产生额外的工作量。因此,本实施例中选择根据第一ses指令生成第一校验数据。
进一步的,可以根据第一ses指令中的全部数据生成第一校验数据,也可以根据第一ses指令中的部分数据(例如data数据)生成第二校验数据,此处不做限定,仅需要保证第一校验数据能够反应第一ses指令的稳定性即可。
S12:将第二ses指令发送至硬盘扩展柜,以便于硬盘扩展柜根据获取到的第二ses指令计算第二校验数据,并通过判断第一校验数据和第二校验数据是否相等以确定第二ses指令是否正确传输。
将存储主机生成的包括第一校验数据的第二ses指令通过MiniSAS线上的PCIe链路传输至硬盘扩展柜,以将相应数据写入与硬盘扩展柜连接的磁盘阵列中。硬盘扩展柜获取到第二ses指令中,获取第二ses指令中除第一校验数据外的其他数据(原第一ses指令数据),并根据其他数据生成第二校验数据,并判断第一校验数据和第二校验数据是否相等;若第一校验数据与第二校验数据相等,则表明数据正常传输;否则,表明数据传输过程中出现热插拔等情况导致数据传输错误。
进一步的,当硬盘扩展柜检测到数据传输错误时,应及时向存储主机发送错误消息,以便于存储主机再次发送正确数据。同时,将数据出现错误的事件写入日志,以便于管理人员维护。
本实施例提供了一种数据传输方法,应用于存储主机,该方法包括:获取第一ses指令,以便于控制硬盘扩展柜执行数据读写工作,其中,第一ses指令为存储主机用于控制硬盘扩展柜的指令。根据第一ses指令和第一校验数据生成第二ses指令,将第二ses指令发送至硬盘扩展柜,以便于硬盘扩展柜根据获取到的第二ses指令计算第二校验数据,并通过判断第一校验数据和第二校验数据是否相等以确定第二ses指令是否正确传输。由此可见,本申请所提供方案中在ses指令中增加校验数据,通过判断存储主机发送的第一校验数据和硬盘扩展柜根据ses指令计算的第二校验数据是否一致以判断数据传输过程中是否存在异常情况,从而防止数据传输错误,提高系统稳定性和可靠性。
在具体实施中,常用的数据校验方法包括奇偶校验、校验和、纵向冗余校验(LRC)、循环冗余校验(CRC)等。其中,奇偶校验(或校验比特)是一个表示给定位数的二进制数中1的个数是奇数还是偶数的二进制数,是最简单的错误检测码,常用于串口数据收发领域。校验和是冗余校验的一种形式。它是通过错误检测方法,对经过空间(如通信)或时间(如计算机存储)所传送数据的完整性进行检查的一种方法,具体的,将被校验数据进行“累加”,并省略“累加”溢出的位,最终得到的1个或多个字节的结果。这个“累加”,可以是简单的整数加法校验,又或者是反码加法校验等等。纵向冗余校验(LRC)是一种从纵向通道上的特定比特串产生校验比特的错误检测方法,通过对数据拆分为单字节,并利用纵向排列,把对应的字节位异或计算,最终得到一个单字节校验数。而最常用的纵向冗余校验方法包括LRC-8错误检验、LRC-16、LRC-32等,它们是逐字节的奇偶校验计算,通过将数据字的所有字节异或在一起,生成一个对应字节的校验数。循环冗余校验(Cyclic redundancy check,CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者存储之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。由于本函数易于用二进制的电脑硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。本申请即使用CRC校验算法生成第一校验数据。
在上述实施例的基础上,根据第一ses指令和第一校验数据生成第二ses指令包括:
获取第一ses指令中的data数据;
利用校验算法对data数据进行处理,以获取第一校验数据,并将校验数据写入第一ses指令中以生成第二ses指令。
可以理解的是,对于一个ses协议页来说,其中最重要的即为data数据部分,且其他部分内容存在错误时,无法正常写入,较容易发现。但data数据出现错误时无法及时发现,因此,本实施例中选择根据第一ses指令中的data数据生成第一校验数据。
CRC算法生成校验数据的具体过程包括:(1)选择(可以随机选择,也可按标准选择)一个用于在接收端进行校验时,对接收的帧进行除法运算的除数(是二进制比特串,通常是以多项方式表示)。
(2)确定所选定的除数的二进制位数(假设为k位),在第一ses指令的data数据部分(假设为m位)后面加上k-1位“0”,然后使这个加了k-1个“0”的新data(一共是m+k-1位)以“模2除法”方式除以上面这个除数,所得到的余数(也是二进制的比特串)就是该帧的CRC校验码(即第一校验数据),也称之为FCS(帧校验序列)。但要注意的是,余数的位数一定要是比除数位数只能少一位,哪怕前面位是0,甚至是全为0(附带好整除时)也都不能省略。
(3)根据上述第一校验数据和第一ses指令生成第二ses指令,并将第二ses指令发送至硬盘扩展柜。
在本实施例中,利用CRC校验算法根据第一ses指令的data数据生成第一校验数据,以减少数据校验过程的工作量。
在具体实施中,当传输的数据出现错误时,需要存储主机再次发送第二ses指令,但这一方式会导致数据传输系统的工作量变大,为了减少数据传输系统的工作量,可以在第二ses指令中增加纠错数据,当出现较小的错误时,可以由硬盘扩展装置根据纠错数据生成正确的第二ses指令。
在上述实施例的基础上,根据第一ses指令和第一校验数据生成第二ses指令的步骤后,还包括:
利用纠错算法对data数据进行处理以获取纠错数据;
将纠错数据写入第二ses指令中,以便于硬盘扩展柜在第一校验数据和第二校验数据不相等时根据纠错数据对第二校验数据进行纠错处理。
图3为本申请实施例所提供的第二ses指令的示意图,如图3所示,第二ses指令中data的末尾包括2byte的CRC效验数据和4byte的RS纠错数据。
在本实施例中,通过利用纠错数据对出现错误的第二ses指令进行还原处理,以减少数据传输系统的工作量。
图4为本申请实施例所提供的另一种数据传输方法的流程图,如图4所示,该方法包括:
S20:获取存储主机发送的第二ses指令,其中,第二ses指令为存储主机根据第一ses指令和第一校验数据生成的指令,第一ses指令为存储主机用于控制硬盘扩展柜的指令;
S21:根据获取到的第二ses指令计算第二校验数据;
S22:判断第一校验数据和第二校验数据是否相等,以确定第二ses指令是否正确传输。
本实施例提供了一种数据传输方法,应用于硬盘扩展柜,该方法包括:获取存储主机发送的第二ses指令,其中,第二ses指令为存储主机根据第一ses指令和第一校验数据生成的指令,第一ses指令为存储主机用于控制硬盘扩展柜的指令;根据获取到的第二ses指令计算第二校验数据;判断第一校验数据和第二校验数据是否相等,以确定第二ses指令是否正确传输。由此可见,本申请所提供方案中在ses指令中增加校验数据,通过判断存储主机发送的第一校验数据和硬盘扩展柜根据ses指令计算的第二校验数据是否一致以判断数据传输过程中是否存在异常情况,从而防止数据传输错误,提高系统稳定性和可靠性。
作为优选的实施例,当检查到数据传输出现错误后,为了减少数据传输系统的工作量,在上述实施例的基础上,判断第一校验数据和第二校验数据是否相等,以确定第二ses指令是否正确传输的步骤后,还包括:
若第一校验数据和第二校验数据相等,执行第二ses指令;
若第一校验数据和第二校验数据不相等,获取纠错数据,并根据纠错数据计算第三校验数据,并判断第三校验数据与第一校验数据是否相等,其中,纠错数据为根据利用纠错算法对第一ses指令中的data数据进行处理获取的数据;
若第三校验数据与第一校验数据相等,执行第二ses指令。
本实施例所使用的纠错算法为RS(Reed-Solomon)纠错算法。在具体实施中,硬盘扩展柜取出第二ses指令中的data内容,并去除data帧中添加的第一校验数据和纠错数据,并将data帧再次导入到CRC校验算法中计算第二校验数据,如果第二校验数据与第一校验数据相等,则硬盘扩展柜执行第二ses指令;
如果第二校验数据与第一校验数据相等不相等,将数据导入到RS算法中进行纠错,纠错完成后再次对数据计算第三校验数据;
如果第三校验数据与第一校验数据相等,硬盘扩展柜执行第二ses指令,如果不相等,硬盘扩展柜向主存储机返回错误码,要求主存储机重发对应第二ses指令。
作为优选的实施例,当完成判断第三校验数据与第一校验数据是否相等的步骤后,还包括:
若第三校验数据与第一校验数据不相等,向存储主机发送错误信息以使存储主机再次发送第二ses指令。
在本实施例中,通过利用纠错数据对出现错误的第二ses指令进行还原处理,以减少数据传输系统的工作量。
在上述实施例中,对于数据传输方法进行了详细描述,本申请还提供数据传输装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图5为本申请实施例所提供的一种数据传输装置的结构图,如图5所示,该装置包括:
获取模块10,用于获取第一ses指令,其中,第一ses指令为存储主机用于控制硬盘扩展柜的指令;
生成模块11,用于根据第一ses指令和第一校验数据生成第二ses指令;
发送模块12,用于将第二ses指令发送至硬盘扩展柜,以便于硬盘扩展柜根据获取到的第二ses指令计算第二校验数据,并通过判断第一校验数据和第二校验数据是否相等以确定第二ses指令是否正确传输。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
此外,本申请所提供的数据传输装置还包括:纠错模块和重发送模块,其中,纠错模块用于利用纠错算法对data数据进行处理以获取纠错数据,将纠错数据写入第二ses指令中,以便于硬盘扩展柜在第一校验数据和第二校验数据不相等时根据纠错数据对第二校验数据进行纠错处理。
重发送模块用于在将第二ses指令发送至硬盘扩展柜的步骤后,判断是否接收到硬盘扩展柜发送的错误信息,若接收到错误信息,再次向硬盘扩展柜发送第二ses指令。
本实施例提供了一种数据传输装置,应用于存储主机,该装置包括:获取第一ses指令,以便于控制硬盘扩展柜执行数据读写工作,其中,第一ses指令为存储主机用于控制硬盘扩展柜的指令。根据第一ses指令和第一校验数据生成第二ses指令,将第二ses指令发送至硬盘扩展柜,以便于硬盘扩展柜根据获取到的第二ses指令计算第二校验数据,并通过判断第一校验数据和第二校验数据是否相等以确定第二ses指令是否正确传输。由此可见,本申请所提供方案中在ses指令中增加校验数据,通过判断存储主机发送的第一校验数据和硬盘扩展柜根据ses指令计算的第二校验数据是否一致以判断数据传输过程中是否存在异常情况,从而防止数据传输错误,提高系统稳定性和可靠性。
图6为本申请实施例提供的另一种数据传输的结构图,如图6所示,本实施例所提供的数据传输装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例获取第一ses指令和生成第二ses指令的方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的数据传输方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于第一ses指令、第二ses指令和第一校验数据、第二校验数据等。
在一些实施例中,数据传输装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图6中示出的结构并不构成对数据传输装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的数据传输装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:
获取第一ses指令,其中,第一ses指令为存储主机用于控制硬盘扩展柜的指令;
根据第一ses指令和第一校验数据生成第二ses指令,其中,第一校验数据为根据第一ses指令生成的数据;
将第二ses指令发送至硬盘扩展柜,以便于硬盘扩展柜根据获取到的第二ses指令计算第二校验数据,并通过判断第一校验数据和第二校验数据是否相等以确定第二ses指令是否正确传输。。
本实施例提供了一种数据传输方法,应用于存储主机,该方法包括:获取第一ses指令,以便于控制硬盘扩展柜执行数据读写工作,其中,第一ses指令为存储主机用于控制硬盘扩展柜的指令。根据第一ses指令和第一校验数据生成第二ses指令,将第二ses指令发送至硬盘扩展柜,以便于硬盘扩展柜根据获取到的第二ses指令计算第二校验数据,并通过判断第一校验数据和第二校验数据是否相等以确定第二ses指令是否正确传输。由此可见,本申请所提供方案中在ses指令中增加校验数据,通过判断存储主机发送的第一校验数据和硬盘扩展柜根据ses指令计算的第二校验数据是否一致以判断数据传输过程中是否存在异常情况,从而防止数据传输错误,提高系统稳定性和可靠性。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例(可以是存储主机侧对应的方法、也可以是硬盘扩展柜侧对应的方法,还可以是存储主机侧和硬盘扩展柜侧对应的方法)中记载的步骤。本实施例所提供的一种数据传输方法包括:获取第一ses指令,以便于控制硬盘扩展柜执行数据读写工作,其中,第一ses指令为存储主机用于控制硬盘扩展柜的指令。根据第一ses指令和第一校验数据生成第二ses指令,将第二ses指令发送至硬盘扩展柜,以便于硬盘扩展柜根据获取到的第二ses指令计算第二校验数据,并通过判断第一校验数据和第二校验数据是否相等以确定第二ses指令是否正确传输。由此可见,本申请所提供方案中在ses指令中增加校验数据,通过判断存储主机发送的第一校验数据和硬盘扩展柜根据ses指令计算的第二校验数据是否一致以判断数据传输过程中是否存在异常情况,从而防止数据传输错误,提高系统稳定性和可靠性。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的数据传输方法、装置、介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据传输方法,其特征在于,应用于存储主机,包括:
获取第一ses指令,其中,所述第一ses指令为所述存储主机用于控制硬盘扩展柜的指令;
根据所述第一ses指令和第一校验数据生成第二ses指令,其中,所述第一校验数据为根据所述第一ses指令生成的数据;
将所述第二ses指令发送至所述硬盘扩展柜,以便于所述硬盘扩展柜根据获取到的所述第二ses指令计算第二校验数据,并通过判断所述第一校验数据和所述第二校验数据是否相等以确定所述第二ses指令是否正确传输。
2.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述第一ses指令和第一校验数据生成第二ses指令包括:
获取所述第一ses指令中的data数据;
利用校验算法对所述data数据进行处理,以获取所述第一校验数据,并将所述校验数据写入所述第一ses指令中以生成所述第二ses指令。
3.根据权利要求2所述的数据传输方法,其特征在于,所述根据所述第一ses指令和第一校验数据生成第二ses指令的步骤后,还包括:
利用纠错算法对所述data数据进行处理以获取纠错数据;
将所述纠错数据写入所述第二ses指令中,以便于所述硬盘扩展柜在所述第一校验数据和所述第二校验数据不相等时根据所述纠错数据对所述第二校验数据进行纠错处理。
4.根据权利要求1所述的数据传输方法,其特征在于,所述将所述第二ses指令发送至所述硬盘扩展柜的步骤后,还包括:
判断是否接收到所述硬盘扩展柜发送的错误信息;
若接收到所述错误信息,再次向所述硬盘扩展柜发送所述第二ses指令。
5.一种数据传输方法,其特征在于,应用于硬盘扩展柜,包括:
获取存储主机发送的第二ses指令,其中,所述第二ses指令为所述存储主机根据第一ses指令和第一校验数据生成的指令,所述第一ses指令为所述存储主机用于控制硬盘扩展柜的指令;
根据获取到的所述第二ses指令计算第二校验数据;
判断所述第一校验数据和所述第二校验数据是否相等,以确定所述第二ses指令是否正确传输。
6.根据权利要求5所述的数据传输方法,其特征在于,所述判断所述第一校验数据和所述第二校验数据是否相等,以确定所述第二ses指令是否正确传输的步骤后,还包括:
若所述第一校验数据和所述第二校验数据相等,执行所述第二ses指令;
若所述第一校验数据和所述第二校验数据不相等,获取纠错数据,并根据所述纠错数据计算第三校验数据,并判断所述第三校验数据与所述第一校验数据是否相等,其中,所述纠错数据为根据利用纠错算法对所述第一ses指令中的data数据进行处理获取的数据;
若所述第三校验数据与所述第一校验数据相等,执行所述第二ses指令。
7.根据权利要求6所述的数据传输方法,其特征在于,所述判断所述第三校验数据与所述第一校验数据是否相等的步骤后,还包括:
若所述第三校验数据与所述第一校验数据不相等,向所述存储主机发送错误信息以使所述存储主机再次发送所述第二ses指令。
8.一种数据传输装置,其特征在于,应用于存储主机,包括:
获取模块,用于获取第一ses指令,其中,所述第一ses指令为所述存储主机用于控制硬盘扩展柜的指令;
生成模块,用于根据所述第一ses指令和第一校验数据生成第二ses指令;
发送模块,用于将所述第二ses指令发送至所述硬盘扩展柜,以便于所述硬盘扩展柜根据获取到的所述第二ses指令计算第二校验数据,并通过判断所述第一校验数据和所述第二校验数据是否相等以确定所述第二ses指令是否正确传输。
9.一种数据传输装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的数据传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210764719.7A CN115129509A (zh) | 2022-06-30 | 2022-06-30 | 一种数据传输方法、装置、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210764719.7A CN115129509A (zh) | 2022-06-30 | 2022-06-30 | 一种数据传输方法、装置、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115129509A true CN115129509A (zh) | 2022-09-30 |
Family
ID=83382205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210764719.7A Pending CN115129509A (zh) | 2022-06-30 | 2022-06-30 | 一种数据传输方法、装置、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129509A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701274A (zh) * | 2023-07-26 | 2023-09-05 | 武汉能钠智能装备技术股份有限公司 | 一种热插拔硬盘数据传输系统及方法 |
-
2022
- 2022-06-30 CN CN202210764719.7A patent/CN115129509A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701274A (zh) * | 2023-07-26 | 2023-09-05 | 武汉能钠智能装备技术股份有限公司 | 一种热插拔硬盘数据传输系统及方法 |
CN116701274B (zh) * | 2023-07-26 | 2023-11-17 | 武汉能钠智能装备技术股份有限公司 | 一种热插拔硬盘数据传输系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8473816B2 (en) | Data verification using checksum sidefile | |
CN108563532B (zh) | 数据处理方法及相关装置 | |
CN107807792A (zh) | 一种基于副本存储系统的数据处理方法及相关装置 | |
CN111625181B (zh) | 数据处理方法、独立硬盘冗余阵列控制器和数据存储系统 | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
CN113489570A (zh) | 一种PCIe链路的数据传输方法、装置及设备 | |
WO2020192343A1 (zh) | 基于硬件的端对端数据保护方法、装置及计算机设备 | |
US20210141685A1 (en) | System and method for improving efficiency and reducing system resource consumption in a data integrity check | |
CN1322444C (zh) | 传输和处理命令与数据的方法 | |
CN115129509A (zh) | 一种数据传输方法、装置、介质 | |
CN112463067A (zh) | 一种NVMe-oF场景下的数据保护方法及设备 | |
CN111464258B (zh) | 一种数据校验方法、装置、计算设备及介质 | |
CN116501264A (zh) | 一种数据存储方法、装置、系统、设备及可读存储介质 | |
CN105354107A (zh) | NOR Flash的数据传输方法及系统 | |
JP5341198B2 (ja) | 通信インタフェースにおけるビット反転 | |
CN116501536A (zh) | Axi互连模块检查、校验与保护方法、装置及存储介质 | |
CN114388053B (zh) | Ssd数据测试方法、装置、存储介质及测试设备 | |
CN115658404A (zh) | 一种测试方法及系统 | |
CN115827308A (zh) | 一种固态硬盘数据纠错方法及一种固态硬盘 | |
CN108572882B (zh) | 一种数据存储的方法及存储设备 | |
CN110083478B (zh) | 一种数据恢复方法、数据恢复系统以及固态硬盘 | |
CN113168882B (zh) | 一种编码方法、译码方法以及存储控制器 | |
CN111858129A (zh) | 一种纠删码读请求处理方法、系统、设备及计算机介质 | |
CN108762975B (zh) | 一种ecc数据存储方法、系统及存储介质 | |
CN106844088B (zh) | 一种raid存储系统的数据发送方法及装置 |
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 |