CN103177019B - Usb存储设备及其驱动方法 - Google Patents
Usb存储设备及其驱动方法 Download PDFInfo
- Publication number
- CN103177019B CN103177019B CN201110436778.3A CN201110436778A CN103177019B CN 103177019 B CN103177019 B CN 103177019B CN 201110436778 A CN201110436778 A CN 201110436778A CN 103177019 B CN103177019 B CN 103177019B
- Authority
- CN
- China
- Prior art keywords
- file
- ancillary documents
- file destination
- destination
- message part
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种USB存储设备及其驱动方法。该USB存储设备包括与外部设备进行数据通讯的接口单元(1),存储数据的存储单元(2),以及通过接口单元接收文件操作指令以对存储单元进行文件操作的控制单元(3)。当在存储单元(2)上写入大于预定阈值的目标文件时,控制单元(3)执行分割操作以将该目标文件分割为多个小于或等于该阈值的子文件。根据本发明,可以方便的对超大文件进行各种操作,而不需要使用者进行手工的分割和还原,从而扩大了USB存储设备的使用范围,提升了用户体验。
Description
技术领域
本发明涉及到移动存储设备,特别涉及到能够对超大文件进行各种文件操作的USB存储设备及其驱动方法。
背景技术
当前,通用串行总线(USB)接口的移动存储设备已经得到广泛应用。随着社会需求和科技技术的发展,使用者越来越期望拥有更快的读取速度和更大的存储容量的USB设备。事实上,随着存储技术的发展,目前已经开发出具有大存储容量的USB设备,例如4GB、8GB、16GB、32GB或者更大。
随着USB设备存储容量的逐渐增大,又产生了新的问题。其中一个典型的问题是,虽然USB设备的存储容量大于4GB,但是在某些操作系统下,当存储超过4GB大小的文件时,USB设备往往会报错,例如显示没有足够的存储空间,结果存储失败。出现这种现象的原因是,USB设备的文件系统通常为FAT32格式,在该文件格式下文件大小被限制为不超过4GB,因而导致USB设备不能存储超过4GB大小的文件。
结果,如果要在现有的USB设备存储较大的文件,就必须手动的采用文件分割软件将文件分割成若干个较小的子文件,然后才能存储或复制。而在使用该文件之前,也必须手动的将这些文件合并还原成大文件。显然,这大大降低了USB设备的用户体验。
因此,需要对现有的USB设备进行改进,使其能够容易的存取较大的文件,而不需要使用者进行手工的分割和还原。
发明内容
本发明的目的是提供一种USB存储设备及其驱动方法,该设备及方法通过对文件大小超过预定阈值的文件进行自动的分割和还原,可以实现对任意大小文件的各种操作,包括写入、读取、删除、改名等,从而大大提高了USB设备的应用范围和用户体验。
根据本发明的一个方面,提供了一种USB存储设备,包括:接口单元1,其基于USB协议与外部设备进行数据通讯;存储单元2,用于存储数据;控制单元3,通过接口单元1接收文件操作指令,对存储单元2进行文件操作;其中,当在存储单元2上写入大于预定阈值的目标文件时,控制单元3执行分割操作以将该目标文件分割为多个小于或等于该阈值的子文件。
其中,所述控制单元3包括:检测模块301,用于检测并判断目标文件的大小是否大于预定阈值;分割模块302,当目标文件的大小大于所述预定阈值时,分割模块302将该目标文件分割为多个小于或等于该阈值的子文件;操作模块303,用于对存储单元2上的文件执行各种文件操作。
其中,所述分割模块302将目标文件分割为文件大小均小于或等于预定阈值的一个主文件和多个附属文件,所述主文件包含对每个附属文件的标识,使得对主文件进行任何类型的文件操作时,也对被主文件标识的多个附属文件进行相同类型的文件操作。
进一步,所述主文件包括存储目标文件被分割的一部分数据的主文件数据部分和包含对每个附属文件的标识的附属文件信息部分,每个所述附属文件包括存储目标文件被分割的其他部分数据。所述附属文件信息部分包括:附属文件信息部分大小(4字节)+附属文件的个数(4字节)+CRC校验(4字节)+第1附属文件信息部分长度(len)+第1附属文件大小(4字节)+第1附属文件名(len-4)+......+第n附属文件信息部分长度(len)+第n附属文件大小(4字节)+第n附属文件名(len-4)。
可选的,所述控制单元3包括还原模块304,用于对分割形成的多个子文件进行合并以将其还原为所述目标文件。
所述文件操作包括对文件的读取、写入、移动和修改。
根据本发明的另一方面,提供了一种USB存储设备的驱动方法,所述USB存储设备包括与外部设备进行数据通讯的接口单元,存储数据的存储单元,以及通过接口单元接收文件操作指令以对存储单元进行文件操作的控制单元,所述驱动方法包括:当写入大于预定阈值的目标文件时,执行分割操作以将该目标文件分割为多个小于或等于该阈值的子文件。
其中,所述分割操作将目标文件分割为文件大小均小于或等于预定阈值的一个主文件和多个附属文件,所述主文件包含对每个附属文件的标识,使得对主文件进行任何类型的文件操作时,也对被主文件标识的多个附属文件进行相同类型的文件操作。
进一步,所述主文件包括存储目标文件被分割的一部分数据的主文件数据部分和包含对每个附属文件的标识的附属文件信息部分,每个所述附属文件包括存储目标文件被分割的其他部分数据。所述附属文件信息部分包括:附属文件信息部分大小(4字节)+附属文件的个数(4字节)+CRC校验(4字节)+第1附属文件信息部分长度(len)+第1附属文件大小(4字节)+第1附属文件名(len-4)+......+第n附属文件信息部分长度(len)+第n附属文件大小(4字节)+第n附属文件名(len-4)。
优选的,当向USB存储设备写入目标文件时执行下述文件写入操作,包括:检测步骤S101,检测并判断目标文件是否大于预定阈值;分割步骤S102,当目标文件的大小大于预定阈值时,将目标文件分割为多个等于或小于预定阈值的子文件;写入步骤S103,将目标文件写入到USB存储设备的存储单元。
其中,所述写入步骤S103先写入主文件,然后陆续写入其他的附属文件,直到写入最后一个附属文件后结束。
此外,如果检测步骤S101检测到目标文件大小小于或等于预定阈值,则不执行分割步骤S102,此时写入步骤S103将未被分割的目标文件写入到存储单元。
优选的,当从USB存储设备读取目标文件时执行下述文件读取操作,包括:检测步骤S201,检测并判断目标文件是否为大小超过预定阈值的超限文件;读取附属文件信息部分步骤S202,当目标文件是大小超过预定阈值的超限文件时,读取主文件中的附属文件信息部分;读取步骤S203,从USB存储设备的存储单元中读取目标文件。
其中,如果目标文件是超限文件,则读取步骤S203读取分割形成的主文件和多个附属文件,同时根据主文件附属文件信息部分中的信息将主文件和对应的多个附属文件进行合并以还原目标文件。
进一步,如果目标文件不是超限文件,则不执行读取附属文件信息部分步骤S202,此时读取步骤S203将未被分割的目标文件从存储单元读取到外部设备。
优选的,当从USB存储设备删除目标文件时执行下述文件删除操作,包括:检测步骤S301,检测并判断目标文件是否为大小超过预定阈值的超限文件;读取附属文件信息部分步骤S302,当目标文件是大小超过预定阈值的超限文件时,读取主文件中的附属文件信息部分;删除步骤S303,从USB存储设备的存储单元中删除目标文件。
其中,如果目标文件是超限文件,则删除步骤S303根据主文件附属文件信息部分中的附属文件名删除所有的附属文件,然后删除主文件。
进一步,如果目标文件不是超限文件,则不执行读取附属文件信息部分步骤S302,此时删除步骤S303删除未被分割的目标文件。
优选的,当从USB存储设备移动目标文件时执行下述文件移动操作,包括:检测步骤S401,检测并判断目标文件是否为大小超过预定阈值的超限文件;读取附属文件信息部分步骤S402,当目标文件是大小超过预定阈值的超限文件时,读取主文件中的附属文件信息部分;移动步骤S403,将存储单元中的目标文件移动到外部设备。
其中,如果目标文件是超限文件,则移动步骤S403先后移动所有的附属文件和主文件,同时根据主文件附属文件信息部分中的信息将主文件和对应的多个附属文件进行合并以还原目标文件。
进一步,如果目标文件不是超限文件,则不执行读取附属文件信息部分步骤S402,此时移动步骤S403将未被分割的目标文件从存储单元移动到外部设备。
根据本发明上述的驱动方法还可以对主文件进行修改文件名的操作。
优选的,所述附属文件设置为隐藏文件和/或只读文件。
如上所述,根据本发明的USB存储设备及其驱动方法,可以方便的对文件大小过于大的目标文件进行各种操作,而不需要使用者进行手工的分割和还原,从而扩大了USB存储设备的使用范围,提升了用户体验。
附图说明
图1显示了本发明优选实施例的USB存储设备的结构示意图;
图2显示了本发明优选实施例的USB存储设备的文件分割示意图;
图3显示了本发明优选实施例的USB存储设备的文件写入流程图;
图4显示了本发明优选实施例的USB存储设备的文件读取流程图;
图5显示了本发明USB存储设备的文件删除流程图;
图6显示了本发明优选实施例的USB存储设备的文件移动流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。
图1显示了本发明优选实施例的USB存储设备的结构示意图。
如图1所示,本发明优选实施例的USB存储设备包括接口单元1、存储单元2、控制单元3。
接口单元1即通常所说的USB端口,可以基于USB协议与外部设备(例如计算机等)进行数据通讯。例如,接收来自外部设备的文件操作指令并输出给控制单元3,或者从存储单元2传输数据给外部设备等。
存储单元2用于存储数据,可以接收控制单元3的指令以对其上存储的文件数据进行操作,例如读取、写入、移动、修改等。存储单元2通过接口单元1与外部设备进行数据通讯。本发明中,存储单元2可以是闪存、MMC卡、SD卡、存储棒、U盘等等。
控制单元3对整个USB存储设备进行控制。具体来说,其通过接口单元1从外部设备接收文件操作指令,对存储单元2中存储的文件进行文件操作。特别的,所述控制单元3可以对文件大小大于某一预定阈值的文件进行各种操作,例如读取、写入、修改、移动等。例如,当在存储单元2上写入大于预定阈值的文件时,控制单元3对所述写入的文件执行分割操作以将其分割为多个小于或等于该阈值的子文件。进一步,当从存储单元2读取被分割的文件时,控制单元3可以将这些子文件进行合并以还原为原文件。此外,控制单元3还可以对上述文件执行文件名修改操作。
图1所示,为实现上述功能,本实施例中的控制单元3优选的还包括检测模块301、分割模块302和操作模块303。
操作模块303用于对存储单元2上的文件执行各种操作,例如写入、读取、修改、移动等。
检测模块301用于检测目标文件的大小,判断其文件大小是否大于预定阈值,该检测模块通常在USB设备中执行写入操作时启动。如果检测模块301检测到目标文件的大小小于或等于预定阈值,则通知上述操作模块303对目标文件执行与文件操作指令(从接口单元1输入)相应的操作。在一优选实施例中,该预定阈值可以在出厂时设定为4GB,但本发明不限制于此,而是可以根据实际需要设定为其他数值,例如2GB、3GB、5GB或更大值等等。
分割模块302用于对目标文件执行分割操作,按照预定的分割规则将该目标文件分割为多个小于或等于所述阈值大小的子文件。当检测模块301检测到目标文件的大小大于该预定阈值时,则分割模块302对目标文件执行分割操作。
在一可选实施例中,控制单元3还包括还原模块304(见图1中的虚线框304),其用于对分割后的多个子文件进行合并以将其还原为所述目标文件。当从存储单元2读取目标文件时,例如将目标文件从USB设备上复制到外部设备上,还原模块304按照预定的还原规则将所述分割的多个子文件进行合并以还原为目标文件。例如,先从主文件中提取附属文件信息,然后拷贝主文件数据及附属文件数据到外部设备。
本发明中,上述检测模块301、分割模块302、还原模块304和操作模块303优选的实施为可编程逻辑芯片,但本发明不限制于此。
图2显示了本发明优选实施例的USB存储设备的文件分割示意图。
如图2所示,分割模块302将目标文件分割为文件大小均小于或等于预定阈值Max_size的多个子文件,其中包括主文件和多个附属文件(附属文件1、附属文件2......附属文件n)。
主文件包括主文件数据部分和附属文件信息部分这两个部分。其中,主文件数据部分是被分割的目标文件的一部分数据,附属文件信息部分包括对每个附属文件的标识和/或引用。
具体来说,附属文件信息部分包括:附属文件信息部分大小(4字节)+附属文件的个数(4字节)+CRC校验(4字节)+第1附属文件信息部分长度(len)+第1附属文件大小(4字节)+第1附属文件名(len-4)+......+第n附属文件信息部分长度(len)+第n附属文件大小(4字节)+第n附属文件名(len-4)。
上述表达式中,附属文件信息部分大小表示附属文件信息部分所占用的字段长度,该字段占用4个字节;附属文件的个数表示分割后形成的附属文件的总数量,该字段占用4个字节;CRC校验是在还原时用于校验是否还原正确的字段,该字段占用4个字节;附属文件大小表示某个附属文件的大小,该字段占用4个字节;附属文件名表示某个附属文件名的大小或长度,单位为字节;附属文件的信息长度len表示附属文件大小加上附属文件名的长度所得到的总长度。例如,如果某个附属文件名为cc2.1re,则该附属文件名的长度为7个字节,表示该个附属文件大小的字段长度为4个字节,则附属文件的信息长度len=附属文件大小+附属文件名=4+7=11。
当用户操作主文件时,控制单元可以利用上述主文件附属文件信息部分中的“附属文件名”对相应的附属文件进行相同类型的文件操作,例如复制、删除、移动等。
附属文件仅包括数据部分,即被分割的目标文件的其他部分数据。当然,每个附属文件的大小均小于或等于预定的阈值。
如上所述,在本发明的USB存储设备中,由于主文件包含对每个附属文件的标识,用户对主文件进行操作时可以自动触发对附属文件的相同操作。因此,用户只需要对主文件进行各种操作就能达到其操作目的,而不需要对附属文件进行额外的操作。
另外,从上述文件分割规则可知,用户也可以对主文件进行文件名修改操作,这种文件名的修改不会影响主文件的附属文件信息部分中的信息,即不会影响主文件对相应的多个附属文件的标识或索引。
图3显示了本发明优选实施例的USB存储设备的文件写入流程图。
在向USB存储设备写入文件时,需要执行本实施例的文件写入流程,如图3所示,该文件写入流程包括下述步骤:
当接收到来自外部设备的文件写入指令后,开始启动检测文件大小的检测步骤。
检测步骤S101,检测目标文件大小,判断目标文件大小是否大于预定阈值。如果目标文件大小大于预定阈值,则转到分割步骤S102;如果目标文件大小小于或等于预定阈值,则转到写入步骤S103。
分割步骤S102,将目标文件分割为等于或小于预定阈值大小的多个子文件。如果目标文件大小大于预定阈值,则将目标文件分割为等于或小于预定阈值大小的多个子文件,包括主文件和多个附属文件。分割规则是将目标文件分割为等于预定阈值Max_size的多个子文件,直到最后一个附属文件的大小小于预定阈值Max_size。分割后生成的主文件和多个附属文件的文件格式参见图2及对应的文字描述。
写入步骤S103,将目标文件写入到USB存储设备的存储单元。该步骤中,如果目标文件经分割步骤S102被分割成主文件和多个附属文件,则通常先写入主文件,然后陆续写入其他的附属文件,直到写入最后一个附属文件后结束。
另外,如果检测步骤S101检测到目标文件大小小于或等于预定阈值,则不执行后面的分割步骤,而是转到写入步骤S103,将目标文件写入到存储单元。
图4显示了本发明优选实施例的USB存储设备的文件读取流程图。
在从USB存储设备读取文件时(例如从USB存储设备向外部设备复制文件),需要执行本实施例的文件读取流程,如图4所示,该文件读取流程包括下述步骤:
当接收到来自外部设备的文件读取指令后,开始启动检测目标文件属性的检测步骤。
检测步骤S201,检测目标文件大小,判断目标文件是否为大小超过预定阈值的超限文件。如果目标文件为超限文件,则转到读取附属文件信息部分步骤S202;如果目标文件是大小小于预定阈值的普通文件,则转到读取步骤S203。
读取附属文件信息部分步骤S202,读取主文件中的附属文件信息部分。如果目标文件为大小超过预定阈值的超限文件,通常已经被分割为多个子文件,则读取主文件中的附属文件信息部分,获取有关目标文件的信息,例如目标文件的实际大小以及与该主文件对应的多个附属文件名。
读取步骤S203,读取目标文件。本步骤中,如果目标文件是超限文件,则读取被分割成的主文件和多个附属文件,同时根据主文件附属文件信息部分中的信息将主文件和对应的多个附属文件进行合并,并复制到外部设备的一个文件中,从而还原成最初的目标文件。
另外,如果检测步骤S201检测到目标文件不是超限文件,即为大小小于预定阈值的普通文件,则不执行后面的读取附属文件信息部分步骤S202,而是转到读取步骤S203,将目标文件从存储单元读取到外部设备。
图5显示了本发明USB存储设备的文件删除流程图。
在从USB存储设备删除文件时,需要执行本实施例的文件删除流程,如图5所示,该文件删除流程包括下述步骤:
当接收到来自外部设备的文件删除指令后,开始启动检测目标文件属性的检测步骤。
检测步骤S301,检测目标文件大小,判断目标文件是否为大小超过预定阈值的超限文件。如果目标文件为超限文件,则转到读取附属文件信息部分步骤S302;如果目标文件是大小小于预定阈值的普通文件,则转到读取步骤S303。
读取附属文件信息部分步骤S302,读取主文件中的附属文件信息部分。如果目标文件为大小超过预定阈值的超限文件,通常已经被分割为多个子文件,则读取主文件中的附属文件信息部分,获取有关目标文件的信息,例如目标文件的实际大小以及与该主文件对应的多个附属文件名。
删除步骤S303,删除目标文件。本步骤中,如果目标文件是超限文件,则根据主文件附属文件信息部分中的附属文件名等信息执行删除操作,通常先删除附属文件,然后删除主文件。
另外,如果检测步骤S301检测到目标文件是大小小于预定阈值的普通文件,则不执行后面的读取附属文件信息部分步骤S302,而是转到删除步骤S303,直接删除目标文件。
图6显示了本发明优选实施例的USB存储设备的文件移动流程图。
当从USB存储设备移动文件时(例如从USB存储设备向外部设备移动或剪切文件),需要执行本实施例的文件移动流程,如图6所示,该文件移动流程包括下述步骤:
当接收到来自外部设备的文件移动指令后,开始启动检测目标文件属性的检测步骤。
检测步骤S401,检测目标文件大小,判断目标文件是否为大小超过预定阈值的超限文件。如果目标文件为超限文件,则转到读取附属文件信息部分步骤S402;如果目标文件是大小小于预定阈值的普通文件,则转到移动步骤S403。
读取附属文件信息部分步骤S402,读取主文件中的附属文件信息部分。如果目标文件为大小超过预定阈值的超限文件,通常已经被分割为多个子文件,则读取主文件中的附属文件信息部分,获取有关目标文件的信息,例如目标文件的实际大小以及与该主文件对应的多个附属文件名。
移动步骤S403,移动目标文件。本步骤中,如果目标文件是超限文件,则将被分割成的主文件和多个附属文件移动到外部设备。本实施例中,通常先移动附属文件,然后移动主文件。另外,移动的同时根据主文件附属文件信息部分中的信息将主文件和对应的多个附属文件进行合并,并写入到外部设备的一个文件中,从而还原成最初的目标文件。
另外,如果检测步骤S401检测到目标文件是大小小于预定阈值的普通文件,则不执行后面的读取附属文件信息部分步骤S402,而是转到移动步骤S403,将目标文件从存储单元移动到外部设备。
下面介绍本发明的USB存储设备的一个应用示例。
所述USB存储设备包括USB接口(接口单元),16GB的存储空间(存储单元),其驱动芯片(控制单元)中通过可编程逻辑技术植入了本发明的USB驱动方法。
把USB插入到windows系统的计算机的USB插口中,当往USB存储设备中复制一个9GB大小的文件filename时,对于普通的USB设备,由于文件大小超过4GB,会显示没有足够的存储空间,结果存储失败。当使用本发明的USB存储设备时,驱动芯片中的检测模块会检测并判断出目标文件大于了4GB,然后分割模块将该目标文件分割为主文件filename(4GB)、第1附属文件filename_1(4GB)、第2附属文件filename_2(1GB)。其中,主文件包括主文件数据部分和附属文件信息部分,附属文件信息部分的字段内容为:附属文件信息部分大小(4字节)+2(附属文件的个数,4字节)+CRC校验(4字节)+14(第1附属文件信息部分长度,len)+4(第1附属文件大小,4字节)+filename_1(第1附属文件名,len-4)+14(第2附属文件信息部分长度,len)+1(第2附属文件大小,4字节)+filename_2(第2附属文件名,len-4)。另外,各附属文件默认设置为隐藏和只读模式。结果USB存储设备中仅看到一个文件名filename的主文件,并且已经存储了该9GB大小的目标文件filename。
把USB插入到另一个windows系统的计算机的USB插口中,从USB存储设备中读取上述9GB大小的目标文件filename时,检测模块检测到目标文件是超过4GB大小的超限文件,然后读取主文件中的附属文件信息部分,获取到目标文件为9GB大小,包括主文件filename(4GB)、第1附属文件filename_1(4GB)、第2附属文件filename_2(1GB)。然后,读取这些子文件,同时根据主文件附属文件信息部分中的信息将主文件filename和附属文件filename_1、filename_2进行合并,并复制到计算机中,从而还原成最初的目标文件。
如上所述,在本发明的USB存储设备中,用户对主文件进行操作时可以自动触发对附属文件的相同操作。从而用户只需要对主文件进行各种操作就能达到其操作目的,而不需要对附属文件进行额外的操作。因此,可以优选的将这些附属文件设置为隐藏文件和/或只读文件。当把附属文件设置为隐藏文件时,存储设备中仅显示主文件,可以避免显示的多个附属文件干扰用户的操作。当把附属文件设置为只读文件时,可以避免用户对某个附属文件进行误操作(例如改名、删除等),进而导致不能还原目标文件。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (25)
1.一种USB存储设备,包括:
接口单元(1),其基于USB协议与外部设备进行数据通讯;
存储单元(2),用于存储数据;
控制单元(3),通过接口单元(1)接收文件操作指令,对存储单元(2)进行文件操作;
其中,当在存储单元(2)上写入大于预定阈值的目标文件时,控制单元(3)执行分割操作以将该目标文件分割为多个小于或等于该阈值的子文件,
其中,所述子文件之一为主文件且其余子文件为附属文件,所述主文件包含对每个附属文件的标识,使得对主文件进行任何类型的文件操作时,也对被主文件标识的多个附属文件进行相同类型的文件操作。
2.根据权利要求1所述的USB存储设备,所述控制单元(3)包括:
检测模块(301),用于检测并判断目标文件的大小是否大于预定阈值;
分割模块(302),当目标文件的大小大于所述预定阈值时,分割模块(302)将该目标文件分割为多个小于或等于该阈值的子文件;
操作模块(303),用于对存储单元(2)上的文件执行各种文件操作。
3.根据权利要求2所述的USB存储设备,所述分割模块(302)将目标文件分割为文件大小均小于或等于预定阈值的一个主文件和多个附属文件。
4.根据权利要求3所述的USB存储设备,所述主文件包括存储目标文件被分割的一部分数据的主文件数据部分和包含对每个附属文件的标识的附属文件信息部分,每个所述附属文件包括存储目标文件被分割的其他部分数据。
5.根据权利要求4所述的USB存储设备,所述附属文件信息部分包括:附属文件信息部分大小(4字节)+附属文件的个数(4字节)+CRC校验(4字节)+第1附属文件信息部分长度(len)+第1附属文件大小(4字节)+第1附属文件名(len-4)+……+第n附属文件信息部分长度(len)+第n附属文件大小(4字节)+第n附属文件名(len-4)。
6.根据权利要求1-5中任一项所述的USB存储设备,所述控制单元(3)包括还原模块304,用于对分割形成的多个子文件进行合并以将其还原为所述目标文件。
7.根据权利要求1-5中任一项所述的USB存储设备,所述文件操作包括对文件的读取、写入、移动和修改。
8.一种USB存储设备的驱动方法,所述USB存储设备包括与外部设备进行数据通讯的接口单元,存储数据的存储单元,以及通过接口单元接收文件操作指令以对存储单元进行文件操作的控制单元,所述驱动方法包括:
当写入大于预定阈值的目标文件时,执行分割操作以将该目标文件分割为多个小于或等于该阈值的子文件,
其中,所述子文件之一为主文件且其余子文件为附属文件,所述主文件包含对每个附属文件的标识,使得对主文件进行任何类型的文件操作时,也对被主文件标识的多个附属文件进行相同类型的文件操作。
9.根据权利要求8所述的驱动方法,所述分割操作将目标文件分割为文件大小均小于或等于预定阈值的一个主文件和多个附属文件。
10.根据权利要求9所述的驱动方法,所述主文件包括存储目标文件被分割的一部分数据的主文件数据部分和包含对每个附属文件的标识的附属文件信息部分,每个所述附属文件包括存储目标文件被分割的其他部分数据。
11.根据权利要求10所述的驱动方法,所述附属文件信息部分包括:附属文件信息部分大小(4字节)+附属文件的个数(4字节)+CRC校验(4字节)+第1附属文件信息部分长度(len)+第1附属文件大小(4字节)+第1附属文件名(len-4)+……+第n附属文件信息部分长度(len)+第n附属文件大小(4字节)+第n附属文件名(len-4)。
12.根据权利要求8-11中任一项所述的驱动方法,当向USB存储设备写入目标文件时执行下述文件写入操作,包括:
检测步骤S101,检测并判断目标文件是否大于预定阈值;
分割步骤S102,当目标文件的大小大于预定阈值时,将目标文件分割为多个等于或小于预定阈值的子文件;
写入步骤S103,将目标文件写入到USB存储设备的存储单元。
13.根据权利要求12所述的驱动方法,所述写入步骤S103先写入主文件,然后陆续写入其他的附属文件,直到写入最后一个附属文件后结束。
14.根据权利要求12所述的驱动方法,如果检测步骤S101检测到目标文件大小小于或等于预定阈值,则不执行分割步骤S102,此时写入步骤S103将未被分割的目标文件写入到存储单元。
15.根据权利要求9-10中任一项所述的驱动方法,当从USB存储设备读取目标文件时执行下述文件读取操作,包括:
检测步骤S201,检测并判断目标文件是否为大小超过预定阈值的超限文件;
读取附属文件信息部分步骤S202,当目标文件是大小超过预定阈值的超限文件时,读取主文件中的附属文件信息部分;
读取步骤S203,从USB存储设备的存储单元中读取目标文件。
16.根据权利要求15所述的驱动方法,如果目标文件是超限文件,则渎取步骤S203渎取分割形成的主文件和多个附属文件,同时根据主文件附属文件信息部分中的信息将主文件和对应的多个附属文件进行合并以还原目标文件。
17.根据权利要求15所述的驱动方法,如果目标文件不是超限文件,则不执行读取附属文件信息部分步骤S202,此时读取步骤S203将未被分割的目标文件从存储单元读取到外部设备。
18.根据权利要求9-10中任一项所述的驱动方法,当从USB存储设备删除目标文件时执行下述文件删除操作,包括:
检测步骤S301,检测并判断目标文件是否为大小超过预定阈值的超限文件;
读取附属文件信息部分步骤S302,当目标文件是大小超过预定阈值的超限文件时,读取主文件中的附属文件信息部分;
删除步骤S303,从USB存储设备的存储单元中删除目标文件。
19.根据权利要求18所述的驱动方法,如果目标文件是超限文件,则删除步骤S303根据主文件附属文件信息部分中的附属文件名删除所有的附属文件,然后删除主文件。
20.根据权利要求18所述的驱动方法,如果目标文件不是超限文件,则不执行读取附属文件信息部分步骤S302,此时删除步骤S303删除未被分割的目标文件。
21.根据权利要求9-10中任一项所述的驱动方法,当从USB存储设备移动目标文件时执行下述文件移动操作,包括:
检测步骤S401,检测并判断目标文件是否为大小超过预定阈值的超限文件;
读取附属文件信息部分步骤S402,当目标文件是大小超过预定阈值的超限文件时,读取主文件中的附属文件信息部分;
移动步骤S403,将存储单元中的目标文件移动到外部设备。
22.根据权利要求21所述的驱动方法,如果目标文件是超限文件,则移动步骤S403先后移动所有的附属文件和主文件,同时根据主文件附属文件信息部分中的信息将主文件和对应的多个附属文件进行合并以还原目标文件。
23.根据权利要求21所述的驱动方法,如果目标文件不是超限文件,则不执行读取附属文件信息部分步骤S402,此时移动步骤S403将未被分割的目标文件从存储单元移动到外部设备。
24.根据权利要求9-11中任一项所述的驱动方法,可以对主文件进行修改文件名的操作。
25.根据权利要求9-11中任一项所述的驱动方法,所述附属文件设置为隐藏文件和/或只读文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110436778.3A CN103177019B (zh) | 2011-12-23 | 2011-12-23 | Usb存储设备及其驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110436778.3A CN103177019B (zh) | 2011-12-23 | 2011-12-23 | Usb存储设备及其驱动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103177019A CN103177019A (zh) | 2013-06-26 |
CN103177019B true CN103177019B (zh) | 2016-06-01 |
Family
ID=48636900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110436778.3A Active CN103177019B (zh) | 2011-12-23 | 2011-12-23 | Usb存储设备及其驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103177019B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216908A (zh) * | 2013-06-03 | 2014-12-17 | 上海普华诚信信息技术有限公司 | 互联网数据管理系统及其读写方法 |
CN103390056A (zh) * | 2013-07-26 | 2013-11-13 | 国家电网公司 | 一种文件传输方法及系统 |
WO2018027783A1 (zh) * | 2016-08-11 | 2018-02-15 | 王志远 | 文件自动分解时的信息推送方法和分解系统 |
WO2018027782A1 (zh) * | 2016-08-11 | 2018-02-15 | 王志远 | 大文件自动分解的方法和分解系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272354A (zh) * | 2007-03-20 | 2008-09-24 | 重庆优腾信息技术有限公司 | 一种文件传输方法、装置和系统 |
CN101465145A (zh) * | 2007-12-21 | 2009-06-24 | 佳能株式会社 | 记录设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003100014A (ja) * | 2001-09-25 | 2003-04-04 | Nec Corp | 記録再生管理・制御装置及び記録再生管理・制御方法 |
-
2011
- 2011-12-23 CN CN201110436778.3A patent/CN103177019B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272354A (zh) * | 2007-03-20 | 2008-09-24 | 重庆优腾信息技术有限公司 | 一种文件传输方法、装置和系统 |
CN101465145A (zh) * | 2007-12-21 | 2009-06-24 | 佳能株式会社 | 记录设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103177019A (zh) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI425355B (zh) | 資料存取方法、記憶體控制器與儲存系統 | |
US8316201B2 (en) | Methods for executing a command to write data from a source location to a destination location in a memory device | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
JP2008198208A (ja) | ホストデータ処理装置の動作方法、ホストデータ処理装置並びにデータ格納装置 | |
US8266371B2 (en) | Non-volatile storage device, host device, non-volatile storage system, data recording method, and program | |
US9529809B2 (en) | Managing log data using a circular fixed size file | |
CN106469022A (zh) | 存储驱动器的存储管理方法和系统 | |
US9389998B2 (en) | Memory formatting method, memory controller, and memory storage apparatus | |
CN103177019B (zh) | Usb存储设备及其驱动方法 | |
US8468007B1 (en) | Emulating a peripheral mass storage device with a portable device | |
US20160092131A1 (en) | Storage system, storage system control method, and recording medium storing virtual tape device control program | |
US20080320062A1 (en) | Method of transferring file system, file system transference program, and file system transference device | |
US8589454B2 (en) | Computer data file merging based on file metadata | |
JP2013210749A (ja) | プログラム、制御方法、記憶装置およびシステム | |
US10585618B2 (en) | Providing access to virtual sequential access volume | |
CN107148612A (zh) | 一种扩展用户分区的方法和装置 | |
US20140337595A1 (en) | Information processing apparatus, and information processing method | |
CN113282239A (zh) | 数据迁移方法、存储器及控制器 | |
US20180018124A1 (en) | Data arrangement apparatus and data arrangement method | |
CN102411696A (zh) | 对外部存储器件进行量产拷贝的方法 | |
KR101979715B1 (ko) | 컴퓨팅 시스템 및 그 데이터 관리 방법 | |
CN101587427B (zh) | 一种通过扩展sd/mmc协议实现数码设备对存储卡控制的方法 | |
US11615019B2 (en) | Non-volatile storage device, host device, and data storage system to increase data write speed | |
JP2006311304A (ja) | 携帯通信装置 |
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 |