CN111585918A - 一种应用于存储转发机制交换机的存储转发装置和方法 - Google Patents
一种应用于存储转发机制交换机的存储转发装置和方法 Download PDFInfo
- Publication number
- CN111585918A CN111585918A CN202010386359.2A CN202010386359A CN111585918A CN 111585918 A CN111585918 A CN 111585918A CN 202010386359 A CN202010386359 A CN 202010386359A CN 111585918 A CN111585918 A CN 111585918A
- Authority
- CN
- China
- Prior art keywords
- data
- write
- fragment
- reading
- read
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
Abstract
本发明实施例公开了一种应用于存储转发机制交换机的存储转发装置和方法,该存储转发装置中,时间片调度模块,用于根据交换端口的数量,产生n*n个时间片;接收模块,用于在其对应的端口写时间片有效、且有碎片数据时,同时产生写最后一个完整数据和写碎片数据,并将写最后一个完整数据存储到外部存储器,将写碎片数据存储到碎片存储器;发送模块,用于在其对应的端口读时间片有效、且有碎片数据时,同时产生读最后一个完整数据和读碎片数据,并将读最后一个完整数据从外部存储器读出,将读碎片数据从碎片存储器读出。本发明实施例提供的方案,可有效降低外存数量和PCB布线面积和产品功耗,并满足了交换机的带宽要求。
Description
技术领域
本申请涉及但不限于网络通信技术领域,尤指一种应用于存储转发机制交换机的存储转发装置和方法。
背景技术
航空电子全双工交换式以太网(Avionics Full Duplex Switched Ethernet,简称为:AFDX)作为新兴的航空电子总线标准,以普通以太网为基础,在终端和交换机中均加入了流量控制策略,从而保证航电系统中数据传输的实时性。
随着交换机所要求的端口数目的增加和端口速率从百兆提高到千兆,交换机所要求的数据交互带宽将不断增加。因此,如何保证有足够的带宽来进行数据交换是交换机设计中的关键技术。以24端口千兆交换机为例,其带宽要求达到了48Gbps,而且由于帧数据的长度是随机的,无法与外部存储器的宽带相配备,因此,必定有数据碎片的读写存在,这就造成了实际的有效数据带宽远低于外部存储器所提高的数据带宽,最差情况下约50%,造成需要96Gbps的外部储存带宽要求。
采用提高器件工作频率的方法来最终满足带宽要求的方式会造成功耗的增加和设计布线的难度;采用提高存储器位宽的方法,一方面增加了成本和PCB模块面积,另一方面,功耗增加。上述两种方法虽然能达到带宽的要求,但均有缺点,均无法提高实际的数据存储转发的效率,因为碎片的存储造成了实际数据带宽的效率下降。
发明内容
为了解决上述技术问题,本发明实施例提供了一种应用于存储转发机制交换机的存储转发装置和方法,以解决AFDX网络中由于帧碎片数据读写造成的实际有效带宽利用率低的问题,从而满足千兆交换机对带宽的要求。
本发明实施例提供一种应用于存储转发机制交换机的存储转发装置,包括:时间片调度模块,接收模块,发送模块,外部存储器控制器,碎片存储控制器,碎片存储器和外部存储器;
所述时间片调度模块,用于根据交换端口的数量,产生n*n个时间片,所述n*n个时间片分别对应到n个写端口和n个读端口;
所述接收模块,用于接收一帧数据后,在其对应的端口写时间片有效、且有碎片数据时,同时产生写最后一个完整数据和写碎片数据,并将写最后一个完整数据通过外部存储器控制器存储到外部存储器,将写碎片数据通过碎片存储控制器存储到碎片存储器;
所述发送模块,用于在其对应的端口读时间片有效、且有碎片数据时,同时产生读最后一个完整数据和读碎片数据,并将读最后一个完整数据通过外部存储器控制器从外部存储器读出,将读碎片数据通过碎片存储控制器从碎片存储器读出。
可选地,如上所述的应用于存储转发机制交换机的存储转发装置中,还包括:地址管理模块;
所述地址管理模块,用于进行外部帧数据的存储空间管理,将外部存储器的存储空间划分为m帧空间进行存储控制,且所述地址管理模块中存储m帧空间的首地址;
所述碎片存储器中划分为m个碎片存储空间,每个存储空间大小为一个完整传输长度。
可选地,如上所述的应用于存储转发机制交换机的存储转发装置中,所述外部存储器中的每帧空间为2KB;
所述碎片存储器中每个存储空间为一个完整传输长度。
可选地,如上所述的应用于存储转发机制交换机的存储转发装置中,
所述接收模块,还用于接收一帧数据后,将帧数据缓存在片上接收缓存区内,获得帧数据的长度,并从地址管理模块获取该帧数据的存储空间起始地址;
所述接收模块,还用于将帧数据从片上接收缓存区搬移到外部存储器;所述搬移过程包括:
在其对应的端口写时间片有效、且当前写操作不是最后一次时,发出外部存储器的写操作信号,包括写数据、写地址和写有效信号;在第一个数据写出时,将接收的帧数据的转发信息写入发送模块的输出队列中,所述转发信息包括:所述帧数据的存储起始地址和长度
在其对应的端口写时间片有效、且当前写操作为最后一次时,同时发出外部存储器写操作信号和碎片存储器写操作信号,包括外部存储器写数据、写地址和写有效信号,以及碎片存储器写碎片数据、写地址和写有效信号。
可选地,如上所述的应用于存储转发机制交换机的存储转发装置中,
所述发送模块,还用于在其输出队列不为空时,从输出队列中获取所述帧数据的存储起始地址和长度,启动读操作;所述读操作过程包括:
在其对应的端口读时间片有效、且当前读操作不是最后一次时,发出外部存储器读操作信号,包括读数据、读地址和读有效信号;
在其对应的端口读时间片有效、且当前读操作为最后一次,发出外部存储器读操作信号和碎片存储器读操作信号,包括外部存储器读数据、读地址和读有效信号,以及碎片存储器读碎片数据、读地址和读有效信号。
可选地,如上所述的应用于存储转发机制交换机的存储转发装置中,
所述外部存储器控制器,用于按照读写端口外部存储器写有效信号和读有效信号,产生对应的读信号或写信号至外部存储器;
所述碎片存储控制器,用于按照读写端口碎片写有效信号和读有效信号,产生对应的读信号或写信号至碎片存储器。
可选地,如上所述的应用于存储转发机制交换机的存储转发装置中,所述外部存储器控制器和所述碎片存储控制器均为2n-to-1型MUX选通器。
本发明实施例还提供一种应用于存储转发机制交换机的存储转发方法,采用上述任一项所述的应用于存储转发机制交换机的存储转发装置执行所述方法,所述存储转发装置预先根据交换端口的数量,产生分别对应于n个写端口和n个读端口的n*n个时间片,所述存储转发方法包括:
步骤1,接收帧数据,将帧数据缓存在片上接收缓存区内,获得帧数据的长度,并获取该帧数据的存储空间起始地址;
步骤2,在端口写时间片有效、且当前写操作不是最后一次时,发出外部存储器的写操作信号,包括写数据、写地址和写有效信号;
步骤3,在第一个数据写出时,将接收的帧数据的转发信息写入发送模块的输出队列中,所述转发信息包括:所述帧数据的存储起始地址和长度;
步骤4,在端口写时间片有效、且当前写操作为最后一次时,同时发出外部存储器写操作信号和碎片存储器写操作信号,包括外部存储器写数据、写地址和写有效信号,以及碎片存储器写碎片数据、写地址和写有效信号,以同时将写数据存储到外部存储器,将写碎片数据存储到碎片存储器;
步骤5,从输出队列中获取所述帧数据的存储起始地址和长度,启动读操作;
步骤6,在端口读时间片有效、且当前读操作不是最后一次时,发出外部存储器读操作信号,包括读数据、读地址和读有效信号;
步骤7,在端口读时间片有效、且当前读操作为最后一次,同时发出外部存储器读操作信号和碎片存储器读操作信号,包括外部存储器读数据、读地址和读有效信号,以及碎片存储器读碎片数据、读地址和读有效信号,以同时从外部存储器读出读数据,从碎片存储器读出读碎片数据存。
本发明实施例提供的应用于存储转发机制交换机的存储转发装置和方法,该存储转发装置主要包括:接收模块,时间调度模块,发送模块,碎片存储器控制器,碎片存储器,外部存储器控制器和发送模块;其中,接收模块和发送模块在时间片有效时根据帧数据长度产生写、读外部存储器和碎片存储器的写、读信号,并且在最后一个时间片同时处理完整数据和碎片数据的读、写操作。本发明实施例提供的装置,可有效降低外存数量和PCB布线面积和产品功耗,利用片上存储器作为碎片数据存储,在不增加片外存储资源和提高工作频率的情况下,将数据存储转发的效率提高到100%,满足了千兆交换机对数据交互带宽的要求,适合FPGA/ASIC实现。另外,本发明实施例提供的装置可应用于类似应用场合中,有较广的推广价值,经济效益较好。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的一种应用于存储转发机制交换机的存储转发装置的结构示意图;
图2为本发明实施例提供的一种应用于存储转发机制交换机的存储转发方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明提供以下几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例提供的一种应用于存储转发机制交换机的存储转发装置的结构示意图。本发明实施例提供的应用于存储转发机制交换机的存储转发装置可以包括:时间片调度模块,接收模块,发送模块,外部存储器控制器,碎片存储控制器,碎片存储器,外部存储器和地址管理模块。
如图1所示存储转发装置的结构中,时间片调度模块分别与每个接收模块和每个发送模块相连接,接收模块和发送模块分别与外部存储器控制器和碎片存储控制器相连接,外部存储器控制器还与外部存储器相连接,碎片存储控制器还与碎片存储器相连接,地址管理模块分别与每个接收模块相连接。该存储转发装置主要应用于存储转发机制AFDX交换机,可以提高数据存储转发效率。
本发明实施例中的时间片调度模块,用于根据交换端口的数量,产生n*n个时间片,该n*n个时间片分别对应到n个写端口和n个读端口,每个端口在对应的时间片才进行数据读写操作。交换端口中的每个写端口对应一个接收模块,每个读端口对应一个发送模块。如图1所示结构以具有n*n个端口,即包括n个接收模块和n个发送模块为例予以示出,且图中仅示意出接收模块1、接收模块n,以及发送模块1和发送模块n。
本发明实施例中的接收模块,用于接收一帧数据后,在其对应的端口写时间片有效、且有碎片数据时,同时产生写最后一个完整数据和写碎片数据,并将写最后一个完整数据通过外部存储器控制器存储到外部存储器,将写碎片数据通过碎片存储控制器存储到碎片存储器。
本发明实施例中的发送模块,用于在其对应的端口读时间片有效、且有碎片数据时,同时产生读最后一个完整数据和读碎片数据,并将读最后一个完整数据通过外部存储器控制器从外部存储器读出,将读碎片数据通过碎片存储控制器从碎片存储器读出。
需要说明的是,接收模块在写数据的过程中,若具有碎片数据说明当前写操作为最后一次写操作,通过对最后一次执行写操作的写碎片数据和写最后一个完整数据进行同时写入不同存储器,本发明实施例中的写方式消除了现有数据存储方式中写碎片数据的时间,将实际的数据存储转发效率提高到100%。类似地,发送模块在读数据的过程中,若具有碎片数据说明当前写操作为最后一次写操作,通过同时将读碎片数据和读最后一个完整数据从不同存储器中读出,本发明实施例中的读方式消除了现有数据存储方式中读碎片数据的时间,将实际的数据存储转发效率提高到100%。
如图1所示,本发明实施例提供的存储转发装置中,还可以包括:
地址管理模块,用于进行外部帧数据的存储空间管理,将外部存储器的存储空间划分为m帧空间进行存储控制,且该地址管理模块中存储m帧空间的首地址;另外,接收模块在接收完一帧数据后,获取该帧数据的存储空间起始地址。
相应地,本发明实施中的碎片存储器中划分为m个碎片存储空间,每个存储空间大小为一个完整传输长度。
实际应用中,本发明实施例中的接收模块和发送模块在对上述写碎片数据和读碎片数据进行处理前,还可以执行完整的写数据和读数据操作。具体写数据和读数据的操作方式如下所述:
本发明实施例中的接收模块,还用于接收一帧数据后,将帧数据缓存在片上接收缓存区内,获得帧数据的长度,并从地址管理模块获取该帧数据的存储空间起始地址。需要说明的是,由于接收模块接收外部数据以8bit接收,将接收的外部数据进行串并转换后(例如将8bit转换为512bit),根据时间片将数据发送写外部存储数据和碎片数据信号。
该接收模块,还用于将帧数据从片上接收缓存区搬移到外部存储器;上述搬移过程包括:
在其对应的端口写时间片有效、且当前写操作不是最后一次时,发出外部存储器的写操作信号,包括写数据、写地址和写有效信号;另外,在第一个数据写出时,将接收的帧数据的转发信息写入发送模块的输出队列中,该转发信息包括:帧数据的存储起始地址和长度;
在其对应的端口写时间片有效、且当前写操作为最后一次时,同时发出外部存储器写操作信号和碎片存储器写操作信号,包括外部存储器写数据、写地址和写有效信号,以及碎片存储器写碎片数据、写地址和写有效信号;此时,该帧数据搬移完毕。
本发明实施例中的发送模块,还用于在其输出队列不为空时,从输出队列中获取所述帧数据的存储起始地址和长度,启动读操作。需要说明的是,由于发送模块从存储器中读出数据为512bit,发出数据读信号,并阿静读出数据存储后将并串转换后(例如将512bit转换为8bit)发送给交换机。
发送模块的上述读操作过程包括:
在其对应的端口读时间片有效、且当前读操作不是最后一次时,发出外部存储器读操作信号,包括读数据、读地址和读有效信号;
在其对应的端口读时间片有效、且当前读操作为最后一次时,同时发出外部存储器读操作信号和碎片存储器读操作信号,包括外部存储器读数据、读地址和读有效信号,以及碎片存储器读碎片数据、读地址和读有效信号,此时,该帧数据读完毕。
实际应用中,本发明实施例中的外部存储器控制器将来自各接收模块和发送模块的读、写操作进行对应的读、写控制时序控制操作;碎片存储控制器将来自各接收模块和发送模块的碎片数据写入或读出碎片存储器。具体地,外部存储器控制器,用于按照读写端口外部存储器写有效信号和读有效信号,产生对应的读信号或写信号至外部存储器。类似地,本发明实施例中的碎片存储控制器,用于按照读写端口碎片写有效信号和读有效信号,产生对应的读信号或写信号至碎片存储器。
本发明实施例提供的应用于存储转发机制交换机的存储转发装置,主要包括接收模块,时间调度模块,发送模块,碎片存储器控制器,碎片存储器,外部存储器控制器和发送模块;其中,接收模块和发送模块在时间片有效时根据帧数据长度产生写、读外部存储器和碎片存储器的写、读信号,并且在最后一个时间片同时处理完整数据和碎片数据的读、写操作。本发明实施例提供的装置,可有效降低外存数量和PCB布线面积和产品功耗,利用片上存储器作为碎片数据存储,在不增加片外存储资源和提高工作频率的情况下,将数据存储转发的效率提高到100%,满足了千兆交换机对数据交互带宽的要求,适合FPGA/ASIC实现。另外,本发明实施例提供的装置可应用于类似应用场合中,有较广的推广价值,经济效益较好。
以下通过一个具体实施示例对本发明实施例提供的应用于存储转发机制交换机的存储转发装置的实施方式进行详细说明。
1),时间片调度模块
按照交换端口的数量,产生n*n个时间片,该n*n个时间片分别对应到n个写端口和n个读端口,每个端口在对应的时间片才进行数据读写操作。
2),接收模块
首先,接收模块在接收完一帧数据后,将帧数据缓存在片上接收缓存区内,获得帧数据的长度L字节。
再次,接收模块从地址管理模块获取该帧数据的存储空间起始地址。
最后,接收模块将帧数据从片上数据缓存区搬移到外部存储器,处理过程如下所示:(以外部存储器位宽为64bit为例予以说明)
当端口写时间片有效时,如果L/64>2,即说明当前写操作不是最后一次,仅发出外部存储器的写操作信号,包括写数据、写地址和写有效信号,L更新为L-64。另外,在第一个数据写出时,将接收的帧数据的转发信息写入发送模块的输出队列中,该转发信息包括:帧数据的存储起始地址和长度。
当端口写时间片有效时,如果L/64<2,即说明当前写操作为最后一次,同时发出外部存储器写操作信号和碎片存储器写操作信号,包括外部存储器写数据、写地址和写有效信号,以及碎片存储器写碎片数据、写地址和写有效信号;此时,该帧数据搬移完毕,L置为0。
3),发送模块
当发送模块的输出队列不为空时,发送模块从输出队列中获得发送包存储数据起始地址和长度L,启动读操作,过程如下:
当端口读时间片有效时,如果L/64>2,即说明当前读操作不是最后一次,仅发出外部存储器读操作信号,包括读数据、读地址和读有效信号;
当端口读时间片有效时,如果L/64<2,即说明当前读操作为最后一次,同时发出外部存储器读操作信号和碎片存储器读操作信号,包括外部存储器读数据、读地址和读有效信号,以及碎片存储器读碎片数据、读地址和读有效信号,此时,该帧数据读完毕,L置为0。进入下一帧读操作。
4),地址管理模块
地址管理模块实现帧数据的存储空间管理,按照每帧2KB的空间进行外部帧数据存储空间管理,将外部存储器的存储空间划分为m帧空间进行存储控制,且该地址管理模块中存储m帧空间的首地址。
5),碎片存储器
碎片存储器采用FPGA或ASIC片上存储器实现,与外部存储器存储的帧数对应,分为m个碎片存储空间,每个存储空间大小为一个完整传输长度,本发明实施例中以512bit为例予以示出。
6),碎片存储器控制器
按照读写端口碎片写有效信号和读有效信号,产生对应的读信号或写信号至碎片存储器。例如为一个2n-to-1型MUX选通器。
7),外部存储器控制器
按照读写端口外部存储器写有效信号和读有效信号,产生对应的读信号或写信号至外部存储器。例如为一个2n-to-1型MUX选通器。
以传输一个65B的帧数据为例,如果不采用本发明实施提供的存储转发装置的处理方式,存储转发实际需要2+2=4次外部存储器访问操作,分别需要两次写操作和两次读操作。有效带宽利用率为65/128=50.7%。采用本发明实施提供的存储转发装置进行处理后,存储转发需要1+1次外部存储器访问操作,仅需要1次写操作和1次读操作,有效带宽利用率为64/64=100%。这样在工作频率为100MHz的情况下,有效数据带宽达到了64B*100M=64Gbps,能够满足24*24端口的千兆交换机带宽要求。而不采用本发明实施例的方式,其有效带宽仅为64Gbps*50.75%=32.5Gbps。
经过验证,采用本发明实施提供的存储转发装置的处理方式,通过对帧碎片数据的进行片上存储和时间片读写管理的处理方法,将数据存储转发的效率提高到100%,满足了千兆交换机所要求的带宽要求。
基于本发明上述实施例提供的应用于存储转发机制交换机的存储转发装置,本发明实施例还提供一种应用于存储转发机制交换机的存储转发方法,如图2所示,为本发明实施例提供的一种应用于存储转发机制交换机的存储转发方法的流程图。本发明实施例提供的方法可以由上述任一实施例中的存储转发装置执行,且该存储转发装置预先根据交换端口的数量,产生分别对应于n个写端口和n个读端口的n*n个时间片,本发明实施提供的存储转发方法可以包括如下步骤:
步骤1,接收帧数据,将帧数据缓存在片上接收缓存区内,获得帧数据的长度,并获取该帧数据的存储空间起始地址;
步骤2,在端口写时间片有效、且当前写操作不是最后一次时,发出外部存储器的写操作信号,包括写数据、写地址和写有效信号;
步骤3,在第一个数据写出时,将接收的帧数据的转发信息写入发送模块的输出队列中,所述转发信息包括:所述帧数据的存储起始地址和长度;
步骤4,在端口写时间片有效、且当前写操作为最后一次时,同时发出外部存储器写操作信号和碎片存储器写操作信号,包括外部存储器写数据、写地址和写有效信号,以及碎片存储器写碎片数据、写地址和写有效信号,以同时将写数据存储到外部存储器,将写碎片数据存储到碎片存储器;
步骤5,从输出队列中获取所述帧数据的存储起始地址和长度,启动读操作;
步骤6,在端口读时间片有效、且当前读操作不是最后一次时,发出外部存储器读操作信号,包括读数据、读地址和读有效信号;
步骤7,在端口读时间片有效、且当前读操作为最后一次,同时发出外部存储器读操作信号和碎片存储器读操作信号,包括外部存储器读数据、读地址和读有效信号,以及碎片存储器读碎片数据、读地址和读有效信号,以同时从外部存储器读出读数据,从碎片存储器读出读碎片数据存。
为解决帧碎片数据读写造成的实际有效带宽利用率低的问题,本发明实施例提供一种应用于存储转发机制交换机的存储转发方法,以满足千兆交换机对带宽的要求。本发明实施例利用片上存储器作为碎片数据存储,在不增加片外存储资源和提高工作频率的情况下,将数据存储转发的效率提高到100%,满足了千兆交换机设计的带宽要求。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (8)
1.一种应用于存储转发机制交换机的存储转发装置,其特征在于,包括:时间片调度模块,接收模块,发送模块,外部存储器控制器,碎片存储控制器,碎片存储器和外部存储器;
所述时间片调度模块,用于根据交换端口的数量,产生n*n个时间片,所述n*n个时间片分别对应到n个写端口和n个读端口;
所述接收模块,用于接收一帧数据后,在其对应的端口写时间片有效、且有碎片数据时,同时产生写最后一个完整数据和写碎片数据,并将写最后一个完整数据通过外部存储器控制器存储到外部存储器,将写碎片数据通过碎片存储控制器存储到碎片存储器;
所述发送模块,用于在其对应的端口读时间片有效、且有碎片数据时,同时产生读最后一个完整数据和读碎片数据,并将读最后一个完整数据通过外部存储器控制器从外部存储器读出,将读碎片数据通过碎片存储控制器从碎片存储器读出。
2.根据权利要求1所述的应用于存储转发机制交换机的存储转发装置,其特征在于,还包括:地址管理模块;
所述地址管理模块,用于进行外部帧数据的存储空间管理,将外部存储器的存储空间划分为m帧空间进行存储控制,且所述地址管理模块中存储m帧空间的首地址;
所述碎片存储器中划分为m个碎片存储空间,每个存储空间大小为一个完整传输长度。
3.根据权利要求2所述的应用于存储转发机制交换机的存储转发装置,其特征在于,所述外部存储器中的每帧空间为2KB;
所述碎片存储器中每个存储空间为一个完整传输长度。
4.根据权利要求1所述的应用于存储转发机制交换机的存储转发装置,其特征在于,
所述接收模块,还用于接收一帧数据后,将帧数据缓存在片上接收缓存区内,获得帧数据的长度,并从地址管理模块获取该帧数据的存储空间起始地址;
所述接收模块,还用于将帧数据从片上接收缓存区搬移到外部存储器;所述搬移过程包括:
在其对应的端口写时间片有效、且当前写操作不是最后一次时,发出外部存储器的写操作信号,包括写数据、写地址和写有效信号;在第一个数据写出时,将接收的帧数据的转发信息写入发送模块的输出队列中,所述转发信息包括:所述帧数据的存储起始地址和长度
在其对应的端口写时间片有效、且当前写操作为最后一次时,同时发出外部存储器写操作信号和碎片存储器写操作信号,包括外部存储器写数据、写地址和写有效信号,以及碎片存储器写碎片数据、写地址和写有效信号。
5.根据权利要求4所述的应用于存储转发机制交换机的存储转发装置,其特征在于,
所述发送模块,还用于在其输出队列不为空时,从输出队列中获取所述帧数据的存储起始地址和长度,启动读操作;所述读操作过程包括:
在其对应的端口读时间片有效、且当前读操作不是最后一次时,发出外部存储器读操作信号,包括读数据、读地址和读有效信号;
在其对应的端口读时间片有效、且当前读操作为最后一次,发出外部存储器读操作信号和碎片存储器读操作信号,包括外部存储器读数据、读地址和读有效信号,以及碎片存储器读碎片数据、读地址和读有效信号。
6.根据权利要求5述的应用于存储转发机制交换机的存储转发装置,其特征在于,
所述外部存储器控制器,用于按照读写端口外部存储器写有效信号和读有效信号,产生对应的读信号或写信号至外部存储器;
所述碎片存储控制器,用于按照读写端口碎片写有效信号和读有效信号,产生对应的读信号或写信号至碎片存储器。
7.根据权利要求6述的应用于存储转发机制交换机的存储转发装置,其特征在于,所述外部存储器控制器和所述碎片存储控制器均为2n-to-1型MUX选通器。
8.一种应用于存储转发机制交换机的存储转发方法,其特征在于,采用如权利要求1~7中任一项所述的应用于存储转发机制交换机的存储转发装置执行所述方法,所述存储转发装置预先根据交换端口的数量,产生分别对应于n个写端口和n个读端口的n*n个时间片,所述存储转发方法包括:
步骤1,接收帧数据,将帧数据缓存在片上接收缓存区内,获得帧数据的长度,并获取该帧数据的存储空间起始地址;
步骤2,在端口写时间片有效、且当前写操作不是最后一次时,发出外部存储器的写操作信号,包括写数据、写地址和写有效信号;
步骤3,在第一个数据写出时,将接收的帧数据的转发信息写入发送模块的输出队列中,所述转发信息包括:所述帧数据的存储起始地址和长度;
步骤4,在端口写时间片有效、且当前写操作为最后一次时,同时发出外部存储器写操作信号和碎片存储器写操作信号,包括外部存储器写数据、写地址和写有效信号,以及碎片存储器写碎片数据、写地址和写有效信号,以同时将写数据存储到外部存储器,将写碎片数据存储到碎片存储器;
步骤5,从输出队列中获取所述帧数据的存储起始地址和长度,启动读操作;
步骤6,在端口读时间片有效、且当前读操作不是最后一次时,发出外部存储器读操作信号,包括读数据、读地址和读有效信号;
步骤7,在端口读时间片有效、且当前读操作为最后一次,同时发出外部存储器读操作信号和碎片存储器读操作信号,包括外部存储器读数据、读地址和读有效信号,以及碎片存储器读碎片数据、读地址和读有效信号,以同时从外部存储器读出读数据,从碎片存储器读出读碎片数据存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386359.2A CN111585918B (zh) | 2020-05-09 | 2020-05-09 | 一种应用于存储转发机制交换机的存储转发装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386359.2A CN111585918B (zh) | 2020-05-09 | 2020-05-09 | 一种应用于存储转发机制交换机的存储转发装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111585918A true CN111585918A (zh) | 2020-08-25 |
CN111585918B CN111585918B (zh) | 2022-05-06 |
Family
ID=72115312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010386359.2A Active CN111585918B (zh) | 2020-05-09 | 2020-05-09 | 一种应用于存储转发机制交换机的存储转发装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111585918B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393028B1 (en) * | 1999-02-25 | 2002-05-21 | Advanced Micro Devices, Inc. | Method and apparatus for providing EOF for frame modification |
CN104009942A (zh) * | 2014-06-17 | 2014-08-27 | 中国航空无线电电子研究所 | 一种千兆afdx交换机及其交换方法 |
CN105049377A (zh) * | 2015-08-17 | 2015-11-11 | 中国航天科技集团公司第九研究院第七七一研究所 | 基于Crossbar架构的AFDX交换机数据总线结构及数据交换方法 |
CN107888512A (zh) * | 2017-10-20 | 2018-04-06 | 深圳市楠菲微电子有限公司 | 动态共享缓冲存储器及交换机 |
-
2020
- 2020-05-09 CN CN202010386359.2A patent/CN111585918B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393028B1 (en) * | 1999-02-25 | 2002-05-21 | Advanced Micro Devices, Inc. | Method and apparatus for providing EOF for frame modification |
CN104009942A (zh) * | 2014-06-17 | 2014-08-27 | 中国航空无线电电子研究所 | 一种千兆afdx交换机及其交换方法 |
CN105049377A (zh) * | 2015-08-17 | 2015-11-11 | 中国航天科技集团公司第九研究院第七七一研究所 | 基于Crossbar架构的AFDX交换机数据总线结构及数据交换方法 |
CN107888512A (zh) * | 2017-10-20 | 2018-04-06 | 深圳市楠菲微电子有限公司 | 动态共享缓冲存储器及交换机 |
Also Published As
Publication number | Publication date |
---|---|
CN111585918B (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11916781B2 (en) | System and method for facilitating efficient utilization of an output buffer in a network interface controller (NIC) | |
CN110806986B (zh) | 提高网络芯片报文存储效率的方法、设备及存储介质 | |
CN108366111B (zh) | 一种用于交换设备的数据包低时延缓存装置与方法 | |
CN110247970B (zh) | 一种互连芯片动态共享缓冲装置 | |
CN110297797B (zh) | 异构协议转换装置和方法 | |
CN107783727B (zh) | 一种内存设备的访问方法、装置和系统 | |
CN109861931B (zh) | 一种高速以太网交换芯片的存储冗余系统 | |
US9274586B2 (en) | Intelligent memory interface | |
CN110058816B (zh) | 一种基于ddr的高速多用户队列管理器及方法 | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
CN111641566B (zh) | 数据处理的方法、网卡和服务器 | |
CN105553636A (zh) | 一种余度模式fc发送通道帧同步电路 | |
CN103577125A (zh) | 一种应用于高端磁盘阵列的跨控制器组写镜像方法和装置 | |
CN103942014A (zh) | Fc-ae-1553协议接口卡存储器映射装置及存储器映射方法 | |
US20190042496A1 (en) | Delayed link compression scheme | |
CN111611180B (zh) | 一种支持多协议的动态共享缓冲区 | |
CN111585918B (zh) | 一种应用于存储转发机制交换机的存储转发装置和方法 | |
CN105245313A (zh) | 无人机多载荷数据动态复接方法 | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
CN113014880A (zh) | 一种基于高速数据交换的多源图像共享系统 | |
CN104714832A (zh) | 一种用于机载数据网络异步数据交互区的缓冲管理方法 | |
CN112787955A (zh) | Mac层数据报文的处理方法、设备和存储介质 | |
EP1508225B1 (en) | Method for data storage in external and on-chip memory in a packet switch | |
CN100591067C (zh) | 一种用逻辑实现sdh和以太网速率适配的方法 | |
CN116032837A (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 |