一种提高PCIe固态硬盘传输可靠性的方法

文档序号:9326614阅读:229来源:国知局
一种提高PCIe固态硬盘传输可靠性的方法
【技术领域】
[0001]本发明涉及一种提高PCIe固态硬盘传输可靠性的方法。
【背景技术】
[0002]固态硬盘由于其性能高、可靠性高等诸多优点,已经成为目前最流行的存储设备,且应用越来越广泛。固态硬盘的物理接口主要有两种:SATA与PCIe。其中PCIe接口由于其自身的优点,在某些应用场合具有不可替代的地位。
[0003]目前,基于PCIe的物理接口,在固态硬盘向主机内存写数据的时候,前者将数据写入到后者中,然后包括主机写过程完成,如果控制流程没有出现异常,主机将会认为数据传输正确,并将数据提交用户使用。其主要流程如图2。
[0004]由于PCIe传输中,设备向主机传输数据的过程,主机并不感知,而只有到数据传输完毕后,通过设备的完成信息,主机才知道数据传输完成,而且仅仅知道数据传输完成,并不知道数据传输过程中是否正常。当固态硬盘向主机发送的数据包在从固态硬盘到主机内存的传输路径上,由于某些异常而出现问题时,数据最终未能成功到达主机内存的指定位置。由于整个流程中没有校验机制,所以主机可能并不知道数据传输有误,继而将错误的数据当成正确数据使用。其典型场景如图3:固态硬盘传输的原始正确数据是Al,BI,Cl,DLEl0但是用户最后得到的数据是A1,B1,C,D1,E1。其中Cl被误传为了 C。但是整个过程中没有哪个部件发现了数据错误,从而造成了数据传输的不可靠。

【发明内容】

[0005]本发明所要解决的技术问题是,针对现有技术不足,提供一种提高PCIe固态硬盘传输可靠性的方法。
[0006]为解决上述技术问题,本发明所采用的技术方案是:一种提高PCIe固态硬盘传输可靠性的方法,包括以下步骤:
O主机在初始化时,确定以某种数据大小作为校验数据单元;
2)主机在业务启动前,将如上信息配置给固态硬盘;
3)固态硬盘在响应主机的读命令时,按数据单位,产生校验数据;
4)固态硬盘在向主机上报读命令响应完成的信息前,将校验数据发送给主机;
5)主机接收到固态硬盘的读命令完成信息后,对读数据进行校验,判断读数据是否可
A+-.罪;
6)主机将被判断为可靠的数据提交给用户,保证用户总是得到正确的数据。
[0007]与现有技术相比,本发明所具有的有益效果为:本发明通过在传输数据中加入校验数据,可以甄别出数据在固态硬盘与主机之间的传输是否正常,避免错误的数据被用户使用,继而提高了数据传输的可靠性。
【附图说明】
[0008]图1为PCIe固态硬盘响应主机读命令时,读数据带有校验数据场景的示意图;
图2为PCIe固态硬盘响应主机读命令时的交互流程图;
图3为PCIe固态硬盘响应主机读命令时,出现异常导致用户得到错误数据的场景示意图;
图4为本发明所描述的提高传输可靠性方法的流程示意图。
【具体实施方式】
[0009]本发明的方法流程如图4所示。
[0010]实施例:
1)主机系统对固态硬盘进行初始化时,通过driver向固态硬盘下放自定义命令,将校验数据单元大小配置到设备,比如数据单元为一个读命令;将校验算法配置到设备,设备可以支持多个校验算法,比如CRC、checksum、ECC等,主机通过命令选择其中一种;将校验数据的存放位置配置到设备,比如紧跟数据后存放;
2)主机driver向固态硬盘发送了读命令后,固态硬盘从存储空间中提取读数据,并通过上述初始化信息,使用被选择的算法引擎对数据单元,计算出读数据的校验信息,并将校验信息写入到主机指定的位置;
3)固态硬盘完成一个数据单元的数据与校验信息的发送,向主机发送完成信息,告知主机命令完成;
4)主机driver根据完成信息,利用主机侧的校验算法单元,得到数据单元的校验信息,并比较计算出的校验信息与固态硬盘送过来的校验信息是否匹配,以此判断校验是否成功;
5)driver只将校验信息匹配,即校验正确的数据送给用户,以保证送到用户的数据的可靠性。
【主权项】
1.一种提高PCIe固态硬盘传输可靠性的方法,其特征在于,包括以下步骤: O主机在初始化时,确定以某种数据大小作为校验数据单元; 2)主机在业务启动前,将如上信息配置给固态硬盘; 3)固态硬盘在响应主机的读命令时,按数据单位,产生校验数据; 4)固态硬盘在向主机上报读命令响应完成的信息前,将校验数据发送给主机; 5)主机接收到固态硬盘的读命令完成信息后,对读数据进行校验,判断读数据是否可A+-.罪; 6)主机将被判断为可靠的数据提交给用户,保证用户总是得到正确的数据。
【专利摘要】本发明公开了一种提高PCIe固态硬盘传输可靠性的方法,包括以下步骤:主机在初始化时,确定以某种数据大小作为校验数据单元;主机在业务启动前,将如上信息配置给固态硬盘;固态硬盘在响应主机的读命令时,按数据单位,产生校验数据;固态硬盘在向主机上报读命令响应完成的信息前,将校验数据发送给主机;主机接收到固态硬盘的读命令完成信息后,对读数据进行校验,判断读数据是否可靠;6)主机将被判断为可靠的数据提交给用户,保证用户总是得到正确的数据。本发明能极大地提高数据传输的可靠性。
【IPC分类】G06F3/06
【公开号】CN105045526
【申请号】CN201510231544
【发明人】彭鹏, 向平, 周士兵, 马翼, 田达海
【申请人】湖南国科微电子有限公司
【公开日】2015年11月11日
【申请日】2015年5月8日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1