CN103593297A - 虚拟u盘设计系统及方法 - Google Patents

虚拟u盘设计系统及方法 Download PDF

Info

Publication number
CN103593297A
CN103593297A CN201210292188.2A CN201210292188A CN103593297A CN 103593297 A CN103593297 A CN 103593297A CN 201210292188 A CN201210292188 A CN 201210292188A CN 103593297 A CN103593297 A CN 103593297A
Authority
CN
China
Prior art keywords
block
data
numbering
virtual usb
usb disk
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.)
Pending
Application number
CN201210292188.2A
Other languages
English (en)
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.)
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
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 Hongfujin Precision Industry Shenzhen Co Ltd, Hon Hai Precision Industry Co Ltd filed Critical Hongfujin Precision Industry Shenzhen Co Ltd
Priority to CN201210292188.2A priority Critical patent/CN103593297A/zh
Priority to TW101130859A priority patent/TW201409231A/zh
Priority to US13/957,562 priority patent/US20140052902A1/en
Publication of CN103593297A publication Critical patent/CN103593297A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种虚拟U盘设计系统,该系统包括:编码模块,用于对连接在电子装置上的所有USB装置分别分配一个编号;建立模块,用于根据电子装置的操作系统定义的规则将每个USB装置的存储空间分割成相等数量的区块,对每个区块编号,并根据区块的编号将每个USB装置中对应的区块组成虚拟U盘的对应扇区;及显示模块,用于在电子装置上显示建立扇区的虚拟U盘的磁盘标识。本发明还提供了一种虚拟U盘设计方法,利用本发明,可以加速数据的读写。

Description

虚拟U盘设计系统及方法
技术领域
本发明涉及一种U盘管理系统及方法,尤其涉及一种虚拟U盘设计系统及方法。
背景技术
目前,大部分的USB装置的接口都符合USB2.0规范,读数据的速度为10-15MB/s,写数据的速度为5-10MB/s,读写速度较慢。尤其对于较大文件的传输,需要花费大量的时间,工作效率低下。
发明内容
鉴于以上内容,有必要提供一种虚拟U盘设计系统,使得多个U盘可以作为一个完整的虚拟U盘使用。
还有必要提供一种虚拟U盘设计方法,使得多个U盘可以作为一个完整的虚拟U盘使用。
一种虚拟U盘设计系统,该系统包括:编码模块,用于对连接在电子装置上的所有USB装置分别分配一个编号;建立模块,用于根据电子装置的操作系统定义的规则将每个USB装置的存储空间分割成相等数量的区块,对每个区块编号,并根据区块的编号将每个USB装置中对应的区块组成虚拟U盘的对应扇区;及显示模块,用于在电子装置上显示建立扇区的虚拟U盘的磁盘标识。
一种虚拟U盘设计方法,该方法包括:编码步骤,对连接在电子装置上的所有USB装置分别分配一个编号;建立步骤,根据电子装置的操作系统定义的规则将每个USB装置的存储空间分割成相等数量的区块,对每个区块编号,并根据区块的编号将每个USB装置中对应的区块组成虚拟U盘的对应扇区;及显示步骤,在电子装置上显示建立扇区的虚拟U盘的磁盘标识。
相较于现有技术,所述虚拟U盘设计系统及方法,使得多个U盘组成一个虚拟的U盘,加快数据的读写,并增加了U盘的存储空间。
附图说明
图1是本发明虚拟U盘设计系统较佳实施例的运行环境图。
图2是图1中虚拟U盘设计系统10的功能模块图。
图3是本发明虚拟U盘设计方法较佳实施例的作业流程图。
图4是本发明中虚拟U盘扇区组成示意图。
主要元件符号说明
 电子装置   1
 虚拟U盘设计系统   10
 USB接口   11
 USB装置   2
 启动模块   100
 编码模块   101
 建立模块   102
 记录模块   103
 显示模块   104
 分割模块   105
 存储模块   106
 读取模块   107
 拼接模块   108
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
如图1所示,是本发明虚拟U盘设计系统较佳实施例的运行环境图。该虚拟U盘设计系统10运行于电子装置1中,该电子装置1可以为计算机、服务器等。该电子装置1包括多个USB接口11,本实施例中,该USB接11的数量至少为两个。每个USB接口11可以连接于一个USB装置2。该USB装置2可以为U盘、移动硬盘等。每个USB装置2的存储空间可以相同也可以不相同。所述电子装置1中存储了每个USB装置2的驱动和设计人员定义的虚拟U盘驱动。
如图2所示,是图1中虚拟U盘设计系统10的功能模块图。所述虚拟U盘设计系统10包括:启动模块100、编码模块101、建立模块102、记录模块103、显示模块104、分割模块105、存储模块106、读取模块107及拼接模块108。所述模块是具有特定功能的软件程序段,该软件存储于计算机可读存储介质或其它存储设备,可被计算机或其它包含处理器的计算装置执行,从而完成本发明中建立虚拟U盘的作业流程。
启动模块100用于当至少两个USB接口11都连接上USB装置2时,启动电子装置1中存储的虚拟U盘驱动,并接收用户选择的需要组成虚拟U盘的USB装置12。当多个USB装置2连接电子装置1的USB接口11时,电子装置1提供界面供用户选择需要组成虚拟U盘的USB装置2。
编码模块101用于对连接的所有USB装置2分别分配一个编号,如第一USB装置2、第二USB装置2。
建立模块102用于根据电子装置1的操作系统定义的规则将每个USB装置2的存储空间分割成相等数量的区块,对每个区块编号,并根据区块的编号将每个USB装置2中对应的区块组成虚拟U盘的对应扇区。本实施例中,操作系统定义的规则为划分区块的最小存储空间为512字节,即分割的区块的存储空间为512字节的倍数。例如有2个USB装置2连接在所述电子装置1上,每个USB装置2的存储空间都为16M,所述建立模块102将每个USB装置2分割成16*1024*1024/512=32768个区块。如图4所示,第一USB装置2所划分的区块的编号分别为:1.1,1.2,1.3,1.4等。第二USB装置2所划分的区块的编号分别为:2.1,2.2,2.3,2.4等。所述建立模块102将区块1.1和2.1组成虚拟U盘的第一扇区,将区块1.2和2.2组成虚拟U盘的第二扇区,将区块1.3和2.3组成虚拟U盘的第三扇区,将区块1.4和2.4组成虚拟U盘的第四扇区,依次类推组成虚拟U盘的其他扇区,所以虚拟U盘的每个扇区存储大小为512*2=1024个字节。
记录模块103用于存储建立扇区的虚拟U盘每个扇区中的每个区块的编号和各USB装置2的编号之间的映射关系,以及扇区存储空间的信息。当所述USB装置2下次连接所述电子装置1时,无需重新划分区块,可直接对虚拟U盘进行操作。
显示模块104用于在电子装置1上显示建立扇区的虚拟U盘的磁盘标识。由于多个USB装置2组成一个虚拟U盘,因此每个USB装置2并不在电子装置1上显示各自的盘符图标,而是由显示模块104在电子装置1上显示一个虚拟U盘的盘符。
分割模块105用于当用户需要将数据写入所述虚拟U盘时,根据该数据的大小和每个USB装置2中区块的存储空间将所述数据分割成多个数据块,并对所有数据块按照顺序进行编号。在分割数据时遵从的原则为不浪费每个扇区的存储空间。举例而言,若每个USB装置2的存储空间相同,则每个USB装置2的每个区块的存储空间相等,分割模块105可将数据平均分割成多个数据块,每个数据块的大小等于每个区块的存储空间。若各个USB装置2的存储空间不同,则分割的区块的存储空间不同,分割模块105可以按照区块的比例来分割所述数据,使得数据块的大小与各个区块的存储空间相等。但是,通常会遇到按照上述分割方法无法填满区块的情况,浪费了存储空间。如图4所示,假如虚拟U盘大小为4096个字节,虚拟U盘包括四个扇区,每个扇区的存储空间为1024个字节。若需要写入虚拟U盘的数据大小为1600字节,并不是将该数据平均分割成2份,每份数据大小为800字节,因为每个USB装置12中每个区块的存储空间为512字节,虚拟U盘每个扇区的存储空间为1024字节,若每个扇区只存储800字节的数据,则第一扇区浪费了224字节。本较佳实施例中,所述分割模块105将该数据分成4个数据块,每个数据块的大小分别为512字节,512字节,512字节,64字节,分别存储到虚拟U盘中的区块1.1、1.2、2.1、2.2中,虽然最后一个大小为64字节的数据块不满足每个区块的512个字节的大小,但也会遵从操作系统关于最小存取单位对齐的规定,将该64字节的数据块完全占用一个最小的物理存取单位,即占用一个区块的存储空间。因此,所述数据大小为1600字节的数据将占用虚拟U盘的两个扇区的存储空间,即2*1024=2048字节。
存储模块106用于调用每个USB装置2的驱动,将所述分割后的数据块按顺序存储到对应扇区的区块中,并记录下每个数据块的编号及存储每个数据块的区块的编号。由于一个扇区中包括多个区块,对所述多个区块同时进行存储,加快了存储数据的速度。
读取模块107用于当用户需要读取虚拟U盘中的数据时,根据该数据对应的各数据块的编号及每个数据块对应的区块的编号来读取该各数据块。
拼接模块108用于根据所读取的每个数据块的编号将所有数据块拼接成完整的数据,并在电子装置1上显示给用户。
如图3所示,是本发明虚拟U盘设计方法较佳实施例的作业流程图。
步骤S30,当至少两个USB接口11都连接上USB装置2时,启动模块100启动电子装置1中存储的虚拟U盘驱动,并接收用户选择的需要组成虚拟U盘的USB装置2。当多个USB装置2连接电子装置1的USB接口11时,电子装置1提供界面供用户选择需要组成虚拟U盘的USB装置2。
步骤S31,编码模块101对连接的所有USB装置2分别分配一个编号,如第一USB装置2、第二USB装置2。
步骤S32,建立模块102根据电子装置1的操作系统定义的规则将每个USB装置2的存储空间分割成相等数量的区块,对每个区块编号,并根据区块的编号将每个USB装置2中对应的区块组成虚拟U盘的对应扇区。本实施例中,操作系统定义的规则为划分区块的最小存储空间为512字节,即分割的区块的存储空间为512字节的倍数。例如有2个USB装置2连接在所述电子装置1上,每个USB装置2的存储空间都为16M,所述建立模块102将每个USB装置2分割成16*1024*1024/512=32768个区块。如图4所示,第一USB装置2所划分的区块的编号分别为:1.1,1.2,1.3,1.4等。第二USB装置2所划分的区块的编号分别为:2.1,2.2,2.3,2.4等。所述建立模块102将区块1.1和2.1组成虚拟U盘的第一扇区,将区块1.2和2.2组成虚拟U盘的第二扇区,将区块1.3和2.3组成虚拟U盘的第三扇区,将区块1.4和2.4组成虚拟U盘的第四扇区,依次类推组成虚拟U盘的其他扇区,所以虚拟U盘的每个扇区存储大小为512*2=1024个字节。
步骤S33,记录模块103存储建立扇区的虚拟U盘每个扇区中的每个区块的编号和各USB装置2的编号之间的映射关系,以及扇区存储空间的信息。当所述USB装置2下次连接所述电子装置1时,无需重新划分区块,可直接对虚拟U盘进行操作。
步骤S34,显示模块104在电子装置1上显示建立扇区的虚拟U盘的磁盘标识。由于多个USB装置2组成一个虚拟U盘,因此每个USB装置2并不在电子装置1上显示各自的盘符图标,而是由显示模块104在电子装置1上显示一个虚拟U盘的盘符。
步骤S35,当用户需要将数据写入所述虚拟U盘时,分割模块105根据该数据的大小和每个USB装置2中区块的存储空间将所述数据分割成多个数据块,并对所有数据块按照顺序进行编号。在分割数据时遵从的原则为不浪费每个扇区的存储空间。举例而言,若每个USB装置2的存储空间相同,则每个USB装置2的每个区块的存储空间相等,分割模块105可将数据平均分割成多个数据块,每个数据块的大小等于每个区块的存储空间。若各个USB装置2的存储空间不同,则分割的区块的存储空间不同,分割模块105可以按照区块的比例来分割所述数据,使得数据块的大小与各个区块的存储空间相等。但是,通常会遇到按照上述分割方法无法填满区块的情况,浪费了存储空间。如图4所示,假如虚拟U盘大小为4096个字节,虚拟U盘包括四个扇区,每个扇区的存储空间为1024个字节。若需要写入虚拟U盘的数据大小为1600字节,并不是将该数据平均分割成2份,每份数据大小为800字节,因为每个USB装置12中每个区块的存储空间为512字节,虚拟U盘每个扇区的存储空间为1024字节,若每个扇区只存储800字节的数据,则第一扇区浪费了224字节。本较佳实施例中,所述分割模块105将该数据分成4个数据块,每个数据块的大小分别为512字节,512字节,512字节,64字节,分别存储到虚拟U盘中的区块1.1、1.2、2.1、2.2中,虽然最后一个大小为64字节的数据块不满足每个区块的512个字节的大小,但也会遵从操作系统关于最小存取单位对齐的规定,将该64字节的数据块完全占用一个最小的物理存取单位,即占用一个区块的存储空间。因此,所述数据大小为1600字节的数据将占用虚拟U盘的两个扇区的存储空间,即2*1024=2048字节。
步骤S36,存储模块106调用每个USB装置2的驱动,将所述分割后的数据块按顺序存储到对应扇区的区块中,并记录下每个数据块的编号及存储每个数据块的区块的编号。由于一个扇区中包括多个区块,对所述多个区块同时进行存储,加快了存储数据的速度。
步骤S37,当用户需要读取虚拟U盘中的数据时,读取模块107根据该数据对应的各数据块的编号及每个数据块对应的区块的编号来读取该各数据块。
步骤S38,拼接模块108根据所读取的每个数据块的编号将所有数据块拼接成完整的数据,并在电子装置1上显示给用户。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (9)

1.一种虚拟U盘设计系统,其特征在于,该系统包括:
编码模块,用于对连接在电子装置上的所有USB装置分别分配一个编号;
建立模块,用于根据电子装置的操作系统定义的规则将每个USB装置的存储空间分割成相等数量的区块,对每个区块编号,并根据区块的编号将每个USB装置中对应的区块组成虚拟U盘的对应扇区;及
显示模块,用于在电子装置上显示建立扇区的虚拟U盘的磁盘标识。
2.如权利要求1所述的虚拟U盘设计系统,其特征在于,该系统还包括:启动模块,用于当所述USB装置连接上电子装置时,启动电子装置中存储的虚拟U盘驱动,并接收用户选择的需要组成虚拟U盘的USB装置。
3.如权利要求1所述的虚拟U盘设计系统,其特征在于,该系统还包括:分割模块,用于当用户需要将数据写入所述虚拟U盘时,根据该数据的大小和每个USB装置中区块的存储空间将所述数据分割成多个数据块,并对所有数据块按照顺序进行编号;及
存储模块,用于调用每个USB装置的驱动,将所述分割后的数据块按顺序存储到对应扇区中的区块中,并记录下每个数据块的编号及存储每个数据块的区块的编号。
4.如权利要求3所述的虚拟U盘设计系统,其特征在于,该系统还包括:
读取模块,用于当用户需要读取虚拟U盘中的数据时,根据该数据对应的各数据块的编号及每个数据块对应的区块的编号来读取该各数据块;及
拼接模块,用于根据所读取的每个数据块的编号将所有数据块拼接成完整的数据,并在电子装置上显示给用户。
5.如权利要求1所述的虚拟U盘设计系统,其特征在于,该系统还包括:记录模块,用于存储建立扇区的虚拟U盘的每个区块的编号和每个USB装置的编号之间的映射关系,以及扇区存储空间的信息。
6.一种虚拟U盘设计方法,其特征在于,该方法包括:
编码步骤,对连接在电子装置上的所有USB装置分别分配一个编号;
建立步骤,根据电子装置的操作系统定义的规则将每个USB装置的存储空间分割成相等数量的区块,对每个区块编号,并根据区块的编号将每个USB装置中对应的区块组成虚拟U盘的对应扇区;及
显示步骤,在电子装置上显示建立扇区的虚拟U盘的磁盘标识。
7.如权利要求6所述的虚拟U盘设计方法,其特征在于,该方法在编码步骤之前还包括:启动步骤,当所述USB装置连接上电子装置时,启动电子装置中存储的虚拟U盘驱动,并接收用户选择的需要组成虚拟U盘的USB装置。
8.如权利要求6所述的虚拟U盘设计方法,其特征在于,该方法在所述显示步骤之后包括:分割步骤,当用户需要将数据写入所述虚拟U盘时,根据该数据的大小和每个USB装置中区块的存储空间将所述数据分割成多个数据块,并对所有数据块按照顺序进行编号;
存储步骤,调用每个USB装置的驱动,将所述分割后的数据块按顺序存储到对应扇区中的区块中,并记录下每个数据块的编号及存储每个数据块的区块的编号;
读取步骤,当用户需要读取虚拟U盘中的数据时,根据该数据对应的各数据块的编号及每个数据块对应的区块的编号来读取该各数据块;及
拼接步骤,根据所读取的每个数据块的编号将所有数据块拼接成完整的数据,并在电子装置上显示给用户。
9.如权利要求6所述的虚拟U盘设计方法,其特征在于,该方法在建立步骤之后还包括:记录步骤,存储建立扇区的虚拟U盘的每个区块的编号和每个USB装置的编号之间的映射关系,以及扇区存储空间的信息。
CN201210292188.2A 2012-08-16 2012-08-16 虚拟u盘设计系统及方法 Pending CN103593297A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210292188.2A CN103593297A (zh) 2012-08-16 2012-08-16 虚拟u盘设计系统及方法
TW101130859A TW201409231A (zh) 2012-08-16 2012-08-24 虛擬快閃碟設計系統及方法
US13/957,562 US20140052902A1 (en) 2012-08-16 2013-08-02 Electronic device and method of generating virtual universal serial bus flash device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210292188.2A CN103593297A (zh) 2012-08-16 2012-08-16 虚拟u盘设计系统及方法

Publications (1)

Publication Number Publication Date
CN103593297A true CN103593297A (zh) 2014-02-19

Family

ID=50083448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210292188.2A Pending CN103593297A (zh) 2012-08-16 2012-08-16 虚拟u盘设计系统及方法

Country Status (3)

Country Link
US (1) US20140052902A1 (zh)
CN (1) CN103593297A (zh)
TW (1) TW201409231A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103167005B (zh) * 2011-12-16 2018-01-26 富泰华工业(深圳)有限公司 文件下载系统及方法
KR20150089698A (ko) * 2014-01-28 2015-08-05 한국전자통신연구원 가상화 인터페이스를 이용한 포렌식 분석 시스템 및 방법
US20170351592A1 (en) * 2016-06-03 2017-12-07 Tzu Ping CHU Universal serial bus device and a method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860091A (en) * 1996-06-28 1999-01-12 Symbios, Inc. Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications
US7721115B2 (en) * 2005-02-16 2010-05-18 Cypress Semiconductor Corporation USB secure storage apparatus and method
JP2006293760A (ja) * 2005-04-12 2006-10-26 Toshiba Corp 情報処理装置
US8606071B2 (en) * 2010-04-15 2013-12-10 Leonid Remennik Method and apparatus for presenting interactive multimedia using storage device interface

Also Published As

Publication number Publication date
US20140052902A1 (en) 2014-02-20
TW201409231A (zh) 2014-03-01

Similar Documents

Publication Publication Date Title
CN108628541B (zh) 一种文件存储的方法、装置及存储系统
CN103995855A (zh) 存储数据的方法和装置
CN105786401A (zh) 服务器集群系统中的数据管理方法及装置
CN104615550A (zh) 一种存储设备坏块的处理方法、装置及存储设备
CN103970578A (zh) 主从mcu升级方法
CN103064792A (zh) 数据写入方法及装置
CN106201652B (zh) 一种数据处理方法及虚拟机
WO2017090071A1 (en) Method and computer system for managing blocks
CN104503701A (zh) 一种适用于多级扩展柜的磁盘命名方法和装置
CN103176913B (zh) 硬盘动态映射方法与应用其的服务器
US11287996B2 (en) Method, device and computer program product for storing data
CN102945275B (zh) 文件碎片整理方法、装置及设备
CN105677904A (zh) 基于分布式文件系统的小文件存储方法及装置
CN103246549A (zh) 一种数据转存的方法及系统
CN109697019B (zh) 基于fat文件系统的数据写入的方法和系统
CN103593297A (zh) 虚拟u盘设计系统及方法
CN104461384A (zh) 一种数据写入方法及存储设备
CN107704200A (zh) 一种数据存放方法
CN107451271A (zh) 一种哈希表处理方法、装置、设备及存储介质
CN104808953A (zh) 控制数据存储的方法、装置及移动终端
CN108304142A (zh) 一种数据管理方法和装置
US20130166840A1 (en) Dynamic hard disk mapping method and server using the same
CN102043589B (zh) 磁盘阵列的扩容方法和系统
CN104598409A (zh) 一种处理输入输出请求的方法及设备
CN103164168A (zh) 调整sas扩展器连接磁盘阵列卡的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140219