CN103699333A - 一种海量数据存储控制模块 - Google Patents
一种海量数据存储控制模块 Download PDFInfo
- Publication number
- CN103699333A CN103699333A CN201210371101.0A CN201210371101A CN103699333A CN 103699333 A CN103699333 A CN 103699333A CN 201210371101 A CN201210371101 A CN 201210371101A CN 103699333 A CN103699333 A CN 103699333A
- Authority
- CN
- China
- Prior art keywords
- data storage
- control module
- programmable logic
- logic device
- 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.)
- Pending
Links
Landscapes
- Logic Circuits (AREA)
Abstract
本发明涉及一种海量数据存储控制模块,属于光电产品应用技术领域。本发明采用可编程逻辑器件来控制存储器读写,操作灵活,可通过改变时钟,来实现提高或降低数据读写速率,且存储器单片存储容量高,设计可以采用多片存储方式,而使存储容量满足设计需求;还通过同时操作多片存储器芯片,可使读写速率提高为单片的多倍。由此,该方案凭借功能强大的可编程逻辑器件和大容量存储芯片,实现高速、海量数据的实时存储。通过改进可编程逻辑器件的操作策略,在硬件平台基础上,可提高或降低数据的读写速率,而且采用宽温的存储器芯片,使得可以工作在恶劣的环境中,满足不同的用户需求。
Description
技术领域
本发明涉及光电产品应用技术领域,具体涉及一种海量数据存储控制模块。
背景技术
随着微机的广泛应用和各类总线数据采集产品的不断完善,现在许多工作场所都建立了以微机为基础的数据采集与处理系统。但是,这些设备大多数是在低速和常温下工作的,适用于低速信号的连续采集与处理,而针对某些高速数据采集系统,目前大都采集有限的数据,之所以如此,是因为主要受到缺乏高速、大容量外部存储器设备的限制。
近年来,微机技术发展极为迅速,运算速度不断提高,内存和外部容量不断增加,能否利用微机本身的资源来实现连续高速数据采集与存储,就是人们努力的方向。
在这方面,人们已经进行了许多工作,并取得了不少积极成果。通常在内存开辟一个较大的存储区,例如1MB,将高速采集到的数据利用DMA方式(Direct Memory Access,成组数据传送方式)连续存储到内存缓冲区,待内存存满之后,再将数据迅速送往硬盘进行永久性存储。或是利用中断方式将采集到的一个个数据块送到硬盘存储。此外,还可以在内存区开辟两个数据缓冲区或是一个“环形”的数据缓冲区,高速采集到的数据源源不断地送往缓冲区,同时不失时机地将缓冲区的数据送往硬盘加以存储。
上述采用的方式在较低速率下可以满足设计需求,但是当对存储带宽有较高要求时,上述的方式可能不能够满足设计要求。将大量的数据,例如几十GB甚至上百GB的数据存储到外部芯片中,这时会对存储速度及其外部芯片的存储容量都会有严格要求。通常方式下,对于存储器的读写等操作控制,通常是通过存储器控制器来实现的。但是物理的控制器件一般不能满足复杂的设计要求。因此,迫切需要一种可编程的存储器控制器。此外,目前国内海量数据存储中,基本上采取硬盘存储方式。使用硬盘存储方式需要为存储设备提供较大的安装空间,同时对工作温度、湿度有较高要求,不能应用于恶劣的工作环境中。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何设计出一种海量数据存储控制系统,通过可编程逻辑器件来控制存储器芯片的操纵,实现数据的编程、读出操作,要求该系统可工作在恶劣环境中,实现对数据的高速实时存储。
(二)技术方案
为了解决上述技术问题,本发明提供一种海量数据存储控制模块,其包括:
可编程逻辑器件,其用于根据用户需求指令来控制存储器组进行相应操作;
存储器阵列,其用于在所述可编程逻辑器件的控制下,执行数据写入、读出、擦出等操作。
其中,所述可编程逻辑器件包括:操作项目选择单元、无效块校验单元、擦除操纵单元、写入操纵单元以及读出操纵单元;
所述操作项目选择单元用于根据用户需求指令来选择具体操作单元,生成对应的操作单元指令;
所述无效块校验单元用于根据与其对应的所述操作单元指令进行数据字符串中无效块的检验操作,检测存储器中的无效块地址;
所述擦除操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行擦除操作;
所述写入操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行写入操作;
所述读出操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行读出操作。
其中,所述可编程逻辑器件为FPGA可编程逻辑器件,其采用同时操纵多片存储器芯片的方式来工作。
其中,通过改变所述FPGA可编程逻辑器件预设置的时钟,来实现提高或降低数据的读写速率。
其中,所述FPGA可编程逻辑器件为 XILINX 公司的Virtex-II系列 FPGA 可编程逻辑器件。
其中,所述存储器阵列包括若干组存储器组合。
其中,所述存储器组合中包含若干片存储器芯片。
其中,所述存储器芯片为宽温芯片。
(三)有益效果
与现有技术相比较,本发明具有以下技术特点:
(1)本发明技术方案采用可编程逻辑器件来控制存储器的读写,操作过程灵活,可以通过改变预设置的时钟,来实现提高或降低数据的读写速率。
(2)本发明技术方案中所采用的存储器单片存储容量高达P GB(P 可以为1、2、4、8),设计可以采用多片存储方式,从而使存储容量满足设计需求,存储容量为 PGB×N×M,其中,N为每组存储器片数、M为组数。
(3)在现有技术中,存储器的单片读写速率可能很难满足设计需求,因此,本发明技术方案通过同时操作多片存储器芯片,可以使读写速率提高为单片的N倍,其中,N为每组存储器片数。
综上所述,本发明提供的海量数据存储控制模块采用功能强大的可编程逻辑器件和大容量存储芯片,实现了高速、海量数据的实时存储。通过改进可编程逻辑器件的操作策略,在硬件平台基础上,可以提高或降低数据的读写速率,而且采用宽温的存储器芯片,海量数据存储控制模块可以工作在恶劣的环境中,满足不同的用户需求。
附图说明
图1为本发明的海量数据存储控制模块的结构框图。
图2为本发明的存储器芯片的阵列组织示意图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
针对现有技术的迫切需求,本发明利用可编程逻辑器件,比如,利用FPGA(Field-Programmable Gate Array,现场可编程门阵列)可以设计复杂的存储器控制器,它具有很高的灵活性,可以方便地和其他数据缓存接口电路进行连接,实现复杂的设计要求。具体而言,本发明所提供的海量数据存储控制模块,其包括:可编程逻辑器件,其用于根据用户需求指令来控制存储器组进行相应操作;存储器阵列,其用于在所述可编程逻辑器件的控制下,执行数据写入、读出、擦出等操作。
其中,所述可编程逻辑器件包括:操作项目选择单元、无效块校验单元、擦除操纵单元、写入操纵单元以及读出操纵单元;所述操作项目选择单元用于根据用户需求指令来选择具体操作单元,生成对应的操作单元指令;所述无效块校验单元用于根据与其对应的所述操作单元指令进行数据字符串中无效块的检验操作,检测存储器中的无效块地址;所述擦除操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行擦除操作;所述写入操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行写入操作;所述读出操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行读出操作。
其中,所述可编程逻辑器件为FPGA可编程逻辑器件,其采用同时操纵多片存储器芯片的方式来工作。所述FPGA可编程逻辑器件为XILINX 公司的Virtex-II 系列 FPGA 可编程逻辑器件。
其中,所述存储器阵列包括若干组存储器组合。所述存储器组合中包含若干片存储器芯片,并且,所述存储器芯片为宽温芯片。
下面结合附图及具体实施例来详细描述本发明技术方案的实施方法。
实施例
本实施例所提供的海量数据存储控制模块,主要由可编程逻辑器件和存储器芯片组成。
可编程逻辑器件采用美国XILINX公司的Virtex-II系列芯片,该系列器件逻辑门最大可达800万门,用户管脚最大可达1108个,编程操作灵活,工作温度范围为-40℃~100℃。本实施例中所选用的型号规格为XC2V1500-5FG676I,该芯片逻辑资源可达150万门,内含8个DCM,封装为FG676,用户管脚最多可达392个。芯片I/O电压3.3V,核电压1.5V。可编程逻辑器件负责实现存储器的控制操作,主要操作有校验无效块操作、擦除操纵、写入操作及读出操作等,上述操纵通过在FPGA内编程实现。为了提高存储系统的读写速率,设计采用可编程逻辑器件同时操作多片存储器方式,从而使系统读写速率是单片读写速率的N倍,其中,N为同时操作的存储器片数。海量数据存储控制模块的结构框图如图1所示。
存储器芯片选用SAMSUNG公司的FLASH大容量存储器,芯片型号规格为K9K8G08U0M,该芯片单片存储容量为1GB,数据总线8位,无地址线,芯片封装为TSOP48。随着工艺发展,SAMSUNG公司陆续推出同封装,容量加倍的存储器,目前市面上该类存储器单片容量可达8GB,工作温度为-40℃~85℃,数据写入速率典型值为10MB/s,读出速率典型值为38MB/s,数据保存时间长达10年,芯片的阵列组织见图2所示。其中,1block(块)=64Pages(页),则:
1Page=(2K+64)Bytes;
1Block=(2K+64)B×64Pages=(128K+4K)Bytes;
1Device=(2K+64)B×64Pages×8.192Blocks=8.448Mbits。
因此可以在保持硬件平台不变的情况下,通过更换大容量存储芯片,升级可编程逻辑器件程序来提高存储系统的存储容量。
其中,芯片的操作是通过执行相应的命令字来完成的,芯片的操作命令字见表1所示。可编程逻辑器件负责实现存储器控制器功能,同时控制多片存储器的无效块校验、读出操作、编程操作和擦除操作等。厂家保证每一片存储器的第一个Block一定是有效的,即可以进行擦除和编程操作。在无效块校验过程中,可编程逻辑器件记录每片存储器的无效块地址,并将无效块地址存储到第一个Block中。在以后的编程、读出操作时,可编程逻辑器件首先将第一个Block中的无效块地址读到内部RAM中。在进行编程、读出操作时,会进行要操纵地址与无效块地址的比较。若地址相同,说明该地址为无效块地址,则会跳过该地址,操作下一个地址。
表1.操作命令字
功能 | 第1周期 | 第2周期 |
读(read) | 00h | 30h |
页编程(page program) | 80h | 10h |
块擦除(Block Erase) | 60h | D0h |
由上述内容可以看出,可编程逻辑器件实现的存储器控制器,操作灵活,可应用于各种场合,具有广阔的市场前景。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种海量数据存储控制模块,其特征在于,所述海量存储控制模块包括:
可编程逻辑器件,其用于根据用户需求指令来控制存储器组进行相应操作;
存储器阵列,其用于在所述可编程逻辑器件的控制下,执行数据写入、读出、擦出操作。
2.如权利要求1所述的海量数据存储控制模块,其特征在于,所述可编程逻辑器件包括:操作项目选择单元、无效块校验单元、擦除操纵单元、写入操纵单元以及读出操纵单元;
所述操作项目选择单元用于根据用户需求指令来选择具体操作单元,生成对应的操作单元指令;
所述无效块校验单元用于根据与其对应的所述操作单元指令进行数据字符串中无效块的检验操作,检测存储器中的无效块地址;
所述擦除操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行擦除操作;
所述写入操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行写入操作;
所述读出操纵单元用于在无效块以外的其他数据存储区内,根据与其对应的操作单元指令对存储器芯片中的数据进行读出操作。
3.如权利要求1所述的海量数据存储控制模块,其特征在于,所述可编程逻辑器件为FPGA可编程逻辑器件,其采用同时操纵多片存储器芯片的方式来工作。
4.如权利要求3所述的海量数据存储控制模块,其特征在于,通过改变所述FPGA可编程逻辑器件预设置的时钟,来实现提高或降低数据的读写速率。
5.如权利要求3所述的海量数据存储控制模块,其特征在于,所述FPGA可编程逻辑器件为XILINX公司的Virtex-II系列FPGA可编程逻辑器件。
6.如权利要求1所述的海量数据存储控制模块,其特征在于,所述存储器阵列包括若干组存储器组合。
7.如权利要求6所述的海量数据存储控制模块,其特征在于,所述存储器组合中包含若干片存储器芯片。
8.如权利要求7所述的海量数据存储控制模块,其特征在于,所述存储器芯片为宽温芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210371101.0A CN103699333A (zh) | 2012-09-27 | 2012-09-27 | 一种海量数据存储控制模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210371101.0A CN103699333A (zh) | 2012-09-27 | 2012-09-27 | 一种海量数据存储控制模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103699333A true CN103699333A (zh) | 2014-04-02 |
Family
ID=50360875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210371101.0A Pending CN103699333A (zh) | 2012-09-27 | 2012-09-27 | 一种海量数据存储控制模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699333A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267911A (zh) * | 2014-09-18 | 2015-01-07 | 湖南喜玛拉云技术有限公司 | 数据存储控制器及其数据处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040113655A1 (en) * | 2002-12-13 | 2004-06-17 | Xilinx, Inc. | Partial reconfiguration of a programmable logic device using an on-chip processor |
US7550994B1 (en) * | 2004-01-09 | 2009-06-23 | Altera Corporation | Programmable logic device with on-chip nonvolatile user memory |
CN101609437A (zh) * | 2009-06-24 | 2009-12-23 | 北京理工大学 | 一种基于nand的存储板 |
-
2012
- 2012-09-27 CN CN201210371101.0A patent/CN103699333A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040113655A1 (en) * | 2002-12-13 | 2004-06-17 | Xilinx, Inc. | Partial reconfiguration of a programmable logic device using an on-chip processor |
US7550994B1 (en) * | 2004-01-09 | 2009-06-23 | Altera Corporation | Programmable logic device with on-chip nonvolatile user memory |
CN101609437A (zh) * | 2009-06-24 | 2009-12-23 | 北京理工大学 | 一种基于nand的存储板 |
Non-Patent Citations (1)
Title |
---|
王立峰等: "基于闪存的高速海量存储模块设计", 《计算机工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267911A (zh) * | 2014-09-18 | 2015-01-07 | 湖南喜玛拉云技术有限公司 | 数据存储控制器及其数据处理方法 |
CN104267911B (zh) * | 2014-09-18 | 2017-06-30 | 南京喜玛拉云信息技术有限公司 | 数据存储控制器及其数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102500661B1 (ko) | 다중 레벨 셀 모드 비휘발성 메모리를 위한 비용 최적화된 단일 레벨 셀 모드 비휘발성 메모리 | |
CN102831090B (zh) | 一种用于星载dsp与fpga通讯接口的地址线及其优化方法 | |
CN101464834B (zh) | 闪存数据写入方法及使用此方法的控制器 | |
US9176863B2 (en) | Memory controller controlling a nonvolatile memory | |
CN106067321A (zh) | 适于存储器编程暂停-恢复的控制器 | |
CN104298606A (zh) | 固态存储装置中垃圾搜集动作的控制方法 | |
US10754785B2 (en) | Checkpointing for DRAM-less SSD | |
CN104360963B (zh) | 一种面向内存计算的异构混合内存方法和装置 | |
US9396108B2 (en) | Data storage device capable of efficiently using a working memory device | |
US9569381B2 (en) | Scheduler for memory | |
CN104375895B (zh) | 用于多种存储器间的数据存储调度方法以及装置 | |
TWI512609B (zh) | 讀取命令排程方法以及使用該方法的裝置 | |
CN108694138A (zh) | 控制器及其操作方法 | |
CN105373338A (zh) | 一种flash的控制方法和控制器 | |
CN102479549A (zh) | 半导体存储装置 | |
CN110554833B (zh) | 存储设备中并行处理io命令 | |
CN104409099A (zh) | 基于FPGA的高速eMMC阵列控制器 | |
CN102541778A (zh) | 一种超高速超大容量存储装置及其实现方法 | |
CN204129729U (zh) | 一种基于DMA传输的Flash存储控制系统 | |
US20200363997A1 (en) | Ssd managed host write atomicity with arbitrary transfer length | |
CN103218308B (zh) | 缓冲存储器管理方法、存储器控制器与存储器储存装置 | |
CN103699333A (zh) | 一种海量数据存储控制模块 | |
US9652172B2 (en) | Data storage device performing merging process on groups of memory blocks and operation method thereof | |
CN106919343A (zh) | 周边接口电路与周边存储器系统 | |
CN105589912A (zh) | 一种利用mram处理频写文件的方法及存储结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140402 |
|
WD01 | Invention patent application deemed withdrawn after publication |