CN106878203B - 用于fc交换机芯片的快速转发电路及方法 - Google Patents
用于fc交换机芯片的快速转发电路及方法 Download PDFInfo
- Publication number
- CN106878203B CN106878203B CN201611140159.9A CN201611140159A CN106878203B CN 106878203 B CN106878203 B CN 106878203B CN 201611140159 A CN201611140159 A CN 201611140159A CN 106878203 B CN106878203 B CN 106878203B
- Authority
- CN
- China
- Prior art keywords
- frame
- data
- memory
- forwarding
- buffer logic
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于集成电路设计技术领域,涉及用于FC交换机芯片的快速转发电路及方法,所述电路及方法提供了一种数据接收、存储及调度、转发并行工作的转发电路与方法,通过增加帧信息存储器和帧排序FIFO,在数据帧接收时把缓冲块号在帧排序FIFO中排队,数据存储的同时将其携带的路由与优先级信息存入专门的帧信息存储器,简化队列调度器的同时,分离了控制信息通路与数据载荷通路,避免了直通式交换时调度器获取路由信息与数据转发同时进行所造成的数据存储器读接口竞争,从而提高了转发交换效率高,且电路简单、易于实现。
Description
技术领域
本发明属于集成电路设计技术,涉及一种用于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返回数据转发成功;重复执行本过程;接收存储过程和入队、出队、读出转发过程均独立并行运行。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (2)
1.一种用于FC交换机芯片的快速转发电路,其特征在于,包括数据写入模块(1)、帧排序FIFO(2)、帧信息存储器(3)、数据帧存储器(4)、队列调度器(5)和读出转发模块(6);其中,数据写入模块(1)连接帧排序FIFO(2),同时连接帧信息存储器(3)和数据帧存储器(4),同时,帧排序FIFO(2)和帧信息存储器(3)与队列调度器(5)相连,读出转发模块(6)与队列调度器(5)和数据帧存储器(4)相连;
数据写入模块(1)负责将数据帧由帧头至帧尾依次写入数据帧存储器(4)中,同时将FC帧的第2到第4个字,写入帧信息存储器(3),将缓冲逻辑块号写入帧排序FIFO(2);
帧排序FIFO(2)深度为M,用于存储缓冲逻辑块号,帧排序FIFO(2)的深度与缓冲逻辑块个数保持一致;
帧信息存储器(3)为双端口存储器,包括M个缓冲逻辑块,每个缓冲逻辑块包含地址0、1、2,存储3个字;
数据帧存储器(4)为双端口存储器,用于存储数据,包括M个4KB的缓冲逻辑块,每个缓冲逻辑块由地址0开始存放一个帧内容,从SOF开始;
队列调度器(5)从帧排序FIFO(2)获得缓冲逻辑块号,并依据缓冲逻辑块号从帧信息存储器(3)获取帧路由和优先级信息,建立虚拟输出队列,从队列中调度出结果,通知读出转发模块(6);
读出转发模块(6)用于从数据帧存储器(4)中读出数据,并从队列调度器(5)所建立的连接通路上将数据转发至目的端口。
2.一种用于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)的写入后,立即将缓冲逻辑块号写入帧排序FIFO(2),返回接收存储步骤的1),继续循环执行,
调度步骤:
其队列调度器(5)始终检测帧排序FIFO(2)是否为空,若非空,则读取到一个排队中的帧所在缓冲逻辑块号,依据该号寻址帧信息存储器(3),获取到该帧的路由及优先级信息,使其进入针对输出目的端口预先建立的虚拟输出队列中,完成入队;重复执行调度步骤;
转发步骤:
1)其队列调度器(5)始终检测其建立的虚拟输出队列是否为空,若为非空,则依据交换机所支持的优先级调度算法调度出结果,与对应目的端口建立连接,然后将该FC帧所在的缓冲逻辑块号通知读出转发模块(6);等待读出转发模块(6)返回的转发成功信息之后,重复执行转发步骤的1);
2)其读出转发模块(6)始终等待队列调度器(5)的通知,接收到队列调度器(5)通知的缓冲逻辑块号,即从该缓冲逻辑块的0地址开始同时读取数据帧存储器(4),并将读取到的数据通过队列调度器(5)建立的连接转发至目的端口,直至帧结束,向队列调度器(5)返回转发成功信息;重复执行转发步骤的2);接收存储步骤、调度步骤和转发步骤均独立并行运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611140159.9A CN106878203B (zh) | 2015-12-11 | 2016-12-12 | 用于fc交换机芯片的快速转发电路及方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201521037489 | 2015-12-11 | ||
CN2015210374896 | 2015-12-11 | ||
CN201611140159.9A CN106878203B (zh) | 2015-12-11 | 2016-12-12 | 用于fc交换机芯片的快速转发电路及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106878203A CN106878203A (zh) | 2017-06-20 |
CN106878203B true CN106878203B (zh) | 2020-04-07 |
Family
ID=59163923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611140159.9A Active CN106878203B (zh) | 2015-12-11 | 2016-12-12 | 用于fc交换机芯片的快速转发电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106878203B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306835B (zh) * | 2018-01-23 | 2021-05-04 | 中国航空工业集团公司洛阳电光设备研究所 | 一种以太网交换机的输入缓存及数据转发方法 |
US10686714B2 (en) * | 2018-04-27 | 2020-06-16 | Avago Technologies International Sales Pte. Limited | Traffic management for high-bandwidth switching |
CN112822124B (zh) * | 2020-12-31 | 2022-11-22 | 深圳云天励飞技术股份有限公司 | 多芯片通信系统、方法、芯片及存储介质 |
CN113259006B (zh) * | 2021-07-14 | 2021-11-26 | 北京国科天迅科技有限公司 | 一种光纤网络通信系统、方法及装置 |
CN114401238B (zh) * | 2021-12-27 | 2024-02-06 | 西安电子科技大学 | 交换机管理控制方法、系统、计算机设备及数据处理终端 |
CN115580586A (zh) * | 2022-11-25 | 2023-01-06 | 成都成电光信科技股份有限公司 | 一种基于片上系统的fc交换机输出队列的构建方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9172655B1 (en) * | 2012-11-15 | 2015-10-27 | Qlogic, Corporation | Systems and methods for quality of service in networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060013135A1 (en) * | 2004-06-21 | 2006-01-19 | Schmidt Steven G | Flow control in a switch |
-
2016
- 2016-12-12 CN CN201611140159.9A patent/CN106878203B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9172655B1 (en) * | 2012-11-15 | 2015-10-27 | Qlogic, Corporation | Systems and methods for quality of service in networks |
Non-Patent Citations (2)
Title |
---|
FC交换机芯片交换端口虚拟验证关键技术研究;王玉欢;《计算机技术与发展》;20150630;第25卷(第6期);35-38 * |
基于分布式调度的FC核心交换电路设计与实现;王玉欢 等;《计算机技术与发展》;20150331;第25卷(第3期);214-217 * |
Also Published As
Publication number | Publication date |
---|---|
CN106878203A (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106878203B (zh) | 用于fc交换机芯片的快速转发电路及方法 | |
KR102082020B1 (ko) | 다수의 링크된 메모리 리스트들을 사용하기 위한 방법 및 장치 | |
CN110995598B (zh) | 一种变长报文数据处理方法和调度装置 | |
CN109684269B (zh) | 一种pcie交换芯片内核及工作方法 | |
US20140317220A1 (en) | Device for efficient use of packet buffering and bandwidth resources at the network edge | |
CN113821516B (zh) | 一种基于虚拟队列的时间敏感网络交换系统 | |
CN112084136A (zh) | 队列缓存管理方法、系统、存储介质、计算机设备及应用 | |
SE515148C2 (sv) | Styrning av cellväljare | |
EP2898641A1 (en) | Ultra low latency network buffer storage | |
US20020131419A1 (en) | Packet switch apparatus and multicasting method | |
CN105409170A (zh) | 自一个调度输出队列出列多个封包及/或使用过调度来调度输出队列的封包输出控制器以及相关方法 | |
US7110405B2 (en) | Multicast cell buffer for network switch | |
US20050147038A1 (en) | Method for optimizing queuing performance | |
CN101242360A (zh) | 一种基于优先级队列的网络地址转换方法及系统 | |
EP2568388B1 (en) | Processor to message-based network interface using speculative techniques | |
CN111352657B (zh) | FPGA高速高效流水读取x86数据的方法 | |
US8879578B2 (en) | Reducing store and forward delay in distributed systems | |
CN105516023A (zh) | 一种报文转发方法和装置 | |
CN112433839B (zh) | 实现网络芯片高速调度的方法、设备及存储介质 | |
JP2022523195A (ja) | メモリ管理方法及び装置 | |
CN115955441A (zh) | 一种基于tsn队列的管理调度方法、装置 | |
CN112235206A (zh) | 一种基于单片机的环形缓冲队列数据接收机制 | |
CN109145397B (zh) | 一种支持并行流水访问的外存仲裁系统 | |
CN115118679B (zh) | 一种针对以太网交换器管理帧的快速转发系统 | |
CN115269157A (zh) | 一种任务处理系统、方法、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221017 Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075 Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd. Address before: No.15, Jinye 2nd Road, Xi'an, Shaanxi 710000 Patentee before: AVIC XI''AN AERONAUTICS COMPUTING TECHNIQUE RESEARCH INSTITUTE |