提高数据存取速度的移动存储装置及方法.pdf

上传人:111****112 文档编号:6238921 上传时间:2019-05-24 格式:PDF 页数:24 大小:1.24MB
返回 下载 相关 举报
摘要
申请专利号:

CN200410026950.8

申请日:

2004.04.19

公开号:

CN1691195A

公开日:

2005.11.02

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G11C7/00; H04L29/06

主分类号:

G11C7/00; H04L29/06

申请人:

深圳市朗科科技有限公司;

发明人:

黄文生; 石学锦; 戴再生

地址:

518057广东省深圳市南山区高新南一道中国科技开发院孵化大楼六楼

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

一种提高数据存取速度的移动存储装置及方法,所述移动存储装置可与主机系统进行数据传输,提高数据存取速度,所述装置包括:可通过通信协议与主机系统进行数据传输的控制模块,用来存储数据的存储模块,所述控制模块与所述存储模块间连接有至少两个数据通道,所述控制模块将数据以数据包的形式通过所述数据通道以分时或同时的方式对存储模块进行数据存取操作,进而提高数据存取速度。

权利要求书

1: 一种提高数据存取速度的移动存储装置,可与主机系统进行数据传输, 所述装置包括:可通过通信协议与主机系统进行数据传输的控制模块, 用来存储数据的存储模块,其特征在于:所述控制模块与所述存储模块 间连接有至少两个数据通道。
2: 根据权利要求1所述的移动存储装置,其特征在于:所述存储模块中包 括至少两片存储介质。
3: 根据权利要求2所述的移动存储装置,其特征在于:所述控制模块中包 括至少两个存储介质控制器,每个存储介质控制器与一片存储介质连接。
4: 根据权利要求2所述的移动存储装置,其特征在于:所述控制模块中包 括一个或多个存储介质控制器,每个存储介质控制器与多片存储介质连 接。
5: 根据权利要求1所述的移动存储装置,其特征在于:所述存储介质可以 是但不限于闪存介质(FLASH Memory)、SDRAM、DRAM、EPPROM、铁磁随 机存储器/铁电存贮器(FRAM)、磁阻式随机存取存储器(MRAM)、超高密 度存储芯片(MILLIPEDE)。
6: 根据权利要求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协议。
7: 一种提高数据存取速度的方法,用于提高主机系统对移动存储装置的数 据存取速度,所述移动存储装置包括:可通过通信协议与主机系统进行 数据传输的控制模块,用来存储数据的存储模块,所述方法包括: 1)在所述存储模块中提供多片用来存储数据的存储介质; 2)所述控制模块建立与所述存储介质对应的至少两个数据通道; 3)将数据以数据包为单位、以分时或同时的方式通过所述对应的数 据通道对所述存储介质进行存取操作。
8: 根据权利要求7所述的提高数据存取速度的方法,其特征在于:步骤3) 进一步包括: 3)_a所述控制模块从所述主机系统接收数据操作指令; 3)_b从所述数据操作指令中获取所要操作的数据的起始逻辑地址及扇 区数目; 3)_c根据起始逻辑地址解析每个扇区的逻辑地址,并根据该逻辑地址 选择相应的数据传输通道对所述存储介质进行相应操作。
9: 根据权利要求7所述的提高数据存取速度的方法,其特征在于:所述数 据包的大小可以自行设定。
10: 根据权利要求7所述的提高数据存取速度的方法,其特征在于:所述存 储介质可以是但不限于闪存介质(FLASH Memory)、SDRAM、DRAM、EPPROM、 铁磁随机存储器/铁电存贮器(FRAM)、磁阻式随机存取存储器(MRAM)、 超高密度存储芯片(MILLIPEDE)。
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协议。 7.一种提高数据存取速度的方法,用于提高主机系统对移动存储装置的数 据存取速度,所述移动存储装置包括:可通过通信协议与主机系统进行 数据传输的控制模块,用来存储数据的存储模块,所述方法包括: 1)在所述存储模块中提供多片用来存储数据的存储介质; 2)所述控制模块建立与所述存储介质对应的至少两个数据通道; 3)将数据以数据包为单位、以分时或同时的方式通过所述对应的数 据通道对所述存储介质进行存取操作。 8.根据权利要求7所述的提高数据存取速度的方法,其特征在于:步骤3) 进一步包括: 3)_a所述控制模块从所述主机系统接收数据操作指令; 3)_b从所述数据操作指令中获取所要操作的数据的起始逻辑地址及扇 区数目; 3)_c根据起始逻辑地址解析每个扇区的逻辑地址,并根据该逻辑地址 选择相应的数据传输通道对所述存储介质进行相应操作。 9.根据权利要求7所述的提高数据存取速度的方法,其特征在于:所述数 据包的大小可以自行设定。 10.根据权利要求7所述的提高数据存取速度的方法,其特征在于:所述存 储介质可以是但不限于闪存介质(FLASH Memory)、SDRAM、DRAM、EPPROM、 铁磁随机存储器/铁电存贮器(FRAM)、磁阻式随机存取存储器(MRAM)、 超高密度存储芯片(MILLIPEDE)。

说明书


提高数据存取速度的移动存储装置及方法

    【技术领域】

    本发明涉及存储控制技术,尤其涉及提高数据存取速度的移动存储装置及方法。

    背景技术

    随着个人电脑的普及,各种数字产品与人们的工作生活关系日益密切,随之而来的大量数据的处理及携带便成为急需解决的问题,因而各种移动存储设备层出不穷,而半导体存储设备因体积小、容量大,高速存取、携带方便,性能稳定、不易损坏等优点而得到了越来越普及的应用。

    目前的半导体存储设备由控制模块与存储介质构成,主机系统通过该控制模块对存储介质进行数据读写操作,该控制模块与主机系统之间可通过各种数据传输协议进行通信,该通信内容包括发送指令及进行数据传输,控制模块接收指令及数据后再根据该指令对存储介质进行相应的数据操作,因为存储介质固有的读写特性,主机系统与控制模块之间的数据传输速度远大于控制模块对存储介质的读写操作速度,所以控制模块对存储介质的读写操作速度便成为主机系统与存储介质之间进行数据传输的瓶颈。

    例如,目前广泛应用的以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控制器1 32建立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) Onepage (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)  ByteRate  (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) ByteRate (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’进行数据读取操作,其速率显然高于现有的移动存储装置读取数据的速率,在此不再赘述。

    以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

提高数据存取速度的移动存储装置及方法.pdf_第1页
第1页 / 共24页
提高数据存取速度的移动存储装置及方法.pdf_第2页
第2页 / 共24页
提高数据存取速度的移动存储装置及方法.pdf_第3页
第3页 / 共24页
点击查看更多>>
资源描述

《提高数据存取速度的移动存储装置及方法.pdf》由会员分享,可在线阅读,更多相关《提高数据存取速度的移动存储装置及方法.pdf(24页珍藏版)》请在专利查询网上搜索。

一种提高数据存取速度的移动存储装置及方法,所述移动存储装置可与主机系统进行数据传输,提高数据存取速度,所述装置包括:可通过通信协议与主机系统进行数据传输的控制模块,用来存储数据的存储模块,所述控制模块与所述存储模块间连接有至少两个数据通道,所述控制模块将数据以数据包的形式通过所述数据通道以分时或同时的方式对存储模块进行数据存取操作,进而提高数据存取速度。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1