一种文件的读取方法,用以读取硬盘的文件,其中文件对应硬盘中的多个物理区块。文件的读取方法包括:检测硬盘的文件系统类型;依据文件系统类型,读取文件的地址信息;依据地址信息,得到与物理区块对应的多个物理区块地址;将物理区块地址排序得到物理地址表,其中物理地址表中的物理区块地址以递增或递减的顺序排列;以及依照物理地址表,以第一读取手段读取文件的物理区块。
【技术实现步骤摘要】
本专利技术涉及一种,特别涉及一种能提高读取速率的。
技术介绍
随着计算机的普及与网络技术的快速发展,硬盘的技术也随之发展。一般硬盘中具有至少一磁盘(disk)以储存大量的文件,硬盘并可通过以机械动作移动一读写臂(readwrite arm)以及读写头(read write head)的方式读取遍布于磁盘上的数据。硬盘中常采用各种文件系统(file system)以管理硬盘中保存的大量文件。例如文件系统能够将磁盘的多个磁轨(track)分割为多个扇区(sector),并以扇区为单位进行数据的读写。读取文件时,需要依序确定文件的所有逻辑区块地址,并将逻辑区块地址映像成多个物理区块地址,才能确定欲读取的文件的每一物理区块所在的磁盘、磁轨以及扇区。读取文件时,最花费时间之处在于移动读写臂以将读写头固定在特定磁轨上的机械动作。硬盘厂商为了改进读写效率,主要靠提高硬盘的转速;转速越快,用户存取数据时间也就越短。但由此做法确会衍生出磨损加剧、温度升高或是噪声增大等负面问题。
技术实现思路
本专利技术的目的在于提供一种,减少读取时所需进行的移动读写臂的机械动作,而大幅提升读取速率。为了达到上述目的,本专利技术提供一种,其用以读取一硬盘的至少一文件,其中文件对应硬盘中的多个物理区块(physical block)。包括:检测硬盘的一文件系统类型;依据文件系统类型,读取文件的一地址信息;依据地址信息,得到与物理区块对应的多个物理区块地址;将物理区块地址排序得到一物理地址表,其中物理地址表中的物理区块地址以递增或递减的顺序排列;以及依照物理地址表,以一第一读取手段读取文件的物理区块。其中第一读取手段可包括:开启一暂存区(buffer);依照物理地址表,依序读取文件的物理区块,并依序将读取的每一个物理区块所对应的一逻辑区块填入暂存区;以及将填满的暂存区做为文件的一数据源(data source)。第一读取手段还可包括:累计一读取计时器(timer);以及当读取计时器到达一读取时限时,将目前的暂存区做为文件的一数据源,并重置(reset)读取计时器。文件系统类型可以是分层文件系统(Hierarchical File System, HFS)或分层文件系统加(Hierarchical File System Plus, HFS+),且地址信息为延伸纪录(ExtRec)所指向的延伸数据纪录(extent data record)。文件系统类型也可以是文件配置表32 (FileAllocation Table 32,FAT32),且地址信息为文件配置表。文件系统类型还可以是新技术文件系统(New Technology File System, NTFS),且地址信息为运转表(runlist)。此外,还可包括:检测文件的一文件大小;以及当文件大小大于一读取上限时,以一第二读取手段读取文件的物理区块。综上所述,能够减少读取时所需进行的移动读写臂的机械动作,而大幅提升读取速率。以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的限定。附图说明图1为一实施范例的的流程图;图2为一实施范例的逻辑区块与物理区块的方框示意图;图3为一实施范例的第一读取手段的流程图;图4A-图 4D为一实施范例的暂存区的方框示意图;图5A-图为还一实施范例的暂存区的方框不意图;图6为还一实施范例的第一读取手段的流程图;图7为还一实施范例的的流程图。其中,附图标记20文件201-205 逻辑区块30硬盘3001-3030 物理区块40暂存区(第一暂存区)401-405 暂存区块41第二暂存区411-415 暂存区块具体实施例方式以下在实施方式中详细叙述本专利技术的详细特征以及优点,其内容足以使任何本领域技术人员了解本专利技术的
技术实现思路
并据以实施,且根据本说明书所揭露的内容、权利要求范围及附图,任何本领域技术人员可轻易地理解本专利技术相关的目的及优点。本专利技术提供一种,其用以读取一硬盘的至少一文件。其中文件包括多个逻辑区块(logic block),这些逻辑区块与硬盘中的多个物理区块(physicalblock) 一对一对应。且每一个物理区块都对应到一个硬盘中的物理区块地址。请先参照图1以及图2,其分别为一实施范例的的流程图,以及逻辑区块与物理区块的方框示意图。其中硬盘30可据有一读写头(readwrite head)、连接读写头的一读写臂(read write arm),以读取硬盘30内的至少一磁盘(disk);且硬盘30可能采用各种不同类型的文件系统(filesystem)。的于本实施范例中,假设文件20包括5个逻辑区块201-205,而硬盘30包括多个物理区块3001-3030。其中假设逻辑区块201、202、203,204以及205分别对应到物理区块3006、3030、3007、3024以及3013。由于不同的文件系统各自采用不同的方法在硬盘30中配置文件20,因此首先需要检测硬盘30的一文件系统类型(步骤S110)。文件系统类型例如可以是分层文件系统(Hierarchical File System, HFS)、分层文件系统加(Hierarchical File SystemPlus,HFS+)、文件配置表 32 (File AllocationTable 32,FAT32)或是新技术文件系统(NewTechnology File System, NTFS)。接下来为了提高读取效率,先设法取得文件20所应的所有物理区块3006、3030、3007、3024以及3013的物理区块地址;并在考虑所有的物理区块地址之后才开始读取文件20的内容。依据文件系统类型,读取文件20的一地址信息(步骤S120);再依据地址信息,得到与物理区块3006、3030、3007、3024以及3013对应的多个物理区块地址(步骤S130)。但是不同的文件系统使用的地址信息都不同;换言之,不同的文件系统存放每个文件20对应的物理区块地址的地方都不一样。例如当文件系统类型是HFS或HFS+时,其地址信息是为延伸纪录(ExtRec)所指向的延伸数据纪录(extent data record)。更详细地说,为了得到文件20所对应的所有物理区块地址,先依据文件20的一文件识别码(file ID)查找出硬盘30中的一目录文件纪录(catalog file record),再读取目录文件纪录中的ExRec的字段(field)。HFS/HFS+的文件系统可将多个物理区块视为一数据段(data segment)进行处理。而ExRec中纪录文件20的最初三个数据段分别的起始物理区块地址和物理区块个数,其中各个起始物理区块位置就是上述的延伸数据纪录。读取ExRec,并以一个大幅度的机械动作移动读写臂之后,硬盘30的读写头便可依据延伸数据纪录连续读取得到文件20对应的所有物理区块地址。而当文件系统类别为FAT32时,其地址信息是为一文件配置表(fileallocationtable)。FAT32的文件系统为每个文件20分别维护一链接(link),并将所有的链接集中存放在文件配置表之中。其中链接上的每个节点(node)都代表一个物理区块,文件20的结尾则以一文件结束(end of file, EOF)表示。因此本文档来自技高网...
【技术保护点】
一种文件的读取方法,用以读取一硬盘的至少一文件,其中该文件对应该硬盘中的多个物理区块,其特征在于,该文件的读取方法包括:检测该硬盘的一文件系统类型;依据该文件系统类型,读取该文件的一地址信息;依据该地址信息,得到与该些物理区块对应的多个物理区块地址;将该些物理区块地址排序得到一物理地址表,其中该物理地址表中的该些物理区块地址以递增或递减的顺序排列;以及依照该物理地址表,以一第一读取手段读取该文件的该些物理区块。
【技术特征摘要】
1.一种文件的读取方法,用以读取一硬盘的至少一文件,其中该文件对应该硬盘中的多个物理区块,其特征在于,该文件的读取方法包括: 检测该硬盘的一文件系统类型; 依据该文件系统类型,读取该文件的一地址信息; 依据该地址信息,得到与该些物理区块对应的多个物理区块地址; 将该些物理区块地址排序得到一物理地址表,其中该物理地址表中的该些物理区块地址以递增或递减的顺序排列;以及 依照该物理地址表,以一第一读取手段读取该文件的该些物理区块。2.根据权利要求1所述的文件的读取方法,其特征在于,该第一读取手段包括: 开启一暂存区; 依照该物理地址表,依序读取该文件的该些物理区块,并依序将读取的每一该物理区块所对应的一逻辑区块填入该暂存区;以及将填满的该暂存区做为该文件的一数据源。3.根据权利要求1...
【专利技术属性】
技术研发人员:焦旭东,陈志丰,
申请(专利权)人:英业达股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。