CN1300714C - 对数据通信中交换芯片外挂存储器优化管理的方法 - Google Patents

对数据通信中交换芯片外挂存储器优化管理的方法 Download PDF

Info

Publication number
CN1300714C
CN1300714C CNB031195377A CN03119537A CN1300714C CN 1300714 C CN1300714 C CN 1300714C CN B031195377 A CNB031195377 A CN B031195377A CN 03119537 A CN03119537 A CN 03119537A CN 1300714 C CN1300714 C CN 1300714C
Authority
CN
China
Prior art keywords
datagram
plug
byte
storer
memory
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.)
Expired - Fee Related
Application number
CNB031195377A
Other languages
English (en)
Other versions
CN1530843A (zh
Inventor
张卫东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB031195377A priority Critical patent/CN1300714C/zh
Publication of CN1530843A publication Critical patent/CN1530843A/zh
Application granted granted Critical
Publication of CN1300714C publication Critical patent/CN1300714C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

一种对数据通信中交换芯片外挂存储器优化管理的方法,包括下列步骤:把外挂存储器分成一个个存储容量相同的小的空间(如64byte),该小的空间容量应远小于数据报的最大长度;在入口处按照该存储容量相同的小的空间的字节大小对进入内存需要缓存的数据报进行切割;将其切割成一个个具有相同字节的小的数据报切片;对从入口进来的一个其长度不是小的存储空间的字节的整数倍的数据报,在其后添加填充字节,使之构成整数倍;将上述由一个个相同字节的小的数据报切片组成的各个数据报一个挨着一个地按目的地址存放在该内存中一个个小的空间;在出口处把需要发送出去的数据报的各个小数据报切片组合成为一个完整的数据报,同时去掉填充字节,然后发送出去。

Description

说明书 对数据通信中交换芯片外挂存储器优化管理的方法
技术领域
本发明涉及一种数据通信中的信息处理方法,确切地说,涉及一种对数据通信中交换芯片外挂存储器优化管理的方法,属于数据处理中的信息或其它信号在存储器、输入/输出设备或者中央处理器之间的互连或传送的技术领域。
背景技术
在数据通信中(如以太网交换机、路由器、三层交换机等等),为了迅速地处理不同入端口传送过来的数据,需要在交换芯片的外面挂一个容量比较大的存储器,先把传送过来的数据缓存起来,这样交换芯片才能有时间去处理各个数据报的报头,如:数据报的目的地址、源地址等等,然后再据此把这些数据分别转发到不同的出端口发送出去。图1是该外挂存储器的工作原理示意图。由于数据通信的特殊性,每份数据报的长度是可变的,例如以太网的MAC帧的长度是64~1518字节(byte)。因此如何对该类交换芯片的外挂存储器进行管理是该类芯片设计的关键技术之一。
目前,数据通信中需要在第三层处理的IP报或者在第二层处理的以太网的MAC帧的外挂存储器有两种管理方法,然而,这两种管理方法都有其固有的缺点。第一种方法是不论数据报的长度大小,对从输入端口传送进来的每个数据报都是一个挨着一个地存放在外挂存储器。这种方法的好处是对外挂存储器的利用率最高;但是它有其致命的弱点,就是存储器的地址管理软件的设计非常复杂。因为在某一个时刻发送端可能需要任意地发送缓存于该外挂存储器中的某一个数据报,所以该外挂存储器的内存地址的管理和控制就非常复杂,几乎是不可能实现的,因此,该方法很难在实际应用中得到运用。图2形象地说明了该外挂存储器中一个挨着一个地存放了256byte、1024byte和512byte的三个不同长度的数据报,如何对这三个数据报的内存地址进行管理和控制,就是一个非常辣手的难题。
第二种方案就是把存储器分成一个一个的小空间,但是该小空间能够放下一个最长的数据报,如在以太网交换芯片中,该小空间就要大于MAC帧的最大长度1518byte;通常将该小空间设计成2048byte,以方便对其地址进行管理。该方法的好处是其内存地址管理软件模块十分简单,容易实现。图3就是该方法的一个原理示意图,图中将外挂存储器按照每个小空间的容量为2048byte进行划分。但是该方法同样也有一个致命的缺点,就是外挂存储器的使用率极为低下,尤其是当有黑客一直发送64byte的短报的时候,其内存的利用率只有5%;用不多久,网络就会被堵塞死了。但是因为其内存地址管理软件模块比较简单,容易实现,所以目前该种方案应用比较多。技术也比较成熟。
总之,现有技术的缺点主要是:要么外挂存储器的使用率很低,要么是存储器的管理单元模块非常复杂,两种方案都有其致命的弱点,不能把两者的优点有效地结合在一起。
发明内容
本发明的目的是提供一种对数据通信中交换芯片外挂存储器优化管理的方法,该方法集中了现有的两种方案的优点,既能够提高外挂存储器的使用率,又简化了存储器地址管理模块的复杂性,达到节省成本和提高芯片性能的目的。
本发明的目的是这样实现的:一种对数据通信中交换芯片外挂存储器优化管理的方法,包括:把外挂存储器分成一个个存储容量相同的小的空间的步骤;其特征在于:所述的该优化管理的方法还包括下述步骤:
在入端口处按照所述的存储容量相同的小的空间的字节大小对进入存储器需要缓存的数据报进行切割;将数据报切割成一个个具有相同字节的小的数据报切片;并对从入端口进来的一个其长度不是所述的存储容量相同的小的空间的字节整数倍的数据报,在该数据报后面添加填充字节,使之构成整数倍;
将所述的小的数据报切片一个挨着一个地按照存储器的单元地址依序存放在该外挂存储器中一个个存储容量相同的小的空间;
在出端口处把需要发送出去的数据报的各个小数据报切片组合成为一个完整的数据报,然后发送出去。
所述的在出端口处把各个小数据报切片组合成为一个完整的数据报时,进一步包括下述步骤:去掉填充字节。
所述的把外挂存储器分成的一个个存储容量相同的小的空间容量应该远小于数据报的最大长度。
所述的把外挂存储器分成的一个个存储容量相同的小的空间容量是64byte。
如果从入端口进来的数据报的报文长度恰好是所述的存储容量相同的小的空间的字节的整数倍时,所述的在数据报后面添加填充的字节,使之构成整数倍的步骤可以省略。
本发明是一种应用于数据通信中的存储器管理方法。其特点是在入端口处把进入外挂存储器需要缓存的数据报切割成一个个其字节长度与存储器划分成的小的存储空间容量相同的小数据报切片,如果从入端口进来的一个数据报的长度不是该小的空间字节的整数倍,还需要在该数据报后面添加一些填充的字节,使之形成该小的空间字节的整数倍,以便能够将这些从入端口传送来的各个数据报一个挨着一个地按照目的地址缓存起来。而在出端口处,再把各个小数据报切片组合成为一个完整的数据报,同时在去掉填充字节后发送出去。
与现有的上述两种技术进行比较,本发明的好处是内存利用率高,同时存储器的管理模块又不复杂,技术方面也非常成熟,因此本发明是实际可行的,具有很高的应用价值。
附图说明
图1是数据通信中外挂存储器的原理示意图。
图2是现有技术中第一种方法不论数据报的长度大小一个挨着一个存放的内存管理原理示意图。
图3是现有技术中第二种方法把外挂存储器分成一个个小的空间进行内存管理的原理示意图。
图4是本发明对数据通信中交换芯片外挂存储器进行优化管理的方法步骤流程框图。
图5是本发明对数据通信中交换芯片外挂存储器进行优化管理的原理框图。
具体实施方式
参见图4和图5,本发明是一种对数据通信中交换芯片外挂存储器优化管理的方法,该方法包括下列步骤:
(1)把外挂存储器分成一个个存储容量相同的小的空间,该小的空间容量应该远小于数据报的最大长度,例如为64byte;
(2)在入端口处按照所述的存储容量相同的小的空间的字节大小对进入存储器需要缓存的数据报进行切割;将数据报切割成一个个具有相同字节的小的数据报切片;
(3)对从入端口进来的一个其长度不是所述的存储容量相同的小的空间的字节的整数倍的数据报,在该数据报后面添加填充字节,使之构成整数倍;如果从入端口进来的数据报的报文长度恰好是所述的存储容量相同的小的空间的字节的整数倍时,在该数据报后面添加填充字节,使之构成整数倍的该步骤可以省略。
(4)将所述的由一个个相同字节的小的数据报切片组成的各个数据报一个挨着一个地按照目的地址存放在该外挂存储器中一个个存储容量相同的小的空间(如图5所示);
(5)在出端口处把需要发送出去的数据报的各个小数据报切片组合成为一个完整的数据报,同时去掉填充字节,然后发送出去。
本发明方法已经进行了实施试验,实现了发明目的,证明该方法是可行的。

Claims (5)

1、一种对数据通信中交换芯片外挂存储器优化管理的方法,包括:
把外挂存储器分成一个个存储容量相同的小的空间的步骤;
其特征在于:所述的该优化管理的方法还包括下述步骤:
在入端口处按照所述的存储容量相同的小的空间的字节大小对进入存储器需要缓存的数据报进行切割;将数据报切割成一个个具有相同字节的小的数据报切片;并对从入端口进来的一个其长度不是所述的存储容量相同的小的空间的字节整数倍的数据报,在该数据报后面添加填充字节,使之构成整数倍;
将所述的小的数据报切片一个挨着一个地按照存储器的单元地址依序存放在该外挂存储器中一个个存储容量相同的小的空间;
在出端口处把需要发送出去的数据报的各个小数据报切片组合成为一个完整的数据报,然后发送出去。
2、根据权利要求1所述的对数据通信中交换芯片外挂存储器优化管理的方法,其特征在于:所述的在出端口处把各个小数据报切片组合成为一个完整的数据报时,进一步包括下述步骤:去掉填充字节。
3、根据权利要求1所述的对数据通信中交换芯片外挂存储器优化管理的方法,其特征在于:所述的把外挂存储器分成的一个个存储容量相同的小的空间容量应该远小于数据报的最大长度。
4、根据权利要求3所述的对数据通信中交换芯片外挂存储器优化管理的方法,其特征在于:所述的把外挂存储器分成的一个个存储容量相同的小的空间容量是64byte。
5、根据权利要求1所述的对数据通信中交换芯片外挂存储器优化管理的方法,其特征在于:如果从入端口进来的数据报的报文长度恰好是所述的存储容量相同的小的空间的字节的整数倍时,所述的在数据报后面添加填充的字节,使之构成整数倍的步骤可以省略。
CNB031195377A 2003-03-10 2003-03-10 对数据通信中交换芯片外挂存储器优化管理的方法 Expired - Fee Related CN1300714C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031195377A CN1300714C (zh) 2003-03-10 2003-03-10 对数据通信中交换芯片外挂存储器优化管理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031195377A CN1300714C (zh) 2003-03-10 2003-03-10 对数据通信中交换芯片外挂存储器优化管理的方法

Publications (2)

Publication Number Publication Date
CN1530843A CN1530843A (zh) 2004-09-22
CN1300714C true CN1300714C (zh) 2007-02-14

Family

ID=34285146

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031195377A Expired - Fee Related CN1300714C (zh) 2003-03-10 2003-03-10 对数据通信中交换芯片外挂存储器优化管理的方法

Country Status (1)

Country Link
CN (1) CN1300714C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243611B (zh) * 2010-05-11 2015-06-17 深圳市朗科科技股份有限公司 数据存储方法和系统
CN108762666B (zh) * 2018-04-13 2020-07-03 北京青云科技股份有限公司 一种存储系统的访问方法、系统、介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4755986A (en) * 1985-09-13 1988-07-05 Nec Corporation Packet switching system
EP1137227A2 (en) * 2000-03-22 2001-09-26 Fujitsu Limited Packet switch, scheduling device, drop control circuit, multicast control circuit and Qos control device
US20020104058A1 (en) * 2000-12-06 2002-08-01 Yigal Rappaport Packet switched network having error correction capabilities of variable size data packets and a method thereof
CN1366434A (zh) * 2001-01-18 2002-08-28 英华达股份有限公司 通过手机的短信息服务传递数据的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4755986A (en) * 1985-09-13 1988-07-05 Nec Corporation Packet switching system
EP1137227A2 (en) * 2000-03-22 2001-09-26 Fujitsu Limited Packet switch, scheduling device, drop control circuit, multicast control circuit and Qos control device
US20020104058A1 (en) * 2000-12-06 2002-08-01 Yigal Rappaport Packet switched network having error correction capabilities of variable size data packets and a method thereof
CN1366434A (zh) * 2001-01-18 2002-08-28 英华达股份有限公司 通过手机的短信息服务传递数据的方法

Also Published As

Publication number Publication date
CN1530843A (zh) 2004-09-22

Similar Documents

Publication Publication Date Title
US8953603B2 (en) Methods and apparatus related to a distributed switch fabric
US8743733B2 (en) Switching frame and router cluster
CN1825836A (zh) 避免网络设备拥塞的系统和方法
GB2462237A (en) Packet switch device
US20220150164A1 (en) System, method and apparatus for storage controller having multiple heterogeneous network interface ports
CN1802836A (zh) 网络协议卸载引擎存储器管理
Lu et al. Memory efficient loss recovery for hardware-based transport in datacenter
CN106416151A (zh) 用于分组处理的基于多表哈希查找
CN1913482A (zh) 对ip分片报文进行通用路由封装的方法
CN1300714C (zh) 对数据通信中交换芯片外挂存储器优化管理的方法
CN101674193A (zh) 传输控制协议连接的管理方法和装置
US7826434B2 (en) Buffered crossbar switch
CN1214581C (zh) 一种实现缓存去抖的大容量实时流处理方法
CN107196879A (zh) Udp报文的处理方法、装置以及网络转发装置
CN1578138A (zh) 降低复杂度的自适应滤波器
CN1272938C (zh) 一种提高以太网带宽的方法
CN1112788C (zh) 基于队列状态的累计补偿型循环轮询不定长包调度方法
Kabra et al. Fast buffer memory with deterministic packet departures
Spitznagel Compressed data structures for recursive flow classification
CN1531283A (zh) 具有有效分组管理单元的分组转发系统及其操作方法
Shpiner et al. Race cars vs. trailer trucks: Switch buffers sizing vs. latency trade-offs in data center networks
JPH08163139A (ja) パケット通信方法
CN114205308B (zh) 数据中心网络的mtu调整方法、装置和计算机设备
CN2666045Y (zh) 一种通用高效数据包的数据缓存器
US20070297432A1 (en) Host-Controlled Network Interface Filtering Based on Active Services, Active Connections and Active Protocols

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: 20070214

Termination date: 20160310