硬盘格式化方法和装置的制作方法

文档序号:6469960阅读:196来源:国知局
专利名称:硬盘格式化方法和装置的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种硬盘格式化方法和装置。
背景技术
文件配置表(File Allocation Table,简称为FAT)是一种文件系 统,该文件系统最先应用于賴U欠的》兹盘才乘作系统(Disk Operation System,简称为DOS),同时该文件系统也应用于非NT内核的^f鼓软 窗口操作系统,并且,由于FAT文件系统的结构比较简单,易于使 用和扩展,因此,在嵌入式领域也有运用比较广泛。
硬盘在使用FDISK等分区工具进行分区以后,就可以格式化成 不同的文件系统。采用FAT文件系统对硬盘进行格式化后,硬盘被 划分为如图1所示的几个部分引导记录(DOS Boot Record,简称 为DBR)区,FAT1, FAT2,目录区,翁:才居区。其中,
DBR区是FAT文件系统的引导记录区,通常占用分区的第0 扇区共512个字节,由跳转指令、厂商标志和才乘作系统版本号、基 本输入输出系统参凄t区(BIOS Parameter Block,简称为BPB )、扩 展BPB、操作系统(Operating System,简称为OS)引导程序和结 束标志等几个部分组成,其中BPB指定了文件系统的逻辑扇区大 小。在FAT文件系统中,将邀:据区连续的几个扇区称为一簇,作为
5文件存储的基本单位,BPB中也指示了一簇的扇区数(即组成一簇 的扇区数量)。
FAT分区表位于DBR之后,用来记录磁盘上数据区的簇的使 用情况。FAT分区表有两个FAT1, FAT2,两者的内容相同,FAT2 为FAT1的备^f分,用于文4牛系统的'恢复。 一个文4牛在FAT文4牛系统 中的存储情况是通过FAT分区表中的表项来指示的, 一个表项对应 数据区的一个簇,文件指向第一个表项的位置,而该表项存储下一 表项的索引,这样一级一级链下去,即链式存储。
目录区存储的是目录和文件的信息,在FAT分区表之后,用来 记录文件的基本信息,包括文件大小,修改时间,当前读写权限以 及文件的第 一个FAT表项的位置。
数据区则为实际存储文件内容的地方。
以FAT32才各式的文件系统为例, 一个逻辑扇区的大小,有效值 为512, 1024, 2048, 4096, 一蔟的扇区数个数为1, 2, 4,…,256, 最大为256。这样,一簇的最大存储能力为4096*256个字节,即1M。 对于视频数据文件来说, 一个视频数据文件可能达到4G或以上, 如果一簇能够存4诸1M的数据,则一个纟见频数据文件需要存储在 4000个簇上,这些簇是通过FAT表项来指示,因此, 一个^L频数据 文件需要4000个fat表项来指示。如果使用的磁盘空间非常大,比 如几百或上千G, FAT表项数目会4艮多,增加了系统维护需要的空 间;并且,文件数据的存储位置也比较分散,硬盘磁头读取数据的 寻址时间较长,导致存^^数据的效率下降。

发明内容
有鉴于此,本发明提出了一种硬盘格式化方法和装置,用以解
决现有技术中由于一簇的扇区数较小,而导致一个硬盘中的FAT表 项数目很多,从而增加了系统维护的空间的问题。
才艮据本发明的一个方面,提供了一种石更盘才各式化方法,该方法 应用于FAT文件系统。
根据本发明的硬盘格式化方法包括定义操作系统内核中的 FAT文件系统引导扇区,将一簇的扇区数设置为通过两个字节表示, 并将保留扇区数设置为通过一个字节表示;根据定义的FAT文件系 统引导扇区,定义格式化工具;利用定义的格式化工具格式化硬盘。
根据本发明的另一个方面,提供了一种硬盘格式化装置。
根据本发明的硬盘格式化装置包括第一定义模块、第二定义 模块和格式化模块。其中,第一定义模块用于定义操作系统内核中
的FAT文件系统引导扇区,将一簇的扇区数设置为通过两个字节表 示,并将保留扇区数设置为通过一个字节表示;第二定义^^块用于 根据第一定义模块定义的FAT文件系统引导扇区,定义格式化工具; 格式化模块用于利用第二定义模块定义的格式化工具。
通过本发明的上述至少 一 个方案,通过将FAT文件系统引导扇 区中的一簇的扇区数设置为通过两个字节表示,增加了 一簇的扇区 数,提高了一簇的存储能力,从而减少了 FAT表项的数目,节约了 系统维护的空间。本发明的其它特4正和优点将在随后的i兌明书中阐述,并且,部 分地从说明书中变得显而易见,或者通过实施本发明而了解。本发 明的目的和其他优点可通过在所写的说明书、权利要求书、以及附 图中所特别指出的结构来实现和获得。


附图用来^是供对本发明的进一步理解,并且构成说明书的一部 分,与本发明的实施例一起用于解释本发明,并不构成对本发明的
限制。在附图中
图1为FAT文件系统中石更盘的划分结构的示意图2为根据本发明实施例的硬盘格式化方法的流程图3为本发明实施例的具体实施的流禾呈图4A为根据本发明实施例的硬盘格式化装置的结构框图4B为根据本发明优选实施例的硬盘格式化装置的结构框图。
具体实施方式
功能描述
如上所述,针对目前FAT系统中由于一簇的扇区数太少,而导 致一个大文件(即占用空间4交大的文件)需要用大量的FAT表项来 指示,从而增加了系统维护的空间的问题,本发明实施例提出了一 种石更盘才各式化方案,该方案通过定义才喿作系统内核中的FAT文件系 统引导扇区,将一簇的扇区数设置为通过两个字节表示,并将保留 扇区数设置为通过一个字节表示,并根据上述定义,定义格式化工程,然后利用该格式化工具格式硬盘,乂人而使得该硬盘可以以大块
簇的形式存储文件,减少了一个大文件所需的FAT表项。
以下结合附图对本发明的优选实施例进行说明,应当理解,此 处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本 发明。
才艮据本发明实施例,首先4是供了一种石更盘才各式化方法,该方法 应用于FAT文件系统。
图2为根据本发明实施例的硬盘格式化方法的流程图,如图2 所示,根据本发明实施例的硬盘格式化方法主要包括以下处理(步 骤S201 -步骤S205 ):
步骤S201:定义操作系统内核中的FAT文件系统引导扇区, 将一簇的扇区数设置为通过两个字节表示,并将保留扇区数设置为 通过一个字节表示;
步骤S203:根据定义的所述FAT文件系统引导扇区,定义格 式化工具;
步骤S205:利用定义的所述格式化工具格式化硬盘。 以下进一步4笛述上述处理的各个细节。 (一)步骤S201
在目前的FAT文件系统中,引导扇区结构中 一簇的扇区数是通 过l个字节表示的,而保留扇区数是通过2个字节表示的。但在实 际运用中,保留扇区数一般为32个,因此使用1个字节就可以表示,
9并且, 一簇的大小要实现2M以上,必须2个字节来表示,以表示 512及以上的扇区数。
在定义好操作系统内核中的FAT文件系统引导扇区后,为了使 目标系统能够识别定义的引导扇区,需要升级目标系统的操作系统 内容,重新加载文件系统读取模块,使目标系统能够支持2M及以 上簇大小文件的读取。
(二 )步骤S203
为了能将上述定义的FAT文件系统引导扇区写入硬盘,必须定 义对应的才各式化工具,在具体实施过程中,定义格式化工具可以包 4舌以下步骤
步骤1:定义格式化工具中写入到硬盘的引导扇区,将格式化 工具的引导扇区中一簇的扇区数设置为通过两个字节表示,并将保 留扇区数设置为通过一个字节表示。
步骤2:将格式化工具的引导扇区中与簇的大小相关的变量设 置为通过两个字节表示;比如,4奮改FAT表项等的计算方式,将涉 及簇大小的修改为两个字节表示。
步骤3:对才各式化工具的输入参数进4亍配置,4吏得格式化工具 支持指定一簇扇区大于256的参数。
(三)步骤S205
在该步骤中利用步骤S203中定义的格式化工具对硬盘进行格 式化,格式化完成后,该方法进一步包括在硬盘的引导DBR区, 写入与上述定义的引导扇区对应的引导信息及根目录信息。并且,在应用程序(即读写程序)中读写文件系统前,需要将 进程的堆栈配置为与输入参凄t对应的大小,以 <吏应用#呈序能够正确 的读取大块簇文件。比如,在利用格式化工具格式化硬盘时,如果
举俞入参lt为512,即指定一蔟扇区凄t为512,而扇区大小为4096, 则该FAT文件系统每簇的大小为2M,则将进程的堆栈配置为2M。
通过本发明实施例提供的上述方法,可以实现2M以上的大块 簇的FAT文件系统,能减少文件存储时FAT表项的数量。
为了进一步描述上述方法的具体实施方式
,下面以在嵌入式 linux操作系统下实现2M的簇大小为例,对本发明实施例提供的上 述方法的具体实施方式
进行i兌明。
图3为本实施例的具体实施的流程图,如图3所示,该实施例 的具体实施主要包括以下步骤
步骤S301:将linux内核中表示DBR《1导扇区的结构体中表示 一簇扇区数的变量修改为2个字节表示,表示保留扇区数的变量修 改为1个字节表示。
具体地,在Linux内核中表示DBR引导扇区的结构体为 fat—boot—sector,该结构体中的sector—size变量表示该文4牛系统的一 个扇区大小,通常扇区为512个字节,但最大值由于操作系统的限 制,不能超过4096, cluster—size变量指示每个蔟由多少个扇区组成, reserved变量表示在DBR区之后,需要保留的扇区数。
由于在实际应用中, 一般保留32个扇区,第33个扇区开始是 FAT表项的信息。因此,将reserved变量由通过两个8位字节表示 修改为通过一个8位字节,将cluster一size变量由通过一个8位字节 表示修改为通过两个8位字节表示,这样cluster—size变量最大取值 为65535,即一簇最大能由65535个扇区组成,而FAT文件系统的保留扇区一般为32个,将reserved变量i殳置为通过一个字节表示能 够正常表示,不会影响FAT文件系统的其4也整体结构。
在修改引导扇区结构体后,对处理该结构体的方法也需要进行 相应的修改,如果涉及到字节序的问题,应该给cluster—size增加字 节序的转换操作,去掉reserved变量的字节序转换#:作。
步骤S303:升级才乘作系统上的linux内核,重新加载文件系统读 取模块,以使该操作系统能够支持2M及以上簇大小文件的读取。
步骤S305: 4姿照步骤S301中的方法,》务改格式4匕工具中的引导 扇区相关结构及处理,以使格式化工具能够接受指定一簇扇区数大 于256的参数。
要使用上述定义的文件系统,需要使用^f各式化工具来进行硬盘的 格式化操作,因此,需要修改格式化工具中的引导扇区相关结构及
表示调整为两个字节表示,将保留扇区数,人两个字节表示调整为一 个字节表示,同时,^修改FAT表项等的计算方式。
对格式化工具的输入参数进行配置,要使簇的大小为2M,如果 扇区大小为4096,则指定一簇扇区数为512,从而实现了该FAT文 件系统的簇大小为2M。
步4聚S307:利用上述格式化工具对力更盘进^f亍才各式化。
步骤S309: 4吏用上述格式化工具在力更盘分区的第0扇区写入文 件系统? I导信息及才艮目标信息。步骤S311:应用程序使用该文件系统时,在程序的开始处,调 用linux内核提供的接口,把进程的堆栈大小改变为2M,以使应用 禾呈序能够正确读取文4牛。
根据本发明实施例,还提供了 一种硬盘格式化装置。
图4A为根据本发明实施例的硬盘格式化装置的结构框图,图 4B为根据本发明优选实施例的硬盘格式化装置的结构框图,如图 4A所示,根据本发明实施例的硬盘格式化装置包括第一定义模块 41、第二定义模块43和格式化模块45。以下进一步结合附图描述 上述各模块。
第一定义才莫块41用于定义才喿作系统内核中的FAT文件系统引 导扇区,将一簇的扇区数设置为通过两个字节表示,并将保留扇区 数设置为通过一个字节表示;
第二定义模块43与第一定义模块41连接,用于根据第一定义 模块41定义的FAT文件系统引导扇区,定义格式化工具;
格式化模块45与第二定义模块43连接,用于利用所述第二定 义模块定义的所述格式化工具。
具体地,如图4B所示,第二定义模块43可以包括第一设置 子模块431、第二设置子模块433和第三设置子模块435。其中,
第 一设置子模块431用于定义格式化工具中写入到硬盘的引导 扇区,将格式化工具的引导扇区中一簇的扇区数i殳置为通过两个字 节表示,并将保留扇区数设置为通过一个字节表示;第二设置子模 块433用于将格式化工具的引导扇区中与簇的大小相关的变量设置 为通过两个字节表示;第三设置子模块435用于对格式化工具的输入参数进行配置,使得格式化工具支持指定一簇扇区大于256的参数。进一步地,如图4B所示,本实施例的硬盘格式化装置还包括 堆栈配置才莫块47,用于将读写程序的进程的堆栈配置为与输入参数 》t应的大小。进一步地,如图4B所示,本实施例的硬盘格式化装置还包括 更新模块49,用于根据第一定义模块41设置的扇区数和保留扇区 凄t,更新才喿作系统内核。根据本发明实施例的上述装置,可以将一簇的大小设置为2M 及以上的大小。如上所述, -借助本发明,通过将l喿作系统内核及4各式化工具中 的引导扇区中表示一簇扇区数的变量设置为通过两个字节表示,可 以将每簇的大小:提升为2M及以上,可以减少文件存4诸时FAT表项 的数量,减少了系统维护需要的空间,并且,由于簇的大小增加了, 对于大文件(如视频数据文件)的存储,文件数据的存储位置比较 集中,可以减少硬盘磁头读取数据的寻址时间,提高存取数据的效 率。以上所述〗又为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的^支术人员来说,本发明可以有各种更改和变化。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的4呆护范围之内。
权利要求
1.一种硬盘格式化方法,应用于文件配置表FAT文件系统,其特征在于,包括定义操作系统内核中的FAT文件系统引导扇区,将一簇的扇区数设置为通过两个字节表示,并将保留扇区数设置为通过一个字节表示;根据定义的所述FAT文件系统引导扇区,定义格式化工具;利用定义的所述格式化工具格式化硬盘。
2. 根据权利要求1所述的方法,其特征在于,在所述操作系统内 核中定义好FAT文件系统引导扇区之后,所述方法还包括根据设置的所述扇区数和所述保留扇区数更新所述操作 系乡克内冲玄。
3. 才艮据权利要求1所述的方法,其特征在于,所述定义才各式化工 具的处理具体包才舌定义所述格式化工具中写入到硬盘的引导扇区,将所述格 式化工具的引导扇区中一簇的扇区凄ti殳置为通过两个字节表 示,并将保留扇区数设置为通过一个字节表示;将所述格式化工具的引导扇区中与簇的大小相关的变量 设置为通过两个字节表示;对所述格式化工具的输入参数进行配置,使得所述格式化 工具支持指定一簇扇区大于256的参数。
4. 根据权利要求3所述的方法,其特征在于,在格式化所述硬盘 后,所述方法还包括在硬盘的FAT文件系统的引导记录区写入相应的引导信 息及4艮目录信息。
5. 根据权利要求3所述的方法,其特征在于,在格式化所述硬盘 之后, -使用读写程序读写文件系统前,所述方法还包4舌将所述读写程序的进程的堆栈配置为与所述输入参数对 应的大小。
6. —种硬盘格式化装置,其特征在于,包括第一定义^t块,用于定义#:作系统内核中的FAT文件系 统引导扇区,将一簇的扇区数设置为通过两个字节表示,并将 保留扇区数设置为通过一个字节表示;第二定义模块,用于根据所述第一定义模块定义的所述 FAT文件系统引导扇区,定义才各式化工具;格式化模块,用于利用所述第二定义模块定义的所述格式 化工具。
7. 根据权利要求6所述的装置,其特征在于,所述第二定义模块 包括第一设置子模块,用于定义所述格式化工具中写入到硬盘 的引导扇区,将所述格式化工具的引导扇区中 一簇的扇区数设 置为通过两个字节表示,并将保留扇区数设置为通过一个字节表示;第二设置子模块,用于将所述格式化工具的引导扇区中与 簇的大小相关的变量设置为通过两个字节表示;第三设置子模块,用于对所述格式化工具的输入参数进行 配置,使得所述格式化工具支持指定一簇扇区大于256的参数。
8. 根据权利要求7所述的装置,其特征在于,所述装置还包括堆栈配置模块,用于将所述读写程序的进程的堆栈配置为 与所述输入参数对应的大小。
9. 根据权利要求6所述的装置,其特征在于,所述装置还包括更新模块,用于根据所述第一定义模块设置的所述扇区数 和所述保留扇区数,更新所述操作系统内核。
全文摘要
本发明公开了一种硬盘格式化方法及装置,应用于FAT文件系统。上述方法包括定义操作系统内核中的FAT文件系统引导扇区,将一簇的扇区数设置为通过两个字节表示,并将保留扇区数设置为通过一个字节表示;根据定义的FAT文件系统引导扇区,定义格式化工具;利用定义的格式化工具格式化硬盘。根据本发明提供的技术方案,可以减少FAT表项的数目,节约系统维护空间。
文档编号G06F17/30GK101673242SQ20081021288
公开日2010年3月17日 申请日期2008年9月10日 优先权日2008年9月10日
发明者丁元欣, 于京涛, 陈尚松 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1