一种原语处理方法、装置和系统制造方法及图纸

技术编号:2913474 阅读:257 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种原语处理方法、装置和系统,涉及串行硬盘接口技术,能够在无需大量额外寄存器的情况下,稳定且有效地获取期望CRC,以保障数据校验的正确性。本发明专利技术实施例提供的原语处理方法包括:数据接收方判断当前接收到的数据是否为数据对齐ALIGNp原语,若是,丢弃该ALIGNp原语,若否,存储该数据;数据接收方读取当前已存储的数据,确定期望循环冗余码校验码CRC。

【技术实现步骤摘要】

本专利技术涉及串行硬盘接口技术,尤其涉及串行硬盘接口技术中的原语处理方法、装置和系统
技术介绍
串行硬盘接口(Serial Advanced Technology Attachment,SATA)技术,是以Intel为代表的存储设备开发商开发的一种高速串行总线技术,目的在于把基于ATA的存储技术更普遍地应用于桌面、移动存储设备、低端服务器和网络存储领域。2004年SATA的国际组织SATA-IO成立后,SATA技术标准与应用都得到了迅猛的发展。SATA技术采用了层次化的描述方法,从下到上分别为物理层(PhysicalLayer,PHY)、链路层(Link Layer)、传输层(Transport Layer)和应用层(ApplicationLayer)。利用SATA技术,在SATA主控制器和存储设备之间进行数据通信。如图1所示,是SATA控制器和SATA PHY之间接口的简单示意图。从图1中可看出,对端来的数据通过差分输入链路输入到SATA PHY,由SATA PHY进行串并变换,输出并行数据RX DATA到SATA链路(SATA_LINK)模块,进行相关处理后,再将数据或者握手信息通过TX DATA数据送到SATA PHY,由SATA PHY进行并串变换,再通过差分输出链路到对端,从而完成数据的交互和各种握手。在按照SATA协议,进行帧信息结构(Frame Information Structure,FIS)数据传输的过程中,主控制器(Host)和存储设备(Device)之间存在频率差异,尤其在进行长连续数据传输的时候,这种频率会导致数据的丢失。为了解决这个问题,如图2所示,SATA协议规定每进行254个双字(DWord)数据的传输后,插入一组由两个连续的数据对齐ALIGNp或者多组两个连续的ALIGNp原语(即偶数个ALIGNp原语),以消除频差。接收方根据接收到的FIS数据,计算出其中的循环冗余码校验码(CRC),-->然后将计算的结果和该FIS中携带的期望CRC进行比较,以保证FIS数据传输的完整性。发送方和接收方进行数据传输的过程中,利用原语进行信息交互以控制数据的传输,例如,发送方准备发送数据时,向接收方发送X_RDYp原语;接收方若暂时无法接收数据,会连续向发送方发送HOLDp原语。由于长时间重复发送同一个数据,会导致某个频率点的干扰,增加电磁干扰(EMI)的影响。为了解决这个问题,SATA协议规定发送方可以在发送原语的时候,只要连续发送同一个原语两次,就可以发送一个数据重复CONTp原语,而在CONTp之后发送随机的数据(这些数据对接收方来说都是无效的),避免了长时间发送同一个原语导致串行总线上的EMI干扰问题。然而,现有技术中也存在不少问题。例如,为了确定出期望的CRC,接收方需要借助FIS中的帧结束标志EOFp,如图3A所示,正常的帧结构中EOFp的前一个DWord为CRC,然而由于ALIGNp原语插入的随机性,如图3B所示,ALIGNp原语会刚好插入在CRC和EOFp之间。现有技术为了确定出期望CRC,通常会利用额外的寄存器将数据进行延时,直到出现EOFp,再根据该EOFp确定出期望CRC。然而,由于插入的ALIGNp原语数量是不确定的,需要延时的周期数也是不确定的,导致获取错误的期望CRC,且消耗了存储空间。进一步的,现有技术对连续发送的不同原语,都采用CONTp替代,不同的原语有不同的含义,而作为替代的CONTp无法表示这种不同的含义,导致原语信息丢失,数据传输无法正常进行。
技术实现思路
为了解决现有技术中存在的问题,本专利技术的实施例提供了一种原语处理方法、装置和系统,用于在无需大量额外寄存器的情况下,稳定且有效地获取期望CRC,保障数据校验的正确性。为达到上述目的,本专利技术的实施例采用如下技术方案:一种原语处理方法,该方法包括:数据接收方判断当前接收到的数据是否为数据对齐ALIGNp原语,若是,-->丢弃该ALIGNp原语,若否,存储该数据;数据接收方读取当前已存储的数据,确定期望循环冗余码校验码CRC。一种原语处理装置,该装置包括:判断处理单元,用于判断当前接收到的数据是否为数据对齐ALIGNp原语,若是,丢弃该ALIGNp原语,若否,存储该数据;读取确定单元,用于读取所述判断处理单元当前已存储的数据,确定期望循环冗余码校验码CRC。一种原语处理系统,该系统包括数据发送方和数据接收方,所述数据接收方,用于判断当前接收到的来自所述数据发送方的数据是否为数据对齐ALIGNp原语,若是,丢弃该ALIGNp原语,若否,存储该数据;读取当前已存储的数据,确定期望循环冗余码校验码CRC。本专利技术实施例提供的技术方案,通过剔除数据中随机插入的ALIGNp原语,利用不含ALIGNp原语的数据确定期望CRC,解决了现有技术中因随机插入ALIGNp原语,在确定期望CRC时带来的问题,能够在无需大量额外寄存器的情况下,稳定且有效地获取期望CRC,以保障数据校验的正确性。附图说明图1为SATA主控制器和SATA物理层之间接口的简单示意图;图2为SATA协议中插入ALIGNp原语时帧信息结构示意图;图3A为正常帧结构示意图;图3B为随机插入ALIGNp原语时的一种帧结构示意图;图4为数据发送方和数据接收方之间的数据传输示意图;图5为本专利技术实施例一提供的原语处理方法流程示意图一;图6为本专利技术实施例一提供的原语处理方法流程示意图二;图7为本专利技术实施例一提供的帧数据传输的应用场景示意图;图8为本专利技术实施例二提供的原语处理装置结构示意图;图9为本专利技术实施例三提供的原语处理系统示意图。具体实施方式-->为了更清楚地说明本专利技术实施例的技术方案,下面将结合附图对本专利技术的实施例进行详细的介绍,下面的描述仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些实施例获得本专利技术的其他的实施方式。为了便于理解本专利技术实施例的技术方案,如图4所示,首先以一帧数据的传输为例,对本专利技术实施例中提供的数据发送方和数据接收方之间的数据传输过程进行介绍,主要包括如下步骤:步骤A:发送方准备好发送FIS数据,向接收方发送X_RDYp,在发送两次以后,采用CONTp来替代,后面带无效数据。X_RDYp和CONTp都为原语,下述表1对常用的原语进行了描述:表1 原语      相关描述                                                      ALIGNp    用来进行数据对齐的原语                                        CONTp                重复先前的原语,在收到一个非ALIGNp原语之前和CONTp之间的数据都    无效                                                          EOFp      帧结束标志原语                                                HOLDp     发送方表明希望开始流控的请求原语                              HOLD本文档来自技高网
...

【技术保护点】
一种原语处理方法,其特征在于,该方法包括: 数据接收方判断当前接收到的数据是否为数据对齐ALIGNp原语,若是,丢弃该ALIGNp原语,若否,存储该数据; 数据接收方读取当前已存储的数据,确定期望循环冗余码校验码CRC。

【技术特征摘要】
1、一种原语处理方法,其特征在于,该方法包括:数据接收方判断当前接收到的数据是否为数据对齐ALIGNp原语,若是,丢弃该ALIGNp原语,若否,存储该数据;数据接收方读取当前已存储的数据,确定期望循环冗余码校验码CRC。2、根据权利要求1所述的方法,其特征在于,所述数据接收方读取当前已存储的数据包括:数据接收方确定已存储的数据不小于两个双字DWord或者数据接收方确定已存储的数据为一个DWord且为帧结束标志EOFp时,执行数据读取。3、根据权利要求2所述的方法,其特征在于,还包括:数据接收方设置帧尾标识,以指示存储的数据为EOFp。4、根据权利要求1或2所述的方法,其特征在于,当数据接收方判断当前接收到的数据为ALIGNp原语,丢弃该ALIGNp原语时,在数据接收方读取当前已存储的数据之前还包括:数据接收方暂停数据读取,延时一个数据读取周期后,重新执行数据读取。5、根据权利要求4所述的方法,其特征在于,在数据接收方读取已存储的数据,确定期望循环冗余码校验码CRC之后还包括:数据接收方将所述期望CRC与根据已存储的数据计算出的CRC进行比较,对接收到的数据进行校验。6、根据权利要求1所述的方法,其特征在于,还包括:数据接收方或数据发送方根据接收到的原语,调整相应的原语标识位的状态,以指示数据传输状态;其中,数据接收方或数据发送方分别设置有原语标识位。7、根据权利要求6所述的方法,其特征在于,所述数据接收方或数据发送方根据接收到的原语,调整相应的原语标识位的状态包括:数据接收方或数据发送方接收到第一原语时,将第一原语的原语标识位调整为有效;或者,数据接收方或数据发送方接收到第二原语时,将第一原语的原语标识位调整为无效,其中,所述第一原语为数据接收方或数据发送方上次所接收到的原语,...

【专利技术属性】
技术研发人员:胡俊宁佐林
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1