光纤通道中固定帧长度的一种高效差错重传与存取机制制造技术

技术编号:15299230 阅读:143 留言:0更新日期:2017-05-12 01:06
本发明专利技术公开了光纤通道中固定帧长度的一种高效差错重传与存取机制。该发明专利技术公开了一种将出错重传ARQ机制应用于基于FPGA平台的光纤通道点对点通信上的新方法。本发明专利技术是围绕光纤通道点对点通信中CRC检测后的重传数据与接收端快速取数据提出了一种优化的实现结构。本发明专利技术提出的方案的特色之处在于,接收端接受到的原始数据和重传后的数据无需进行排序,即可实现快速取出,从而节约了FPGA宝贵的存储资源,同时加快了处理速度。本发明专利技术方案实施的创新之处在于重传后的帧数据存储在双口RAM,帧信息缓存在寄存器组,这样即使重传后再次出错,也能再请求重传,直到得到正确的帧数据,并且这个过程不会有因为排序造成的延迟。

An efficient error retransmission and access mechanism for fixed frame length in fibre channel

The invention discloses an efficient error retransmission and access mechanism for fixed frame length in an optical fiber channel. The invention discloses a new method for applying an error retransmission ARQ mechanism to an optical fiber channel point to point communication based on an FPGA platform. The invention provides an optimized implementation structure for the retransmission data and the data acquisition at the receiving end of the CRC in the point to point communication of the optical fiber channel. The scheme of the invention lies in the characteristics of the original data, the receiver receives and retransmission data after without sorting, to realize fast out, thus saving the FPGA storage resource precious, and accelerate the processing speed. The implementation of the scheme of the invention is innovation after the retransmission frame data stored in the dual port RAM, frame information cached in registers, so even if the retransmission again after the error, to request retransmission until the frame data correctly, and this process is not because of the delay caused by sorting.

【技术实现步骤摘要】

本专利技术涉及计算机通信系统,特别是一种基于FPGA平台实现的光纤通道中CRC出错重传和存取方法具有低延时的新方法。
技术介绍
光纤通道是为在像服务器这样的多硬盘系统环境而设计,能满足高端工作站、服务器和海量存储子网络等系统对高数据传输率的要求。光纤通道广泛用于通信接口,并成为传统I/O接口与网络技术相结合趋势的一部分。光纤通道技术适用于需要远距离传输大型数据文件的场景。光纤通道可以将传统的并行低速数据转变成高速串行数据,通常的运行速率有2Gbps、4Gbps、8Gbps和16Gbps,因此需要提供大量信息的高速传输。除了速度增长以外,光纤通道也需要支持公里级的距离。尽管被称为光纤通道,但其信号也能在光纤之外的双绞线上运行,但双绞线传输距离短且易受电磁干扰。光纤通道传输误码率低于1e-12,误码率低。光纤通道误码率会受光收发模块的稳定性,比如接触不良、线路老化等原因,不能满足技术指标。若不检查这些指标,在运行过程中,由于接触不良、接头有灰尘和温度老化更降低通道指标,会造成误码率增大。在误码率容忍度低的场合,就需要数据重传机制来保障数据可靠传输。目前在数据通信中有三种基本的ARQ重传机制,分别是停等式、后退N步式和选择重传式。停等式ARQ协议的传输系统中,发送端每发送一个数据帧就暂停下来,等待接收端的确认消息,若接受正确,返回ACK信号,否则返回NACK信号。在等待确认信息期间,信道是空闲的,不发送任何数据;后退N步式即若出现错误,重发当前分组和之前相关联的所有分组;选择重发式只重传出现差错的数据帧,这样就提高了信道的利用率。选择重发式的信道利用率最高,但接收端不再按序接收数据帧信息,在接收端需要相当容量的缓存空间来存储已经成功解码但还没按序输出的帧,接收端在接收帧数据包前需要知道其序列号,因此增加了对信令的要求。基于上述提到的选择重传式,在帧数固定为N时,在接收端解码的CRC与接收端不符时,反馈给发送端NACK,发送端在接收到反馈信息后,选择出错的帧重新发送,接收端将重新接收的帧放在备用的双口RAM缓存里,当接收端帧计数器为N时,包传输完成。因为这个包数据存放在两个空间里,所以需要额外的信息缓存存储帧在包中的位置和存储位置。帧数据的读控制信号通过两个帧信息缓存产生,这样,无需对帧数据进行排序可以快速取出数据。
技术实现思路
本专利技术基于选择重传机制,在包中每个帧长度固定时,提供了一种在FPGA平台上实现的可以快速重传与数据存取的新方法。该方法改进之处在于不需要对接收到的帧进行排序就可以实现快速存取,从而节约了FPGA宝贵的存储资源,同时加快了处理速度。发送端在发送数据时,要同时发送信息告诉接收端这个包中一共有多少帧,帧要标明在整个传送数据中的位置,用于接收端完整接收整个包和帧数据重组。接收端每接收一个帧就向发送端反馈信息,若接受的CRC正确,返回ACK信号,否则返回NACK信号。发送端发送帧数据时要发送帧信息和包信息,同时要标记是否是错误重新发送的数据。若是重新发送,则带有标记1,否则带有标记0。发送端接收到ACK时不予处理,当接收到带有包和帧信息的NACK时,说明传输错误,则重新发送相应的带有帧和包信息的帧,同时在发送时带有标记1,说明是出错重传的数据。接收端每接收到一个帧,若带有相应标记0,则帧数据实时保存到数据缓存FIFOA1,此帧若CRC校验正确,则将包信息和帧信息组合保存到信息缓存B1,同时向发送端发送带有包信息和帧信息的ACK信息;若CRC校验错误,帧数据实时保存到数据缓存A1,但要向发送端发送带有包和帧信息的NACK信息,同时此时包信息和帧信息不予保存。接收端若接收到一个带有标记1的帧,则帧数据实时保存到数据缓存双口RAMA2,同时记录当前帧在双口RAM写入的基地址,下次写入的基地址为此次基地址加上帧长度。若此帧CRC校验正确,将包信息、帧信息和当前帧的基地址组合保存到信息缓存寄存器组B2,向发送端发送带有包信息和帧信息的ACK信息,将基地址加上帧长度作为下次RAM写入的基地址;若CRC校验错误,要向发送端发送带有包和帧信息的NACK信息,此时包信息和帧信息亦不予保存,同时,当前帧的基地址作为下一帧的基地址。A2用双口RAM是因为可以寻址读取,而FIFO无法寻址读取,实现不了这样的功能。发送端若发送一个帧长度为N=8的包,若只有第3帧数据出错,发送第三帧后向发送端发送带有包信息和帧信息为3的NACK。若重传第3帧后,数据传输正确,那么各个缓存的存储如下:数据缓存A1存储有关于此包的8帧数据,其中第3帧数据错误;信息缓存B1包含除去第3帧的其他帧的帧信息和相应包信息;数据缓存A2存储有第3帧的正确数据;信息缓存B2含有第3帧的帧信息、包信息和帧在A2存储的基地址。在帧数据读取时,A1中既有正确的帧数据,也有错误的帧数据,A2在B2存储的地址范围内只包含有正确的帧数据。需要由B1和B2得到控制信号,从A1和A2中选择正确的帧信息。通过计数器和比较器控制读取的缓存,并选择输出的帧数据。若要读取某个包数据,首先将帧计数器置位为1,代表将要读取此包的第一帧数据.读取缓存B1和B2,与帧计数器比较。若B1里对应的帧信息为1,则数据缓存A1读取信号有效,A2读取信号无效,即可从A1得到第一帧正确数据;若B1里没有相应的帧信息,则匹配寄存器组B2里所有的包信息和帧信息,如匹配上,则数据缓存A1和A2的读取信号均有效,但A1输出的帧要丢弃,以B2里存储的基地址读取A2,得到固定长度的帧作为正确的输出。若当前发送帧B1里的帧信息匹配上,则下一帧匹配时缓存B1读取使能有效,缓存B2读取使能无效;若当前发送帧B2里的帧信息匹配上,则下一帧匹配时缓存B1读取使能无效,缓存B2读取使能有效。当传送完一帧,帧计数器加一,按上述原则继续匹配。每读取一帧,将B2里相应的空间复位。当帧计数器为N,且这一帧发送完成时,此包读取完毕。附图说明图1为本专利技术方法的接收端存储与反馈示意框图;图2为本专利技术方法的接收端帧信息匹配取帧数据示意框图。具体实施方式为了使本专利技术更便于理解,以下结合附图和具体实施方式来对本专利技术做进一步说明。发送端在接收到带有帧信息和包信息的反馈ACK时,不处理,在接收到NACK时,从中提取帧信息和包信息,从上层重新读取相应数据,在链路空闲时,将帧数据、帧信息、包信息、CRC和重发标记1打包,传送至链路。若数据是第一次发送,则与重发标记0打包。接收端将发送端发送的数据解包,得到帧数据、帧信息、包信息和CRC,并得到重发标记。接收端判断重发标记:若为1,说明是重发后的数据;若为0,说明是首次发送。若检测到重发标记为0,FIFO读写地址不可自定义,所以帧数据实时保存到FIFOA1。进行CRC检测匹配,校验正确,则将帧信息、包信息缓存至信息FIFOB1,向发送端反馈带有帧信息和包信息的ACK;若CRC不匹配,则向发送端反馈带有帧信息和包信息的NACK,请求重传。若检测到重发标记为1,说明是发送端重传过来的帧这时帧数据缓存在双口RAM里。用双口RAM代替FIFO,是因为双口RAM读写地址可以自定义。双口RAM控制器记录当前帧的基地址,并计算下次帧写入的基地址。每写入一帧,若CRC校验正确,则下次RAM写入的基地址要本文档来自技高网
...
光纤通道中固定帧长度的一种高效差错重传与存取机制

【技术保护点】
一种在FPGA上实现的光纤通道中出错重传与快速存取数据机制的新方法,包括重传后高效存储和快速取帧方法。

【技术特征摘要】
1.一种在FPGA上实现的光纤通道中出错重传与快速存取数据机制的新方法,包括重传后高效存储和快速取帧方法。2.如权利要求1所述的一种在FPGA上实现的出错重传后高效存储新方法,其特征在于重传后的数据存放在双口RAM中:重传的数据放在双口RAM中,所设计的电路结构可以保证即使重传后数据再次出错,也能保证可以再次重传,直到接收到正确的数据;接收端重传后的帧信息用寄存器组实现帧信息存储与寻址,这样就无需担心重传过程中的帧的先后顺序。3.如权利要求1所述的一种FPGA上实现的出错重...

【专利技术属性】
技术研发人员:王忆文张宗森蓝武
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

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

1