CN106487711B - 一种缓存动态分配的方法以及系统 - Google Patents
一种缓存动态分配的方法以及系统 Download PDFInfo
- Publication number
- CN106487711B CN106487711B CN201610892588.5A CN201610892588A CN106487711B CN 106487711 B CN106487711 B CN 106487711B CN 201610892588 A CN201610892588 A CN 201610892588A CN 106487711 B CN106487711 B CN 106487711B
- Authority
- CN
- China
- Prior art keywords
- channel
- buffer
- cache
- time slots
- allocated
- 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/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
本发明提供一种缓存动态分配的方法,获取端口的时隙配置表;根据所述时隙配置表分配每个通道的缓存;本发明还提供一种缓存动态分配的系统;通过动态分配各通道的缓存,将速率快的通道多分配一些缓存,而将速率低的通道少分配一些缓存,未使用的通道不分配缓存,可以大大减少出现缓存欠载的几率及缓存的浪费。
Description
技术领域
本发明涉及一种缓存动态分配的方法以及系统。
背景技术
所谓数据帧,就是数据链路层的协议数据单元,它包括三部分:帧头,数据,帧尾。其中,帧头和帧尾包含一些必要的控制信息,如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如IP数据报文;在发送端,数据链路层把网络层传下来的数据封装成帧,然后发送到链路上去;在接收端,数据链路层把收到的帧中的数据取出并交给网络层。不同的数据链路层协议对应着不同的帧,所以,帧有多种,比如PPP帧、MAC帧等,其具体格式也不尽相同。
如下图1所示,待发送数据是以帧的形式存放在内存当中,DMAC通过接口将待发送数据从内存搬移到发送缓存当中,发送控制模块从发送缓存当中取出待发送数据进行发送。
缓存欠载(Underrun):正在发送的数据帧,由于当前数据帧还没有发送结束,但是发送数据缓存内没有待发送数据时,这种现象称之为Underrun。在数据传输系统当中,发生这种现象会严重影响传输效率,需要尽最大努力杜绝这种现象发生。
数据存储转发:存储转发是指将内存中的一帧数据搬移到发送缓存当中后,发送控制模块才开始发送数据,这种方式可以完全杜绝Underrun现象。但是它要求发送缓存至少能存一帧数据,因此需要的缓存容量比较大。如果发送的通道数量增多,那么就要求发送缓存的数量相应增大。
数据分片传输:传统的分片传输是指当发送缓存内有数据时,发送控制模块就开始往外发送数据。这种做法存在一种危险,当发送缓存内只有少量数据时,就开始往外发送数据,此时,如果DMAC由于接口带宽受限制,不能及时往缓存内写待发送数据,就很容易造成缓存欠载(Underrun)。
DMAC:DMA(Direct Memory Access Controller,直接内存存取控制器),它可以主动发起对内存的直接访问,对内存直接读写。
接口:这里说的接口是指CPU与外部之间的通讯接口。例如:PCI接口、PCIE接口等。
数据帧发送状态:当前数据帧处于正在发送状态,此时称数据帧处于发送状态;如果一帧数据发送结束,则称之为处于空闲状态。
多通道复用端口:这里是指一个端口有指定的数据传输速率,但在不同的时间段分配给不同的通道使用。
时隙分配:这里是指在一定时间段内,划分多个不同的时间片,将该时间片称之为时隙,多个时隙构成了这样的一个时间段。将每个时隙设置上通道号,这样的设置称之为时隙分配。多通道复用的端口,是通过时隙分配达到不同的通道分配不同的带宽。时隙分配越多的通道,所获得端口的带宽的百分比就越大。如CE1当中,数据带宽为2.048Mbit/S。即,约488ns传输1bit数据。一般将125us(8K)指定时间段,分32等分,每个等分为1个时隙,可以分配给1个通道。
现有的缓存分配方法,一般是每个通道分配固定的缓存大小。当通道数增加时,就会造成总的缓存需求增加,这样做法有以下几个缺点:
如果每个通道都采用存储转发的方式,那么通道数多的时候,就会导致需要的缓存容量非常大,这将会直接导致成本的增加;
如果每个通道都采用分片传输的方式,容易造成缓存大小与带宽不匹配。特别是在长帧(帧长度大于缓存容量)传输时,若某个通道分配的时隙多,那么就会造成读缓存的速度增大,就会造成出现Underrun的几率增大;若某个通道分配的时隙少,那么就会造成读缓存的速度慢,这样相对速率快的通道,分配给速率低的通道的缓存就有可能造成浪费;若某个通道在某些环境下不使用,那么就会造成这个通道的缓存浪费。
发明内容
本发明要解决的技术问题,在于提供一种缓存动态分配的方法以及系统,通过动态分配各通道的缓存,将速率快的通道多分配一些缓存,而将速率低的通道少分配一些缓存,未使用的通道不分配缓存,可以大大减少出现缓存欠载的几率及缓存的浪费。
本发明之一是这样实现的:一种缓存动态分配的方法,包括如下步骤:
步骤1、获取端口的时隙配置表;
步骤2、根据所述时隙配置表分配每个通道的缓存。
进一步地,所述时隙配置表包括每个通道分配的时隙个数。
进一步地,所述步骤2进一步具体为:将总缓存除以时隙总数得到平均值,之后将每个通道分配的时隙个数乘以平均值得到每个通道所需分配的缓存值,根据得到的缓存值对每个通道进行分配。
本发明之二是这样实现的:一种缓存动态分配的系统,包括如下模块:
获取模块,获取端口的时隙配置表;
分配模块,根据所述时隙配置表分配每个通道的缓存。
进一步地,所述时隙配置表包括每个通道分配的时隙个数,以及时隙总数。
进一步地,所述分配模块进一步具体为:将总缓存除以时隙总数得到平均值,之后将每个通道分配的时隙个数乘以平均值得到每个通道所需分配的缓存值,根据得到的缓存值对每个通道进行分配。
本发明具有如下优点:本发明一种缓存动态分配的方法以及系统,通过动态分配各通道的缓存,将速率快的通道多分配一些缓存,而将速率低的通道少分配一些缓存,未使用的通道不分配缓存,合理地分配有限的缓存资源,避免缓存的浪费,同时可以大大降低数据传输过程当中出现Underrun的几率,提高数据帧传输的安全性,而且方法原理简单,容易实现。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为现有的数据发送流程图。
图2为本发明方法执行流程图。
具体实施方式
如图2所示,本发明缓存动态分配的方法,包括如下步骤:
步骤1、获取端口的时隙配置表,所述时隙配置表包括每个通道分配的时隙个数;
步骤2、将总缓存除以时隙总数得到平均值,之后将每个通道分配的时隙个数乘以平均值得到每个通道所需分配的缓存值,根据得到的缓存值对每个通道进行分配。
本发明缓存动态分配的系统,包括如下模块:
获取模块,获取端口的时隙配置表,所述时隙配置表包括每个通道分配的时隙个数,以及时隙总数;
分配模块,将总缓存除以时隙总数得到平均值,之后将每个通道分配的时隙个数乘以平均值得到每个通道所需分配的缓存值,根据得到的缓存值对每个通道进行分配。
本发明一种具体实施方式:
以下以32个时隙32个通道配置为例,进行说明;
在实际应用当中,要对通道进行时隙分配就需要有时隙配置表,分配的时隙个数越多代表通道速率越快,假如时隙配置如表1所示:
表1时隙配置表
分配结束后对表1进行时隙扫描,我们可以得到每个通道的时隙个数,如通道0分配3个时隙,通道1分配5个时隙,通道6分配0个时隙,得到各个通道的时隙个数统计如表2所示:
表2通道时隙个数
端口的缓存大小是固定的,如2K字节。如果有32个时隙,则每个时隙可分配64字节缓存,通道的缓存大小=64*时隙个数,如通道1分配的缓存=64*3=192字节,通道6分配的时隙个数为0,分配的缓存为0个字节,根据这个分配规则,各通道缓存分配如表3所示:
表3通道动态缓存分配
通道速率与分配的时隙个数成正比,时隙个数越多,通道速率越快,相应分配的缓存就越多;时隙个数越少,通道速率越慢,相应分配的缓存就越少;时隙个数为0,则该通道分配的缓存为0。在实际应用过程当中,端口缓存大小与时隙个数根据系统实际情况可做调整,具体每个端口可用的时隙个数是灵活可变的,本专利不做限制。
优点说明:
缓存的大小与通道的速率成正比。
避免速率低的通道分配太多缓存造成存储资源浪费;
避免未分配时隙的通道也占用缓存,造成缓存资源的浪费;
避免速率高的通道分配太少缓存,造成因为存储资源不够引起的缓存欠载;
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (2)
1.一种缓存动态分配的方法,其特征在于:包括如下步骤:
步骤1、获取端口的时隙配置表,所述时隙配置表包括每个通道分配的时隙个数;
步骤2、将总缓存除以时隙总数得到平均值,之后将每个通道分配的时隙个数乘以平均值得到每个通道所需分配的缓存值,根据得到的缓存值对每个通道进行分配。
2.一种缓存动态分配的系统,其特征在于:包括如下模块:
获取模块,获取端口的时隙配置表,所述时隙配置表包括每个通道分配的时隙个数;
分配模块,将总缓存除以时隙总数得到平均值,之后将每个通道分配的时隙个数乘以平均值得到每个通道所需分配的缓存值,根据得到的缓存值对每个通道进行分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610892588.5A CN106487711B (zh) | 2016-10-13 | 2016-10-13 | 一种缓存动态分配的方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610892588.5A CN106487711B (zh) | 2016-10-13 | 2016-10-13 | 一种缓存动态分配的方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106487711A CN106487711A (zh) | 2017-03-08 |
CN106487711B true CN106487711B (zh) | 2020-02-21 |
Family
ID=58269308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610892588.5A Active CN106487711B (zh) | 2016-10-13 | 2016-10-13 | 一种缓存动态分配的方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106487711B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347615B (zh) * | 2019-07-05 | 2022-02-18 | 南京芯驰半导体科技有限公司 | 动态资源配置方法及缓存单元 |
CN114884909B (zh) * | 2022-07-11 | 2022-09-09 | 苏州联讯仪器有限公司 | Dma数据传输方法、dma数据传输装置及数据传输系统 |
CN116233200B (zh) * | 2023-05-10 | 2023-08-15 | 浙江正泰仪器仪表有限责任公司 | 一种基于后续帧动态注册的电能表通信方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043282A (zh) * | 2006-03-24 | 2007-09-26 | 中兴通讯股份有限公司 | 多通道语音处理的数据存储方法 |
CN100531093C (zh) * | 2006-10-13 | 2009-08-19 | 中兴通讯股份有限公司 | 一种减少业务倒换时间的方法 |
CN100542180C (zh) * | 2007-04-12 | 2009-09-16 | 华为技术有限公司 | 一种高级数据链路控制通道带宽动态调整中的方法及装置 |
CN101145876B (zh) * | 2007-07-25 | 2011-05-25 | 中兴通讯股份有限公司 | 时隙配置方法和时隙配置装置 |
CN101720037B (zh) * | 2009-12-17 | 2011-10-12 | 青岛海信宽带多媒体技术有限公司 | 一种dvb数据的动态缓存方法 |
CN101957800A (zh) * | 2010-06-12 | 2011-01-26 | 福建星网锐捷网络有限公司 | 多通道缓存分配方法及装置 |
CN102938903B (zh) * | 2012-10-29 | 2016-06-22 | 中兴通讯股份有限公司 | 一种避免测量时机与数据传输时机冲突的方法及装置 |
US8909866B2 (en) * | 2012-11-06 | 2014-12-09 | Advanced Micro Devices, Inc. | Prefetching to a cache based on buffer fullness |
-
2016
- 2016-10-13 CN CN201610892588.5A patent/CN106487711B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106487711A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3073688B1 (en) | Data transmission method, core forwarding device and end point forwarding device | |
CN100542180C (zh) | 一种高级数据链路控制通道带宽动态调整中的方法及装置 | |
CN111327391B (zh) | 一种时分复用方法及装置、系统、存储介质 | |
CN106487711B (zh) | 一种缓存动态分配的方法以及系统 | |
US9055483B2 (en) | Scheduling in a two-tier network | |
US11411892B2 (en) | Packet fragment processing method and apparatus and system | |
US8310934B2 (en) | Method and device for controlling information channel flow | |
EP1484867A2 (en) | Allocating Channel Time in a Wireless Network | |
US10735129B2 (en) | Bandwidth allocation apparatus and method for providing low-latency service in optical network | |
US7974190B2 (en) | Dynamic queue memory allocation with flow control | |
CN109428827B (zh) | 一种流量自适应的缓存分配装置及方法、onu设备 | |
US11252043B2 (en) | Link group configuration method and apparatus | |
KR20210065393A (ko) | 수동형 광 네트워크의 통합형 동적 대역 할당 방법 및 장치 | |
US20070089030A1 (en) | Configurable bandwidth allocation for data channels accessing a memory interface | |
CN102957626A (zh) | 一种报文转发方法和装置 | |
JP2023024536A (ja) | データ送信方法及び関連する装置 | |
KR20210070555A (ko) | 무선 네트워크를 위하여 슬라이싱을 고려한 광 액세스 네트워크 및 광 액세스 네트워크의 데이터 전송 방법 | |
WO2021175016A1 (zh) | 无线传输方法和装置、信息确定方法和装置、电子设备、计算机可读存储介质 | |
WO2020238797A1 (zh) | 数据复用传输方法、基站、终端以及存储介质 | |
WO2019029306A1 (zh) | 传输下行控制信息的方法、装置和系统 | |
CN116755624A (zh) | 基于fc设备多分区独立缓存的通信方法与系统 | |
KR101573549B1 (ko) | 이종 프로토콜 간 대용량 데이터 전송을 위한 데이터 전송 시스템 및 그 데이터 전송 방법 | |
CN112491620B (zh) | 一种基于srio的多通道数据传输控制器及调整方法 | |
WO2017173804A1 (zh) | 接入资源调整方法及装置 | |
CN103731225B (zh) | 一种数据传输方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |