一种基于乒乓操作结构控制数据缓存的缓存系统的制作方法

文档序号:11318238阅读:1423来源:国知局
一种基于乒乓操作结构控制数据缓存的缓存系统的制造方法与工艺

本实用新型涉及大数据量缓存和处理技术领域,尤其涉及一种基于乒乓操作结构控制数据缓存的缓存系统。



背景技术:

在通信技术中,数据存储是数据流在加工过程中产生的临时文件或加工过程中需要查找的信息,数据以某种格式记录在计算机内部或外部存储介质上。数据流反映了系统中流动的数据,表现出动态数据的特征;数据存储反映系统中静止的数据,表现出静态数据的特征。

目前对于数据缓存方式主要是采用以下两种:FPGA(Field-Programmable Gate Array,即现场可编程门阵列)内部的块RAM(Random Access Memory,随机存取存储器)做FIFO(First Input First Output,先入先出队列)或双口 RAM构建缓存空间进行数据存储;或采用外挂存储芯片构建缓存空间进行数据存储。但是采用FPGA内部的块RAM构建缓存空间,其存储的数据量有限,无法实现大量数据的缓存;而外挂存储芯片虽然可实现大量数据的缓存,例如外挂DDR3 SDRAM芯片(DDR3 SDRAM是DDR3的全称,DDR3是计算机的内存规格),但由于DDR3 SDRAM芯片的半双工的工作模式,因此,用户无法像FIFO或者双口RAM一样同时进行数据读写操作。



技术实现要素:

本实用新型提供了一种基于乒乓操作结构控制数据缓存的缓存系统,以解决现有技术中基于现有的数据缓存方式存在的容量小或者无法同时读写的问题。

为达到上述目的,本实用新型提供了以下技术方案:

一种基于乒乓操作结构控制数据缓存的缓存系统,包括:现场可编程门阵列FPGA和两组DDR3 SDRAM芯片组,其中,所述FPGA包括:设置在所述FPGA上的数据输入接口、乒乓写控制器、乒乓读控制器、DDR3 SDRAM 控制器以及数据存储器,其中:

所述数据输入接口接收外部发送来的缓存数据,并将所述缓存数据发送至所述乒乓写控制器;

所述乒乓写控制器与所述数据输入接口相连接,用于接收所述数据输入接口发送的缓存数据并进行所述缓存数据的写操作,并存储缓存控制信息;

所述DDR3 SDRAM控制器与所述乒乓写控制器相连接,用于记录所述乒乓写控制器的缓存控制信息,并控制所述乒乓写控制器对所述缓存数据进行缓存操作处理,并对所述缓存控制信息进行发送;

所述乒乓读控制器与所述DDR3 SDRAM控制器相连接,用于接收所述 DDR3 SDRAM控制器发送的缓存控制信息,并对所述缓存数据进行读操作;

所述数据存储器与所述乒乓读控制器相连接,用于接收所述乒乓读控制器进行读操作后的缓存数据,并对所述读操作后的缓存数据进行存储;

所述两组DDR3 SDRAM芯片组分别与所述DDR3 SDRAM控制器相连接,用于扩充缓存空间,对所述读操作后的缓存数据进行异步存储。

其中,所述两组DDR3 SDRAM芯片组包含相同数量的DDR3 SDRAM芯片。

其中,所述两组DDR3 SDRAM芯片组中读写数据量相同。

其中,所述数据输入接口为PCIe接口。

其中,所述FPGA的型号为Virtex-7xc7vx690tffg1930-1。

其中,所述DDR3 SDRAM的型号为MT41K256M16HA-125。

由上述方案可知,与现有技术相比,本实用新型提供了一种基于乒乓操作结构控制数据缓存的缓存系统,该缓存系统包括:FPGA现场可编程门阵列和两组DDR3 SDRAM芯片组,其中,所述FPGA现场可编程门阵列包括:设置在所述FPGA上的数据输入接口、乒乓写控制器、乒乓读控制器、DDR3 SDRAM控制器以及数据存储器,本实用新型基于现有的数据缓存方式存在的容量小或者无法同时读写的问题,采用乒乓操作结构控制DDR3 SDRAM芯片扩展构建大容量异步FIFO以进行数据缓存,包含两组DDR3 SDRAM芯片,一组DDR3 SDRAM芯片实现写数据的同时,另一组DDR3 SDRAM芯片实现读数据,用户可同时进行数据的读写,且由于DDR3 SDRAM芯片可扩展构建大容量存储空间,使得可扩展出较大的缓存空间。

附图说明

为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为传统的乒乓缓存的结构示意图;

图2为乒乓缓存的操作示例图;

图3为本实用新型提供的一种基于乒乓操作结构控制数据缓存的缓存系统示意图;

图4为本实用新型提供的一种基于乒乓操作结构控制数据缓存的缓存系统数据读写流程示意图。

具体实施方式

下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。

乒乓缓存(PingPong Buffer)机制是一种比较常用的增加数据带宽的缓存方式,可以用在任何一个需要读操作和写操作同时进行的系统中,比如交换机和路由器系统中的数据重组缓存,或者计算机系统中的数据批量传输。乒乓缓存采用两块单端口存储器,在每个时钟周期,每块存储器只需要执行一种操作,例如:读或者写。乒乓缓存的一般结构如图1所示,假设乒乓缓存的总容量是M,其单位是存储单元,它的输入处理和输出处理分别用An和 Dn表示。乒乓缓存包含两块物理上分开的存储器件,每个的容量分别是M/2,两个存储器接口是绑在一起的,从外部看到只是一个缓存,可操作容量是M/2。在乒乓缓存中,读操作和写操作可以同时发生,但是分别交替作用在不同的存储器器件上。图2是乒乓缓存的操作示例图。如图2所示,当输入An数据单元到达的时候,如果其中一块缓存buffer1正在被读,那么这些数据单元会被写到另外一块缓存buffer2上;当缓存1写满,缓存2读空之后,操作就交换了过来,An写入缓存2中,而Dn从缓存1总读取数据。从An或者Dn的角度看,操作都是在两个缓存之间交替进行的,乒乓缓存是目前比较常用的缓存机制,其基本的原理被业界广泛接受。

本实用新型提供了一种基于乒乓操作结构控制数据缓存的缓存系统,具体的:

请参阅附图3,图3为本实用新型提供的一种基于乒乓操作结构控制数据缓存的缓存系统示意图。如图3所示,本实用新型公开了一种基于乒乓操作结构控制数据缓存的缓存系统,具体该缓存系统包括:现场可编程门阵列 FPGA 101和两组DDR3 SDRAM芯片组102,其中,FPGA101包括:设置在所述FPGA上的数据输入接口103、乒乓写控制器104、乒乓读控制器105、 DDR3 SDRAM控制器106以及数据存储器107,其中:

数据输入接口103接收外部发送来的缓存数据,并将缓存数据发送至乒乓写控制器104;

乒乓写控制器104与数据输入接口103相连接,用于接收数据输入接口发送的缓存数据并进行缓存数据的写操作,并存储缓存控制信息;

DDR3 SDRAM控制器106与乒乓写控制器104相连接,用于记录乒乓写控制器的缓存控制信息,并控制乒乓写控制器104对缓存数据进行缓存操作处理,并对所述缓存控制信息进行发送;

乒乓读控制器105与DDR3 SDRAM控制器106相连接,用于接收DDR3 SDRAM控制器106发送的缓存控制信息,并对缓存数据进行读操作;

数据存储器107与乒乓读控制器105相连接,用于接收乒乓读控制器105 进行读操作后的缓存数据,并对所述读操作后的缓存数据进行存储;

两组DDR3 SDRAM芯片组102分别与DDR3 SDRAM控制器106相连接,用于扩充缓存空间,对所述读操作后的缓存数据进行异步存储。

其中,所述两组DDR3 SDRAM芯片组包含相同数量的DDR3 SDRAM芯片。

图4为本实用新型提供的一种基于乒乓操作结构控制数据缓存的缓存系统数据读写流程示意图。具体的,如图4所示,该缓存系统的数据读写包括用户接口的控制,用户接口的收发端各包含了一个FPGA内部块RAM构建的异步FIFO,该FIFO空间可设置的小点,只需要对数据进行时钟域的转换,在用户接口的发送端,即:靠近用户发送设备的一端,FIFO的写时钟与用户发送设备的时钟相同,读时钟与DDR3 SDRAM芯片的写时钟相同,在用户接口的接收端,即:靠近用户接收设备的一端,FIFO的写时钟与DDR3 SDRAM 芯片的读时钟相同,DDR3 SDRAM芯片的写时钟与用户接收设备的时钟相同,从而匹配收发设备的时钟,使得收发设备不必时钟同源,两组DDR3 SDRAM芯片的控制具体为,该FIFO缓存器包括读写两个接口,可同时进行读写操作,而由于DDR3 SDRAM芯片的半双工工作模式,1组DDR3 SDRAM 只能进行写操作或者是读操作,而无法像FIFO那样同时进行读写操作,为了对DDR3 SDRAM芯片同时进行读写操作,需要同时使用两组DDR3 SDRAM 芯片,对一组进行写操作时,另外一组芯片进行读操作,相互独立,互不干扰,即可以如FIFO一样同时完成读写操作,所以两组DDR3 SDRAM芯片即可,不需要更多的DDR3 SDRAM芯片,其中,虽然DDR3 SDRAM芯片只能为两组,但每组DDR3 SDRAM芯片数量可根据需要进行扩展。通过扩展数据位宽来加大DDR3 SDRAM芯片的存储空间,地址位宽不变。为了确保对每组DDR3 SDRAM芯片的操作能顺利进行,保证所需要的时间一致,每组 DDR3 SDRAM芯片内包含的数据量必须相同。用户发送设备发送过来的数据写入到所构建的FIFO中进行缓存,用户接收设备可随时从该缓冲空间读取数据。

如图4所示,FPGA外挂两组DDR3 SDRAM芯片,在FPGA逻辑中,采用乒乓模式将用户发送设备发送过来的数据data1按照一定的量写入到用户接口的异步FIFO中,DDR3 SDRAM芯片组1从该FIFO中读取数据,即第一组DDR3 SDRAM芯片,进行缓存,然后交换,接下来发送的数据data2再等量的写入到用户接口的异步FIFO中,具体的,往两组DDR3 SDRAM芯片里写等量数据的原因:同时对两组DDR3 SDRAM芯片进行操作时,比如:DDR3 SDRAM芯片组1进行写操作的同时,DDR3 SDRAM芯片组2进行读操作,DDR3 SDRAM芯片组1写入N个数的同时,得保证DDR3 SDRAM芯片组2中的数据能被完全读出去,避免时间长了数据溢出,而这个过程是交互的,若数据不等量,可能会出现DDR3 SDRAM芯片组1的数据写完了, DDR3 SDRAM芯片组2的数据还未读完,或者DDR3 SDRAM芯片组2的数据写完了,DDR3 SDRAM芯片组1的数据未读完,数据读写时间长了之后,数据溢出,所以得让DDR3 SDRAM芯片组1和DDR3 SDRAM芯片组2数据等量;DDR3 SDRAM芯片组2:即第二组DDR3 SDRAM芯片,从该FIFO 中读取数据进行缓存,在DDR3 SDRAM芯片组2缓存数据期间,用户接收设备可以从DDR3 SDRAM芯片组1中读取数据,然后交换角色进行,这样发送设备发送过来的数据可以不间断的写入DDR3 SDRAM芯片中进行缓存,且接收设备也可以随时从DDR3 SDRAM芯片只读取数据,互不影响。目前 DDR3 SDRAM芯片的内存容量单条可达到8GB,所以根据用户使用的DDR3 SDRAM芯片的型号可以采用DDR3 SDRAM芯片实现几个GB的数据缓存。

具体的,上述数据输入接口为PCIe接口;FPGA的型号可以为Virtex-7 xc7vx690tffg1930-1,但是不仅限于该型号;DDR3 SDRAM的型号可以为 MT41K256M16HA-125,但是不仅限于该型号。

本实施例中,FPGA型号可为Virtex-7xc7vx690tffg1930-1,DDR3 SDRAM 型号可为MT41K256M16HA-125,存储容量4Gbit,数据总线为16bit。本实施例中总共用了4片DDR3 SDRAM芯片,每组用两片,通过对这两组DDR3 SDRAM芯片进行并行操作,单个扩展数据位宽为32bit,存储容量8Gbit,因此,两组的存储容量为16Gbit,而该型号DDR3 SDRAM芯片的工作速度可达到800MHz,写入数据的位宽为32bit,所以理论带宽为3.2GB,实测速度可达到3GB,满足高速要求。

该基于乒乓操作结构控制数据缓存的缓存系统的数据存储方法具体为:

该系统可以用在实现存储板的回放功能中,因存储板上电后,计算机开始写数据时,EMMC数据存储模块接收到写命令时,EMMC芯片有一个启动时间,此时,上位机写下的数据有1G左右的容量,若等待芯片可写之后计算机再写数据,会影响效率,若计算机直接下发写命令之后开始写,此时,会丢失部分数据,所以需要先将数据存储在DDR3 SDRAM芯片中。

待EMMC数据存储模块可写数据时,从DDR3 SDRAM芯片中读取数据。 DDR3 SDRAM芯片需要在将计算机写下来的数据写入到芯片中的同时将存储的数据读出给EMMC存储模块,即在保证存储容量足够的情况下,能可读可写,从而保证计算机写下来的数据不间断,提高效率。因此,采用了乒乓操作结构实现这一功能,计算机写入的第一包数据存储在DDR3 SDRAM芯片组1中,此时DDR3 SDRAM芯片组2未进行任何操作,EMMC数据存储模块可读取DDR3 SDRAM芯片组2中的数据,而计算机写完第一包数据之后,写入的第二包数据存储在DDR3 SDRAM芯片组2中,释放DDR3 SDRAM 芯片组1,EMMC数据存储模块可读取DDR3 SDRAM芯片组1中的数据,通过对两组芯片进行交替的读写操作实现数据不间断的读写。

在实际使用的过程中,在所使用的FPGA芯片接口资源足够的情况下, DDR3 SDRAM芯片组的存储容量可通过增加每组芯片的数量来扩展存储容量和存储速度,以满足实际的存储需要。DDR3 SDRAM芯片组通过并行的数据接口读写数据,可通过在硬件上扩展DDR3 SDRAM芯片数据位宽的方式添加DDR3 SDRAM芯片,地址位不变,所有芯片的地址位与FPGA的接口相同,这样,数据位宽越多,在相同的DDR3 SDRAM芯片系统时钟下,并行写入的数据越多,速度越快,存储容量也越大。

综上所述,本实用新型提供一种基于乒乓操作结构控制数据缓存的缓存系统,该缓存系统包括:FPGA现场可编程门阵列和两组DDR3 SDRAM芯片组,其中,所述FPGA现场可编程门阵列包括:设置在所述FPGA上的数据输入接口、乒乓写控制器、乒乓读控制器、DDR3 SDRAM控制器以及数据存储器,本实用新型基于现有的数据缓存方式存在的容量小或者无法同时读写的问题,采用乒乓操作结构控制DDR3 SDRAM芯片扩展构建大容量异步 FIFO以进行数据缓存,包含两组DDR3 SDRAM芯片,一组DDR3 SDRAM 芯片实现写数据的同时,另一组DDR3 SDRAM芯片实现读数据,用户可同时数据的读写,且由于DDR3 SDRAM芯片可扩展构建大容量存储空间,使得可扩展出较大的缓存空间。。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本实用新型。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本实用新型的精神或范围的情况下,在其它实施例中实现。因此,本实用新型将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1