用于FC交换机芯片的快速转发电路及方法与流程

文档序号:12729552阅读:831来源:国知局
用于FC交换机芯片的快速转发电路及方法与流程

本发明属于集成电路设计技术,涉及一种用于FC交换机芯片的快速转发电路及方法。



背景技术:

在高速交换机的设计中,需要把接收的数据快速转发出去,为保证较小的通信时延,必须在接收到数据包头即开始转发,这就需要在数据包头到达的很短时间内获取到数据帧的路由目的、优先级等有效信息,以便快速建立转发链接,从而开始数据的转发。

如图2所示,FC帧的路由和优先级信息包含在其帧头数据中,如果采用单一双端口存储为数据缓冲的转发电路,基于交换机的数据调度特性,读取帧头以获取路由信息与读取整帧数据以转发这两种行为,势必产生存储器读接口的竞争,该做法会造成通信效率低,时延较大,且控制电路设计复杂。



技术实现要素:

发明目的:

为了解决上述背景中提及的问题,本发明提供一种用于FC交换机芯片的快速转发电路及方法,通过接收存储、入队、出队、读出转发之间的并行工作,可最大限度的提高通信效率,降低传输延迟,且电路简单、易在芯片设计中实现,可在多种FC交换机芯片中复用。

技术方案:

一种用于FC交换机芯片的快速转发电路,包括:包括数据写入模块、帧排序FIFO、帧信息存储器、数据帧存储器、队列调度器和读出转发模块;其中,数据写入模块连接帧排序FIFO,同时连接帧信息存储器和数据帧存储器,同时,帧排序FIFO和帧信息存储器与队列调度器相连,读出转发模块与队列调度器和数据帧存储器相连;

数据写入模块负责将数据帧由帧头至帧尾依次写入数据帧存储器中,同时将FC帧的第2-第4个字,写入帧信息存储器,将缓冲块号写入帧排序FIFO;

帧排序FIFO深度为M,用于存储缓冲逻辑块号,帧排序FIFO的深度与缓冲逻辑块个数保持一致;

帧信息存储器为双端口存储器,包括M个逻辑缓冲分块,每个分块包含地址0、1、2,存储3个字;

数据帧存储器为双端口存储器,用于存储数据,包括M个4KB的逻辑分块,每个分块由地址0开始存放一个帧内容,从SOF开始;

队列调度器从帧排序FIFO获得缓冲逻辑块号,并依据缓冲逻辑块号从帧信息存储器获取帧路由和优先级信息,建立虚拟输出队列,从队列中调度出结果,通知读出转发模块;

读出转发模块用于从数据帧存储器中读出数据,并从队列调度器所建立的连接通路上将数据转发至目的端口。

一种用于FC交换机芯片的快速转发方法,包括数据接收存储步骤、调度步骤和转发步骤,其中

接收存储步骤包括:

1)数据写入模块检测是否有新数据帧进入交换机端口,若接收到数据帧,则按照接收数据流顺序将接收到的帧由帧头至帧尾依次写入搜索到的数据帧存储器空闲缓冲块中,在写入进行至FC帧的第2-第4个字,即包含路由信息的Header0、包含优先级信息的Header1和Header2时,将其同时也写入帧信息存储器对应的存储块中;

2)帧信息存储器的每个分块地址0、1、2,分别存储该FC帧包含路由和优先级信息的FC帧Header0、Header1和Header2;

3)数据帧存储器的每个分块由地址0开始存放一个帧内容(从SOF开始),依次存放数据帧;

4)数据写入模块完成帧信息存储器的写入后,立即将缓冲块号写入帧排序FIFO,返回本步骤的1),继续循环执行,

调度步骤:

其队列调度器始终检测帧排序FIFO是否为空,若非空,则读取到一个排队中的帧所在缓冲号,依据该号寻址帧信息存储器,获取到该帧的路由及优先级信息,使其进入针对输出目的端口预先建立的虚拟输出队列中,完成入队;重复执行上述过程。

转发步骤:

1)其队列调度器始终检测其建立的虚拟输出队列是否为空,若为非空,则依据交换机所支持的优先级调度算法调度出结果,与对应目的端口建立连接,然后将该FC帧所在的缓冲块号通知读出转发模块;等待读出转发模块返回的转发成功信息之后,重复执行本过程;

2)其读出转发模块始终等待队列调度器的通知,接收到器通知的缓冲块号,即从该缓冲块的0地址开始同时读取数据帧存储器,并将读取到的数据通过队列调度器建立的连接转发至目的端口,直至帧结束,向队列调度器返回数据转发成功;重复执行本过程;接收存储步骤、调度步骤和转发步骤均独立并行运行。

有益效果:

本发明提供了一种数据接收、存储及调度、转发并行工作的电路及方法,通过增加帧信息存储器和帧排序FIFO,在数据帧接收时把缓冲块号在帧排序FIFO中排队,数据存储的同时将其携带的路由与优先级信息存入专门的帧信息存储器,简化队列调度器的同时,分离了控制信息通路与数据载荷通路,避免了传统直通式交换时调度器获取路由信息与数据转发同时进行所造成的数据存储器读接口竞争,使接收存储过程和入队、出队、读出转发步骤均独立并行运行,可最大限度的提高通信效率,降低传输延迟,且电路简单、易在芯片设计中实现,可在多种FC交换机芯片中复用。

附图说明

图1是本发明于FC交换机芯片的快速转发电路及方法的架构示意图。

图2为现有技术的转发电路示意图。

具体实施方式

下面结合附图和实施例对本发明做进一步描述:

用于FC交换机芯片的快速转发电路,包括:包括数据写入模块1、帧排序FIFO2、帧信息存储器3、数据帧存储器4、队列调度器5和读出转发模块6;其中,数据写入模块1连接帧排序FIFO2,同时连接帧信息存储器3和数据帧存储器4,同时,帧排序FIFO2和帧信息存储器3与队列调度器5相连,读出转发模块6与队列调度器5和数据帧存储器4相连;

数据写入模块1负责将数据帧由帧头至帧尾依次写入数据帧存储器4中,同时将FC帧的第2-第4个字,写入帧信息存储器3,将缓冲块号写入帧排序FIFO2;

帧排序FIFO2深度为M,用于存储缓冲逻辑块号,帧排序FIFO2的深度与缓冲逻辑块个数保持一致;

帧信息存储器3为双端口存储器,包括M个逻辑缓冲分块,每个分块包含地址0、1、2,存储3个字;

数据帧存储器4为双端口存储器,用于存储数据,包括M个4KB的逻辑分块,每个分块由地址0开始存放一个帧内容,从SOF开始;

队列调度器5从帧排序FIFO2获得缓冲逻辑块号,并依据缓冲逻辑块号从帧信息存储器3获取帧路由和优先级信息,建立虚拟输出队列,从队列中调度出结果,通知读出转发模块6;

读出转发模块6用于从数据帧存储器4中读出数据,并从队列调度器5所建立的连接通路上将数据转发至目的端口。

一种用于FC交换机芯片的快速转发方法,包括数据接收存储步骤、调度步骤和转发步骤,其中

接收存储步骤包括:

1)数据写入模块1检测是否有新数据帧进入交换机端口,若接收到数据帧,则按照接收数据流顺序将接收到的帧由帧头至帧尾依次写入搜索到的数据帧存储器4空闲缓冲块中,在写入进行至FC帧的第2-第4个字,即Header0(包含路由信息)、Header1和Header2(包含优先级信息)时,将其同时也写入帧信息存储器3对应的存储块中;

2)帧信息存储器3的每个分块地址0、1、2,分别存储该FC帧包含路由和优先级信息的FC帧Header0、Header1和Header2;

3)数据帧存储器4的每个分块由地址0开始存放一个帧内容(从SOF开始),依次存放数据帧;

4)数据写入模块1完成帧信息存储器3的写入后,立即将缓冲块号写入帧排序FIFO2,返回本步骤的1),继续循环执行。

调度步骤:

其队列调度器5始终检测帧排序FIFO2是否为空,若非空,则读取到一个排队中的帧所在缓冲号,依据该号寻址帧信息存储器3,获取到该帧的路由及优先级信息,使其进入针对输出目的端口预先建立的虚拟输出队列中,完成入队;重复执行上述过程。

转发步骤:

1)其队列调度器5始终检测其建立的虚拟输出队列是否为空,若为非空,则依据交换机所支持的优先级调度算法调度出结果,与对应目的端口建立连接,然后将该FC帧所在的缓冲块号通知读出转发模块6;等待转发模块6返回的转发成功信息之后,重复执行本过程;

2)其读出转发模块6始终等待队列调度器5的通知,接收到器通知的缓冲块号,即从该缓冲块的0地址开始同时读取数据帧存储器4,并将读取到的数据通过队列调度器5建立的连接转发至目的端口,直至帧结束,向队列调度器5返回数据转发成功;重复执行本过程;接收存储过程和入队、出队、读出转发过程均独立并行运行。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1