CN101175077B - 光纤通道知识产权核 - Google Patents
光纤通道知识产权核 Download PDFInfo
- Publication number
- CN101175077B CN101175077B CN2007100536606A CN200710053660A CN101175077B CN 101175077 B CN101175077 B CN 101175077B CN 2007100536606 A CN2007100536606 A CN 2007100536606A CN 200710053660 A CN200710053660 A CN 200710053660A CN 101175077 B CN101175077 B CN 101175077B
- Authority
- CN
- China
- Prior art keywords
- frame
- buffering area
- primitive
- signal
- fibre channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Optical Communication System (AREA)
- Communication Control (AREA)
Abstract
光纤通道知识产权核,属于计算机存储技术领域,解决现有知识产权核功能不够完善的问题,实现光纤通道FC-1层以及部分FC-2层协议处理功能。本发明包括8b/10b解码器、8b/10b编码器、接收器状态机、发送状态机、光纤通道端口状态机、帧接收引擎、帧发送引擎、帧接收缓冲区、帧发送缓冲区、缓冲区到缓冲区流量控制模块、配置和统计模块。本发明提供帧级用户逻辑接口,采用异步先入先出队列作为帧接收缓冲区和帧发送缓冲区,提供完善的配置和统计功能,从而增强软硬件之间的协作能力。
Description
技术领域
本发明属于计算机存储技术领域,特别涉及一个实现光纤通道FC-1层以及部分FC-2层协议处理功能的知识产权核。
背景技术
光纤通道(Fibre Channel,FC)是美国国家标准委员会ANSI X3T11小组制定的一种串行数据接口协议,具有开放式体系结构以及低延迟、高带宽和远距离的传输特性。光纤通道结合了高速可靠的通道技术和灵活可扩展的网络技术,支持SCSI(Small Computer Systems Interface,小型计算机系统接口)、IP(Internet Protocol,互联网协议)等上层数据传输协议,可实现大容量、高速度、高可靠性和高效的信息传输。
目前的光纤通道协议处理由专用芯片完成,缺乏灵活性。基于光纤通道知识产权核(Intellectual Property Core,IP Core)的协议处理能支持自定义用户逻辑,满足各种不同系统架构和设计应用的需求。知识产权核在集成电路领域指已经过验证的、可重复利用的、具有确定功能的集成电路模块。光纤通道知识产权核是指实现光纤通道部分协议处理功能的集成电路模块,它实现了FC-1层以及部分FC-2层协议处理功能,能灵活的与上层协议处理固件相结合,支持各种上层协议。
美国赛灵思(Xilinx)公司和德国MorethanIP公司各自提供了光纤通道知识产权核产品。Xilinx公司的光纤通道知识产权核不具备帧缓冲区;MoreThanIP公司的光纤通道知识产权核的配置和统计功能不完善。国内尚无任何厂商提供同类产品。
发明内容
本发明提供一个光纤通道知识产权核,解决现有知识产权核功能不够完善的问题,实现光纤通道FC-1层以及部分FC-2层协议处理功能。
本发明的光纤通道知识产权核,包括8b/10b解码器、8b/10b编码器、接收器状态机、发送状态机、光纤通道端口状态机、帧接收引擎、帧发送引擎、帧接收缓冲区、帧发送缓冲区、缓冲区到缓冲区流量控制模块、配置和统计模块,其特征在于:
所述8b/10b解码器根据光纤通道FC-1层协议定义的8b/10b传输编码规则将接收到的10位宽编码经过映射转化为8位宽数据;将8位宽数据作为传输字符提交给接收器状态机;
所述8b/10b编码器根据光纤通道FC-1层协议定义的8b/10b传输编码规则将发送状态机发送的8位宽数据经过映射转化为10位宽编码,保持串行线路的直流平衡;
所述接收器状态机包含原语检测模块,从8b/10b解码器接收传输字符,组成传输字,获得字同步状态,并由原语检测模块判断当前输入的传输字是否为原语;处于同步状态时,接收的传输字提交给帧接收引擎;有关光纤通道端口状态变迁的原语序列和事件信号提交给光纤通道端口状态机;有关流量控制的原语信号提交给缓冲区到缓冲区流量控制模块;
所述发送状态机包含原语产生模块,根据光纤通道端口状态机提供的光纤通道端口的不同状态,向8b/10b编码器发送原语产生模块产生的原语信号、原语序列或者帧发送引擎传输的帧;当发送帧或流量控制原语信号时,受缓冲区到缓冲区流量控制模块控制;当完成帧或确认原语信号的发送时,通知缓冲区到缓冲区流量控制模块进行计数;
所述光纤通道端口状态机,根据接收器状态机提交的原语序列、事件信号和当前状态组合执行不同的原语序列协议,确定光纤通道端口的状态,将其提交给发送状态机、帧接收引擎和帧发送引擎;
所述帧接收引擎在光纤通道端口状态机提供的光纤通道端口状态为激活时,从光纤通道端口状态机接收帧、完成帧的定界和帧的有效性检测;将接收到的帧和帧状态字传送到帧接收缓冲区;
所述帧发送引擎在光纤通道端口状态机提供的光纤通道端口状态为激活时,将帧发送缓冲区的帧数据和帧状态字组装成标准帧格式并发送给发送状态机;
所述帧接收缓冲区存放从帧接收引擎接收到的帧数据和帧状态字,并通知缓冲区到缓冲区流量控制模块进行计数;
所述帧发送缓冲区存放用户逻辑待发送的帧数据和帧状态字;
所述缓冲区到缓冲区流量控制模块调整相邻光纤通道端口帧流量,防止接收缓冲区溢出;当接收器状态机接收到一个确认原语信号,或者帧接收缓冲区接收到一个帧,或者帧接收缓冲区的一个帧被读取,或者发送状态机发送一个帧或确认原语信号时,相应计数;当接收器状态机接收到用于信用恢复的原语信号时,执行缓冲区到缓冲区信用值的恢复;同时控制发送状态机发送帧或流量控制原语信号;
所述配置和统计模块配置光纤通道知识产权核的工作方式,统计光纤通道知识产权核工作中的事件和状态信息。
所述的光纤通道知识产权核,其进一步特征在于:
所述接收器状态机在上电时处于同步丢失状态,当连续接收到三个符合协议的有序集后达到同步状态;所述原语检测模块将传输字与原语编码进行比较,判断当前输入的传输字是否为原语;
所述发送状态机当光纤通道端口处于激活状态时,向8b/10b编码器发送原语产生模块产生的原语信号和帧发送引擎传输的帧;当光纤通道端口处于非激活状态时,根据光纤通道端口状态机的状态向8b/10b编码器发送对应的原语产生模块产生的原语序列;所述原语产生模块根据缓冲区到缓冲区流量控制模块提供的信号产生相应原语信号,根据光纤通道端口状态机的状态产生相应的原语序列;
所述光纤通道端口状态机执行的原语序列协议包括链路初始化协议,链路重置协议,链路失效协议和在线到离线协议;光纤通道端口所处状态为激活、链路恢复、链路失效或者离线状态中的一个状态;光纤通道端口状态机在上电时处于离线状态,通过执行相应的原语序列协议达到激活状态;
所述帧接收引擎完成帧的接收、帧的定界和帧的有效性检测过程为:当检测到帧开始定界符时,帧接收引擎保留帧开始定界符,开始接收一个帧,同时检测该帧的有效性;当一个帧的长度在合法范围内、具有合法帧结束定界符、没有包含非法的传输字、也没有包含任何有序集、循环冗余校验码正确,被认为是有效帧,否则被认为是无效帧,帧接收引擎将帧开始定界符和帧结束定界符的类型、帧数据长度和帧的错误类型填写到帧状态字中;将接收到的帧和帧状态字放入帧接收缓冲区;
所述帧发送引擎在发送帧时,从帧发送缓冲区中取出帧状态字,根据帧状态字包含的帧开始定界符的类型、发送的帧数据长度和帧结束定界符的类型,发送帧开始定界符的编码,然后从帧发送缓冲区中取出相应长度的帧数据发送,在发送帧数据的同时计算循环冗余校验码和游程值,帧数据发送结束后,发送循环冗余校验码,再根据游程值和帧结束定界符的类型发送相应的帧结束定界符编码,相邻两个帧间隔6个原语信号;
所述缓冲区到缓冲区流量控制模块采用基于信用值的机制,信用值是光纤通道端口在未收到确认前能够发送的帧数目,适用于FC-2层协议中指定类型的帧,当一个光纤通道端口收到相邻光纤通道端口发送的帧时,它向相邻光纤通道端口发送一个确认原语信号。
所述的光纤通道知识产权核,其更进一步特征在于:所述缓冲区到缓冲区流量控制模块,使用缓冲区到缓冲区信用值和缓冲区到缓冲区信用计数值作为控制参数,缓冲区到缓冲区信用值和缓冲区到缓冲区信用计数值的初值相等,由配置和统计模块设置,发送状态机每发送一个帧,缓冲区到缓冲区信用计数值减1,接收器状态机每收到一个确认原语信号,缓冲区到缓冲区信用计数值加1,当缓冲区到缓冲区信用计数值为0时,表明相邻光纤通道端口没有可用的接收缓冲区,停止帧的发送,直到接收器状态机收到确认原语信号或者光纤通道端口状态机执行链路重置协议才继续帧的发送;如果帧或确认原语信号在传送过程中丢失,缓冲区到缓冲区流量控制模块通过两个计数器和一个信用恢复参数实现缓冲区到缓冲区信用值的恢复,第一计数器表示在接收两个BB_SCr原语信号之间接收到的确认原语信号数,初值为零;第二计数器表示在接收两个BB_SCs原语信号之间接收到的帧数,初值为零;信用恢复参数表示在发送两个BB_SCr或者两个BB_SCs原语信号之间应发送的确认原语信号或帧的数目,其值由配置和统计模块设置;当光纤通道端口发送了信用恢复参数个数的确认原语信号或者帧后,会发送一个BB_SCr或BB_SCs原语信号;
当接收到一个确认原语信号时,如果第一计数器大于0,则第一计数器减1,否则置为信用恢复参数-1;当光纤通道端口接收到BB_SCr原语信号或者执行链路重置协议时,第一计数器置为0;
当接收到一个帧时,如果第二计数器大于0,则第二计数器减1,否则置为信用恢复参数-1;当光纤通道端口接收到BB_SCs原语信号或者执行链路重置协议时,第二计数器置为0;
当接收到一个BB_SCr原语信号时,第一计数器的值表示丢失的确认原语信号数目,如果第一计数器值为0则无需处理,否则缓冲区到缓冲区信用计数值必须加上第一计数器的值,同时第一计数器置为0;
当接收到一个BB_SCs原语信号时,第二计数器的值表示丢失的帧数目,如果第二计数器值为0则无需处理,否则需要发送第二计数器计数个数的确认原语信号,同时第二计数器置为0。
所述的光纤通道知识产权核,其更进一步特征在于:
所述的配置和统计模块包括配置光纤通道知识产权核工作方式的寄存器组、反映光纤通道知识产权核工作状态和统计工作中事件信息的寄存器组,配置光纤通道知识产权核工作方式的寄存器组中寄存器的值由用户逻辑写入,由光纤通道知识产权核各模块读取;反映光纤通道知识产权核工作状态和统计工作中事件信息的寄存器组中寄存器的值由配置和统计模块根据光纤通道知识产权核各模块提供的信息更新,由用户逻辑读取并进行相应处理;用户逻辑通过寄存器接口访问寄存器,寄存器接口包括时钟信号、读请求信号、写请求信号、寄存器地址信号、读数据信号和写数据信号。
本发明中所使用的术语解释如下:
光纤通道FC-1层协议是光纤通道体系结构和标准集的传输协议层,包括串行编码、解码和错误控制。
光纤通道FC-2层协议是光纤通道体系结构和标准集的信令协议层,定义了端到端传输数据块所需的规则和机制,提供的功能包括多种级别的服务,帧格式定义,序列分组和重组,交换管理,地址分配,别名地址定义,多播管理,堆叠连接请求。
光纤通道端口是指能够按照协议定义的需求,发送和接收光纤通道帧的端口。
传输字由四个连续的有效或无效的传输字符组成,传输字符指在物理接口上传输的有效或者无效的经过编码的字符。有效的传输字符由传输编码确定,包括数据字符和特殊字符。传输编码是对数据进行编码、增强其传输特性的一种手段。特殊字符用于区分有序集。
有序集是一类传输字,这类传输字的第一个字符是特殊字符,其余字符是数据字符。
原语信号是具有特殊含义的指定有序集。
原语序列是指反复连续传输、直到接收到特定响应的有序集。原语序列显示了光纤通道端口内部的特定状态,或者光纤通道端口接收器遇到的特定状况。
原语序列协议基于原语序列,用于光纤通道端口链路失效,链路初始化,链路重置和在线到离线转换,通知链路另一端已经发生了特定的链路错误,同时将链路两端重置到一个已知状态。
帧是FC-2层使用的不可再分的信息单元。一个帧由帧开始定界符SOF(Start-Of-Frame),帧内容和帧结束定界符EOF(End-Of-Frame)组成;帧内容包括0或多个扩展头部,一个帧头,数据字段和循环冗余校验码CRC(Cyclic Redundancy Check)。
BB_SCr原语信号表示在前一个BB_SCr原语信号发送之后,发送的确认原语信号已经达到预先指定的某个数目。
BB_SCs原语信号表示在前一个BB_SCs原语信号发送之后,发送的指定类型帧数目已经达到预先指定的某个数目。
本发明所述的光纤通道知识产权核的正常工作流程如下:
上电后接收器状态机处于同步丢失状态,在连续接收到三个符合协议的有序集后达到同步状态,此时接收到的数据才被认为是有效的。上电后光纤通道端口状态机处于离线状态,通过发送状态机发送相应的原语序列,执行链路初始化协议,使光纤通道端口处于激活状态。仅当光纤通道端口处于激活状态时才能进行帧的收发。
当接收帧时,接收器状态机从8b/10b解码器接收传输字符,组成传输字,发送给帧接收引擎,帧接收引擎从接收到的传输字中识别出帧,对帧数据(帧头+数据字段)进行循环冗余校验和错误检测,然后用一个帧状态字标识出帧开始定界符和帧结束定界符的类型、帧数据长度和帧的错误类型。当帧接收缓冲区未满,帧接收引擎将接收到的帧数据和帧状态字写入帧接收缓冲区,再由用户逻辑读取帧数据和帧状态字。
当发送帧时,如果帧发送缓冲区未满,至少还能容纳一个最大帧长帧,则用户逻辑向帧发送缓冲区写入帧数据和帧状态字。当缓冲区到缓冲区信用计数值大于0时,帧发送引擎根据帧状态字提供的帧数据长度、帧开始定界符类型和帧结束定界符类型,向发送状态机依次发送帧开始定界符的编码、帧数据,同时计算循环冗余校验码和游程值,帧数据发送结束后,发送循环冗余校验码和帧结束定界符的编码。发送状态机向8b/10b编码器发送帧。
与现有的其他产品相比,本发明提供帧级用户逻辑接口,采用异步先入先出队列作为帧接收缓冲区和帧发送缓冲区,提供完善的配置和统计功能,从而增强软硬件之间的协作能力。
附图说明
图1为本发明的内部结构框图;
图2为本发明的配置和统计模块结构框图;
图3为本发明的帧接收过程流程图;
图4为本发明的帧发送过程流程图;
图5为使用本发明构建的光纤通道控制器结构图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,本发明的光纤通道知识产权核包括8b/10b解码器、8b/10b编码器、接收器状态机、发送状态机、光纤通道端口状态机、帧接收引擎、帧发送引擎、帧接收缓冲区、帧发送缓冲区、缓冲区到缓冲区流量控制模块、配置和统计模块。
本发明的设计实现方式是:使用VHDL语言(VHSIC HardwareDescription Language,超高速集成电路硬件描述语言)设计上述结构模块,在FPGA(Field Programmable Gate Array,现场可编程门阵列)上编程实现。
所述帧接收缓冲区可由异步双口随机存取存储器RAM构成,可同时进行读写,最多可容纳8个帧的数据和状态字,可接收的最大帧长包括帧头和数据字段为2048字节;帧数据和帧状态字由用户逻辑读取。
所述帧发送缓冲区可由异步双口随机存取存储器RAM构成,可同时进行读写,最多可容纳8个帧的数据和状态字,可发送的最大帧长包括帧头和数据字段为2048字节;帧数据和帧状态字由用户逻辑写入。
如图2所示,本发明的配置和统计模块包括配置光纤通道知识产权核工作方式的寄存器组、反映光纤通道知识产权核工作状态和统计工作中事件信息的寄存器组,配置光纤通道知识产权核工作方式的寄存器组中有:命令寄存器、流量控制配置寄存器组、超时寄存器组和中断屏蔽寄存器,这组寄存器的值由用户逻辑通过寄存器接口写入,由光纤通道知识产权核其他模块读取并用于配置其工作方式;反映光纤通道知识产权核工作状态和统计工作中事件信息的寄存器组中有:状态寄存器、中断状态寄存器、流量控制计数器组、传输数据计数器组、传输错误计数器组,这组寄存器的值由配置和统计模块根据光纤通道知识产权核各模块提供的信息更新,由用户逻辑通过寄存器接口读取并进行相应处理。寄存器接口包括时钟信号、读请求信号、写请求信号、寄存器地址信号、读数据信号和写数据信号。
如图3所示,本发明的光纤通道知识产权核在接收数据帧时,帧接收引擎从接收到的数据中检测到帧开始定界符SOF,识别出帧,对帧数据进行循环冗余校验码CRC校验、错误检测和帧数据长度检测,帧接收引擎将接收到的帧数据写入帧接收缓冲区,用一个帧状态字标识帧开始定界符SOF和帧结束定界符EOF的类型、帧数据长度和帧接收错误类型,当检测到帧结束定界符EOF或者发生帧接收错误时,将帧状态字写入帧接收缓冲区,帧接收结束。
如图4所示,本发明的光纤通道知识产权核在当发送数据帧时,帧发送引擎根据帧状态字提供的帧数据长度、帧开始定界符SOF类型和帧结束定界符EOF类型,依次发送帧开始定界符SOF的编码、帧数据,同时计算循环冗余校验码CRC和游程值,帧数据发送结束后,发送循环冗余校验码CRC和帧结束定界符EOF的编码。
如图5所示,本发明可用于构建一个光纤通道控制器,光纤通道控制器包括Altera公司生产的Stratix GX FPGA芯片、双通道同步动态随机存储器DDR SDRAM芯片(Double Date Rate Synchronous DynamicRandom Access Memory)、闪存芯片和SFP(Small Form-factor Pluggable小型可插拔)光收发器。在Stratix GX FPGA芯片上编程实现了NIOS II处理器、公共闪存接口CFI(Common Flash Interface)控制器、DDRSDRAM控制器、Avalon交换结构、定时器、JTAG UART和具有Avalon接口的本发明光纤通道知识产权核,Stratix GX收发器是Stratix GX FPGA芯片内嵌的收发器。本发明光纤通道知识产权核、DDR SDRAM控制器、CFI控制器、定时器、JTAG UART均通过Avalon交换结构与NIOS II处理器连接。本发明光纤通道知识产权核完成帧的收发,序列和交换的处理由运行在NIOS II处理器上的固件完成。本发明光纤通道知识产权核通过Avalon接口连接到Avalon交换结构上,本发明光纤通道知识产权核的Avalon接口包括一个Avalon从端口和一个Avalon主端口。NIOS II处理器通过Avalon从端口访问配置和统计模块的寄存器,本发明光纤通道知识产权核通过Avalon从端口向NIOS II处理器发出中断。Avalon主端口中有一个DMA(Direct Memory Access,直接存储器存取)控制器,本发明光纤通道知识产权核通过DMA控制器访问DDR SDRAM控制器,将帧接收缓冲区中的帧数据和帧状态字写入DDR SDRAM芯片,从DDRSDRAM芯片读取帧数据和帧状态字到帧发送缓冲区。CFI控制器和DDRSDRAM控制器分别控制闪存芯片和DDR SDRAM芯片,闪存芯片存放系统引导程序、操作系统内核压缩映象,操作系统内核压缩映象在DDRSDRAM芯片中解压缩并执行,DDR SDRAM芯片还用于存放处理过程中的临时数据。在接收数据的过程中,SFP光收发器将接收到的光信号转换为电信号提供给Stratix GX收发器,然后Stratix GX收发器完成比特流提取和串并转换,经过串/并转换得到的10位宽并行数据提交给本发明光纤通道知识产权核的8b/10b解码器模块。在发送数据时,本发明光纤通道知识产权核的8b/10b编码器模块输出10位宽并行数据提交给StratixGX收发器,然后Stratix GX收发器完成并串转换,并将串行的电信号提交给SFP光收发器,SFP光收发器再将电信号转换成光信号发送出去。定时器为系统提供实时时钟,JTAG UART连接用于在线编程和边界扫描测试的JTAG电缆。JTAG(Joint TestAction Group,联合测试行动组)是一种国际标准测试协议,UART(Universal asynchronousreceiver/transmitter,通用异步收发器)是一种串行接口。
Claims (5)
1.一种光纤通道知识产权核,包括8b/10b解码器、8b/10b编码器、接收器状态机、发送状态机、光纤通道端口状态机、帧接收引擎、帧发送引擎、帧接收缓冲区、帧发送缓冲区、缓冲区到缓冲区流量控制模块、配置和统计模块,其特征在于:
所述8b/10b解码器根据光纤通道FC-1层协议定义的8b/10b传输编码规则将接收到的10位宽编码经过映射转化为8位宽数据;将8位宽数据作为传输字符提交给接收器状态机;
所述8b/10b编码器根据光纤通道FC-1层协议定义的8b/10b传输编码规则将发送状态机发送的8位宽数据经过映射转化为10位宽编码,保持串行线路的直流平衡;
所述接收器状态机包含原语检测模块,从8b/10b解码器接收传输字符,组成传输字,获得字同步状态,并由原语检测模块判断当前输入的传输字是否为原语;处于同步状态时,接收的传输字提交给帧接收引擎;有关光纤通道端口状态变迁的原语序列和事件信号提交给光纤通道端口状态机;有关流量控制的原语信号提交给缓冲区到缓冲区流量控制模块;
所述发送状态机包含原语产生模块,根据光纤通道端口状态机提供的光纤通道端口的不同状态,向8b/10b编码器发送原语产生模块产生的原语信号、原语序列或者帧发送引擎传输的帧;当发送帧或流量控制原语信号时,受缓冲区到缓冲区流量控制模块控制;当完成帧或确认原语信号的发送时,通知缓冲区到缓冲区流量控制模块进行计数;
所述光纤通道端口状态机,根据接收器状态机提交的原语序列、事件信号和当前状态组合执行不同的原语序列协议,确定光纤通道端口的状态,将其提交给发送状态机、帧接收引擎和帧发送引擎;
所述帧接收引擎在光纤通道端口状态机提供的光纤通道端口状态为激活时,从光纤通道端口状态机接收帧、完成帧的定界和帧的有效性检测;将接收到的帧和帧状态字传送到帧接收缓冲区;
所述帧发送引擎在光纤通道端口状态机提供的光纤通道端口状态为激活时,将帧发送缓冲区的帧数据和帧状态字组装成标准帧格式并发送给发送状态机;
所述帧接收缓冲区存放从帧接收引擎接收到的帧数据和帧状态字,并通知缓冲区到缓冲区流量控制模块进行计数;
所述帧发送缓冲区存放用户逻辑待发送的帧数据和帧状态字;
所述缓冲区到缓冲区流量控制模块调整相邻光纤通道端口帧流量,防止接收缓冲区溢出;当接收器状态机接收到一个确认原语信号,或者帧接收缓冲区接收到一个帧,或者帧接收缓冲区的一个帧被读取,或者发送状态机发送一个帧或确认原语信号时,相应计数;当接收器状态机接收到用于信用恢复的原语信号时,执行缓冲区到缓冲区信用值的恢复;同时控制发送状态机发送帧或流量控制原语信号;信用值是光纤通道端口在未收到确认前能够发送的帧数目,适用于FC-2层协议中指定类型的帧;
所述配置和统计模块配置光纤通道知识产权核的工作方式,统计光纤通道知识产权核工作中的事件和状态信息。
2.如权利要求1所述的光纤通道知识产权核,其特征在于:
所述接收器状态机在上电时处于同步丢失状态,当连续接收到三个符合协议的有序集后达到同步状态;所述原语检测模块将传输字与原语编码进行比较,判断当前输入的传输字是否为原语;
所述发送状态机当光纤通道端口处于激活状态时,向8b/10b编码器发送原语产生模块产生的原语信号和帧发送引擎传输的帧;当光纤通道端口处于非激活状态时,根据光纤通道端口状态机的状态向8b/10b编码器发送对应的原语产生模块产生的原语序列;所述原语产生模块根据缓冲区到缓冲区流量控制模块提供的信号产生相应原语信号,根据光纤通道端口状态机的状态产生相应的原语序列;
所述光纤通道端口状态机执行的原语序列协议包括链路初始化协议,链路重置协议,链路失效协议和在线到离线协议;光纤通道端口所处状态为激活、链路恢复、链路失效或者离线状态中的一个状态;光纤通道端口状态机在上电时处于离线状态,通过执行相应的原语序列协议达到激活状态;
所述帧接收引擎完成帧的接收、帧的定界和帧的有效性检测过程为:当检测到帧开始定界符时,帧接收引擎保留帧开始定界符,开始接收一个帧,同时检测该帧的有效性;当一个帧的长度在合法范围内、具有合法帧结束定界符、没有包含非法的传输字、也没有包含任何有序集、循环冗余校验码正确,被认为是有效帧,否则被认为是无效帧,帧接收引擎将帧开始定界符和帧结束定界符的类型、帧数据长度和帧的错误类型填写到帧状态字中;将接收到的帧和帧状态字放入帧接收缓冲区;
所述帧发送引擎在发送帧时,从帧发送缓冲区中取出帧状态字,根据帧状态字包含的帧开始定界符的类型、发送的帧数据长度和帧结束定界符的类型,发送帧开始定界符的编码,然后从帧发送缓冲区中取出相应长度的帧数据发送,在发送帧数据的同时计算循环冗余校验码和游程值,帧数据发送结束后,发送循环冗余校验码,再根据游程值和帧结束定界符的类型发送相应的帧结束定界符编码,相邻两个帧间隔6个原语信号;
所述缓冲区到缓冲区流量控制模块采用基于信用值的机制,当一个光纤通道端口收到相邻光纤通道端口发送的帧时,它向相邻光纤通道端口发送一个确认原语信号。
3.如权利要求1或2所述的光纤通道知识产权核,其特征在于:所述缓冲区到缓冲区流量控制模块,使用缓冲区到缓冲区信用值和缓冲区到缓冲区信用计数值作为控制参数,缓冲区到缓冲区信用值和缓冲区到缓冲区信用计数值的初值相等,由配置和统计模块设置,发送状态机每发送一个帧,缓冲区到缓冲区信用计数值减1,接收器状态机每收到一个确认原语信号,缓冲区到缓冲区信用计数值加1,当缓冲区到缓冲区信用计数值为0时,表明相邻光纤通道端口没有可用的接收缓冲区,停止帧的发送,直到接收器状态机收到确认原语信号或者光纤通道端口状态机执行链路重置协议才继续帧的发送;如果帧或确认原语信号在传送过程中丢失,缓冲区到缓冲区流量控制模块通过两个计数器和一个信用恢复参数实现缓冲区到缓冲区信用值的恢复,第一计数器表示在接收两个BB_SCr原语信号之间接收到的确认原语信号数,初值为零;第二计数器表示在接收两个BB_SCs原语信号之间接收到的帧数,初值为零;信用恢复参数表示在发送两个BB_SCr或者两个BB_SCs原语信号之间应发送的确认原语信号或帧的数目,其值由配置和统计模块设置;当光纤通道端口发送了信用恢复参数个数的确认原语信号或者帧后,会发送一个BB_SCr或BB_SCs原语信号;
当接收到一个确认原语信号时,如果第一计数器大于0,则第一计数器减1,否则置为信用恢复参数-1;当光纤通道端口接收到BB_SCr原语信号或者执行链路重置协议时,第一计数器置为0;
当接收到一个帧时,如果第二计数器大于0,则第二计数器减1,否则置为信用恢复参数-1;当光纤通道端口接收到BB_SCs原语信号或者执行链路重置协议时,第二计数器置为0;
当接收到一个BB_SCr原语信号时,第一计数器的值表示丢失的确认原语信号数目,如果第一计数器值为0则无需处理,否则缓冲区到缓冲区信用计数值必须加上第一计数器的值,同时第一计数器置为0;
当接收到一个BB_SCs原语信号时,第二计数器的值表示丢失的帧数目,如果第二计数器值为0则无需处理,否则需要发送第二计数器计数个数的确认原语信号,同时第二计数器置为0。
4.如权利要求1或2所述的光纤通道知识产权核,其特征在于:
所述的配置和统计模块包括配置光纤通道知识产权核工作方式的寄存器组、反映光纤通道知识产权核工作状态和统计工作中事件信息的寄存器组,配置光纤通道知识产权核工作方式的寄存器组中寄存器的值由用户逻辑写入,由光纤通道知识产权核各模块读取;反映光纤通道知识产权核工作状态和统计工作中事件信息的寄存器组中寄存器的值由配置和统计模块根据光纤通道知识产权核各模块提供的信息更新,由用户逻辑读取并进行相应处理;用户逻辑通过寄存器接口访问寄存器,寄存器接口包括时钟信号、读请求信号、写请求信号、寄存器地址信号、读数据信号和写数据信号接口。
5.如权利要求3所述的光纤通道知识产权核,其特征在于:
所述的配置和统计模块包括配置光纤通道知识产权核工作方式的寄存器组、反映光纤通道知识产权核工作状态和统计工作中事件信息的寄存器组,配置光纤通道知识产权核工作方式的寄存器组中寄存器的值由用户逻辑写入,由光纤通道知识产权核各模块读取;反映光纤通道知识产权核工作状态和统计工作中事件信息的寄存器组中寄存器的值由配置和统计模块根据光纤通道知识产权核各模块提供的信息更新,由用户逻辑读取并进行相应处理;用户逻辑通过寄存器接口访问寄存器,寄存器接口包括时钟信号、读请求信号、写请求信号、寄存器地址信号、读数据信号和写数据信号接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100536606A CN101175077B (zh) | 2007-10-26 | 2007-10-26 | 光纤通道知识产权核 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100536606A CN101175077B (zh) | 2007-10-26 | 2007-10-26 | 光纤通道知识产权核 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101175077A CN101175077A (zh) | 2008-05-07 |
CN101175077B true CN101175077B (zh) | 2010-06-30 |
Family
ID=39423335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100536606A Expired - Fee Related CN101175077B (zh) | 2007-10-26 | 2007-10-26 | 光纤通道知识产权核 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101175077B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771658B (zh) * | 2008-12-31 | 2013-03-13 | 中国航空工业第一集团公司第六三一研究所 | 一种高速协议影射接口及其实现方法 |
CN102035658B (zh) * | 2010-11-26 | 2012-07-04 | 北京航空航天大学 | 一种高速1553b光纤总线ip核 |
CN104410477A (zh) * | 2014-11-27 | 2015-03-11 | 中国航天科工集团第三研究院第八三五七研究所 | 用于光纤通道的循环冗余校验方法 |
CN104579583A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种对8b/10b编码方式的改进方法 |
CN105281786A (zh) * | 2015-11-02 | 2016-01-27 | 浪潮集团有限公司 | 一种应用于嵌入式系统的bch编码装置及其控制方法 |
CN105553713B (zh) * | 2015-12-11 | 2018-10-26 | 中国航空工业集团公司西安航空计算技术研究所 | 一种fc专用总线分析仪fc端口管理和配置方法 |
CN106385281A (zh) * | 2016-08-31 | 2017-02-08 | 北京旋极信息技术股份有限公司 | 一种实现光纤通道链路恢复协议的方法及链路恢复模块 |
CN108234343A (zh) * | 2016-12-14 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于优先级的fc分级流量控制实现方法 |
CN110213118B (zh) * | 2018-02-28 | 2021-04-06 | 中航光电科技股份有限公司 | 一种fc网络系统及其流量控制方法 |
CN109995423A (zh) * | 2019-03-12 | 2019-07-09 | 中国航空工业集团公司洛阳电光设备研究所 | 一种fc-ae-asm并行冗余系统及其数据处理方法 |
US11190588B2 (en) * | 2020-04-28 | 2021-11-30 | International Business Machines Corporation | Host initiated link reset in a storage area network |
CN112836453B (zh) * | 2021-03-04 | 2022-02-08 | 无锡众星微系统技术有限公司 | Sas控制器帧缓冲区结构设计方法 |
CN113438568B (zh) * | 2021-06-28 | 2023-01-24 | 天津津航计算技术研究所 | 一种fc交换主机装置及交换方法 |
CN113490080A (zh) * | 2021-06-28 | 2021-10-08 | 天津津航计算技术研究所 | 一种多端口fc交换主机及交换方法 |
CN113806268B (zh) * | 2021-08-04 | 2024-03-19 | 方一信息科技(上海)有限公司 | 基于aurora接口的多通道数据同步接收方法及系统 |
US20230078787A1 (en) * | 2021-09-16 | 2023-03-16 | International Business Machines Corporation | Executing a host initiated link reset in a storage area network |
CN113810109B (zh) * | 2021-10-29 | 2022-09-27 | 西安微电子技术研究所 | 一种多协议多业务光纤通道控制器及其工作方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1822597A (zh) * | 2006-03-21 | 2006-08-23 | 中国科学院计算技术研究所 | 一种ip核接口标准化方法 |
US7111217B1 (en) * | 2002-02-28 | 2006-09-19 | Xilinx, Inc. | Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC) |
CN1992729A (zh) * | 2005-12-27 | 2007-07-04 | 国际商业机器公司 | 数据处理系统和方法 |
-
2007
- 2007-10-26 CN CN2007100536606A patent/CN101175077B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7111217B1 (en) * | 2002-02-28 | 2006-09-19 | Xilinx, Inc. | Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC) |
CN1992729A (zh) * | 2005-12-27 | 2007-07-04 | 国际商业机器公司 | 数据处理系统和方法 |
CN1822597A (zh) * | 2006-03-21 | 2006-08-23 | 中国科学院计算技术研究所 | 一种ip核接口标准化方法 |
Non-Patent Citations (3)
Title |
---|
JP特开2007-233976A 2007.09.13 |
XILINX.Fibre Channel Product Specification 3.2.2007,全文. |
XILINX.Fibre Channel Product Specification 3.2.2007,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN101175077A (zh) | 2008-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101175077B (zh) | 光纤通道知识产权核 | |
CN106612141B (zh) | 一种光纤通道协议通用仿真测试卡及其数据交互方法 | |
US5894481A (en) | Fiber channel switch employing distributed queuing | |
US5835496A (en) | Method and apparatus for data alignment | |
US6510161B2 (en) | Low latency shared memory switch architecture | |
CN108259127B (zh) | Pcie双冗余万兆网ip核 | |
US7164425B2 (en) | Method and system for high speed network application | |
EP0459753A2 (en) | Network access controller having logical FIFO buffer | |
CN102185833B (zh) | 一种基于fpga的fc i/o并行处理方法 | |
CN110471872A (zh) | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 | |
JPH09149083A (ja) | ファイバー・チャネル・スイッチ装置 | |
CN103825696A (zh) | 一种基于fpga实现光纤高速实时通信的装置 | |
US10313236B1 (en) | Method of flow based services for flash storage | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN101873299A (zh) | 串行总线和通信方法及系统 | |
CN110212983A (zh) | 一种fc信号和以太网信号的转换方法及装置 | |
CN102420877A (zh) | 一种多模式高速智能异步串口通信模块及实现方法 | |
CN203151539U (zh) | 一种afdx端系统虚拟链路层ip核 | |
CN103942014A (zh) | Fc-ae-1553协议接口卡存储器映射装置及存储器映射方法 | |
CN106502953B (zh) | 提高1553总线传输带宽的方法 | |
CN102685091B (zh) | 一种万兆以太网变速箱Fifo读写控制及容错系统 | |
CN102075397B (zh) | Arinc429总线与高速智能统一总线的直接接口方法 | |
CN101106504A (zh) | 基于can总线的智能自主机器人分布式通信系统 | |
CN104503354B (zh) | 数字化控制系统 | |
CN101304296B (zh) | 网络装置及其传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100630 Termination date: 20201026 |