CN103455769A - 一种嵌入式设备安全格式化磁盘的系统及方法 - Google Patents
一种嵌入式设备安全格式化磁盘的系统及方法 Download PDFInfo
- Publication number
- CN103455769A CN103455769A CN2013103597147A CN201310359714A CN103455769A CN 103455769 A CN103455769 A CN 103455769A CN 2013103597147 A CN2013103597147 A CN 2013103597147A CN 201310359714 A CN201310359714 A CN 201310359714A CN 103455769 A CN103455769 A CN 103455769A
- Authority
- CN
- China
- Prior art keywords
- format
- disk
- carry out
- built
- embedded device
- 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
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种嵌入式设备安全格式化磁盘的系统,系统包括判断CPU是否有掉电仍然保存数据能力的寄存器的判断单元、进行内置磁盘划定的处理单元、进行数据值读取的读取单元以及设置数据值的设置单元;判断单元、处理单元、读取单元以及设置单元依次连接。本发明嵌入式设备安全格式化磁盘的系统及方法,有效的避免嵌入式系统内置磁盘格式化中途掉电。
Description
技术领域
本发明涉及嵌入式设备领域,尤其涉及一种嵌入式设备不怕格式化中途掉电的安全格式化磁盘的系统及方法。
背景技术
随着嵌入式设备的存储设备生产工艺设备改良,如:19纳米MLC(多阶储存单元)NAND颗粒甚至已经成为了闪存主流;卡片存储容量越来越大,售价越来越便宜,当然考虑到性价比,成本和售价也尽量低廉,在能满足基本的擦除寿命的前提(牺牲了写入次数的使用寿命,或者是写入速度等指标),换回来的是更具性价比的存储介质的产品(卡片)。但一个问题是写入速度的降低。写入速度的性能下降,总容量增大,这样格式化的过程占据的时间会加长。
嵌入式设备使用文件系统,格式化的时候一般要求用户不要中断,否则会出现格式化未完成,而导致磁盘不可用。现行通用文件文件系统格式有(FAT12/16/32、exFAT【FAT64】、NTFS、EXT2、EXT3、YAFFIS(YetAnotherFlashFileSystem)、YAFFIS2等。
格式化这些文件系统格式的过程中,如果中途低电关机(掉电)等异常发生,则极为可能导致磁盘格式化未完成。但对于通用文件系统,并非所有的情况加载的时候都能准确判断出来为格式化未完成,进而虽然可以有机会加载使用,但再后续使用中会因为文件系统格式化未完成遗留的数据,导致出现磁盘数据损毁的情况,进而影响用户的使用(如出现多文件存储物理地址重叠,文件数据不完整等)。
对于具体文件系统FAT16/32文件系统而言,FAT entry第二项记录FAT[1]被定义为”EOCmark”,用来作为“dirty volume flags”,
如果FAT16/32文件系统有数据尚未回写(write-back)到磁盘(存储器),则FAT entry第二项记录FAT[1]的值FAT16会是0x7FFF,FAT32会是0x07FFFFFF;如果FAT16/32文件系统无任何回写数据(如只读,或者写入的数据都已经成功回写到磁盘),则该FAT entry第二项记录FAT[1]的值FAT16会是0xFFFF,FAT32会是0x0FFFFFFF。
微软Windows系统则利用FAT16/32的改FAT[1]的“dirty volume flags”用来标注USB Mass storage是否安全移除磁盘(即是否所有的磁盘缓冲区均回写到磁盘);而对于格式化如果未完整,在FAT16/FAT32中并没有其它标记位做标记区分。
具体不同文件系统定义各有差异,虽然一些文件系统(NTFS)内设计有操作事务实施的机制,但也存在一些文件系统在其类型的文件系统的规范(Spec)中就设计有此类别的标示位设计和约定。如果试图利用文件系统事务完整的设计避免格式化中途断电后的自动回复,则因为一些文件系统并无事务处理机制而无法实施,且对于支持事务处理的文件系统,也是需要分别对事务完整性和回退部分做实现细节,这些无疑都是工作量。
嵌入式系统考虑CPU运算能力,以及实际装载的不是很充裕的内存资源,并考虑磁盘扫描和修复算法的复杂度和耗时,一般并不具备磁盘文件系统错误修复能力。(即便PC上的修复工具,也非常多,而目前也没有说能有100%的修复能力,只是可能一些情况可以修复,但修复之后也可能损失一些文件)。
尤其一些嵌入式设备的应用程序或者OS非常依赖内嵌磁盘文件操作的系统,如利用DB数据访问和保存一些数据的应用类的嵌入式设备产品。一旦内置文件系统损毁,就无法使用。而对于使用电池的设备,格式化过程中如果有震动或者电池低迅速电压下降,都有机会让格式化内置磁盘的时候未能完成而对后续使用产生文件损毁的隐患(多文件重叠、索引絮乱等)。
发明内容
为了解决背景技术中所存在的技术问题,本发明提出了一种嵌入式设备安全格式化磁盘的系统及方法,有效的避免嵌入式系统内置磁盘格式化中途掉电。
本发明的技术解决方案是:一种嵌入式设备安全格式化磁盘的系统,其特征在于:所述系统包括判断CPU是否有掉电仍然保存数据能力的寄存器的判断单元、进行内置磁盘划定的处理单元、进行数据值读取的读取单元以及设置数据值的设置单元;所述判断单元、处理单元、读取单元以及设置单元依次连接。
一种嵌入式设备安全格式化磁盘的系统,其特征在于:所述系统包括判断CPU是否有掉电仍然保存数据能力的寄存器的判断单元、进行内置磁盘划定的处理单元、进行数据值读取的读取单元以及设置数据值的设置单元;所述判断单元、处理单元、读取单元以及设置单元依次连接。
一种嵌入式设备安全格式化磁盘的方法,其特征在于:所述方法包括以下步骤:
1)判断CPU是否有掉电仍然保存数据能力的寄存器,若否,进行步骤2);
2)格式化和加载内置磁盘,在内置磁盘划定一块格式化不会被擦除的区域;
3)读取/设置磁碟预留约定位置的数据值,作为格式化进行中否的标记。
上述步骤1)中若CPU有掉电仍然保存数据能力的寄存器,则进行以下步骤:
4)选定寄存器的座位标记位;
5)读取/设置选定的寄存器相关位,作为格式化进行中否的标记。
上述加载内置磁盘的具体步骤是:
2.1)判断是否格式化内置磁盘;若否,进行步骤2.2);
2.2)读取“格式化是否进行中”的标记;
2.3)判断是否读取的标记值为1;若是,进行步骤2.4);
2.4)设置格式化进行中标记值为1;
2.5)格式化磁碟并加载;
2.6)清除格式化进行中标记值。
上述步骤2.1)中若有格式化内置磁盘,则直接进行步骤2.4)。
上述步骤2.5)若格式化磁碟过程中中途断电,则程序终止,“格式化是否进行中”的标记保持为1。
本发明嵌入式设备安全格式化磁盘的系统及方法针对嵌入式设备内置磁盘容量越来越大,并考虑成本(性价比),格式化耗时稍微有些长的使用文件系统的系统,当格式化过程中(已经开始格式化但又未能完成格式化)中间的时段内如果嵌入式设备断电而会导致磁盘文件系统未能格式化完成而后续使用中出现磁盘文件系统数据损毁(文件使用异常)。特别设计一种格式化的防止掉电损毁文件系统的系统,不需要依赖和改变文件系统的内部实现细节(规则),避免修改不同文件系统的实现细节而带来的额外工作量,并能保持原来支持的任何类型的文件系统的功能,巧妙的设计了一种利用格式化不会抹到的标记位,来记录文件系统是否格式化完整。档文件系统格式化中途断电而能下次开机加载内置文件系统的时候自动是被到上次失败的格式化事件并重新自动完成格式化,进而有效的避免嵌入式系统内置磁盘格式化中途掉电,导致一些依靠内置磁盘中需要保存和读取文件系统的应用程序(APP)正常运行,并避免内置磁盘格式化中途断电导致文件系统后续使用中出现资料损毁(内容叠盖)的问题。
附图说明
图1是本发明的结构示意图;
图2是本发明的方法流程图;
图3是本发明具体实施方式流程图;
具体实施方式
参见图1,一种嵌入式设备安全格式化磁盘的系统,其特征在于:所述系统包括判断CPU是否有掉电仍然保存数据能力的寄存器的判断单元、进行内置磁盘划定的处理单元、进行数据值读取的读取单元以及设置数据值的设置单元;所述判断单元、处理单元、读取单元以及设置单元依次连接。
参见图2,图3,一种嵌入式设备安全格式化磁盘的方法,其特征在于:所述方法包括以下步骤:
1)判断CPU是否有掉电仍然保存数据能力的寄存器,若否,进行步骤2);通过查看CPU的Data Sheet(SPEC)就可以知道是否有persistent的register;
2)格式化和加载内置磁盘,在内置磁盘划定一块格式化不会被擦除的区域;
通过修改内置磁盘设备起始或最大允许访问Sector数,即约定设备运行内置磁盘的开始和最大允许访问的sector数进行划定。如后面段落描述的“最后预留一个Reserved(预留)的分区”;
还有一种方式是通过修正MBS的值,在MBS表中记录的第一个PBS其实sector数略作调整,即预留一些Sector作为reserved的区域。这些reserved的区域,只要构建MBS的数据表项算法是固定的,就不会有数据写到MBS和PBS之间预留reserved sector中。【MBS】【PBS】→【MBS】【Reserved sectors】【PBS】
内置磁盘加载(正常加载、带有格式化的加载两种)步骤:
加载内置磁盘分两种情况,正常加载;格式化加载;2.1)的判断判断是不是“格式化”加载。如是格式化加载跳转到步骤2.4,若不是格式化加载,而是正常加载,进行布置2.2)。特别是在内置磁碟正常加载的时候,因为会判断‘格式化是否进行中’的标记,所以如果上次发生了格式化过程中中断,那么这次的加载就能检测到“没有格式化完成”的咨询,而能自动出发再次格式化,以(步骤2.3)继续完成格式化。
3)读取/设置磁碟预留约定位置的数据值,作为格式化进行中否的标记。
若CPU有掉电仍然保存数据能力的寄存器,则进行以下步骤:
4)选定寄存器的座位标记位;
5)读取/设置选定的寄存器相关位,作为格式化进行中否的标记。
本发明的具体实施方式:
以FAT16、FAT32文件系统而言,格式化内置磁盘会有好几个动作分批完成:a)格式化MBS/PBS;
b)格式化FAT entry区域;
c)格式化root directory区域;
如果上述a,b,c三个步骤有部分没有完成的时候,嵌入式系统掉电(如电池移除等),导致文件系统内部会有数据错误,进而需要磁盘修复工具修复。而嵌入式设备考虑程序复杂程度以及运行内存运行的内存大小需求,且磁盘修复工具运行会耗费相当长的时间。所以基本嵌入式设备很多都具备损毁的磁盘修复功能。
参见图2,针对嵌入式设备使用的CPU是否有掉电依然能保存数据的Persist寄存器。利用此类寄存器即便CPU掉电依然能保存数据的,用来存储嵌入式设备是否有内置磁盘正在被格式化中的标记位。
选定的Persist寄存器标记位1bit允许设置的2种状态,如1表示正在进行格式化(格式化执行中);0表示非格式化中(格式化未执行或已经执行完毕)。
当开始格式化的时候,将改标记设置为1,格式化完成之后将改标记归置为0。
如果嵌入式设备的CPU无此类Persist寄存器,则在内置磁盘内划分一块格式化不会抹掉的区域(约定位置),来保存改标记为。
如图2“在内置磁盘划定一块格式化不会被擦除的区域”步骤描述:
格式化MBS(master boot sector主引导扇区)的时候故意添加一些reservedsector,这些预留的区域后面才填写PBS(Partition Boot Sector)信息。
又或者在磁盘最后预留一个Reserved(预留)的分区,在这个预留分区中约定位置用来存储磁盘是否正在被格式化的过程中。
格式化和加载内置磁盘的流程如图3所示。
加载内置磁盘文件系统的时候,判别改标记;如果为1,则自动重新格式化内置磁盘成功后归置改标记为0;如果为0,则不进行格式化,仅仅正常加载改内置磁盘。
Claims (6)
1.一种嵌入式设备安全格式化磁盘的系统,其特征在于:所述系统包括判断CPU是否有掉电仍然保存数据能力的寄存器的判断单元、进行内置磁盘划定的处理单元、进行数据值读取的读取单元以及设置数据值的设置单元;所述判断单元、处理单元、读取单元以及设置单元依次连接。
2.一种嵌入式设备安全格式化磁盘的方法,其特征在于:所述方法包括以下步骤:
1)判断CPU是否有掉电仍然保存数据能力的寄存器,若否,进行步骤2);
2)格式化和加载内置磁盘,在内置磁盘划定一块格式化不会被擦除的区域;
3)读取/设置磁碟预留约定位置的数据值,作为格式化进行中否的标记。
3.根据权利要求2所述的嵌入式设备安全格式化磁盘的方法,其特征在于:所述步骤1)中若CPU有掉电仍然保存数据能力的寄存器,则进行以下步骤:
4)选定寄存器的座位标记位;
5)读取/设置选定的寄存器相关位,作为格式化进行中否的标记。
4.根据权利要求3所述的嵌入式设备安全格式化磁盘的方法,其特征在于:所述加载内置磁盘的具体步骤是:
2.1)判断是否格式化内置磁盘;若否,进行步骤2.2);
2.2)读取“格式化是否进行中”的标记;
2.3)判断是否读取的标记值为1;若是,进行步骤2.4);
2.4)设置格式化进行中标记值为1;
2.5)格式化磁碟并加载;
2.6)清除格式化进行中标记值。
5.根据权利要求4所述的嵌入式设备安全格式化磁盘的方法,其特征在于:所述步骤2.1)中若有格式化内置磁盘,则直接进行步骤2.4)。
6.根据权利要求5所述的嵌入式设备安全格式化磁盘的方法,其特征在于:所述步骤2.5)若格式化磁碟过程中中途断电,则程序终止,“格式化是否进行中”的标记保持为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103597147A CN103455769A (zh) | 2013-08-16 | 2013-08-16 | 一种嵌入式设备安全格式化磁盘的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103597147A CN103455769A (zh) | 2013-08-16 | 2013-08-16 | 一种嵌入式设备安全格式化磁盘的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103455769A true CN103455769A (zh) | 2013-12-18 |
Family
ID=49738117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013103597147A Pending CN103455769A (zh) | 2013-08-16 | 2013-08-16 | 一种嵌入式设备安全格式化磁盘的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103455769A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1282128A1 (en) * | 2001-07-30 | 2003-02-05 | Ricoh Company, Ltd | A data storage apparatus that appropriately revises FDCB information during background formatting |
CN101154196A (zh) * | 2006-09-28 | 2008-04-02 | 富士通株式会社 | 防信息泄露装置和防信息泄露方法 |
CN101661565A (zh) * | 2009-09-24 | 2010-03-03 | 北京握奇数据系统有限公司 | 具有Mifare仿真功能的智能卡的断电保护方法、装置及系统 |
CN101739413A (zh) * | 2008-11-27 | 2010-06-16 | 扬智科技股份有限公司 | 文件复制方法以及文件复制装置 |
CN103116640A (zh) * | 2013-02-21 | 2013-05-22 | 珠海全志科技股份有限公司 | Fat文件系统格式化方法及装置 |
-
2013
- 2013-08-16 CN CN2013103597147A patent/CN103455769A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1282128A1 (en) * | 2001-07-30 | 2003-02-05 | Ricoh Company, Ltd | A data storage apparatus that appropriately revises FDCB information during background formatting |
CN101154196A (zh) * | 2006-09-28 | 2008-04-02 | 富士通株式会社 | 防信息泄露装置和防信息泄露方法 |
CN101739413A (zh) * | 2008-11-27 | 2010-06-16 | 扬智科技股份有限公司 | 文件复制方法以及文件复制装置 |
CN101661565A (zh) * | 2009-09-24 | 2010-03-03 | 北京握奇数据系统有限公司 | 具有Mifare仿真功能的智能卡的断电保护方法、装置及系统 |
CN103116640A (zh) * | 2013-02-21 | 2013-05-22 | 珠海全志科技股份有限公司 | Fat文件系统格式化方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797191B2 (en) | Systems and methods for storing data in SSD | |
US8037247B2 (en) | Methods, computer program products, and systems for providing an upgradeable hard disk | |
US8489833B2 (en) | Data backup method for flash memory module and solid state drive | |
CN107656875A (zh) | 作为系统盘的固态硬盘缩短上电时间的方法及系统 | |
CN101582084B (zh) | 一种数据存储的方法及装置 | |
WO2017161795A1 (zh) | 处理流水文件的方法及系统 | |
US8954692B2 (en) | File protecting method and system, and memory controller and memory storage apparatus thereof | |
CN101853275A (zh) | 一种fat文件系统的数据管理方法和系统 | |
CN102053796A (zh) | 闪存储存系统、闪存控制器与数据处理方法 | |
CN105302665A (zh) | 一种改进的写时拷贝快照方法及系统 | |
CN101324899B (zh) | 一种快速写nand型flash的方法 | |
CN103430178A (zh) | 数据更新方法及装置和产品 | |
CN102207905A (zh) | 系统恢复方法、存储媒体控制器及存储系统 | |
CN102243602B (zh) | 一种Linux系统中使用闪存保存系统配置的方法 | |
CN108710507B (zh) | 一种ssd主机休眠优化的方法 | |
US20090204756A1 (en) | Method for protecting exposed data during read/modify/write operations on a sata disk drive | |
CN102789425B (zh) | 基于flash存储介质的文件读写方法 | |
CN103218308B (zh) | 缓冲存储器管理方法、存储器控制器与存储器储存装置 | |
CN101404034A (zh) | 文件存储和查找的方法及装置 | |
CN102109965B (zh) | 闪存储存系统、闪存控制器、电脑系统及模拟方法 | |
CN102968597A (zh) | 一种基于磁盘数据连接链文件粉碎方法 | |
CN103455769A (zh) | 一种嵌入式设备安全格式化磁盘的系统及方法 | |
KR101413985B1 (ko) | 비휘발성 메모리에 적합한 파일시스템을 이용한 파일 관리 방법 | |
CN103605587A (zh) | 一种磁带库数据备份归档方法 | |
CN103455444B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131218 |