CN103593297A - 虚拟u盘设计系统及方法 - Google Patents
虚拟u盘设计系统及方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple 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盘设计系统及方法。
背景技术
目前,大部分的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装置的编号之间的映射关系,以及扇区存储空间的信息。
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)
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)
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 |
-
2012
- 2012-08-16 CN CN201210292188.2A patent/CN103593297A/zh active Pending
- 2012-08-24 TW TW101130859A patent/TW201409231A/zh unknown
-
2013
- 2013-08-02 US US13/957,562 patent/US20140052902A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20140052902A1 (en) | 2014-02-20 |
TW201409231A (zh) | 2014-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104423894B (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN108628541B (zh) | 一种文件存储的方法、装置及存储系统 | |
CN103995855A (zh) | 存储数据的方法和装置 | |
CN104268099B (zh) | 一种管理数据读写的方法及装置 | |
CN102123176B (zh) | 一种网络存储系统空间分配管理方法及装置 | |
CN104615550A (zh) | 一种存储设备坏块的处理方法、装置及存储设备 | |
CN103970578A (zh) | 主从mcu升级方法 | |
CN103064792A (zh) | 数据写入方法及装置 | |
CN106201652B (zh) | 一种数据处理方法及虚拟机 | |
CN107704200A (zh) | 一种数据存放方法 | |
CN104503701A (zh) | 一种适用于多级扩展柜的磁盘命名方法和装置 | |
CN103176913B (zh) | 硬盘动态映射方法与应用其的服务器 | |
CN111767268A (zh) | 数据库表分区方法、装置、电子设备及存储介质 | |
US11287996B2 (en) | Method, device and computer program product for storing data | |
CN105677904A (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN103246549A (zh) | 一种数据转存的方法及系统 | |
CN103150122A (zh) | 一种磁盘缓存空间管理方法和装置 | |
CN107862031A (zh) | 业务处理方法、装置和服务器 | |
CN109697019B (zh) | 基于fat文件系统的数据写入的方法和系统 | |
CN103593297A (zh) | 虚拟u盘设计系统及方法 | |
CN107451271A (zh) | 一种哈希表处理方法、装置、设备及存储介质 | |
CN104808953A (zh) | 控制数据存储的方法、装置及移动终端 | |
CN117724663B (zh) | 一种数据存储方法、系统、设备及计算机可读存储介质 | |
US20130166840A1 (en) | Dynamic hard disk mapping method and server using the same | |
CN102043589B (zh) | 磁盘阵列的扩容方法和系统 |
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 |