CN1691195B - 提高数据存取速度的移动存储装置及方法 - Google Patents
提高数据存取速度的移动存储装置及方法 Download PDFInfo
- Publication number
- CN1691195B CN1691195B CN 200410026950 CN200410026950A CN1691195B CN 1691195 B CN1691195 B CN 1691195B CN 200410026950 CN200410026950 CN 200410026950 CN 200410026950 A CN200410026950 A CN 200410026950A CN 1691195 B CN1691195 B CN 1691195B
- Authority
- CN
- China
- Prior art keywords
- agreement
- data
- storage medium
- controller
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 52
- 238000004891 communication Methods 0.000 claims abstract description 12
- 241000258963 Diplopoda Species 0.000 claims description 5
- 230000005294 ferromagnetic effect Effects 0.000 claims description 5
- 230000005291 magnetic effect Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种提高数据存取速度的移动存储装置及方法,所述移动存储装置可与主机***进行数据传输,提高数据存取速度,所述装置包括:可通过通信协议与主机***进行数据传输的控制模块,用来存储数据的存储模块,所述控制模块与所述存储模块间连接有至少两个数据通道,所述控制模块将数据以数据包的形式通过所述数据通道以分时或同时的方式对存储模块进行数据存取操作,进而提高数据存取速度。
Description
技术领域
本发明涉及存储控制技术,尤其涉及提高数据存取速度的移动存储装置及方法。
背景技术
随着个人电脑的普及,各种数字产品与人们的工作生活关系日益密切,随之而来的大量数据的处理及携带便成为急需解决的问题,因而各种移动存储设备层出不穷,而半导体存储设备因体积小、容量大,高速存取、携带方便,性能稳定、不易损坏等优点而得到了越来越普及的应用。
目前的半导体存储设备由控制模块与存储介质构成,主机***通过该控制模块对存储介质进行数据读写操作,该控制模块与主机***之间可通过各种数据传输协议进行通信,该通信内容包括发送指令及进行数据传输,控制模块接收指令及数据后再根据该指令对存储介质进行相应的数据操作,因为存储介质固有的读写特性,主机***与控制模块之间的数据传输速度远大于控制模块对存储介质的读写操作速度,所以控制模块对存储介质的读写操作速度便成为主机***与存储介质之间进行数据传输的瓶颈。
例如,目前广泛应用的以USB协议进行数据传输、以闪存介质(FLASHMemory)作为存储介质的移动存储设备,USB2.0推出后,主机***与该存储设备的控制模块间的速度可达到480Mbps,而因为闪存介质固有的读写特性的限制,对8bit闪存介质的数据操作速度最高只能达到160Mbps(请确认),且目前上述移动存储设备的控制模块对于闪存介质采用单通道的方法,每次只能对一片闪存介质读写,如果是单片8bit闪存介质,实验室最高传输速度为:读数据80Mbps,写速度64Mbps;如果是单片16bit闪存介质,实验室最高传输速度为:读数据160Mbps,写速度128Mbps,显然这种控制模式下的控制模块对闪存介质的数据存取速度远低于主机***与控制模块之间的数据传输速度,未能充分利用主机***与控制模块之间的高数据传输率,进而限制了主机***与存储介质之间数据传输速度。
因此,如何提供一种提高数据存取速度的移动存储装置及方法成为亟待解决的问题。
发明内容
本发明的目的是在现有技术基础上,针对现有技术应用领域的不足,提供一种提高数据存取速度的移动存储装置及方法
本发明提高数据存取速度的移动存储装置可以通过以下技术方案实现:
一种提高数据存取速度的移动存储装置,可与主机***进行数据传输,所述装置包括:可通过通信协议与主机***进行数据传输的控制模块,用来存储数据的存储模块,所述控制模块与所述存储模块间连接有至少两个数据通道。
所述移动存储装置的所述存储模块中包括至少两片存储介质。
所述移动存储装置的所述控制模块中包括至少两个存储介质控制器,每个存储介质控制器与一片存储介质连接。
所述移动存储装置的所述控制模块中包括一个或多个存储介质控制器,每个存储介质控制器与多片存储介质连接。
所述移动存储装置的所述存储介质可以是但不限于闪存介质(FLASHMemory)、SDRAM、DRAM、EPPROM、铁磁随机存储器/铁电存贮器(FRAM)、磁阻式随机存取存储器(MRAM)、超高密度存储芯片(MILLIPEDE)。
所述移动存储装置的所述通信协议包括但不限于USB协议、Zigbee协议、IEEE1394协议、蓝牙协议、串行ATA协议、IDE协议、SCSI协议、HiperLAN协议、IrDA红外协议、HomeRF协议、IEEE802.11x、IEEE802.11a、802.11b、802.11d、802.11.g、802.15、802.16、802.3协议、RS232协议、RS485协议、USB_OTG协议、UWB协议、GPIO协议、UART协议、CF协议、SM协议、MMC协议、SD协议、MS协议、MD协议、X-D协议、PCMCIA协议、GSM、GPRS、CDMA、2.5G和/或3G协议。。
本发明提高数据存取速度的方法可以通过以下技术方案实现:
所述提高数据存取速度的方法,用于提高主机***对移动存储装置的数据存取速度,所述移动存储装置包括:可通过通信协议与主机***进行数据传输的控制模块,用来存储数据的存储模块,所述方法包括如下步骤::
1)在所述存储模块中提供多片用来存储数据的存储介质;
2)所述控制模块建立与所述存储介质对应的至少两个数据通道;
3)将数据以数据包为单位、以分时或同时的方式通过所述对应的数据通道对所述存储介质进行存取操作。
所述方法的步骤3)进一步包括:
3)_a所述控制模块从所述主机***接收数据操作指令;
3)_b从所述数据操作指令中获取所要操作的数据的起始逻辑地址及扇区数目;
3)_c根据起始逻辑地址解析每个扇区的逻辑地址,并根据该逻辑地址选择相应的数据传输通道对存储介质进行相应操作。
所述方法的所述数据包的大小可以自行设定。
本发明通过多个数据传输通道对存储介质进行数据存取操作,进而大大提高数据存取速度。
附图说明
图1是本发明第一实施例的提高数据存取速度的移动存储装置的结构框图。
图2是本发明第一实施例的提高数据存取速度的移动存储装置的存储介质控制器与存储介质的连接图。
图3是本发明第一实施例的提高数据存取速度的移动存储装置的写时序图。
图4是本发明第二实施例的提高数据存取速度的移动存储装置的结构框图。;
图5是本发明第二实施例的提高数据存取速度的移动存储装置的存储介质控制器与存储介质的连接图;
图6是本发明第二实施例的提高数据存取速度的移动存储装置的写时序图。
具体实施方式
请参阅图1,本发明第一实施例中提高数据存取速度的移动存储装置包括控制模块10和存储模块30,所述移动存储装置通过所述控制模块10与***主机50连接,所述控制模块10可通过通信协议与主机***进行数据传输,所述通信协议包括但不限于USB协议、Zigbee协议、IEEE1394协议、蓝牙协议、串行ATA协议、IDE协议、SCSI协议、HiperLAN协议、IrDA红外协议、HomeRF协议、IEEE802.11x、IEEE802.11a、802.11b、802.11d、802.11.g、802.15、802.16、802.3协议、RS232协议、RS485协议、USB_OTG协议、UWB协议、GPIO协议、UART协议、CF协议、SM协议、MMC协议、SD协议、MS协议、MD协议、X-D协议、PCMCIA协议、GSM、GPRS、CDMA、2.5G和/或3G协议。所述移动存储装置10还通过所述控制模块10对所述存储模块30进行数据存取操作。
所述***主机50可以是但不限于个人电脑、笔记本电脑、掌上电脑、个人数字助理机(PDA)、数码相册、数码相机、数码摄像机等。
所述存储模块30包括存储介质310、320,所述存储介质可以是但不局限于SDRAM、DRAM、EPPROM、静态随机存取存储器(SRAM)、铁磁随机存储器/铁电存贮器(FRAM)、磁阻式随机存取存储器(MRAM)、超高密度存储芯片(MILLIPEDE)、闪存介质(FLASH Memory)等,所述闪存介质(FLASH Memory)包括但不限于8位/16位的FLASH,本实施例中的存储介质310、320以FLASH为例进行说明。
所述控制模块10从功能单元上分,包括处理器(MCU)120、DMA控制器130、132,协议实现控制器140、存储介质控制器150、数据校验单元160、162,内部存储单元170、PLL单元180。
所述内部存储单元170作为整个控制模块10的内存,包括ROM和/或RAM,还包括寄存器组。
其中,ROM主要是存储控制所述控制模块10操作的应用程序和/或***程序;RAM作为应用程序运行的缓存,并且可以存储由存储模块30或/和***主机50传输来的数据。所述的RAM可以选用但不限于SRAM、DRAM、SDRAM、MRAM、FRAM等;控制模块10的应用程序、***程序以及其他相关的专用信息(例如产品信息、用户信息等)可以存储在所述内部存储单元170中,供处理器120直接调用。
所述寄存器组包括多个寄存器,可以分别设定并且存储各个控制器、模块对应的默认的参数及参数值。该寄存器组至少包括:处理器控制寄存器、处理器状态寄存器、处理器地址寄存器、DMA控制寄存器、DMA状态寄存器、DMA计数寄存器、协议实现控制寄存器、协议实现状态寄存器、协议实现计数寄存器、外部存储介质计数寄存器、RAM地址寄存器、外部存储介质地址寄存器、外部存储介质命令寄存器、数据校验控制寄存器、数据校验状态寄存器等。
所述的处理器120可以采用可编程单片机(微控制器,MCU)作为整个移动存储装置的控制器,还可以采用DSP控制器、Risc控制器、X86控制器等。通过访问、控制上述的DMA控制器130、协议实现控制器140、存储介质控制器150、数据校验单元160、内部存储单元170、PLL单元180,实现控制上述功能单元、参数配置等功能。
所述的存储介质控制器150和152通过总线连接存储介质310、320,用来控制存储介质310、320的读写时序,所述总线包括数据总线/地址总线、控制/状态总线。所述存储介质控制器150和152可以是(但不限于)闪存介质控制器、MRAM控制器、超高密度存储介质控制器等等。
所述PLL单元180则控制整个移动存储装置的时钟,实现时钟管理功能,可以提供60MHz、48MHz、30MHz、24MHz和/或12MHz的时钟频率。
本实施例中的存储介质310、320以8Bit的闪存介质(Flash)为例进行说明,但所述存储介质不限于8Bit的闪存介质,例如还可以是16位Flash。
请参阅图2,所述存储介质310和320为8Bit的Flash。本实施例的所述存储介质310和320还可以是16位Flash。当所述存储介质310’和320’为16Bit的Flash时,其与存储介质控制器150、152的连接与图2所示的8Bit Flash与存储介质控制器150、152的连接类似。
所述的DMA控制器130、132连接并且受控于上述的处理器120,通过该处理器120发出的指令启动DMA控制器130、132。并且,该DMA控制器130、132可以通过调用所述内部存储单元170中的寄存器组中的参数及参数值,分别建立协议实现控制器140与存储介质控制器150、152之间的DMA数据传输通道,完成多种DMA传输类型的数据快速传输功能。
所述的协议实现控制器140主要是实现与***主机50进行数据交换,包括:编解码、校检、位填充、地址编码、转换等,从而使与***主机50之间的数据交换符合相对应的协议标准。所述协议实现控制器140可以选自USB协议实现控制器、Zigbee协议、IEEE1394协议实现控制器及蓝牙协议实现控制器等,但不限于上述协议实现控制器,本实施例中以USB协议实现控制器为例进行说明。
所述的数据校验单元160、162是在数据交换的过程中通过在线的编解码,可以采用但不限于汉明码(Hamming Code)或RS(Reed-Soloman)码等的在线编解码,保障数据的正确性。该数据校验单元160是在DMA控制器130控制的DMA数据交换通道建立的同时开始运作,数据校验单元162是在DMA控制器132控制的DMA数据交换通道建立的同时开始运作。
下面以所述移动存储装置的控制模块10对存储模块30的数据写操作为例对本发明作进一步阐述。
首先,数据从***主机50传输到协议实现控制器140,该协议实现控制器140对该数据进行编解码、校验、位填充、地址编码、转换等,使得数据类型符合标准。所述控制模块10从***主机50接收数据写操作指令。
接着,所述控制模块10通过下述方式将数据以数据包为单位写入所述存储模块30中:
在本实施例中,所述数据包大小即对应主机***50的扇区大小,值得注意的是,本发明的所述数据包大小可以设定,可以但不限于是512字节、528字节、2048或2112字节。协议实现控制器140产生中断信号,向处理器120发出请求需要进行数据传输。该处理器120检测到需要进行从协议实现控制器140传输到存储介质控制器150、152的数据传输的数据写操作指令,所述处理器120从所述数据写操作指令解析出数据将要写入的扇区(Sector)的起始逻辑地址和需要写入的扇区数目,根据起始逻辑地址的奇偶性选择先启动的DMA控制器。
若起始逻辑地址为奇数则启动DMA控制器130建立从协议实现控制器40传输到存储介质控制器150的DMA数据传输通道。
即处理器120对DMA控制器130进行设置,并启动数据校验单元160处于工作状态,继而开始数据的DMA传输。数据就会以一个字节为单元地从协议实现控制器140传输到存储介质控制器150,在这过程中,数据校验单元160将采用汉明码在线编解码,完成对数据的纠错、检错的功能,从而确保数据传输的正确性和可靠性。
然后,由存储介质控制器150对存储介质310的读写时序进行控制,将数据写入到存储介质310中。
若起始逻辑地址为偶数则启动DMA控制器132建立从协议实现控制器140传输到存储介质控制器152的DMA数据传输通道。
即处理器120对DMA控制器132进行设置,并设置启动数据校验单元162处于工作状态,继而开始数据的DMA传输。数据就会以一个字节为单元地从协议实现控制器140传输到存储介质控制器152,在这过程中,数据校验单元162将采用汉明码在线编解码,完成对数据纠错、检错的功能,从而确保数据传输的正确性和可靠性。
然后,由存储介质控制器152对存储介质320的读写时序进行控制,将数据写入到外部存储介质320中。
将后续需要写入的扇区按写入的逻辑地址的奇偶性分别送入相应的存储介质控制器,上述相应的存储介质控制器可预先设定,可以是存储介质控制器150或152,本实施例中设定为:将逻辑地址为奇数的扇区送入存储介质控制器150;将逻辑地址为偶数的扇区送入存储介质控制器152。
直到上述需要写入的扇区数目全部写入存储介质后,结束所述数据写指令。
也可以通过参数设置使得:起始逻辑地址为奇数则启动DMA控制器132建立从协议实现控制器140传输到存储介质控制器152的DMA数据传输通道;起始逻辑地址为偶数时启动DMA控制器130建立从协议实现控制器140传输到存储介质控制器150的DMA数据传输通道。也可以设定同时启动DMA控制器130、132。
无论先启动DMA控制器130或DMA控制器132或同时启动DMA控制器130、132,在数据传输过程中,DMA控制器130建立的从协议实现控制器140传输到存储介质控制器150的DMA数据传输通道,及DMA控制器132建立的从协议实现控制器140传输到存储介质控制器152的DMA数据传输通道并行工作,且DMA控制器130、132分别通过存储介质控制器150、152同时对外部存储介质310、320进行数据写操作。从而大大提高了数据传输及写入速度。
当DMA130、132完成各自所需传输的扇区数,处理器120查询结束标志或DMA控制器130、132产生DMA传输完成的中断通知处理器120,则处理器120控制DMA控制器130、132重置相关参数,结束DMA传输。
请参阅图3,图3为本实施例的移动存储装置的写操作时序,其中A为先启动的数据通道的写时序,B为后启动的数据通道的写时序,从图3可看出,本控制装置写两个块的时间为TtwoBlock可由下列等式计算:
TtwoBlock=TWAIT+TW×64+(TCBSY+Tc)×63+TPROG
其中:
TW为写一个页(write one page)的时间;
TCBSY为缓存编程(Cache program)时间;
TPROG为快中最后一页的页编程(Cache program last page in a block)时间;
TWAIT为启动DMA控制器130建立DMA传输通道与启动DMA控制器132建立DMA传输通道的时间差,通常情况下启动DMA控制器130建立DMA传输通道与启动DMA控制器132建立DMA传输通道的时间差的最长时间为Tw即105.6μs,也就是处理器120等DMA控制器130写完一个页之后,再启动DMA控制器132建立DMA传输通道启动DMA控制器130、132则TWAIT为零,即0≤TWAIT≤Tw;
Tc为DMA控制器130或DMA控制器132在完成一个页的缓存编程(Cache program)后到写下一个页(write one page)之间的等待时间,通常情况下TCBSY+Tc最长为TW,也就是DMA控制器130或DMA控制器132之一在完成一个页的缓存编程(Cache program)后,处理器120等待其中另一个DMA控制器写完一个页后,再来控制完成缓存编程(Cache program)的DMA控制器写下一个页,即TCBSY≤TCBSY+Tc≤Tw;
由上述可得:
TW×64+TCBSY×63+TPROG≤TtwoBlock≤Tw+TW×64+Tw×63+TPROG
将TW=105.6μs代入可得:
105.6μs×64+TCBSY×63+TPROG≤TtwoBlock≤105.6μs+105.6μs×64+105.6μs×63+TPROG由此可计算出TtwoBlock的最小值和最大值,即可计算出本发明的第一实施例的控制模块10的对两个块进行数据写入操作的最短时间和最长时间。
下面将本发明的第一实施例控制模块10对一个块进行数据写入操作的最短时间及最长时间与现有的控制装置的对一个块进行数据写入操作的时间进行比较,请参阅表1。其存储介质以8Bit闪存介质为例,所述8Bit闪存介质的具体参数请参阅表1:
表1
ToneBlock | TCBSY(us) | TPROG(us) | Clock(MHz) | One page(us) | Total Time(us) | Byte Rate(MB/s) |
现有 | 3 | 300 | 20 | 105.6 | 7,247.4 | 18.1 |
本发明(max) | 3 | 300 | 20 | 105.6 | 6,908.4 | 19.0 |
本发明(min) | 3 | 300 | 20 | 105.6 | 3,623.7 | 36.2 |
现有 | 3 | 300 | 15 | 140.8 | 9,500.2 | 13.8 |
本发明(max) | 3 | 300 | 15 | 140.8 | 9,161.2 | 14.3 |
本发明(min) | 3 | 300 | 15 | 140.8 | 4,750.1 | 27.6 |
现有 | 10 | 300 | 15 | 140.8 | 9,941.2 | 13.2 |
本发明(max) | 10 | 300 | 15 | 140.8 | 9,161.2 | 14.3 |
本发明(min) | 10 | 300 | 15 | 140.8 | 4,970.6 | 26.4 |
现有 | 150 | 300 | 20 | 105.6 | 16,508.4 | 7.9 |
本发明(max) | 150 | 300 | 20 | 105.6 | 8,307.0 | 15.8 |
本发明(min) | 150 | 300 | 20 | 105.6 | 8,254.2 | 15.9 |
表1中的ToneBlock表示对一个块进行数据写入操作的时间,“现有”表示现有的读写存储介质的方法及控制装置,“本发明(max)”表示本实施例的方法及控制装置所需的最长时间(即最小速率),“本发明(min)”表示本实施例的方法及控制装置所需的最短时间(即最大速率)。
请参阅表2,表2中在表1的基础上将块擦除TBRES的时间计算在内进行比较:
表2
ToneBlock | TCBSY(us) | TPROG(us) | TBRES(us) | Clock(MHz) | One page(us) | Total Time(us) | Byte Rate(MB/s) |
现有 | 3 | 300 | 2000 | 20 | 105.6 | 9,247.4 | 14.2 |
本发明(max) | 3 | 300 | 2000 | 20 | 105.6 | 7,908.4 | 16.6 |
本发明(min) | 3 | 300 | 2000 | 20 | 105.6 | 4,623.7 | 28.3 |
现有 | 3 | 300 | 2000 | 15 | 140.8 | 11,500.2 | 11.4 |
本发明(max) | 3 | 300 | 2000 | 15 | 140.8 | 10,161.2 | 12.9 |
本发明(min) | 3 | 300 | 2000 | 15 | 140.8 | 5,750.1 | 22.8 |
现有 | 3 | 300 | 2000 | 18 | 117.3 | 9,998.3 | 13.1 |
本发明(max) | 3 | 300 | 2000 | 18 | 117.3 | 8,659.3 | 15.1 |
本发明(min) | 3 | 300 | 2000 | 18 | 117.3 | 4,999.2 | 26.2 |
现有 | 150 | 300 | 2000 | 20 | 105.6 | 18,508.4 | 7.1 |
本发明(max) | 150 | 300 | 2000 | 20 | 105.6 | 9,307.0 | 14.1 |
本发明(min) | 150 | 300 | 2000 | 20 | 105.6 | 9,254.2 | 14.2 |
从表1和表2的数据可明显看出,使用本发明提高数据存取速度的移动存储装置及方法大大提高了数据写入速率。同理可知本发明移动存储装置和数据读取方法读取数据的速度显然高于现有的移动存储装置及数据读取方法。
图4是本发明第二实施例的移动存储装置的方框图,所述移动存储装置包括控制模块10’和存储模块30’,所述移动存储装置通过所述控制模块10’与***主机50连接,所述控制模块10’可通过通信协议与主机***进行数据传输,所述通信协议包括但不限于USB协议、Zigbee协议、IEEE1394协议、蓝牙协议、串行ATA协议、IDE协议、SCSI协议、HiperLAN协议、IrDA红外协议、HomeRF协议、IEEE802.11x、IEEE802.11a、802.11b、802.11d、802.11.g、802.15、802.16、802.3协议、RS232协议、RS485协议、USB_OTG协议、UWB协议、GPIO协议、UART协议、CF协议、SM协议、MMC协议、SD协议、MS协议、MD协议、X-D协议、PCMCIA协议、GSM、GPRS、CDMA、2.5G和/或3G协议。所述移动存储装置10’还通过所述控制模块10对所述存储模块30’进行数据存取操作。
所述控制模块10’从功能单元上分,包括处理器(MCU)120’、DMA控制器130’,协议实现控制器140’、存储介质控制器150’、数据校验单元160’,内部存储单元170’、PLL单元180’。
所述***主机50是指但不局限于个人电脑、笔记本电脑、掌上电脑、个人数字助理机(PDA)、数码相册、数码相机、数码摄像机等。
所述存储模块30’中包括存储介质310’和320’,所述存储介质310’和320’可以选自但不局限于下列存储介质:SDRAM、DRAM、EPPROM、静态随机存取存储器(SRAM)、铁磁随机存储器/铁电存贮器(FRAM)、磁阻式随机存取存储器(MRAM)、超高密度存储芯片(MILLIPEDE)、闪存介质(FLASH Memory)等,所述闪存介质(FLASH Memory)包括但不限于8位/16位的FLASH,本实施例中的存储介质310’和320’以8位FLASH为例进行说明。
所述的PLL单元180’则控制整个移动存储装置的时钟,实现时钟管理功能,可以提供60MHz、48MHz、30MHz、24MHz和/或12MHz的时钟频率。
所述内部存储单元170’作为所述控制模块10’的内存,可包括ROM和/或RAM,还包括寄存器组。
其中,ROM主要是存储控制整个移动存储装置的应用程序和/或***程序;RAM作为应用程序运行的缓存,并且可以存储由存储介质310’、320’或/和***主机50传输来的数据。所述的RAM可以选用但不限于SRAM、DRAM、SDRAM、MRAM、FRAM等;所述控制模块10’的应用程序、***程序以及其他相关的专用信息(例如产品信息、用户信息等)可以存储在内部存储模块170’中,供处理器120’直接调用。
所述的寄存器组包括多个寄存器,可以分别设定并且存储各个控制器、模块对应的默认的参数及参数值。该寄存器组至少包括:处理器控制寄存器、处理器状态寄存器、处理器地址寄存器、DMA控制寄存器、DMA状态寄存器、DMA计数寄存器、协议实现控制寄存器、协议实现状态寄存器、协议实现计数寄存器、外部存储介质计数寄存器、RAM地址寄存器、外部存储介质地址寄存器、外部存储介质命令寄存器、数据校验控制寄存器、数据校验状态寄存器等。
所述的处理器120’可以采用可编程单片机(微控制器,MCU)作为整个移动存储装置的控制器,还可以采用DSP控制器、Risc控制器、X86控制器等。通过访问、控制上述的DMA控制器30’、协议实现控制器40’、外部存储介质控制器50’、数据校验模块60’、内部存储模块70’、PLL模块80’,实现控制上述功能单元、参数配置等功能。
所述的存储介质控制器150’通过数据/地址总线和控制/状态总线连接存储介质310’、320’,用来控制存储介质的读写时序。所述存储介质控制器150’可以是(但不限于)闪存介质控制器、MRAM控制器、超高密度存储介质控制器等等。而所述的PLL单元180’则控制整个芯片的时钟,可以提供48MHz、24MHz和12MHz。
请参阅图5,其中所述存储介质310’和320’为8Bit的Flash。本实施例的所述存储介质310’和320’还可以是16位Flash。当所述存储介质310’和320’为16Bit的Flash时,其与存储介质控制器150’的连接与图4所示的8BitFlash与存储介质控制器150’的连接类似。
所述的DMA控制器130’连接并且受控于上述的处理器120,通过该处理器120’发出的指令启动DMA控制器130’。并且,该DMA控制器130’可以通过调用所述内部存储模块170’中的寄存器组中的参数及参数值,分别建立协议实现控制器140’与外部存储介质控制器150’之间的DMA数据传输通道,完成多种DMA传输类型的数据快速传输功能。
所述的协议实现控制器140’主要是实现与***主机50进行数据交换,包括:编解码、校检、位填充、地址编码、转换等,从而使与***主机之间的数据交换符合相对应的协议标准。所述协议实现控制器140’可以选自USB协议实现控制器、IEEE1394协议实现控制器及蓝牙协议实现控制器等,但不限于上述协议实现控制器,本实施例中以USB协议实现控制器为例进行说明,即所述的协议实现控制器140’是通过完成倒转不归零制(NRZI)的编解码、循环冗余码校验(CRC)的生成和校验、位填充、USB包的端点地址编码、差分信号与数字信号的转换等功能,使得数据符合USB标准协议的要求,与***主机5进行交换。
所述的数据校验模块160’是在数据交换的过程中通过在线的编解码,可以采用但不限于汉明码(Hamming Code)或RS(Reed-Soloman)码等的在线编解码,保障数据的正确性。在DMA数据交换通道建立的同时开始运作。
下面以所述控制模块10’对外部存储介质310’及320’的写操作为例对本发明作进一步阐述。
首先,所述控制模块10’从***主机50接收数据写操作指令,数据从***主机50传输到协议实现控制器140’,该协议实现控制器140’对该数据进行编解码、校验、位填充、地址编码、转换等,使得数据类型符合标准。
接着,所述控制模块10通过下述方式将数据以数据包为单位写入所述存储模块30’中:
在本实施例中,所述数据包大小即对应主机***50的扇区大小,值得注意的是,本发明的所述数据包大小可以设定,可以但不限于是512字节、528字节、2048或2112字节。
接着,协议实现控制器140’产生中断信号,向处理器120’发出请求需要进行数据传输。该处理器120’检测到需要进行从协议实现控制器140’传输到外部存储介质控制器150’的数据传输,所述处理器120’从所述数据写操作指令解析出数据将要写入的起始逻辑地址和需要写入的扇区数目。
启动DMA控制器130’建立从协议实现控制器140’传输到外部存储介质控制器50’的DMA数据传输通道。
即处理器20’对DMA控制130’进行设置,并启动数据校验模块160’处于工作状态,继而开始数据的DMA传输。数据就会以一个字节为单元地从协议实现控制器140’传输到外部存储介质控制器150’,在这过程中,数据校验模块160’将采用汉明码在线编解码,完成对数据的纠错、检错的功能,从而确保数据传输的正确性和可靠性。
然后,由外部存储介质控制器150’对存储介质310和310’的读写时序进行控制,将所接收到的每个扇区数据按照数据高低位分别写入到存储介质310和310’中,例如,将高位数据写入存储介质310,将低位数据写入外部存储介质310’。
所述外部存储介质控制器150’也可以两个扇区为单位进行写,即等待两个扇区到达后再对存储介质310’和320’进行写入操作,按照扇区写入的逻地址的奇偶性分别写入相应的外部存储介质,例如,将奇数地址的扇区写入存储介质310’,将偶数地址的扇区写入存储介质320’。
当处理器120’查询结束标志或DMA控制器130’产生DMA传输完成的中断通知处理器120’,则处理器120’控制DMA控制器30’重置相关参数,结束DMA传输。
请参阅图6,图6为本实施例的移动存储装置的写操作时序,其中A’为对存储介质310’的写操作时序,B’为对存储介质320’的写操作时序,从图6可看出,本实施例的所述移动存储装置写两个块的时间为TtwoBlock可由下列等式计算:
TtwoBlock=TW×64+TCBSY×63+TPROG
其中:
TW为写一个页(write one page)的时间;
TCBSY为缓存编程(Cache program)时间;
TPROG为快中最后一页的页编程(Cache program last page in a block)时间;
由上述可得:
TtwoBlock=TW×64+TCBSY×63+TPROG
将TW=105.6μs代入可得:
TtwoBlock=105.6μs×64+TCBSY×63+TPROG
由此可计算出TtwoBlock的值,即可计算出本发明的第一实施例控制装置1′对两个块进行数据写入操作的时间。
下面将本发明的第二实施例的移动存储装置对一个块进行数据写入操作的时间与现有的移动存储装置的对一个块进行数据写入操作的时间进行比较,请参阅表3。其存储介质以8Bit闪存介质为例,所述8Bit闪存介质的具体参数请参阅表3:
表3
ToneBlock | TCBSY(us) | TPROG(us) | Clock(MHz) | One page(us) | Total Time(us) | Byte Rate(MB/s) |
现有 | 3 | 300 | 20 | 105.6 | 7,247.4 | 18.1 |
本发明 | 3 | 300 | 20 | 105.6 | 3,623.7 | 36.2 |
现有 | 3 | 300 | 15 | 140.8 | 9,500.2 | 13.8 |
本发明 | 3 | 300 | 15 | 140.8 | 4,750.1 | 27.6 |
现有 | 10 | 300 | 15 | 140.8 | 9,941.2 | 13.2 |
本发明) | 10 | 300 | 15 | 140.8 | 4,970.6 | 26.4 |
现有 | 150 | 300 | 20 | 105.6 | 16,508.4 | 7.9 |
本发明 | 150 | 300 | 20 | 105.6 | 8,254.2 | 15.9 |
表3中的ToneBlock表示对一个块进行数据写入操作的时间,“现有”表示现有的移动存储装置,“本发明”表示本实施例的移动存储装置。
请参阅表4,表4中在表3的基础上将块擦除TBRES的时间计算在内进行比较:
表4
ToneBlock | TCBSY(us) | TPROG(us) | TBRES(us) | Clock(MHz) | One page(us) | Total Time(us) | Byte Rate(MB/s) |
现有 | 3 | 300 | 2000 | 20 | 105.6 | 9,247.4 | 14.2 |
本发明 | 3 | 300 | 2000 | 20 | 105.6 | 4,623.7 | 28.3 |
现有 | 3 | 300 | 2000 | 15 | 140.8 | 11,500.2 | 11.4 |
本发明 | 3 | 300 | 2000 | 15 | 140.8 | 5,750.1 | 22.8 |
现有 | 3 | 300 | 2000 | 18 | 117.3 | 9,998.3 | 13.1 |
本发明 | 3 | 300 | 2000 | 18 | 117.3 | 4,999.2 | 26.2 |
现有 | 150 | 300 | 2000 | 20 | 105.6 | 18,508.4 | 7.1 |
本发明 | 150 | 300 | 2000 | 20 | 105.6 | 9,254.2 | 14.2 |
从表3和表4的数据可明显看出,使用本发明提高数据的移动存储装置及方法可大大提高对存储介质的写入速率。
另外,凡业界之人士均可看出,本发明从存储介质读取数据时因为同时对存储介质310’和320’进行数据读取操作,其速率显然高于现有的移动存储装置读取数据的速率,在此不再赘述。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种提高数据存取速度的移动存储装置,可与主机***进行数据传输,所述装置包括:可通过通信协议与主机***进行数据传输的控制模块,用来存储数据的存储模块,所述存储模块中包括至少两片存储介质,其特征在于:所述控制模块与所述存储模块间连接有至少两个数据通道,所述控制模块通过所述至少两个数据通道同时对所述至少两片存储介质进行存取操作。
2.根据权利要求1所述的移动存储装置,其特征在于:所述控制模块中包括至少两个存储介质控制器,每个存储介质控制器与一片存储介质连接。
3.根据权利要求1所述的移动存储装置,其特征在于:所述控制模块中包括一个或多个存储介质控制器,每个存储介质控制器与多片存储介质连接。
4.根据权利要求1所述的移动存储装置,其特征在于:所述存储介质包括闪存介质(FLASH Memory)、SDRAM、DRAM、EPPROM、铁磁随机存储器/铁电存贮器(FRAM)、磁阻式随机存取存储器(MRAM)、超高密度存储芯片(MILLIPEDE)。
5.根据权利要求1所述的移动存储装置,其特征在于:所述通信协议包括USB协议、Zigbee协议、IEEE1394协议、蓝牙协议、串行ATA协议、IDE协议、SCSI协议、HiperLAN协议、IrDA红外协议、HomeRF协议、IEEE802.11x、IEEE802.11a、802.11b、802.11d、802.11.g、802.15、802.16、802.3协议、RS232协议、RS485协议、USB_OTG协议、UWB协议、GPIO协议、UART协议、CF协议、SM协议、MMC协议、SD协议、MS协议、MD协议、X-D协议、PCMCIA协议、GSM、GPRS、CDMA、2.5G和/或3G协议。
6.一种提高数据存取速度的方法,用于提高主机***对移动存储装置的数据存取速度,所述移动存储装置包括:可通过通信协议与主机***进行数据传输的控制模块,用来存储数据的存储模块,所述方法包括:
1)在所述存储模块中提供多片用来存储数据的存储介质;
2)所述控制模块建立与所述存储介质对应的至少两个数据通道;
3)将数据以数据包为单位、以分时或同时的方式启动所述至少两个数据通道,以通过所述至少两个数据通道同时对所述存储介质进行存取操作。
7.根据权利要求6所述的提高数据存取速度的方法,其特征在于:步骤3)进一步包括:
3)_a所述控制模块从所述主机***接收数据操作指令;
3)_b从所述数据操作指令中获取所要操作的数据的起始逻辑地址及扇区数目;
3)_c根据起始逻辑地址解析每个扇区的逻辑地址,并根据该逻辑地址选择相应的数据传输通道对所述存储介质进行相应操作。
8.根据权利要求6所述的提高数据存取速度的方法,其特征在于:所述数据包的大小可以自行设定。
9.根据权利要求6所述的提高数据存取速度的方法,其特征在于:所述存储介质包括闪存介质(FLASH Memory)、SDRAM、DRAM、EPPROM、铁磁随机存储器/铁电存贮器(FRAM)、磁阻式随机存取存储器(MRAM)、超高密度存储芯片(MILLIPEDE)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410026950 CN1691195B (zh) | 2004-04-19 | 2004-04-19 | 提高数据存取速度的移动存储装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410026950 CN1691195B (zh) | 2004-04-19 | 2004-04-19 | 提高数据存取速度的移动存储装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1691195A CN1691195A (zh) | 2005-11-02 |
CN1691195B true CN1691195B (zh) | 2011-05-04 |
Family
ID=35346554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410026950 Expired - Lifetime CN1691195B (zh) | 2004-04-19 | 2004-04-19 | 提高数据存取速度的移动存储装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1691195B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514936A (zh) * | 2012-06-29 | 2014-01-15 | 廖文滏 | 复合式数据存取装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100410864C (zh) * | 2004-05-31 | 2008-08-13 | 深圳市朗科科技有限公司 | 提高数据存取速度的数据分配方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774744A (en) * | 1996-04-08 | 1998-06-30 | Vlsi Technology, Inc. | System using DMA and descriptor for implementing peripheral device bus mastering via a universal serial bus controller or an infrared data association controller |
US6266715B1 (en) * | 1998-06-01 | 2001-07-24 | Advanced Micro Devices, Inc. | Universal serial bus controller with a direct memory access mode |
CN1367438A (zh) * | 2002-02-09 | 2002-09-04 | 深圳市朗科科技有限公司 | 支持多种接口的半导体存储方法及装置 |
CN1424658A (zh) * | 2003-01-06 | 2003-06-18 | 曹爱国 | 一种移动存储装置及其设计方法 |
-
2004
- 2004-04-19 CN CN 200410026950 patent/CN1691195B/zh not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774744A (en) * | 1996-04-08 | 1998-06-30 | Vlsi Technology, Inc. | System using DMA and descriptor for implementing peripheral device bus mastering via a universal serial bus controller or an infrared data association controller |
US6266715B1 (en) * | 1998-06-01 | 2001-07-24 | Advanced Micro Devices, Inc. | Universal serial bus controller with a direct memory access mode |
CN1367438A (zh) * | 2002-02-09 | 2002-09-04 | 深圳市朗科科技有限公司 | 支持多种接口的半导体存储方法及装置 |
CN1424658A (zh) * | 2003-01-06 | 2003-06-18 | 曹爱国 | 一种移动存储装置及其设计方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514936A (zh) * | 2012-06-29 | 2014-01-15 | 廖文滏 | 复合式数据存取装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1691195A (zh) | 2005-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100487632C (zh) | 双媒体存储装置 | |
TWI479491B (zh) | 記憶體控制方法、記憶體控制器與記憶體儲存裝置 | |
CN101576853B (zh) | 数据存取方法、使用此方法的控制器与存储*** | |
JP2018010656A (ja) | メモリ機器のための拡張利用範囲 | |
US8281072B2 (en) | Data processing system, controller, and method thereof for searching for specific memory area | |
CN105335326A (zh) | 一种基于fpga的pcie转sata接口阵列的装置 | |
JP2011513823A5 (zh) | ||
CN100337217C (zh) | 存储控制芯片及数据存储控制方法 | |
CN101685381A (zh) | 固态大容量存储装置的数据串流 | |
US20100186077A1 (en) | System, controller, and method thereof for transmitting data stream | |
CN101667157A (zh) | 闪存数据传输方法、闪存储存***及控制器 | |
CN104991737B (zh) | 一种基于存储卡阵列架构的硬盘实现方法 | |
CN104281413A (zh) | 命令队列管理方法、存储器控制器及存储器储存装置 | |
TWI430104B (zh) | 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置 | |
CN1691195B (zh) | 提高数据存取速度的移动存储装置及方法 | |
CN101634937B (zh) | 数据存取方法、使用此方法的存储***及其控制器 | |
CN111208757A (zh) | 一种基于FPGA的eMMC主控制器 | |
CN100511196C (zh) | 数据处理芯片及其存储装置 | |
CN102156619B (zh) | 闪存储存装置、闪存控制器及闪存的数据写入方法 | |
CN100410864C (zh) | 提高数据存取速度的数据分配方法 | |
CN102375698B (zh) | 数据串分派与传送方法、存储器控制器与存储器储存装置 | |
US20150254011A1 (en) | Memory system, memory controller and control method of non-volatile memory | |
US20080126674A1 (en) | Portable storage device and method for improving data access speed | |
US8544424B2 (en) | System, controller and method thereof for transmitting and distributing data stream | |
CN110865952B (zh) | 利用缓存优化dma传输 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20110504 |