CN1852223A - Atm信元组包的包缓存管理方法 - Google Patents
Atm信元组包的包缓存管理方法 Download PDFInfo
- Publication number
- CN1852223A CN1852223A CNA2005100372715A CN200510037271A CN1852223A CN 1852223 A CN1852223 A CN 1852223A CN A2005100372715 A CNA2005100372715 A CN A2005100372715A CN 200510037271 A CN200510037271 A CN 200510037271A CN 1852223 A CN1852223 A CN 1852223A
- Authority
- CN
- China
- Prior art keywords
- cell
- bag
- current cell
- atm
- management method
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种ATM信元组包的包缓存管理方法,包括以下步骤:(a)若判断当前信元为头信元,则申请一个基本缓存和一个附加空间,并将当前信元净荷写入基本缓存的起始位置;(b)若判断当前信元为中间信元,则判断所述当前信元的顺序号是否大于32;(c)若当前信元的顺序号小于或等于32,则将当前信元写入基本缓存;若当前信元的顺序号大于32,则将当前信元写入附加空间。本发明通过为基本缓存提供附加空间,实现了在完全不改变外部存储空间的突发操作特性以及整个报文处理过程前提下,缓存控制信息,从而支持超过32个信元的ATM帧。
Description
技术领域
本发明涉及通讯领域,特别涉及一种ATM信元组包的包缓存管理方法。
背景技术
在各种ATM到IP或者以太网的变换通信设备中,通常要进行ATM信元的组包工作,该信元组包部分的结构如图1所示。组包模块11用于维护基于PVC(permanent virtual connection,永久虚连接)的组包链接表,并在组包完成后把帧控制信息传递给下级模块,其中帧控制信息包括:ATM帧的长度、该帧在外部存储装置存放的缓存地址等。同时组包模块11还向空闲缓存管理模块(FBM)申请缓存(即buffer,此处是指存储一个ATM帧的基本空间,容量为2k字节),并将信元按顺序写入相应的外部存储装置(例如DDRSDRAM)。包编辑模块15用于读取外部存储装置中的信元,以进行报文的编辑。在图1中,信元的处理流程如下:首先来自ATM的信元输入到组包模块11,该组包模块11将基于PVC的信元重组。组包模块11在组完包后把整个ATM帧的控制信息(FCI)经由其它处理模块13传递给包编辑模块15,包编辑模块15再根据帧控制信息中报文长度以及缓存地址,从外部存储装置中读出包数据进行处理。在包编辑模块15处理完毕后释放缓存到空闲缓存管理模块14。
一般在上述变换通信设备中,处理信元组包时允许多个PVC链接,并且允许PVC之间的信元交织。因此通常信元组包方法为:收到一个信元后,根据信元头的信息得到PVC索引及是否是首信元,若是首信元则申请一个新的包缓存(一个基本缓存是2k字节),并把信元净荷48字节写入存储装置中;如果是中间信元则从组包链接表中读出保存的包缓存基地址和偏移量信息(信元的顺序计数),同样把信元写入到外部存储装置中。
考虑到存储装置的读写效率和突发操作问题,现有的方法一般是一个48字节的信元净荷直接占用64字节的小块(Block)空间,同一个PVC的信元按顺序存入到同一个基本缓存的小块中。即一个2k字节的缓存可以连续分成32个小块。如图2所示,阴影部分就是每一小块实际空闲的空间:64-48=16字节。同样地,在读取存储装置数据侧的包编辑模块15,也采取突发64字节的固定长度读取方法,只取前面48字节的有效信元净荷。这样,读写存储装置都采用了固定长度的操作,提高了存储装置的利用率和包读写处理速率。
根据上述方法,在信元输入侧,可以支持一个ATM帧最长是32个信元净荷,即32×48=1536字节。
如前所描述,现有的信元缓存方法只能支持最大1536字节。如果超过1536字节的ATM帧,现有方法就无法满足要求。如果简单的把一个包分配的基本缓存的大小翻倍,则耗费的存储装置容量将翻倍,尤其在同时支持多条PVC的情况下。如要支持2k的PVC,至少要2k×2k字节=4M字节的存储装置;如果把基本小块扩大成4k字节,总容量将是8M字节,并且存储装置的利用率也不高,同时不利于连接数量的扩充。
发明内容
本发明的目的在于,提供一种ATM信元组包的包缓存管理方法,解决现有ATM信元组包的包缓存管理方法中浪费存储空间、连接数量不易扩充的问题。
本发明的技术方案是,提供一种ATM信元组包的包缓存管理方法,包括以下步骤:
(a)若判断当前信元为头信元,则申请一个基本缓存和一个附加空间,并将当前信元净荷写入基本缓存的起始位置;
(b)若判断当前信元为中间信元,则判断所述当前信元的顺序号是否大于32;
(c)若当前信元的顺序号小于或等于32,则将当前信元写入基本缓存;若当前信元的顺序号大于32,则将当前信元写入附加空间。
上述的ATM信元组包的包缓存管理方法中,步骤(c)中还包括以下步骤:
(c1)根据当前信元的头信息判断当前信元是否为ATM帧的最末信元,若当前信元为最末信元,则根据所有信元存储位置生成帧控制信息,并将所述帧控制信息传递到包编辑模块,所述帧控制信息包括ATM帧的长度和所述ATM帧在外部存储装置中的缓存地址。
上述的ATM信元组包的包缓存管理方法中,还包括根据所述帧控制信息读取基本缓存及附加空间内存储的信元的步骤。
上述的ATM信元组包的包缓存管理方法中,所述当前信元所在的ATM帧包括32+n个信元,其中n为大于或等于1的整数。
上述的ATM信元组包的包缓存管理方法中,步骤(a)中的基本缓存大小为32×64字节,附加空间大小为n×64字节。
上述的ATM信元组包的包缓存管理方法中,步骤(a)中包括维护基于PVC(永久虚连接)的组包链接表的步骤。
上述的ATM信元组包的包缓存管理方法中,步骤(c)中所述当前信元写入基本缓存的位置根据所述组包链接表中基本缓存的基地址和当前信元的偏移量确定。
上述的ATM信元组包的包缓存管理方法中,所述基本缓存和附加空间通过指针相关联。
本发明的ATM信元组包的包缓存管理方法,通过为基本缓存提供附加空间,实现了在完全不改变外部存储空间的突发操作特性以及整个报文处理过程前提下,缓存控制信息,从而支持超过32个信元的ATM帧。
附图说明
图1是ATM信元组包的装置的结构框图;
图2是现有ATM帧在缓存中的存放的示意图;
图3是本发明的ATM信元组包的包缓存管理方法中组包的流程图。
具体实施方式
如图3所示,是本发明的ATM信元组包的包缓存管理方法中组包的流程图。在本实施例中,假设从信元输出侧输入的ATM帧为长包,其长度为33个信元,即33×48=1584字节。首先,组包模块11从ATM设备接收输入的信元(步骤S31),从输入的信元头信息中获取PVC(永久虚连接)索引(步骤S32),并根据信元头信息判断当前信元是否为首信元(步骤S33)。在本实施例中,信元头信息包括信元在ATM帧中的顺序等控制信息。
若当前信元为首信元,则组包模块11向空闲缓存管理模块14申请一个位于外部存储装置12中的新的基本缓存(大小为2k字节),同时为该基本缓存分配一个附加空间(该附加空间的长度为一个小块,即64字节);然后根据分配的基本缓存及附加空间维护基于PVC(永久虚连接)的组包链接表(步骤S34),并把当前信元净荷48字节写入到外部存储装置(可以是DDRSDRAM)(步骤S35)。在本实施例中,一个基本缓存分为32个小块,每一小块为64字节,一个信元占据一个小块。在本实施例中,组包链接表包括:信元是否是一个包首信元的标志;信元在外部缓存的存储基地址、以及偏移量,即信元在当前包中的顺序号。
如果当前信元并非首信元,则组包模块11进一步读取当前信元的组包链接表,获取当前信元的包缓存基地址和偏移量信息(即信元的顺序计数)(步骤S36),并判断当前信元的顺序号是否为33,即分配的基本缓存是否写满(步骤S37)。若当前信元的顺序号非32,则将当前信元写入外部存储装置12中,然后返回步骤S31,进行下一信元的处理;若当前信元的顺序号为33,即当前信元为ATM帧的最后一个信元,则将当前信元写入在步骤S34中分配的基本缓存的附加空间(步骤S38)。
在所有信元组包完成后,组包模块11生成当前ATM帧的帧控制信息(记录帧长、帧存放的基本缓存的基地址信息),并将该帧控制信息经由其它处理模块13传输到包编辑模块15,该帧控制信息包括ATM帧的长度以及该帧在外部存储设备存放的缓存地址(步骤S39),完成一个ATM帧的写入。
类似地,当包编辑模块15从存储装置12中读取信元时,根据来自组包模块11的帧控制信息,依次从基本缓存以及附加空间读取信元。在一个ATM帧的所有的数据(信元)读取成功后,通过空闲缓存管理模块14释放该ATM帧占据的缓存。
在本发明的另一实施例中,ATM帧的长度也可以是34个(34×48=1632字节)或34个以上的信元。在该实施例中,与图3的实施例类似,只是在申请包缓存时为每一个基本缓存申请的附加空间为两个或两个以上的连续小块,每一小块的大小为64字节。信元读取过程也是先基本缓存后附加空间。
如上所述的实施例中,其在完全不改变外部存储装置的突发操作特性以及整个报文处理过程的前提下,缓存控制信息,在增加很小的外部存贮装置缓存的容量情况下,可以方便支持超过32个信元的ATM帧。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1、一种ATM信元组包的包缓存管理方法,其特征在于,包括以下步骤:
(a)若判断当前信元为头信元,则申请一个基本缓存和一个附加空间,并将当前信元净荷写入基本缓存的起始位置;
(b)若判断当前信元为中间信元,则判断所述当前信元的顺序号是否大于32;
(c)若当前信元的顺序号小于或等于32,则将当前信元写入基本缓存;若当前信元的顺序号大于32,则将当前信元写入附加空间。
2、根据权利要求1所述的ATM信元组包的包缓存管理方法,其特征在于,步骤(c)中还包括以下步骤:
(c1)根据当前信元的头信息判断当前信元是否为ATM帧的最末信元,若当前信元为最末信元,则根据所有信元存储位置生成帧控制信息,并将所述帧控制信息传递到包编辑模块,所述帧控制信息包括ATM帧的长度和所述ATM帧在外部存储装置中的缓存地址。
3、根据权利要求2所述的ATM信元组包的包缓存管理方法,其特征在于,还包括根据所述帧控制信息读取基本缓存及附加空间内存储的信元的步骤。
4、根据权利要求1所述的ATM信元组包的包缓存管理方法,其特征在于,所述当前信元所在的ATM帧包括32+n个信元,其中n为大于或等于1的整数。
5、根据权利要求4所述的ATM信元组包的包缓存管理方法,其特征在于,步骤(a)中的基本缓存大小为32×64字节,附加空间大小为n×64字节。
6、根据权利要求1所述的ATM信元组包的包缓存管理方法,其特征在于,步骤(a)中包括维护基于永久虚连接的组包链接表的步骤。
7、根据权利要求4所述的ATM信元组包的包缓存管理方法,其特征在于,步骤(c)中所述当前信元写入基本缓存的位置根据所述组包链接表中基本缓存的基地址和当前信元的偏移量确定。
8、根据权利要求1所述的ATM信元组包的包缓存管理方法,其特征在于,所述基本缓存和附加空间通过指针相关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100372715A CN100461750C (zh) | 2005-09-12 | 2005-09-12 | Atm信元组包的包缓存管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100372715A CN100461750C (zh) | 2005-09-12 | 2005-09-12 | Atm信元组包的包缓存管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1852223A true CN1852223A (zh) | 2006-10-25 |
CN100461750C CN100461750C (zh) | 2009-02-11 |
Family
ID=37133692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100372715A Expired - Fee Related CN100461750C (zh) | 2005-09-12 | 2005-09-12 | Atm信元组包的包缓存管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100461750C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102684976A (zh) * | 2011-03-10 | 2012-09-19 | 中兴通讯股份有限公司 | 一种基于ddr sdram进行数据读写的方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002247097A (ja) * | 2001-02-22 | 2002-08-30 | Oki Electric Ind Co Ltd | 通信制御装置 |
US7280542B2 (en) * | 2002-10-25 | 2007-10-09 | Alcatel Lucent | Multicasting system and method for use in an access node's ATM switch fabric |
US7515598B2 (en) * | 2002-10-29 | 2009-04-07 | Intel Corporation | Configurable transmit and receive system interfaces for a network device |
CN1665216A (zh) * | 2004-03-01 | 2005-09-07 | 贾学卿 | 异步传输模式通信网络中连发信元方法及设备 |
-
2005
- 2005-09-12 CN CNB2005100372715A patent/CN100461750C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102684976A (zh) * | 2011-03-10 | 2012-09-19 | 中兴通讯股份有限公司 | 一种基于ddr sdram进行数据读写的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100461750C (zh) | 2009-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1183453C (zh) | 一种内存管理系统及其分配方法 | |
US5930193A (en) | Memory system using a flash memory and method of controlling the memory system | |
JP3230957B2 (ja) | Atmネットワークにおけるマルチキャストする方法と装置 | |
EP1192753B1 (en) | Method and apparatus for shared buffer packet switching | |
US7363420B2 (en) | Method and file structures for managing data on a flash disk | |
WO1998036357A1 (en) | Shared memory control using multiple linked lists with pointers, status flags, memory block counters and parity | |
US7352766B2 (en) | High-speed memory having a modular structure | |
US7126959B2 (en) | High-speed packet memory | |
KR20010070306A (ko) | 큐 관리기 및 데이터 입력의 관리 방법 | |
CN1574785A (zh) | 使用缓存来维护分组顺序的方法和系统 | |
US6295534B1 (en) | Apparatus for maintaining an ordered list | |
CN100438480C (zh) | 一种缓存管理系统与方法 | |
CN1852223A (zh) | Atm信元组包的包缓存管理方法 | |
CN100571325C (zh) | 一种数据缓存方法、垂直缩放电路及终端 | |
US7627719B2 (en) | Cache device and method for determining LRU identifier by pointer values | |
CN102243611A (zh) | 数据存储方法和系统 | |
CN1871588A (zh) | 在按块可擦的存储器中写存储器扇区的方法 | |
CN101789840B (zh) | 一种全t交叉装置和方法 | |
CN1669279A (zh) | 提高分组应用的存储器存取效率 | |
CN103176912B (zh) | 随机写的方法和转换器 | |
CN1232908C (zh) | 路由器流量管理芯片缓存管理的实现方法 | |
CN1228935C (zh) | 一种查找国际移动识别号和电子序列号的方法 | |
CN1855783A (zh) | 大容量时分多路复用交换芯片的数据处理方法 | |
CN1306768C (zh) | 共享内存地址搜索逻辑装置 | |
SE521609C2 (sv) | Buffertminne, buffertkontrollenhet och en metod för att hantera köer i en ATM-växel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090211 Termination date: 20170912 |