CN105718219B - 基于usb3.0的高速数据传输存储的方法与模块 - Google Patents
基于usb3.0的高速数据传输存储的方法与模块 Download PDFInfo
- Publication number
- CN105718219B CN105718219B CN201610034522.2A CN201610034522A CN105718219B CN 105718219 B CN105718219 B CN 105718219B CN 201610034522 A CN201610034522 A CN 201610034522A CN 105718219 B CN105718219 B CN 105718219B
- Authority
- CN
- China
- Prior art keywords
- data
- ram
- flash
- module
- caching
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012546 transfer Methods 0.000 title claims abstract description 23
- 238000004891 communication Methods 0.000 claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 235000005282 vitamin D3 Nutrition 0.000 description 1
- 239000011647 vitamin D3 Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于USB3.0的高速数据传输存储的方法与模块。包括USB3.0通信控制模块、缓存模块和FLASH阵列编程模块,由USB3.0接口接收海量高速数据,再经USB3.0通信控制模块对数据进行处理和解析;解析后,建立两组缓存RAM核,采用轮询机制将数据依次进行缓存;并行高速地把数据写入到存储介质FLASH阵列中;执行乒乓结构,实现数据的循环不间断传输。本发明实现了对大容量、高密度、低成本的并行编程,高速地传输存储海量数据,理论传输速率可达1.2Gb/s,具有传输速率快、实现成本低、扩展性高、通用性强、应用范围广的特点。
Description
技术领域
本发明涉及了一种高速数据传输与存储方法,尤其涉及一种基于USB3.0的高速数据传输存储的方法与模块。
背景技术
在信号处理领域,信号采集的速率越来越高,对数据进行实时处理的难度也随之增加,越来越多的情况下需要对数据进行先存储再处理,而数据量往往是非常庞大的。因此高速数据传输与存储系统是非常必要的,能促进信号处理领域的发展。
目前高速数据传输与存储系统大多基于PCI或者PCIe接口,对需要对接的设备接口要求高,通用性差。而USB(通用串行总线)3.0接口,其普及性、方便性、可靠性、都在目前通信接口方面占主导地位。而且USB3.0接口传输速度快,因此提供一种基于USB3.0的高速数据传输存储的方法具有深远的意义。
发明内容
为了解决背景技术中存在的问题,本发明的目的在于提出了一种基于USB3.0的高速数据传输存储的方法与模块,实现海量数据的高速传输及存储,而且具有实现成本低、扩展性高、通用性强、应用范围广等特点。
本发明采用的技术方案包括:
一、一种基于USB3.0的高速数据传输存储的方法:
1)由USB3.0接口接收海量高速数据,再经USB3.0通信控制模块对数据进行处理和解析;
2)解析后,建立两组缓存RAM核,采用轮询机制将数据依次进行缓存;
3)并行高速地把数据写入到存储介质NAND FLASH阵列中;
执行乒乓结构,实现数据的循环不间断传输。
所述步骤1)USB3.0通信控制模块具体工作步骤为:
1.1)根据USB3.0协议,解析USB3.0接口接收的数据,缓存在先进先出(FIFO)存储器中;
1.2)进行同步从设备FIFO(Slave FIFO)读操作,读取先进先出(FIFO)存储器中的数据后进行下一步骤。
所述步骤2)中,两组缓存RAM核分别定义为A组和B组RAM,每组缓存RAM核包含的RAM数量与FLASH阵列包含的FLASH芯片数相同,每组包含等于16个RAM,每个RAM的大小为1页FLASH数据量。
所述步骤2)的缓存具体是指把数据采用轮询机制依次写入其中一组缓存RAM核的各个RAM中进行缓存。
所述步骤3)之前,对FLASH阵列进行擦除,擦除以FLASH块为单位,循环执行,直到把FLASH阵列中原先存储的数据都擦除掉。
所述的步骤3)具体为:当一组缓存RAM核存满后,数据不再写入该缓存RAM核,并进行并发FLASH页编程操作,将该组缓存RAM核中各个RAM已存储的数据并行写入到FLASH阵列中各自对应的FLASH芯片中。
所述的执行乒乓结构具体是指在一组缓存RAM核存满后并进行步骤3)写入到FLASH阵列的同时,将步骤1)接收的数据按照步骤2)所述的轮询机制依次写入另一组缓存RAM核中的各个RAM中,执行乒乓结构,重复步骤1)~步骤3)循环操作,从而实现数据的不间断传输。
二、一种基于USB3.0的高速数据传输存储的模块:
包括USB3.0接口和在微处理器中的USB3.0通信控制模块、缓存模块和FLASH阵列编程模块;
USB3.0接口,接收海量高速数据传送到USB3.0通信控制模块;
USB3.0通信控制模块,根据USB3.0协议解析USB3.0接口接收的数据,缓存在先进先出存储器中并读取写入到缓存模块;
缓存模块,将其已缓存中的数据并行地发送给FLASH阵列编程模块,并且同时采用乒乓结构不间断缓存;
FLASH阵列编程模块,接收缓存模块传来的数据并编程写入FLASH芯片阵列中,实现数据的存储。
所述的缓存模块包括两组缓存RAM核,每组缓存RAM核包含的RAM数量与FLASH阵列编程模块对应的FLASH芯片数相同,每个RAM的大小为1页FLASH数据量。
所述的缓存模块中,一组缓存RAM核被USB3.0通信控制模块写入存满时,其各个RAM并行将数据传送到FLASH阵列编程模块;另一组缓存RAM核被USB3.0通信控制模块继续写入。
与背景技术相比,本发明具有的有益效果是:
1.本发明采用基于USB3.0接口进行高速数据传输与存储,方法简单易于实现,且实现成本低。
2.本发明采用基于USB3.0接口进行高速数据传输与存储,通用性强,应用范围广。
3.本发明传输速率高,最高可达1.2Gb/s,而且可以通过扩展FLASH的数目提高传输速率,扩展性高。
4.本发明可用于信号处理领域的高速数据传输与存储。
附图说明
图1是本发明模块的连接示意图。
图2是本发明实施例模块的具体连接框图。
图3是本发明方法的逻辑原理框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1所示,本发明方法可包括USB3.0通信控制模块I、缓存模块II、FLASH阵列编程模块III和FLASH阵列擦除模块IV;USB3.0通信控制模块I负责接收USB3.0接口传输的海量高速数据;缓存模块II用于缓存USB3.0模块接收的数据,本方法采用轮询机制把数据写入缓存;FLASH阵列编程模块III负责把数据并行高速地写入到存储介质NAND FLASH阵列中;FLASH阵列擦除模块IV用于擦除FLASH阵列中已存的数据,在FLASH阵列编程操作前执行。
如图3所示,本发明的实施例及其实施工作过程如下:
1)如图2所示,采用FPGA作为微处理器,并在其中构建USB3.0通信控制模块Ι、缓存模块ΙΙ和FLASH阵列编程模块ΙΙΙ的三个模块,缓存模块ΙΙ构建A组和B组缓存RAM核,每组缓存RAM核包含的16个RAM,FLASH阵列编程模块ΙΙΙ中也包含16个FLASH子编程模块,对应16个FLASH芯片,开始工作后进入初始化。
如图2所示,共有16个FLASH子模块,每个FLASH子模块对应两个RAM缓存,比如FLASH0对应RAM0_1和RAM0_2。RAM0_1~RAM0_15组成A组RAM,RAM1_1~RAM1_15组成B组RAM。
2)然后判断是否需要擦除FLASH,如果需要擦除,则可通过FLASH阵列擦除模块IV进行FLASH擦除操作,擦除完成后进入等待状态,如果不需要擦除,则直接进入等待状态。
3)判断USB3.0接口是否有接收到数据,若没有则停在等待状态。此时向FLASH接口发送大小为10Gb的数据,则USB3.0接口接收到数据,USB3.0通信控制模块(I)根据USB3.0协议解析并读取USB接口中的数据,并且采用轮询机制,依次写入每个FLASH子模块所对应的A组/B组缓存RAM中,如RAM0_1/RAM0_2存满,则会写入RAM1_1/RAM1_2中,然后依次写入RAM2_1/RAM2_2,RAM3_1/RAM3_2,…,RAM15_1/RAM15_2,每个RAM存入1页FLASH数据量,为16Kb。
4)当A组/B组RAM都存满后,触发FLASH编程模块III进行并发页编程,16个FLASH子模块同时进行页编程操作,把所对应的A组/B组缓存RAM中的数据写入FLASH阵列中,一次并发页编程共写入16个RAM存储的数据,即256Kb(16Kb×16)。
5)FLASH阵列编程模块III执行并发页编程的同时,对USB3.0接口是否继续收到数据做判断,如果仍然在接收数据,则继续执行过程3)和过程4),这时同时执行FLASH并发编程和轮询写入RAM操作,但是FLASH并发页编程操作在轮询写入B组/A组RAM之前完成,这样就保证了后续操作不冲突。重复执行上述操作,直到传输完10Gb的数据。
6)数据传输完后,USB3.0接口不再接收到数据,则返回等待状态,一次高速数据传输和存储过程完成。实测整个过程共耗时13.46s,传输平均速率约为760Mb/s。
由此可见本发明通过基于USB3.0接口实现了高速数据的传输与存储,传输瞬时速率理论最高可达1.2Gb/s,而实际使用过程中由于上位机的性能等因素影响,平均传输速率与理论计算值会有所差距,实测平均传输速率约为760Mb/s。本发明方法可以通过扩展FLASH的数目进一步提高传输速率,同时具有实现成本低、扩展性高、通用性强和应用范围广的特点,具有显著突出的技术效果。
上述具体实施方式用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
Claims (6)
1.一种基于USB3.0的高速数据传输存储的方法,其特征在于:
步骤1)由USB3.0接口接收海量高速数据,再经USB3.0通信控制模块对数据进行处理和解析;
步骤2)解析后,建立两组缓存RAM核,采用轮询机制将数据依次进行缓存;
步骤3)并行高速地把数据写入到存储介质FLASH阵列中;执行乒乓结构,实现数据的循环不间断传输;
所述步骤2)中,每组缓存RAM核包含的RAM数量与FLASH阵列包含的FLASH芯片数相同,每个RAM的大小为1页FLASH数据量;
所述步骤2)的缓存具体是指把数据采用轮询机制依次写入其中一组缓存RAM核的各个RAM中进行缓存;
所述的步骤3)具体为:当一组缓存RAM核存满后,数据不再写入该缓存RAM核,并进行并发FLASH页编程操作,将该组缓存RAM核中各个RAM已存储的数据并行写入到FLASH阵列中各自对应的FLASH芯片中;
所述的执行乒乓结构具体是指在一组缓存RAM核存满后并进行步骤3)写入到FLASH阵列的同时,将步骤1)接收的数据按照步骤2)所述的轮询机制依次写入另一组缓存RAM核中的各个RAM中,重复步骤1)~步骤3)循环操作,从而实现数据的不间断传输。
2.根据权利要求1所述的一种基于USB3.0的高速数据传输存储的方法,其特征在于:所述步骤1)USB3.0通信控制模块具体工作步骤为:
1.1)根据USB3.0协议,解析USB3.0接口接收的数据,缓存在先进先出(FIFO)存储器中;
1.2)读取先进先出(FIFO)存储器中的数据后进行步骤2)。
3.根据权利要求1所述的一种基于USB3.0的高速数据传输存储的方法,其特征在于:所述步骤3)之前,对FLASH阵列进行擦除,把FLASH阵列中原先存储的数据都擦除掉。
4.用于实施权利要求1~3任一所述方法的一种基于USB3.0的高速数据传输存储的装置,其特征在于:
包括USB3.0接口和在微处理器中的USB3.0通信控制模块(Ι)、缓存模块(ΙΙ)和FLASH阵列编程模块(ΙΙΙ);
USB3.0接口,接收海量高速数据传送到USB3.0通信控制模块(Ι);
USB3.0通信控制模块(Ι),根据USB3.0协议解析USB3.0接口接收的数据,缓存在先进先出(FIFO)存储器中并从先进先出(FIFO)存储器读取数据写入到缓存模块(ΙΙ);
缓存模块(ΙΙ),将已缓存的数据并行地发送给FLASH阵列编程模块(ΙΙΙ),并且同时执行乒乓结构不间断缓存至FLASH阵列编程模块(ΙΙΙ);
FLASH阵列编程模块(ΙΙΙ),接收缓存模块(ΙΙ)传来的数据并编程写入FLASH芯片阵列中,实现数据的存储。
5.根据权利要求4所述的一种基于USB3.0的高速数据传输存储的装置,其特征在于:所述的缓存模块(ΙΙ)包括两组缓存RAM核,每组缓存RAM核包含的RAM数量与FLASH阵列编程模块(ΙΙΙ)对应的FLASH芯片数相同,每个RAM的大小为1页FLASH数据量。
6.根据权利要求4所述的一种基于USB3.0的高速数据传输存储的装置,其特征在于:所述的缓存模块(ΙΙ)中,一组缓存RAM核被USB3.0通信控制模块(Ι)写入存满时,该组缓存RAM核的各个RAM并行将数据传送到FLASH阵列编程模块(ΙΙΙ);另一组缓存RAM核被USB3.0通信控制模块(Ι)继续写入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610034522.2A CN105718219B (zh) | 2016-01-19 | 2016-01-19 | 基于usb3.0的高速数据传输存储的方法与模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610034522.2A CN105718219B (zh) | 2016-01-19 | 2016-01-19 | 基于usb3.0的高速数据传输存储的方法与模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105718219A CN105718219A (zh) | 2016-06-29 |
CN105718219B true CN105718219B (zh) | 2018-12-04 |
Family
ID=56147208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610034522.2A Active CN105718219B (zh) | 2016-01-19 | 2016-01-19 | 基于usb3.0的高速数据传输存储的方法与模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718219B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294213B (zh) * | 2016-08-02 | 2019-07-16 | 芯启源电子科技有限公司 | 存储装置、电子设备及存储装置管理方法 |
CN107102818A (zh) * | 2017-03-16 | 2017-08-29 | 山东大学 | 一种基于sd卡的高速数据存储方法 |
CN109062822B (zh) * | 2018-07-18 | 2021-09-07 | 北京世纪东方通讯设备有限公司 | 一种机车无线通信数据的存储方法及装置 |
CN109710186A (zh) * | 2018-12-21 | 2019-05-03 | 南京理工大学 | 一种基于eMMC阵列的高速数据存储与传输系统 |
CN113126913A (zh) * | 2021-03-26 | 2021-07-16 | 井芯微电子技术(天津)有限公司 | 一种基于并行ram的数据阵列管理方法、装置和存储设备 |
CN113885811B (zh) * | 2021-10-19 | 2023-09-19 | 展讯通信(天津)有限公司 | 一种数据接收方法、装置、芯片和电子设备 |
CN115687228B (zh) * | 2023-01-03 | 2023-05-02 | 中国科学院国家空间科学中心 | 一种基于PCIe总线的星载固态存储系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2676291Y (zh) * | 2004-01-02 | 2005-02-02 | 创惟科技股份有限公司 | 提升闪存存取效能的装置 |
CN101408902A (zh) * | 2008-10-06 | 2009-04-15 | 南京大学 | 基于fpga和usb总线的高速数据采集与传输方法 |
CN102541793A (zh) * | 2011-12-26 | 2012-07-04 | 浙江大学 | 一种基于usb的高速双机数据交换方法及数据交换装置 |
CN104133798A (zh) * | 2014-08-01 | 2014-11-05 | 西安电子科技大学 | 一种大数据高速存储系统及实现方法 |
CN105120235A (zh) * | 2015-09-17 | 2015-12-02 | 合肥埃科光电科技有限公司 | 基于usb3.0接口的工业图像采集系统及其图像采集处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9093110B2 (en) * | 2013-07-30 | 2015-07-28 | Dell Products, Lp | System and method for calculating data compression ratio without writing data to media |
-
2016
- 2016-01-19 CN CN201610034522.2A patent/CN105718219B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2676291Y (zh) * | 2004-01-02 | 2005-02-02 | 创惟科技股份有限公司 | 提升闪存存取效能的装置 |
CN101408902A (zh) * | 2008-10-06 | 2009-04-15 | 南京大学 | 基于fpga和usb总线的高速数据采集与传输方法 |
CN102541793A (zh) * | 2011-12-26 | 2012-07-04 | 浙江大学 | 一种基于usb的高速双机数据交换方法及数据交换装置 |
CN104133798A (zh) * | 2014-08-01 | 2014-11-05 | 西安电子科技大学 | 一种大数据高速存储系统及实现方法 |
CN105120235A (zh) * | 2015-09-17 | 2015-12-02 | 合肥埃科光电科技有限公司 | 基于usb3.0接口的工业图像采集系统及其图像采集处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105718219A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718219B (zh) | 基于usb3.0的高速数据传输存储的方法与模块 | |
KR101988260B1 (ko) | 임베디드 멀티미디어 카드, 및 이의 동작 방법 | |
CN101740102B (zh) | 一种多通道闪存芯片阵列结构及其写入和读出方法 | |
CN105468547B (zh) | 一种基于axi总线的便捷可配置帧数据存取控制系统 | |
CN102110072B (zh) | 一种多处理器完全互访的方法及系统 | |
CN114168520B (zh) | 光纤通信总线装置、设备和系统 | |
CN111782154B (zh) | 数据搬移方法、装置及系统 | |
CN104320317B (zh) | 一种以太网物理层芯片状态的传送方法和装置 | |
CN105224488A (zh) | 一种pci总线控制器及其控制方法 | |
CN102841869A (zh) | 一种基于fpga的多通道i2c控制器 | |
CN111314641B (zh) | 一种高帧频图像的采集存储显示系统及方法 | |
CN104811643A (zh) | 基于sd卡阵列的图像数据高速存储系统 | |
CN114297962B (zh) | 一种自适应接口fpga软硬件协同仿真加速系统 | |
CN104361143B (zh) | 一种便携式数据采集卡及其方法 | |
CN116414767A (zh) | 一种对基于axi协议乱序响应的重排序方法及系统 | |
CN116225992A (zh) | 一种支持虚拟化仿真设备的NVMe验证平台及方法 | |
CN102591823A (zh) | 一种具有指令队列功能的Nandflash控制器 | |
CN102419739A (zh) | 多主总线仲裁共享装置以及仲裁方法 | |
CN116680088B (zh) | 一种针对多寄存器存储的多模块同时访问系统及访问方法 | |
CN108897696B (zh) | 一种基于DDRx存储器的大容量FIFO控制器 | |
CN108055460B (zh) | 高速图像处理和采集系统 | |
CN204086415U (zh) | 故障录波装置 | |
CN103106177A (zh) | 多核网络处理器的片上互联结构及其方法 | |
CN106776390A (zh) | 多设备访问存储器的实现方法 | |
CN101950276B (zh) | 一种存储器访问装置及其程序执行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |