CN103970683A - 一种加速u盘启动的方法 - Google Patents

一种加速u盘启动的方法 Download PDF

Info

Publication number
CN103970683A
CN103970683A CN201410189909.6A CN201410189909A CN103970683A CN 103970683 A CN103970683 A CN 103970683A CN 201410189909 A CN201410189909 A CN 201410189909A CN 103970683 A CN103970683 A CN 103970683A
Authority
CN
China
Prior art keywords
mapping table
address mapping
subregion
flash disk
usb flash
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
CN201410189909.6A
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.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors 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 Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN201410189909.6A priority Critical patent/CN103970683A/zh
Publication of CN103970683A publication Critical patent/CN103970683A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种加速U盘启动的方法,通过对U盘分区,并建立各个分区的分区地址映射表,从而在操作时针对该分区地址映射表操作,相对而言,重建分区地址映射表的时间会大大缩短,且调入闪存控制器的分区地址映射表比较小,所占用的资源也少。

Description

一种加速U盘启动的方法
技术领域
本发明涉及一种U盘启动方法。
背景技术
U盘,全称USB闪存盘,即USB flash disk。它是一种使用USB接口的无需物理驱动器的微型高容量移动存储产品,通过USB接口与电脑连接,实现即插即用。U盘的称呼最早来源于朗科科技生产的一种新型存储设备,称为优盘,使用USB接口进行连接。U盘连接到电脑的USB接口后,U盘的资料可与电脑交换。
虽然U盘是一种即插即用设备,但在一台电脑上第一次使用U盘,需要进行USB设备检测及初始化,另外应用系统要识别U盘,识别U盘的过程短则数秒,长则十几秒。
U盘启动的前期当一个U盘插入主机时,根据设定,它会使USB总线的数据信号线的电平发生变化,而主机会经常扫描USB总线,当发现电平有变化时,它即知道有新设备插入,随后进行U盘的检测和初始化。其中插入和识别新设备受主机的影响,对加速U盘启动的影响一般不大。对U盘进行初始化往往需要占据比较多的时间。
实际上,如电脑识别U盘时间的长短主要取决于U盘映射表的重建。初始化时,U盘映射表进行重建,重建过程是先对整个U盘的存储空间(U盘机芯上的Flash芯片)进行全盘扫描,根据其中保存的数据内容,一点一点的重建映射表信息,由此造成U盘启动所占用的时间比较长。
发明内容
有鉴于此,本发明的目的在于提供一种能够加速U盘启动的方法。
本发明采用以下技术方案:
在一些实施例中,一种加速U盘启动的方法,对U盘用户数据存储区的存储空间进行分区,形成多个分区,并为每一个分区创建一个分区地址映射表,进而将分区地址映射表按顺序存入指定的存储区域;
当U盘上电初始化时,以U盘已使用容量为节点,调入最后一个有效的数据页所在的分区所对应的地址映射表到闪存控制器;
若断电导致当前的地址映射表丢失,在上电初始化时,根据U盘最后一个有效的数据页所在的分区,重建匹配该分区的地址映射表。
具体地,当数据操作涉及多个分区时,根据所操作的数据所属的分区动态调用相应的分区地址映射表。
具体地,顺序写数据时,当数据写满一个分区而进入下一个分区时,将写满数据的分区所对应的分区地址映射表存入指定的存储区域,并调用下一个分区的分区地址映射表。
具体地,指定的存储区域按页顺序存取,每一个页存放一条分区地址映射表,从而,下一个写入该指定的存储区域的分区地址映射表被写入下一个空闲页。
具体地,若U盘的存储容量小于等于给定值时,将该U盘分成两个分区;而当U盘的存储容量大于该给定值时,根据U盘存储容量与给定值相比的倍数,分成该倍数个分区。
具体地,所述倍数为8GB。
在另一些实施例中,一种加速U盘启动的方法,对U盘用户数据存储区的存储空间进行分区,形成多个分区,并为每一个分区创建一个分区地址映射表,进而将分区地址映射表按顺序存入指定的存储区域;
当U盘上电初始化时,以U盘已使用容量为节点,调入最后一个有效的数据页所在的分区所对应的地址映射表到闪存控制器;
指定的存储区域按页顺序存取,每一个页存放一条分区地址映射表,从而,下一个写入该指定的存储区域的分区地址映射表被写入下一个空闲页;
当断电导致当前的地址映射表丢失,上电初始化时,先通过读取所述指定的区域最后一个有效数据的页,确定该页所存分区地址映射表所对应的分区;同时读取闪存控制器中分区地址映射表属于哪个分区,重建闪存控制器中的分区地址映射表。
具体地,当数据操作涉及多个分区时,根据所操作的数据所属的分区动态调用相应的分区地址映射表。
具体地,当数据操作对当前分区的操作完成时,先把当前分区的分区地址映射表写入指定的存储区域,并记录闪存控制器即将使用的下一个分区;然后读取下一个分区的地址映射表到闪存控制器,从而继续数据操作。
在一些实施例中,一种加速U盘启动的方法,对U盘用户数据存储区的存储空间进行分区,形成多个分区,并为每一个分区创建一个分区地址映射表,进而将第一个分区地址映射表调入闪存控制器,其余的分区地址映射表按顺序存入指定的存储区域;
当U盘上电初始化时,以U盘已使用容量为节点,调入最后一个有效的数据页所在的分区所对应的地址映射表到闪存控制器;
若断电导致当前的地址映射表丢失,在上电初始化时,根据U盘最后一个有效的数据页所在的分区,重建匹配该分区的地址映射表。
依据本发明,通过对U盘分区,并建立各个分区的分区地址映射表,从而在操作时针对该分区地址映射表操作,相对而言,重建分区地址映射表的时间会大大缩短,且调入闪存控制器的分区地址映射表比较小,所占用的资源也少。
附图说明
图1为使用数据在8GB以内,保存其他part(分区)信息的图例。
图2为使用数据在8GB-16GB之间,保存part0,读取part1的信息图例。
图3为使用数据在16GB-24GB之间,保存part1,读取part2的信息图例。
图4为使用数据在24GB-32GB之间,保存part2,读取part3的信息图例。
图5为假设数据操作在24GB-32GB之间突然断电,商店之后通过查Flash信息找到最后一个有数据的页,重建相应分区地址映射表的图例。
具体实施方式
基于前述的说明,本发明的原理相对比较容易理解,在此以一个实施例说明本发明的原理,据此,本领域的技术人员容易通晓依据此原理的其他的实现方式。
如果目标U盘是刚刚量产完之后的空白盘,那么Flash机芯中就查找不到有关需要的重建信息,此时需要每个part都重建,如图1所示,表示一个32GB的U盘(Udisk),分成四个分区,即part0-part3(表示第一分区-第四分区),那么针对空白盘,重建一个part的分区地址映射表就保存一个part对应的映射表到Flash的指定位置中,并且记录下一次SRAM(Static RAM的缩写,即静态随机存储器,不需要刷新电路即能保存它内部存储的数据,U盘机芯通常会含有SRAM和ROM,一般配置在闪存控制器的外围)中将会用到的part。
U盘的存储空间通常分成四个部分,这四个部分中其一为系统区(用户不可见),再一为用户数据区(用户可见),那么分区信息和相应的分区地址映射表被存放在系统区,即指定的存储区,用户不可更改。
在一些实现中,可以开放给用户更改。
通常根据闪存使用物理地址进行读写操作的特性,预留出一小部分用户不可见的闪存空间,用来保存映射表信息。因为在U盘使用过程中,断电的情况是不可预期的,所以何时保存映射表非常关键。
如图1所示,当一个空白盘在使用时,保存的数据量始终是慢慢增加的,当数据量在8GB以内时,此时对应part0,而下一个将会使用的是part1。
一旦数据量超过8GB范围,就进入part1,此时就将part0对应的分区映射表信息保存到Flash中,并且记录SRAM中将会使用的是part1。然后将part1对应的分区地址映射表信息从指定的存储区域中读取出来存放到指定的SRAM中。如图2所示。
一旦数据量超过了16GB,那么对应的分区地址映射表信息就将会是part2,此时需要保存part1对应的分区地址映射表信息,并且记录下一个将会使用的是part2。然后将part2对应的分区地址映射表信息从指定的存储区域中读取出来存放到指定的SRAM中。如图3所示。
当数据量超过了24GB,那么对应的分区地址映射表信息就从part2改变为part3,此需要将part2对应的分区地址映射表信息保存到Flash,并且记录下SRAM中将会使用的是part3。然后将part3对应的分区地址映射表信息从Flash中读取出来存放到指定的SRAM中。如图4所示。
假设使用part3的过程中,突然断电,那么下次上电时,就到指定的存储区域中读取相关信息,先通过读Flash确定最后一个有效数据的页,如图5右部,然后通过该页中保存的信息确定该页中存放的是哪个part的分区地址映射表信息,以及断电时SRAM中的分区地址映射表信息是哪个part,最后只重建断电时SRAM中保存的分区地址映射表信息。如图5所示。
上述实施例采用已使用容量为节点,保存映射表的信息,对于小于8GB的U盘,将其二等分;对于大于8GB的U盘,便是根据其为8GB的几倍,进行几等分,然后对每份进行编号,每份对应一份单独的分区地址映射表。将正在使用的一份对应的分区地址映射表存放在U盘主控内部,将其他几份保存到闪存指定的存储区域中。
当操作到边界的时候,将需要的部分对应的映射表从Flash中读取到主控内部。这样一来,一旦断电,丢失的只是整个U盘映射表的一部分,下次上电时只需要重建这一部分映射表即可,重建所需的时间会成倍的减少。
8GB是当前容量较小的U盘,随着技术的发展,小容量的U盘会逐渐被淘汰,8GB作为最小分区空间可以做出相应调整,本领域的技术人员对此应有清楚的理解,因此,据此所做出的无创造性的改动,理应在本发明的保护范围之内。
另外,在上述实施例中阐述了一种重建当前分区之分区地址映射表的方法,进而,依据存储管理技术领域的存储策略,可以针对数据存储区或者说用户数据区最后一个有效的数据页的地址,确定其所属的分区,从而重建该分区的分区地址映射表。
不涉及数据操作和断电恢复,在U盘插入主机,上电初始化时,以U盘已使用容量为节点,调入最后一个有效的数据页所在的分区所对应的地址映射表到闪存控制器,那么当进行数据操作时,则可以直接依据当前的地址映射表进行数据操作。
在图1-5所例示的内容中,右边表示指定的存储区域,其根据分区的操作进行顺序的读写,读写中不是采用更新历史数据,而是逐页压入的方式,利于快速的操作。
与传统方法比较:
只重建全部映射表信息的N分之一,重建速度较全部重建提高N倍甚至更高(N为整个U盘被划分为几个part)。
重建全部映射表需要很大的片内SRAM空间支持,而只重建部分映射表,可以节省片内SRAM空间,从而缩小芯片面积。
只在数据量到达边界时才读写Flash,对U盘顺序操作几乎没有什么影响。
另外,对于较小的分区地址映射表的操作,寻址速度更快,从而提高了数据操作的速度。

Claims (10)

1.一种加速U盘启动的方法,其特征在于,对U盘用户数据存储区的存储空间进行分区,形成多个分区,并为每一个分区创建一个分区地址映射表,进而将分区地址映射表按顺序存入指定的存储区域;
当U盘上电初始化时,以U盘已使用容量为节点,调入最后一个有效的数据页所在的分区所对应的地址映射表到闪存控制器;
若断电导致当前的地址映射表丢失,在上电初始化时,根据U盘最后一个有效的数据页所在的分区,重建匹配该分区的地址映射表。
2.根据权利要求1所述的加速U盘启动的方法,其特征在于,当数据操作涉及多个分区时,根据所操作的数据所属的分区动态调用相应的分区地址映射表。
3.根据权利要求1或2所述的加速U盘启动的方法,其特征在于,顺序写数据时,当数据写满一个分区而进入下一个分区时,将写满数据的分区所对应的分区地址映射表存入指定的存储区域,并调用下一个分区的分区地址映射表。
4.根据权利要求1或2所述的加速U盘启动的方法,其特征在于,指定的存储区域按页顺序存取,每一个页存放一条分区地址映射表,从而,下一个写入该指定的存储区域的分区地址映射表被写入下一个空闲页。
5.根据权利要求1或2所述的加速U盘启动的方法,其特征在于,若U盘的存储容量小于等于给定值时,将该U盘分成两个分区;而当U盘的存储容量大于该给定值时,根据U盘存储容量与给定值相比的倍数,分成该倍数个分区。
6.根据权利要求5所述的加速U盘启动的方法,其特征在于,所述倍数为8GB。
7.一种加速U盘启动的方法,其特征在于,对U盘用户数据存储区的存储空间进行分区,形成多个分区,并为每一个分区创建一个分区地址映射表,进而将分区地址映射表存入指定的存储区域;
当U盘上电初始化时,以U盘已使用容量为节点,调入最后一个有效的数据页所在的分区所对应的地址映射表到闪存控制器;
指定的存储区域按页顺序存取,每一个页存放一条分区地址映射表,从而,下一个写入该指定的存储区域的分区地址映射表被写入下一个空闲页;
当断电导致当前的地址映射表丢失,上电初始化时,先通过读取所述指定的区域最后一个有效数据的页,确定该页所存分区地址映射表所对应的分区;同时读取闪存控制器中分区地址映射表属于哪个分区,重建闪存控制器中的分区地址映射表。
8.根据权利要求7所述的加速U盘启动的方法,其特征在于,当数据操作涉及多个分区时,根据所操作的数据所属的分区动态调用相应的分区地址映射表。
9.根据权利要求8所述的加速U盘启动的方法,其特征在于,当数据操作对当前分区的操作完成时,先把当前分区的分区地址映射表写入指定的存储区域,并记录闪存控制器即将使用的下一个分区;然后读取下一个分区的地址映射表到闪存控制器,从而继续数据操作。
10.一种加速U盘启动的方法,其特征在于,对U盘用户数据存储区的存储空间进行分区,形成多个分区,并为每一个分区创建一个分区地址映射表,进而将第一个分区地址映射表调入闪存控制器,其余的分区地址映射表按顺序存入指定的存储区域;
当U盘上电初始化时,以U盘已使用容量为节点,调入最后一个有效的数据页所在的分区所对应的地址映射表到闪存控制器;
若断电导致当前的地址映射表丢失,在上电初始化时,根据U盘最后一个有效的数据页所在的分区,重建匹配该分区的地址映射表。
CN201410189909.6A 2014-05-07 2014-05-07 一种加速u盘启动的方法 Pending CN103970683A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410189909.6A CN103970683A (zh) 2014-05-07 2014-05-07 一种加速u盘启动的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410189909.6A CN103970683A (zh) 2014-05-07 2014-05-07 一种加速u盘启动的方法

Publications (1)

Publication Number Publication Date
CN103970683A true CN103970683A (zh) 2014-08-06

Family

ID=51240208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410189909.6A Pending CN103970683A (zh) 2014-05-07 2014-05-07 一种加速u盘启动的方法

Country Status (1)

Country Link
CN (1) CN103970683A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607915A (zh) * 2016-02-02 2016-05-25 浪潮(北京)电子信息产业有限公司 一种服务器双分区开机控制方法
CN107656875A (zh) * 2017-09-15 2018-02-02 忆正科技(武汉)有限公司 作为系统盘的固态硬盘缩短上电时间的方法及系统
CN108415851A (zh) * 2018-01-18 2018-08-17 珠海全志科技股份有限公司 一种提升闪存设备启动速度的方法与装置
CN108804026A (zh) * 2018-03-27 2018-11-13 深圳忆联信息系统有限公司 一种固态硬盘全盘扫描方法及固态硬盘

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936867A (zh) * 2005-09-25 2007-03-28 深圳市朗科科技有限公司 闪存介质数据管理方法
US20090271567A1 (en) * 2007-01-17 2009-10-29 Memoright Memoritech (Shenzhen) Co., Ltd. Methods for managing blocks in flash memories
CN101794361A (zh) * 2008-12-31 2010-08-04 英特尔公司 用基于位置的数据向平台提供附加的安全性的系统和方法
CN101930404A (zh) * 2010-08-27 2010-12-29 威盛电子股份有限公司 存储装置及其操作方法
CN102955742A (zh) * 2012-10-31 2013-03-06 浪潮集团有限公司 一种系统上电后固态硬盘地址映射表的快速重建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936867A (zh) * 2005-09-25 2007-03-28 深圳市朗科科技有限公司 闪存介质数据管理方法
US20090271567A1 (en) * 2007-01-17 2009-10-29 Memoright Memoritech (Shenzhen) Co., Ltd. Methods for managing blocks in flash memories
CN101794361A (zh) * 2008-12-31 2010-08-04 英特尔公司 用基于位置的数据向平台提供附加的安全性的系统和方法
CN101930404A (zh) * 2010-08-27 2010-12-29 威盛电子股份有限公司 存储装置及其操作方法
CN102955742A (zh) * 2012-10-31 2013-03-06 浪潮集团有限公司 一种系统上电后固态硬盘地址映射表的快速重建方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607915A (zh) * 2016-02-02 2016-05-25 浪潮(北京)电子信息产业有限公司 一种服务器双分区开机控制方法
CN105607915B (zh) * 2016-02-02 2018-10-02 浪潮(北京)电子信息产业有限公司 一种服务器双分区开机控制方法
CN107656875A (zh) * 2017-09-15 2018-02-02 忆正科技(武汉)有限公司 作为系统盘的固态硬盘缩短上电时间的方法及系统
CN108415851A (zh) * 2018-01-18 2018-08-17 珠海全志科技股份有限公司 一种提升闪存设备启动速度的方法与装置
CN108415851B (zh) * 2018-01-18 2021-02-12 珠海全志科技股份有限公司 一种提升闪存设备启动速度的方法与装置
CN108804026A (zh) * 2018-03-27 2018-11-13 深圳忆联信息系统有限公司 一种固态硬盘全盘扫描方法及固态硬盘
CN108804026B (zh) * 2018-03-27 2022-02-18 深圳忆联信息系统有限公司 一种固态硬盘全盘扫描方法及固态硬盘

Similar Documents

Publication Publication Date Title
US9632880B2 (en) Data storage device and flash memory control method
CN103049390B (zh) 应用元数据的数据处理方法及存储系统
KR102048762B1 (ko) 다이나믹 랜덤 액세스 메모리(dram)를 리프레시하기 위한 방법, 장치 및 시스템
US8650379B2 (en) Data processing method for nonvolatile memory system
CN104750565B (zh) Nand坏块处理方法及nand闪存设备
US20150120988A1 (en) Method of Accessing Data in Multi-Layer Cell Memory and Multi-Layer Cell Storage Device Using the Same
US10339079B2 (en) System and method of interleaving data retrieved from first and second buffers
CN106201652B (zh) 一种数据处理方法及虚拟机
EP3352071B1 (en) Data check method and storage system
CN106294019A (zh) 一种操作系统镜像保存和恢复方法及装置
CN103473266A (zh) 固态硬盘及其删除重复数据的方法
CN103970683A (zh) 一种加速u盘启动的方法
US20170220462A1 (en) Data storage method and system thereof
CN103279406A (zh) 一种内存的隔离方法和装置
CN104598165A (zh) 在嵌入式设备上对存储器提高耐用性的方法及装置
US9063667B2 (en) Dynamic memory relocation
CN105393228A (zh) 读写闪存中数据的方法、装置及用户设备
WO2017118289A1 (zh) 读数据的方法、数据处理方法及相关存储设备
JP2007220107A (ja) 不揮発性メモリのマッピング情報管理装置及び方法
US9761296B2 (en) Smart in-module refresh for DRAM
US10782895B2 (en) Management method of metadata for preventing data loss and memory device using the same
CN104808950A (zh) 对嵌入式存储器元件的模式依赖性访问
CN104408126A (zh) 一种数据库的持久化写入方法、装置和系统
US9535796B2 (en) Method, apparatus and computer for data operation
CN104268005B (zh) 虚拟机唤醒方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140806