一种海量数据存储控制模块的制作方法

文档序号:6489422阅读:206来源:国知局
一种海量数据存储控制模块的制作方法
【专利摘要】本发明涉及一种海量数据存储控制模块,属于光电产品应用【技术领域】。本发明采用可编程逻辑器件来控制存储器读写,操作灵活,可通过改变时钟,来实现提高或降低数据读写速率,且存储器单片存储容量高,设计可以采用多片存储方式,而使存储容量满足设计需求;还通过同时操作多片存储器芯片,可使读写速率提高为单片的多倍。由此,该方案凭借功能强大的可编程逻辑器件和大容量存储芯片,实现高速、海量数据的实时存储。通过改进可编程逻辑器件的操作策略,在硬件平台基础上,可提高或降低数据的读写速率,而且采用宽温的存储器芯片,使得可以工作在恶劣的环境中,满足不同的用户需求。
【专利说明】一种海量数据存储控制模块
【技术领域】
[0001]本发明涉及光电产品应用【技术领域】,具体涉及一种海量数据存储控制模块。
【背景技术】
[0002]随着微机的广泛应用和各类总线数据采集产品的不断完善,现在许多工作场所都建立了以微机为基础的数据采集与处理系统。但是,这些设备大多数是在低速和常温下工作的,适用于低速信号的连续采集与处理,而针对某些高速数据采集系统,目前大都采集有限的数据,之所以如此,是因为主要受到缺乏高速、大容量外部存储器设备的限制。
[0003]近年来,微机技术发展极为迅速,运算速度不断提高,内存和外部容量不断增加,能否利用微机本身的资源来实现连续高速数据采集与存储,就是人们努力的方向。
[0004]在这方面,人们已经进行了许多工作,并取得了不少积极成果。通常在内存开辟一个较大的存储区,例如1MB,将高速采集到的数据利用DMA方式(Direct Memory Access,成组数据传送方式)连续存储到内存缓冲区,待内存存满之后,再将数据迅速送往硬盘进行永久性存储。或是利用中断方式将采集到的一个个数据块送到硬盘存储。此外,还可以在内存区开辟两个数据缓冲区或是一个“环形”的数据缓冲区,高速采集到的数据源源不断地送往缓冲区,同时不失时机地将缓冲区的数据送往硬盘加以存储。
[0005]上述采用的方式在较低速率下可以满足设计需求,但是当对存储带宽有较高要求时,上述的方式可能不能够满足设计要求。将大量的数据,例如几十GB甚至上百GB的数据存储到外部芯片中,这时会对存储速度及其外部芯片的存储容量都会有严格要求。通常方式下,对于存储器的读写等操作控制,通常是通过存储器控制器来实现的。但是物理的控制器件一般不能满足复杂的设计要求。因此,迫切需要一种可编程的存储器控制器。此外,目前国内海量数据存储中,基本上采取硬盘存储方式。使用硬盘存储方式需要为存储设备提供较大的安装空间,同时对工作温度、湿度有较高要求,不能应用于恶劣的工作环境中。

【发明内容】

[0006](一)要解决的技术问题
[0007]本发明要解决的技术问题是如何设计出一种海量数据存储控制系统,通过可编程逻辑器件来控制存储器芯片的操纵,实现数据的编程、读出操作,要求该系统可工作在恶劣环境中,实现对数据的高速实时存储。
[0008](二)技术方案
[0009]为了解决上述技术问题,本发明提供一种海量数据存储控制模块,其包括:
[0010]可编程逻辑器件,其用于根据用户需求指令来控制存储器组进行相应操作;
[0011]存储器阵列,其用于在所述可编程逻辑器件的控制下,执行数据写入、读出、擦出等操作。
[0012]其中,所述可编程逻辑器件包括:操作项目选择单元、无效块校验单元、擦除操纵单元、写入操纵单元以及读出操纵单元;[0013]所述操作项目选择单元用于根据用户需求指令来选择具体操作单元,生成对应的操作单元指令;
[0014]所述无效块校验单元用于根据与其对应的所述操作单元指令进行数据字符串中无效块的检验操作,检测存储器中的无效块地址;
[0015]所述擦除操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行擦除操作;
[0016]所述写入操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行写入操作;
[0017]所述读出操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行读出操作。
[0018]其中,所述可编程逻辑器件为FPGA可编程逻辑器件,其采用同时操纵多片存储器芯片的方式来工作。
[0019]其中,通过改变所述FPGA可编程逻辑器件预设置的时钟,来实现提高或降低数据的读写速率。
[0020]其中,所述FPGA可编程逻辑器件为XILINX公司的Virtex-ΙΙ系列FPGA可编程逻辑器件。
[0021]其中,所述存储器阵列包括若干组存储器组合。
[0022]其中,所述存储器组合中包含若干片存储器芯片。
[0023]其中,所述存储器芯片为宽温芯片。
[0024](三)有益效果
[0025]与现有技术相比较,本发明具有以下技术特点:
[0026](I)本发明技术方案采用可编程逻辑器件来控制存储器的读写,操作过程灵活,可以通过改变预设置的时钟,来实现提高或降低数据的读写速率。
[0027](2)本发明技术方案中所采用的存储器单片存储容量高达P GB (P可以为1、2、4、8),设计可以采用多片存储方式,从而使存储容量满足设计需求,存储容量为PGBXNXM,其中,N为每组存储器片数、M为组数。
[0028](3)在现有技术中,存储器的单片读写速率可能很难满足设计需求,因此,本发明技术方案通过同时操作多片存储器芯片,可以使读写速率提高为单片的N倍,其中,N为每组存储器片数。
[0029]综上所述,本发明提供的海量数据存储控制模块采用功能强大的可编程逻辑器件和大容量存储芯片,实现了高速、海量数据的实时存储。通过改进可编程逻辑器件的操作策略,在硬件平台基础上,可以提高或降低数据的读写速率,而且采用宽温的存储器芯片,海量数据存储控制模块可以工作在恶劣的环境中,满足不同的用户需求。
【专利附图】

【附图说明】
[0030]图1为本发明的海量数据存储控制模块的结构框图。
[0031]图2为本发明的存储器芯片的阵列组织示意图。
【具体实施方式】[0032]为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。
[0033]针对现有技术的迫切需求,本发明利用可编程逻辑器件,比如,利用FPGA(Field-Programmable Gate Array,现场可编程门阵列)可以设计复杂的存储器控制器,它具有很高的灵活性,可以方便地和其他数据缓存接口电路进行连接,实现复杂的设计要求。具体而言,本发明所提供的海量数据存储控制模块,其包括:可编程逻辑器件,其用于根据用户需求指令来控制存储器组进行相应操作;存储器阵列,其用于在所述可编程逻辑器件的控制下,执行数据写入、读出、擦出等操作。
[0034]其中,所述可编程逻辑器件包括:操作项目选择单元、无效块校验单元、擦除操纵单元、写入操纵单元以及读出操纵单元;所述操作项目选择单元用于根据用户需求指令来选择具体操作单元,生成对应的操作单元指令;所述无效块校验单元用于根据与其对应的所述操作单元指令进行数据字符串中无效块的检验操作,检测存储器中的无效块地址;所述擦除操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行擦除操作;所述写入操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行写入操作;所述读出操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行读出操作。
[0035]其中,所述可编程逻辑器件为FPGA可编程逻辑器件,其采用同时操纵多片存储器芯片的方式来工作。所述FPGA可编程逻辑器件为XILINX公司的Virtex-1I系列FPGA可编程逻辑器件。
[0036]其中,所述存储器阵列包括若干组存储器组合。所述存储器组合中包含若干片存储器芯片,并且,所述存储器芯片为宽温芯片。
[0037]下面结合附图及具体实施例来详细描述本发明技术方案的实施方法。
[0038]实施例
[0039]本实施例所提供的海量数据存储控制模块,主要由可编程逻辑器件和存储器芯片组成。
[0040]可编程逻辑器件采用美国XILINX公司的Virtex-1I系列芯片,该系列器件逻辑门最大可达800万门,用户管脚最大可达1108个,编程操作灵活,工作温度范围为_40°C?100°C。本实施例中所选用的型号规格为XC2V1500-5FG676I,该芯片逻辑资源可达150万门,内含8个DCM,封装为FG676,用户管脚最多可达392个。芯片I/O电压3.3V,核电压
1.5V。可编程逻辑器件负责实现存储器的控制操作,主要操作有校验无效块操作、擦除操纵、写入操作及读出操作等,上述操纵通过在FPGA内编程实现。为了提高存储系统的读写速率,设计采用可编程逻辑器件同时操作多片存储器方式,从而使系统读写速率是单片读写速率的N倍,其中,N为同时操作的存储器片数。海量数据存储控制模块的结构框图如图1所示。
[0041]存储器芯片选用SAMSUNG公司的FLASH大容量存储器,芯片型号规格为K9K8G08U0M,该芯片单片存储容量为1GB,数据总线8位,无地址线,芯片封装为TS0P48。随着工艺发展,SAMSUNG公司陆续推出同封装,容量加倍的存储器,目前市面上该类存储器单片容量可达8GB,工作温度为-40°C?85°C,数据写入速率典型值为lOMB/s,读出速率典型值为38MB/s,数据保存时间长达10年,芯片的阵列组织见图2所示。其中,Iblock (块)=64Pages (页),则:
[0042]IPage = (2K+64) Bytes ;
[0043]IBlock = (2K+64)BX64Pages = (128K+4K) Bytes ;
[0044]IDevice = (2K+64)BX64PagesX8.192Blocks = 8.448Mbits。
[0045]因此可以在保持硬件平台不变的情况下,通过更换大容量存储芯片,升级可编程逻辑器件程序来提高存储系统的存储容量。
[0046]其中,芯片的操作是通过执行相应的命令字来完成的,芯片的操作命令字见表1所示。可编程逻辑器件负责实现存储器控制器功能,同时控制多片存储器的无效块校验、读出操作、编程操作和擦除操作等。厂家保证每一片存储器的第一个Block —定是有效的,SP可以进行擦除和编程操作。在无效块校验过程中,可编程逻辑器件记录每片存储器的无效块地址,并将无效块地址存储到第一个Block中。在以后的编程、读出操作时,可编程逻辑器件首先将第一个Block中的无效块地址读到内部RAM中。在进行编程、读出操作时,会进行要操纵地址与无效块地址的比较。若地址相同,说明该地址为无效块地址,则会跳过该地址,操作下一个地址。
[0047]表1.操作命令字
[0048]
【权利要求】
1.一种海量数据存储控制模块,其特征在于,所述海量存储控制模块包括: 可编程逻辑器件,其用于根据用户需求指令来控制存储器组进行相应操作; 存储器阵列,其用于在所述可编程逻辑器件的控制下,执行数据写入、读出、擦出操作。
2.如权利要求1所述的海量数据存储控制模块,其特征在于,所述可编程逻辑器件包括:操作项目选择单元、无效块校验单元、擦除操纵单元、写入操纵单元以及读出操纵单元; 所述操作项目选择单元用于根据用户需求指令来选择具体操作单元,生成对应的操作单元指令; 所述无效块校验单元用于根据与其对应的所述操作单元指令进行数据字符串中无效块的检验操作,检测存储器中的无效块地址; 所述擦除操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行擦除操作; 所述写入操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行写入操作; 所述读出操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行读出操作。
3.如权利要求1所述的海量数据存储控制模块,其特征在于,所述可编程逻辑器件为FPGA可编程逻辑器件,其采用同时操纵多片存储器芯片的方式来工作。
4.如权利要求3所述的海量数据存储控制模块,其特征在于,通过改变所述FPGA可编程逻辑器件预设置的时钟,来实现提高或降低数据的读写速率。
5.如权利要求3所述的海量数据存储控制模块,其特征在于,所述FPGA可编程逻辑器件为XILINX公司的Virtex-1I系列FPGA可编程逻辑器件。
6.如权利要求1所述的海量数据存储控制模块,其特征在于,所述存储器阵列包括若干组存储器组合。
7.如权利要求6所述的海量数据存储控制模块,其特征在于,所述存储器组合中包含若干片存储器芯片。
8.如权利要求7所述的海量数据存储控制模块,其特征在于,所述存储器芯片为宽温-H-* I I心/T O
【文档编号】G06F12/06GK103699333SQ201210371101
【公开日】2014年4月2日 申请日期:2012年9月27日 优先权日:2012年9月27日
【发明者】穆建文, 杨舒, 覃奋 申请人:中国航天科工集团第二研究院二O七所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1