[发明专利]一种原语处理方法、装置和系统有效
申请号: | 200910000624.2 | 申请日: | 2009-01-09 |
公开(公告)号: | CN101446887A | 公开(公告)日: | 2009-06-03 |
发明(设计)人: | 胡俊;宁佐林 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京中博世达专利商标代理有限公司 | 代理人: | 申 健 |
地址: | 518129广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 方法 装置 系统 | ||
技术领域
本发明涉及串行硬盘接口技术,尤其涉及串行硬盘接口技术中的原语处理方法、装置和系统。
背景技术
串行硬盘接口(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。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910000624.2/2.html,转载请声明来源钻瓜专利网。