一种应用于星载交换机的DDR3 共享存储交换结构的设计与实现*
2020-07-19王雷淘乔庐峰
通信技术 2020年6期
王雷淘,乔庐峰,续 欣
(陆军工程大学 通信工程学院,江苏 南京 210001)
0 引言
网络技术的飞速发展带来了网络流量的爆炸式增长,卫星通信以其广阔的覆盖范围、稳定可靠的性能、灵活机动的接入、大容量宽频带、成本对距离不敏感等优点,在全球互联网中扮演着愈加重要的角色[1-3]。星载路由器的一大特点在于其带宽和存储资源十分珍贵。DDR3 以其存储容量大、读写速度快等特点,越来越多的被应用于路由器中队列管理器的设计当中[4]。常见的基于DDR3 的队列管理器中,都采取将数据实际存入DDR3 中,将地址指针送入队列控制器中的链表建立虚拟出口队列的方式[5]。然而,当需要读出数据时,输出电路仅能从队列中获取待输出数据包存储位置的起始地址指针,而无法获取数据包的实际长度,在实际操作时,需要暂停DDR3 的读操作以获取数据包长度信息,这无疑降低了DDR3 的读写效率,影响了整个路由器的传输性能。一种解决方法是利用长度信息SRAM,将每一个数据包的长度信息存储其中,在获取待读出数据包的起始地址指针时,从该SRAM中读出数据包的长度信息,将其同起始地址指针一起送往DDR3 控制器,从而实现数据包的连续读出。但是,针对于星载路由器存储资源十分珍贵这一特点,这种解决方式明显并不适合。
本文在上述分析的基础上,基于FPGA 硬件平台,设计了一种基于DDR3 的星载路由器的队列管理器。队列管理器通过调用片外DDR3 作为数据存储区,增大了缓冲区容量,并设置共享存储区,可以有效应对突发,提高了抗流量波动的能力。……
登录APP查看全文
