一种EDFB模式下SAS2SATABridge的错误处理方法和装置制造方法及图纸

技术编号:33855789 阅读:51 留言:0更新日期:2022-06-18 10:43
本发明专利技术提供了一种EDFB模式下SAS2SATA Bridge的错误处理方法和装置,该方法包括:当SAS2SATA Bridge接收到来自SATA的DMA Setup FIS时,记录第一标记信息;当SAS2SATA Bridge接收到来自SATA的SDB FIS时,记录NCQ命令完成信息和第二标记信息;当SAS2SATA Bridge接收到来自SATA的Data FIS,并且传输出错时,记录第三标记信息,并从第三标记信息中定位出错标记;将第一、第三标记信息与第二标记信息进行对比,根据对比结果确定错误处理流程;移除第二标记信息中的出错标记,并将第二标记信息进行重组,然后将第二标记信息上报给HBA。本发明专利技术的方案在Expander EDFB模式下,精确定位出错的NCQ命令,并及时上报成功的NCQ命令,从而降低传输错误带来的性能损失。低传输错误带来的性能损失。低传输错误带来的性能损失。

【技术实现步骤摘要】
一种EDFB模式下SAS2SATA Bridge的错误处理方法和装置


[0001]本专利技术属于磁盘连接
,特别涉及一种EDFB模式下SAS2SATA Bridge的错误处理方法和装置。

技术介绍

[0002]SATA(Serial ATA)作为一种高速串行总线,是业界广泛用于存储设备和主机之间的主要I/O接口。SAS(串行连接SCSI)类似于SATA技术,同样采用串行接口以获得更高的传输速度。同时,SAS设计考虑向下兼容SATA技术,通过STP协议(SATA通道协议)实现SAS控制器和SATA设备之间的互联和数据传输。SAS控制器通过一级或多级expander(磁盘扩展器)扩展支持大规模磁盘的管理。SAS Expander中通常集成了STP2SATA Bridge(STP2SATA桥),用于完成SAS协议到SATA协议的转换,以兼容SATA磁盘设备连接。
[0003]在典型的SAS expander使用场景中,通过EDFB模式(End Device Frame Buffering终端设备帧缓冲)可以提高主机访问SATA磁盘性能。在EDFB模式下,SAS2SATA Bridge的行为与终端设备等效,所有传输的FIS(Frame Information Structure帧信息结构)都会被缓存,然后再利用更高速的STP连接来与HBA(Host Bus Adapter主机总线适配器)通信,从而提高HBA侧的性能。图1示出了SAS2SATA Bridge链路示意图。
[0004]在性能提升的同时,对SAS2SATA Bridge的错误处理也存在较高的要求。一旦传输发生错误,极有可能会导致数据丢失,甚至于系统卡死。由于EDFB模式下的Bridge将两端的end device隔绝开,其状态并不是实时同步的,所以当某一端出错时,另一端的设备无法感知到,从而不会主动进入错误处理。而且Bridge本身并不具备主动处理错误的功能。
[0005]以目前业内主流的博通系HBA为例,Expander通常的错误处理机制如下:
[0006]1.HBA正常访问硬盘时,如果检测到传输的FIS出错且无法retry,或者传输无法完成,导致上层软件超时,则Host进入错误处理进程。
[0007]2.HBA丢弃所有未完成的NCQ(命令队列深度)命令,然后发起对Expander SMP target建链(SMP表示Serial Management Protocol,是SAS标准的子协议),并发出SMP phy control帧。
[0008]3.Expander收到SMP phy control帧后,开始执行reset phy进行复位。reset完成后向HBA回复SMP response报告执行状态。phy重新与磁盘进行OOB(Out Of Band,SAS物理层链路信号)协商和速度协商,此时的效果等同于磁盘的插拔。通过OOB协商,磁盘被复位到初始状态,HBA也主动放弃所有未完成的命令,进入初始状态。
[0009]可见,传统错误处理方案是通过phy control将磁盘的状态与自身的状态都恢复到初始状态,既解决了错误,也同步了状态。尽管这种方式最直接、实现最简单,但其缺陷主要在于会造成性能损失。因为根据SATA spec规定,NCQ命令必须以SATA磁盘通过SDB FIS上报成功状态才能完成,但是SDB FIS的发送节点没有明确的规定。SATA磁盘既可以在每个NCQ命令完成后立即发送对应的SDB FIS,也可以等到所有的NCQ命令全部完成。考虑极端情况,如果硬盘厂商采用的是NCQ命令全部完成再一起上报的策略,那么当最后一个NCQ命令
传输出错时,全部的NCQ命令都会被放弃,性能上会出现极大的浪费。

技术实现思路

[0010]本专利技术的目的在于一种EDFB模式下SAS2SATA Bridge的错误处理方法和装置,以在Expander EDFB模式下,精确定位出错的NCQ命令,并及时上报成功NCQ命令,从而降低传输错误带来的性能损失。
[0011]根据本专利技术的第一方面,提供了一种EDFB模式下SAS2SATA Bridge的错误处理方法,包括:
[0012]S101、当所述SAS2SATA Bridge接收到来自SATA的DMA Setup FIS时,记录第一标记信息;
[0013]S102、当所述SAS2SATA Bridge接收到来自SATA的SDB FIS时,记录NCQ命令完成信息和第二标记信息;
[0014]S103、当所述SAS2SATA Bridge接收到来自SATA的Data FIS,并且传输出错时,记录第三标记信息,并在所述第三标记信息中定位出错标记;
[0015]S104、将第一、第三标记信息与所述第二标记信息进行对比,根据对比结果确定错误处理流程;
[0016]S105、移除所述第二标记信息中的所述出错标记,并将SDB Error FIS进行重组,然后将所述第二标记信息上报给HBA。
[0017]优选地,所述第一标记信息为DMA Setup tag,并且在记录所述第一标记信息之后,方法还包括:
[0018]在发出所述DMA Setup FIS之后,将所述DMA Setup FIS中的所述第一标记信息清除。
[0019]优选地,所述第二标记信息为SDB tag,并且在记录所述第二标记信息之后,方法还包括:
[0020]在发出所述SDB FIS之后,将所述SDB FIS中的所述第二标记信息清除。
[0021]优选地,所述第三标记信息为I/O tag,并且在所述第三标记信息中定位出错标记之后,方法还包括:
[0022]将所述SAS2SATA Bridge的状态机初始化。
[0023]优选地,所述将所述第一、第三标记信息与所述第二标记信息进行对比,根据对比结果确定错误处理流程,进一步包括:
[0024]检查所述第一标记信息和第三标记信息是否都包含在所述第二标记信息中,若是,则执行步骤S105。
[0025]根据本专利技术的第二方面,提供了一种EDFB模式下SAS2SATA Bridge的错误处理装置,包括:
[0026]第一记录单元,用于当所述SAS2SATA Bridge接收到来自SATA的DMA Setup FIS时,记录第一标记信息;
[0027]第二记录单元,用于当所述SAS2SATA Bridge接收到来自SATA的SDB FIS时,记录NCQ命令完成信息和第二标记信息;
[0028]第三记录单元,用于当所述SAS2SATA Bridge接收到来自SATA的Data FIS,并且
Data FIS传输出错时,记录第三标记信息,并在所述第三标记信息中定位出错标记;
[0029]第一移除单元,用于将所述第一、第三标记信息与所述第二标记信息进行对比,根据对比结果确定错误处理流程;
[0030]第二移除单元,用于移除所述第二标记信息中的所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种EDFB模式下SAS2SATA Bridge的错误处理方法,其特征在于,包括:S101、当所述SAS2SATA Bridge接收到来自SATA的DMA Setup FIS时,记录第一标记信息;S102、当所述SAS2SATA Bridge接收到来自SATA的SDB FIS时,记录NCQ命令完成信息和第二标记信息;S103、当所述SAS2SATA Bridge接收到来自SATA的Data FIS,并且传输出错时,记录第三标记信息,并在所述第三标记信息中定位出错标记;S104、将第一、第三标记信息与所述第二标记信息进行对比,根据对比结果确定错误处理流程;S105、移除所述第二标记信息中的所述出错标记,并将SDB Error FIS进行重组,然后将所述第二标记信息上报给HBA。2.根据权利要求1所述的EDFB模式下SAS2SATA Bridge的错误处理方法,其特征在于,所述第一标记信息为DMA Setup tag,并且在记录所述第一标记信息之后,方法还包括:在发出所述DMA Setup FIS之后,将所述DMA Setup FIS中的所述第一标记信息清除。3.根据权利要求1所述的EDFB模式下SAS2SATA Bridge的错误处理方法,其特征在于,所述第二标记信息为SDB tag,并且在记录所述第二标记信息之后,方法还包括:在发出所述SDB FIS之后,将所述SDB FIS中的所述第二标记信息清除。4.根据权利要求1所述的EDFB模式下SAS2SATA Bridge的错误处理方法,其特征在于,所述第三标记信息为I/O tag,并且在所述第三标记信息中定位出错标记之后,方法还包括:将所述SAS2SATA Bridge的状态机初始化。5.根据权利要求1所述的EDFB模式下SAS2SATA Bridge的错误处理方法,其特征在于,所述将第一、第三标记信息与所述第二标记信息进行对比,根据对比结果确定错误处理流程,进一步包括:检查所述第一标记信息和第三标记信息是否都包含在所述第二标记信息中,若是,则执行步骤S105。6.一种EDFB模式下SAS2SATA Bridge...

【专利技术属性】
技术研发人员:田伟宁佐林
申请(专利权)人:无锡众星微系统技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1