CN105718219B - 基于usb3.0的高速数据传输存储的方法与模块 - Google Patents

基于usb3.0的高速数据传输存储的方法与模块 Download PDF

Info

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
Application number
CN201610034522.2A
Other languages
English (en)
Other versions
CN105718219A (zh
Inventor
史治国
朱蒋财
罗欣
陈积明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201610034522.2A priority Critical patent/CN105718219B/zh
Publication of CN105718219A publication Critical patent/CN105718219A/zh
Application granted granted Critical
Publication of CN105718219B publication Critical patent/CN105718219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Abstract

本发明公开了一种基于USB3.0的高速数据传输存储的方法与模块。包括USB3.0通信控制模块、缓存模块和FLASH阵列编程模块,由USB3.0接口接收海量高速数据,再经USB3.0通信控制模块对数据进行处理和解析;解析后,建立两组缓存RAM核,采用轮询机制将数据依次进行缓存;并行高速地把数据写入到存储介质FLASH阵列中;执行乒乓结构,实现数据的循环不间断传输。本发明实现了对大容量、高密度、低成本的并行编程,高速地传输存储海量数据,理论传输速率可达1.2Gb/s,具有传输速率快、实现成本低、扩展性高、通用性强、应用范围广的特点。

Description

基于USB3.0的高速数据传输存储的方法与模块
技术领域
本发明涉及了一种高速数据传输与存储方法,尤其涉及一种基于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通信控制模块(Ι)继续写入。
CN201610034522.2A 2016-01-19 2016-01-19 基于usb3.0的高速数据传输存储的方法与模块 Active CN105718219B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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的高速数据传输存储的方法与模块
CN109471816B (zh) 一种基于描述符的pcie总线dma控制器及数据传输控制方法
KR101988260B1 (ko) 임베디드 멀티미디어 카드, 및 이의 동작 방법
CN105468547B (zh) 一种基于axi总线的便捷可配置帧数据存取控制系统
CN104320317B (zh) 一种以太网物理层芯片状态的传送方法和装置
CN111782154B (zh) 数据搬移方法、装置及系统
CN114168520B (zh) 光纤通信总线装置、设备和系统
CN105224488A (zh) 一种pci总线控制器及其控制方法
CN109656851B (zh) 一种时间确定的包括多路高速总线通道及共享接口的系统
CN102841869A (zh) 一种基于fpga的多通道i2c控制器
CN104811643A (zh) 基于sd卡阵列的图像数据高速存储系统
CN104361143B (zh) 一种便携式数据采集卡及其方法
CN114297962A (zh) 一种自适应接口fpga软硬件协同仿真加速系统
CN116225992A (zh) 一种支持虚拟化仿真设备的NVMe验证平台及方法
CN102419739A (zh) 多主总线仲裁共享装置以及仲裁方法
CN102591823A (zh) 一种具有指令队列功能的Nandflash控制器
TWI474254B (zh) 用於在一記憶體系統中執行命令的方法與裝置及資料儲存系統
KR20050035836A (ko) 다중 낸드 플래시 메모리 인터페이스 장치
CN108897696B (zh) 一种基于DDRx存储器的大容量FIFO控制器
CN108055460B (zh) 高速图像处理和采集系统
CN106776390A (zh) 多设备访问存储器的实现方法
CN116414767A (zh) 一种对基于axi协议乱序响应的重排序方法及系统
CN101950276B (zh) 一种存储器访问装置及其程序执行方法
CN105573933A (zh) 处理器及存取存储器的方法
CN203054813U (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