CN106656862A - 网络芯片超带宽时保证多通道之间丢包均匀性的方法 - Google Patents
网络芯片超带宽时保证多通道之间丢包均匀性的方法 Download PDFInfo
- Publication number
- CN106656862A CN106656862A CN201611237268.2A CN201611237268A CN106656862A CN 106656862 A CN106656862 A CN 106656862A CN 201611237268 A CN201611237268 A CN 201611237268A CN 106656862 A CN106656862 A CN 106656862A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- passage
- channel
- address
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/629—Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络芯片超带宽时保证多通道之间丢包均匀性的方法,当数据接收模块收到某个通道数据后,将该通道对应的存储器总使用计数器和通道使用计数器的值与预设阈值进行比较,判断是否可以将所述通道数据写入当前通道的存储器;若可写入,所述总使用计数器和通道使用计数器的值分别加1,并将当前通道编号和存储地址写入对应的调度请求FIFO;若不可写入,丢弃所述通道数据;数据接收模块通过调度机制将缓存在存储器中的数据读出并发送给后级模块。采用本发明可充分利用通道组的存储器存储空间,又保证了网络芯片超带宽时多通道之间丢包的均匀性。
Description
技术领域
本发明涉及网络芯片数据存储资源管理技术领域,具体涉及一种网络芯片超带宽时保证多通道之间丢包均匀性的方法。
背景技术
在高密度网络芯片中,多通道的数据汇聚到数据接收模块并调度至芯片内部进行处理。随着外部输入带宽的增加,会出现特定包长时数据接收模块输出带宽小于输入带宽的现象,称之为网络超带宽。
在传统的数据接收模块设计中,首先从存储器可使用地址FIFO(First InputFirst Output,先进先出队列)中取出一个地址,将数据写进存储器对应地址中,并根据数据到达的先后顺序产生调度请求,将存储器的写地址写入调度请求FIFO,待调度模块将某个通道的数据调度出来,发送给下级模块处理,如图1所示。在网络超带宽时,存储器的入口流量大于出口流量,导致存储器被占满,此时存储器的存储管理技术将直接影响到芯片支持短时间网络超带宽的能力,以及长时间网络超带宽时各通道之间的丢包均匀性。
现有技术提出了一种存储器使用固定地址分配的方法,存储器按照通道组中各通道的带宽比例分配存储空间,从而保证各通道在网络超带宽时使用存储器的公平性。由于每个通道对应的存储空间是固定分配的,在短时间网络超带宽时会发生某些通道存储空间未有效使用,而某些通道因存储空间不足发生丢包的现象,且存储器的存储空间得不到最大化利用。
现有技术还提出了一种多通道共享存储空间的方法,所有通道共享整个存储器的存储空间,只有当存储器存储空间不足时才会发生丢包。在短时间网络超带宽时,该方法可以有效地存储通道组所有通道的数据,充分利用存储器的存储空间。但是,在长时间网络超带宽时,通道组中各通道丢包率呈完全随机化的现象,丢包均匀性得不到有效的保障。
发明内容
针对现有技术的不足,本发明的主要目的在于:提出了一种新型的多通道数据存储管理方法,可以充分利用存储器存储空间,同时改善网络超带宽时各通道之间的丢包均匀性,从而提高网络芯片的转发管理能力。
为实现前述目的,本发明公开了一种网络芯片超带宽时保证多通道之间丢包均匀性的方法,具体包括:数据接收模块外接多个数据通道组,每个数据通道组使用一个一读一写存储器,每个存储器对应一个可使用地址FIFO和一个调度请求FIFO,并且为每个数据通道组的存储器设置一个总使用计数器,数据通道组中的每个数据通道设置一个通道使用计数器;
当数据接收模块收到某个通道数据后,将该通道对应的存储器总使用计数器和通道使用计数器的值与预设阈值进行比较,判断是否可以将所述通道数据写入当前通道的存储器;若可写入,从对应的可使用地址FIFO中读取一地址,并将所述通道数据写入该地址对应的存储空间,所述总使用计数器和通道使用计数器的值分别加1,并将当前通道编号和存储地址写入对应的调度请求FIFO;若不可写入,丢弃所述通道数据;
通过调度机制选择某一通道组的调度请求FIFO,读出所述调度请求FIFO的数据,根据读出数据中的存储地址从相应存储器读出报文数据并发送给后级模块处理;
所述报文数据从存储器被读出后,释放其存储空间,并将该存储空间对应的地址写回相应的可使用地址FIFO,同时将相应的总使用计数和通道使用计数器的值分别减1。
优选地,所述阈值包括:每个数据通道组的存储器设有一个总存储阈值,数据通道组中的每个数据通道设有一个通道存储阈值,各通道存储阈值之和大于总存储阈值且小于存储器总深度。
优选地,所述判断是否可以将所述通道数据写入当前通道的存储器的步骤如下:
S1.数据接收模块接收到所述通道数据后,判断对应存储器的总使用计数器的值是否小于该存储器总深度,若是,则执行步骤S2;否则执行步骤S4;
S2.判断该存储器的总使用计数器的值是否大于总存储阈值,若是,则执行步骤S3;否则执行步骤S5;
S3.判断该通道使用计数器的值是否大于该通道存储阈值,若是,执行步骤S4;否则执行步骤S5;
S4.丢弃当前数据;
S5.存储当前数据。
优选地,所述通道存储阈值按照各通道之间带宽比例进行配置。
优选地,所述可使用地址FIFO的深度与对应的存储器深度相同,用于存储对应的存储器未被占用的存储地址。
优选地,在初始化操作时,各通道组的存储器地址全部写入其对应的可使用地址FIFO中。
优选地,所述调度机制采用WRR算法实现各通道组之间的仲裁。
与现有技术相比,本发明的优点在于:本发明公开的一种网络芯片超带宽时保证多通道之间丢包均匀性的方法,充分利用了通道组的存储器存储空间,又保证了网络芯片超带宽时多通道之间丢包的均匀性。
附图说明
图1是现有技术中一种数据接收模块存储/调度架构图;
图2是本发明一实施例提出的数据接收模块中存储器地址空间分配示意图。
图3是本发明一实施例提出的数据接收模块中数据存储管理流程图;
具体实施方式
鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。
本发明实施例通过对网络芯片多通道数据接收模块进行资源管理,充分利用通道组内的存储空间,以改善改善芯片网络超带宽时多通道之间丢包均匀性。具体包括:
数据接收模块外接多个数据通道组,各通道组之间的控制、存储逻辑相互独立,每个数据通道组包含多个数据通道。仍以图1所示架构为例,每个数据通道组使用一个调度请求FIFO和一个深度为D的一读一写(1R1W)存储器缓存数据,即每个数据通道组的所有数据通道共享一个存储器。每个存储器对应一个可使用地址FIFO,该FIFO中存储的是存储器未被占用的地址,其深度和存储器深度一致。在初始化操作时,存储器中存储空间的所有地址都写入该FIFO。
另外,为每个数据通道组的存储器设置一个总使用计数器,并为数据通道组中的每个数据通道设置一个通道使用计数器;相应地,为每个存储器总使用计数器和通道使用计数器分别设置相应的阈值,作为是否存在可用存储空间的判断依据。
当数据接收模块收到某个通道数据后,将该通道对应的存储器总使用计数器和通道使用计数器的值与预设阈值进行比较,判断是否可以将所述通道数据写入当前通道的存储器;若可写入,从对应的可使用地址FIFO中读取一地址,并将所述通道数据写入该地址对应的存储空间,所述总使用计数器和通道使用计数器的值分别加1,并将当前通道编号和存储地址写入对应的调度请求FIFO;若不可写入,丢弃所述通道数据;
当进行读取数据操作时,通过调度机制选择某一通道组的调度请求FIFO,读出所述调度请求FIFO的数据,根据读出数据中的存储地址从相应存储器读出报文数据并发送给后级模块处理;
当报文数据从存储器被读出后,释放其存储空间,并将该存储空间对应的地址写回相应的可使用地址FIFO,同时将相应的总使用计数和通道使用计数器的值分别减1。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
为充分利用存储器空间,本发明实施例对各数据通道组使用的存储器引入了一种地址空间管理机制,图2为本发明一实施例提出的数据接收模块中存储器地址空间分配示意图,如图2所示:
该存储器的地址空间分配有总存储阈值M和通道存储阈值(通道0存储阈值M0、···、通道n存储阈值Mn),其中,总存储阈值M小于存储器总深度D。通道存储阈值按照各通道之间的带宽比例进行配置,且各通道存储阈值之和大于总存储阈值M且小于存储器总深度D。
每个存储器维护一个总使用计数器N,数据通道组中的各个数据通道维护一个通道使用计数器。存储数据通道组中任意一个通道的数据时,对应的总使用计数器与通道使用计数器的值均加1,读出某一通道组中任意一个通道的数据时对应的总使用计数器与通道使用计数器的值均减1。
当数据接收模块接收到某个通道的数据,对该通道使用的存储器进行写操作时,地址空间管理流程如图3所示,以图2中通道0为例,其具体步骤如下:
步骤301:接收到通道0数据后,判断对应存储器的总使用计数器的值N是否小于该存储器总深度D,若是,则执行步骤302;否则执行步骤304。
步骤302:判断该存储器的总使用计数器的值N是否大于总存储阈值M,若是,则执行步骤303;否则执行步骤305。
步骤303:判断通道0使用计数器的值是否大于该通道存储阈值M0,若是,执行步骤304;否则执行步骤305。
步骤304:丢弃当前数据并结束。
步骤305:存储当前数据并结束。
其中,步骤305所述存储当前数据具体包括:从当前存储器的可使用地址FIFO中获取一个存储地址,根据该地址将当前数据写进该存储器,同时将该存储器的总使用计数器和通道0使用计数器的值分别加1,并将通道0的编号和存储地址写入对应的调度请求FIFO。
本实施例中,通过设置总存储阈值,使得在存储器存储空间充足的情况下,数据通道组内的所有通道共享该存储器的所有存储空间,有效地抵抗了短时间网络超带宽对数据接收模块的冲击。
通过设置通道存储阈值,使得在存储器存储空间不足的情况下,按照带宽的大小给各通道公平地分配存储空间,保证了各通道在长时间网络超带宽时丢包的均匀性。
当进行读取数据操作时,数据接收模块通过一定的调度机制将缓存在存储器中的数据读出来并发送给后级模块。具体包括:通过数据通道组之间的调度来实现各数据通道组之间的仲裁,均衡数据通道组之间的带宽流量,选出一个数据通道组使用的调度请求FIFO,读出该调用请求FIFO中的数据,并根据该数据中的存储地址读出该数据通道组的存储器中的报文数据。从存储器读取数据后,释放该报文数据的存储空间,将该地址重新写回该存储器的可使用地址FIFO,并将该存储器的总使用计数器和对应通道使用计数器的值分别减1。
其中,数据通道组之间的调度可通过WRR算法实现,保证数据通道组之间的带宽平衡。
采用本发明提供的一种网络芯片超带宽时保证多通道之间丢包均匀性的方法,在充分利用存储空间的前提下保证各通道之间存储的公平性,同时保证网络芯片超带宽时多通道之间丢包均匀性。
应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (7)
1.一种网络芯片超带宽时保证多通道之间丢包均匀性的方法,数据接收模块外接多个数据通道组,每个数据通道组使用一个一读一写存储器,每个存储器对应一个可使用地址FIFO和一个调度请求FIFO,其特征在于:
为每个数据通道组的存储器设置一个总使用计数器,数据通道组中的每个数据通道设置一个通道使用计数器;
当数据接收模块收到某个通道数据后,将该通道对应的存储器总使用计数器和通道使用计数器的值与预设阈值进行比较,判断是否可以将所述通道数据写入当前通道的存储器;若可写入,从对应的可使用地址FIFO中读取一地址,并将所述通道数据写入该地址对应的存储空间,所述总使用计数器和通道使用计数器的值分别加1,并将当前通道编号和存储地址写入对应的调度请求FIFO;若不可写入,丢弃所述通道数据;
通过调度机制选择某一通道组的调度请求FIFO,读出所述调度请求FIFO的数据,根据读出数据中的存储地址从相应存储器读出报文数据并发送给后级模块处理;
所述报文数据从存储器被读出后,释放其存储空间,并将该存储空间对应的地址写回相应的可使用地址FIFO,同时将相应的总使用计数和通道使用计数器的值分别减1。
2.根据权利要求1所述的网络芯片超带宽时保证多通道之间丢包均匀性的方法,其特征在于所述阈值包括:每个数据通道组的存储器设有一个总存储阈值,数据通道组中的每个数据通道设有一个通道存储阈值,各通道存储阈值之和大于总存储阈值且小于存储器总深度。
3.根据权利要求2所述的网络芯片超带宽时保证多通道之间丢包均匀性的方法,其特征在于,所述判断是否可以将所述通道数据写入当前通道的存储器的步骤如下:
S1.数据接收模块接收到所述通道数据后,判断对应存储器的总使用计数器的值是否小于该存储器总深度,若是,则执行步骤S2;否则执行步骤S4;
S2.判断该存储器的总使用计数器的值是否大于总存储阈值,若是,则执行步骤S3;否则执行步骤S5;
S3.判断该通道使用计数器的值是否大于该通道存储阈值,若是,执行步骤S4;否则执行步骤S5;
S4.丢弃当前数据;
S5.存储当前数据。
4.根据权利要求2所述的网络芯片超带宽时保证多通道之间丢包均匀性的方法,其特征在于:所述通道存储阈值按照各通道之间带宽比例进行配置。
5.根据权利要求1所述的网络芯片超带宽时保证多通道之间丢包均匀性的方法,其特征在于:所述可使用地址FIFO的深度与对应的存储器深度相同,用于存储对应的存储器未被占用的存储地址。
6.根据权利要求5所述的网络芯片超带宽时保证多通道之间丢包均匀性的方法,其特征在于:在初始化操作时,各通道组的存储器地址全部写入其对应的可使用地址FIFO中。
7.根据权利要求1所述的网络芯片超带宽时保证多通道之间丢包均匀性的方法,其特征在于:所述调度机制采用WRR算法实现各通道组之间的仲裁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611237268.2A CN106656862B (zh) | 2016-12-28 | 2016-12-28 | 网络芯片超带宽时保证多通道之间丢包均匀性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611237268.2A CN106656862B (zh) | 2016-12-28 | 2016-12-28 | 网络芯片超带宽时保证多通道之间丢包均匀性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106656862A true CN106656862A (zh) | 2017-05-10 |
CN106656862B CN106656862B (zh) | 2019-12-03 |
Family
ID=58832051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611237268.2A Active CN106656862B (zh) | 2016-12-28 | 2016-12-28 | 网络芯片超带宽时保证多通道之间丢包均匀性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106656862B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347615A (zh) * | 2019-07-05 | 2019-10-18 | 南京芯驰半导体科技有限公司 | 动态资源配置方法及缓存单元 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6094686A (en) * | 1997-10-24 | 2000-07-25 | Compaq Computer Corporation | Multi-processor system for transferring data without incurring deadlock using hierarchical virtual channels |
CN105656807A (zh) * | 2015-12-25 | 2016-06-08 | 盛科网络(苏州)有限公司 | 一种网络芯片多通道数据传输方法及传输装置 |
-
2016
- 2016-12-28 CN CN201611237268.2A patent/CN106656862B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6094686A (en) * | 1997-10-24 | 2000-07-25 | Compaq Computer Corporation | Multi-processor system for transferring data without incurring deadlock using hierarchical virtual channels |
CN105656807A (zh) * | 2015-12-25 | 2016-06-08 | 盛科网络(苏州)有限公司 | 一种网络芯片多通道数据传输方法及传输装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347615A (zh) * | 2019-07-05 | 2019-10-18 | 南京芯驰半导体科技有限公司 | 动态资源配置方法及缓存单元 |
CN110347615B (zh) * | 2019-07-05 | 2022-02-18 | 南京芯驰半导体科技有限公司 | 动态资源配置方法及缓存单元 |
Also Published As
Publication number | Publication date |
---|---|
CN106656862B (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7474668B2 (en) | Flexible multilevel output traffic control | |
US8730982B2 (en) | Scheduling of data transmission with minimum and maximum shaping of flows in a network device | |
US20060187945A1 (en) | Weighted-fair-queuing relative bandwidth sharing | |
US8339949B2 (en) | Priority-aware hierarchical communication traffic scheduling | |
EP1720295A1 (en) | Dynamic sharing of a transaction queue | |
EP3166269B1 (en) | Queue management method and apparatus | |
JPWO2012120769A1 (ja) | 中継装置、中継装置の制御方法、およびプログラム | |
CN100420241C (zh) | 实现信息交换的***及方法和调度算法 | |
CN105656807B (zh) | 一种网络芯片多通道数据传输方法及传输装置 | |
CN102857446B (zh) | 以太网交换芯片的缓存管理方法及装置 | |
CN106488560A (zh) | 一种资源选择方法及装置 | |
CN102971997B (zh) | 包括数据分段和数据描述分段的分组缓冲器 | |
CN101374109B (zh) | 一种报文调度方法和调度装置 | |
US6504843B1 (en) | System and method for dynamically mapping a high speed link to a multiplicity of low speed trunked links | |
CN108768898A (zh) | 一种片上网络传输报文的方法及其装置 | |
CN106209681B (zh) | 一种队列管理方法和装置 | |
CN114531488A (zh) | 一种面向以太网交换器的高效缓存管理*** | |
CN106656862A (zh) | 网络芯片超带宽时保证多通道之间丢包均匀性的方法 | |
CN101719869B (zh) | 一种采用关联令牌桶算法动态分配带宽的方法 | |
CN102802200B (zh) | 一种数据报文的发送方法和设备 | |
US7551558B2 (en) | Method and system for controlling bandwidth allocation | |
US9531616B2 (en) | Method and system for counting data packets | |
CN100493000C (zh) | 一种实现多逻辑通道计数的方法和装置 | |
CN103780507B (zh) | 缓存资源的管理方法及装置 | |
CN105389267B (zh) | stats分配的芯片实现方法 |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: 215000 unit 13 / 16, floor 4, building B, No. 5, Xinghan street, Wuxi Industrial Park, Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |