存储设备分区装置及存储设备分区方法转让专利

申请号 : CN200910110254.8

文献号 : CN101847126B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 万红波

申请人 : 深圳市朗科科技股份有限公司

摘要 :

本发明涉及一种存储设备分区装置,包括:查询模块,用于查询存储设备的信息;接收模块,用于接收存储设备的信息和用户输入的分区指令;分区模块,根据查询到的存储设备的信息、分区指令和按照一个逻辑块只属于一个分区的原则,对存储设备进行分区。本发明还提供一种存储设备分区方法。本发明提供的存储设备分区装置及存储设备分区方法,使分区后的存储设备的一个逻辑块只属于一个分区以避免一个逻辑块损坏时会造成两个分区甚至是整个硬盘的数据被损坏。

权利要求 :

1.一种存储设备分区装置,其特征在于,所述存储设备的存储介质为闪存或者相位存储器,该存储设备分区装置包括:查询模块,用于查询存储设备的信息;

接收模块,用于接收存储设备的信息和用户输入的分区指令;

分区模块,根据查询到的存储设备的信息、分区指令和按照一个逻辑块只属于一个分区的原则,对存储设备进行分区,所述分区模块通过判断该分区的第一个逻辑块和最后一个逻辑块的起始地址和结束地址是否都属于该分区判断是否存在一个逻辑块属于多个分区,如果存在,则将该分区的空间扩大或者减小,使整个逻辑块全部在该分区或者是在该分区的相邻分区,相邻分区可以是该分区的前一个分区或者是该分区的后一个分区。

2.如权利要求1所述的存储设备分区装置,其特征在于,所述存储设备的信息包括存储设备的总容量,逻辑块和物理块的大小,和每一页的大小。

3.如权利要求1所述的存储设备分区装置,其特征在于,所述分区指令携带用户需要将存储设备分成的分区数量以及每个分区的容量。

4.一种存储设备分区方法,其特征在于,该方法包括:

查询模块查询存储设备的信息;

接收模块接收分区指令;

分区模块根据查询到的存储设备的信息、分区指令和按照一个逻辑块只属于一个分区的原则,对存储设备进行分区,所述分区模块通过判断该分区的第一个逻辑块和最后一个逻辑块的起始地址和结束地址是否都属于该分区判断是否存在一个逻辑块属于多个分区,如果存在,则将该分区的空间扩大或者减小,使整个逻辑块全部在该分区或者是在该分区的相邻分区,相邻分区可以是该分区的前一个分区或者是该分区的后一个分区。

5.如权利要求4所述的存储设备分区方法,其特征在于,还包括存储设备上电的步骤。

6.如权利要求4所述的存储设备分区方法,其特征在于,还包括分区模块调整分区的容量,并用新的分区信息分区存储设备的步骤。

说明书 :

存储设备分区装置及存储设备分区方法

技术领域

[0001] 本发明涉及一种存储设备分区装置及方法,尤其涉及一种对以闪存(Flash)作为存储介质的存储设备进行分区的装置和方法。

背景技术

[0002] 随着硬盘制造技术的不断发展,硬盘的容量也越来越大。目前市场上的硬盘容量已经达到160GB以上。把整个硬盘作为一个分区来使用,会降低计算机的性能,也不利于管理文件。因此,需对硬盘进行分区,将硬盘分为不同柱面,磁读和扇区进行管理和寻址。目前都是通过PowerQuest PartitionMagic,Disk Man,或者Windows系统的分区工具对硬盘进行分区,具体分区方式如图1所示,图1所示是现有分区工具对硬盘的分区后的示意图。从图1可知,现有硬盘分区工具对硬盘分区的原则是保证一个柱面只存在于一个分区,如果用户输入的分区大小造成同一个柱面存在于不同分区,分区工具会自动调整大小,将前一个分区扩大,刚好布满整个柱面,下一个柱面的开始刚好是下一个分区。
[0003] 相对于硬盘而言,以闪存或者是相位存储器作为存储介质的存储设备作为一种新型的存储产品已经越来越普及,有逐渐替代硬盘的趋势,这均得益于该类存储设备轻便,速度块,携带方便等优势。使用以闪存或者相位存储器作为存储介质的存储设备就跟使用硬盘一样,同样需要进行分区。图2所示是利用现有硬盘分区工具对以闪存或者相位存储器作为存储介质的存储设备进行分区后的示意图。在利用现有的硬盘分区工具对以闪存或者相位存储器作为存储介质的存储设备进行分区时,由于现有硬盘分区工具并不按照存储设备的结构来进行分区,无法判断并处理存储设备中的同一个逻辑块同属于不同分区的情况,因而现有硬盘分区工具会将存储设备当作硬盘进行分区,即按照柱面等信息进行分区,就造成了分区后的存储设备的一个逻辑块n属于不同分区(分区1及分区2)的情况,此时当一个逻辑块损坏那么就会造成两个分区甚至是整个存储设备的数据被损坏。因此急切需要一种新的对以闪存或者相位存储器作为存储介质的存储设备进行分区的方法以解决上述问题。

发明内容

[0004] 本发明的目的在于提供一种存储设备分区装置及对存储设备分区方法,使分区后的存储设备的一个逻辑块只属于一个分区以避免一个逻辑块损坏时会造成两个分区甚至是整个存储设备的数据被损坏。
[0005] 一种存储设备分区装置,包括:查询模块,用于查询存储设备的信息;接收模块,用于接收存储设备的信息和用户输入的分区指令;分区模块,根据查询到的存储设备的信息、分区指令和按照一个逻辑块只属于一个分区的原则,对存储设备进行分区。
[0006] 优选的,上述存储设备的存储介质为闪存或者相位存储器,所述存储设备的信息包括存储设备的总容量,逻辑块和物理块的大小,和每一页的大小。
[0007] 优选的,上述分区指令携带用户需要将存储设备分成的分区数量以及每个分区的容量。
[0008] 优选的,上述分区模块通过判断该分区的第一个逻辑块和最后一个逻辑块的起始地址和结束地址是否都属于该分区判断是否存在一个逻辑块属于多个分区。
[0009] 一种存储设备分区方法,包括:查询模块查询存储设备的信息;接收模块接收分区指令;分区模块根据查询到的存储设备的信息、分区指令和按照一个逻辑块只属于一个分区的原则,对存储设备进行分区。
[0010] 优选的,上述方法还包括存储设备上电的步骤。
[0011] 优选的,上述方法还包括存储设备将查询结果发送给查询模块的步骤。
[0012] 优选的,上述方法还包括分区模块判断是否存在一个逻辑块属于多个分区的步骤。
[0013] 优选的,上述分区模块通过判断该分区的第一个逻辑块和最后一个逻辑块的起始地址和结束地址是否都属于该分区判断是否存在一个逻辑块属于多个分区。
[0014] 优选的,上述方法还包括分区模块调整分区的容量,并用新的分区信息分区存储设备的步骤。
[0015] 本发明提供的存储设备分区装置及对存储设备分区方法,使分区后的存储设备的一个逻辑块只属于一个分区以避免一个逻辑块损坏时会造成两个分区甚至是整个硬盘的数据被损坏。

附图说明

[0016] 图1所示为现有分区工具对硬盘的分区后的示意图;
[0017] 图2所示是利用现有硬盘分区工具对存储设备进行分区后的示意图;
[0018] 图3所示为本发明一种存储设备分区装置实施例的结构示意图;
[0019] 图4所示为本发明一种对存储设备分区方法实施例的流程图;
[0020] 图5所示为本发明另一种对存储设备分区方法实施例的流程图;
[0021] 图6所示为利用本发明存储设备分区装置对存储设备进行分区后的示意图。
[0022] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0023] 下面结合附图和具体实施例对本发明所述技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0024] 图3所示为本发明一种存储设备分区装置实施例的结构示意图。
[0025] 存储设备分区装置30包括查询模块300、接收模块301和分区模块302。在本实施例中,存储设备分区装置30是用于对存储介质为闪存或者相位存储器的存储设备进行分区,如固态硬盘(SSD)等。
[0026] 查询模块300用于查询存储设备的信息。在本实施例中,查询模块300首先向存储设备发送查询指令,查询存储设备的总容量,逻辑块和物理块的大小,和每一页的大小等信息。例如,对于SATA接口的硬盘,查询模块300可以发送识别(IDENTIY)命令给存储设备,存储设备返回给查询模块300的命令包含有容量信息,每页的大小信息,上述信息等是保存在设备中识别(IDENTIY)保留区中,可以通过存储设备制造商定义为表示页大小等信息。识别(IDENTIY)数据是由512字节组成的,该数据包括传统硬盘的标准结构,但同时包括未使用的字段,存储设备制造商可以使用该字段。对于USB移动硬盘,查询模块300还可通过SCSI(Small Computer System Interface)命令来查询。
[0027] 存储设备将查询结果发送给接收模块301。即,把存储设备的总容量,逻辑块和物理块大小,和页大小等信息发送给接收模块301。
[0028] 接收模块301除了用于接收存储设备的信息外,还用于接收用户输入的分区指令。该分区指令携带用户需要将存储设备分成的分区数量以及每个分区的容量。分区指令可通过软件发送存储设备制造商自定义的私有SCSI命令,通过该SCSI命令,要求存储设备分区装置30返回数据给存储设备,例如,可以把分区信息作为数据返回给存储设备。
[0029] 分区模块302根据查询到的存储设备的信息、分区指令和按照一个逻辑块只属于一个分区的原则,对存储设备进行分区。
[0030] 具体为,由于分区前的存储设备是由多个逻辑块组成,而逻辑块是由一个或多个物理块组成,物理块则由多页组成。因此进行分区后的存储设备的逻辑结构在整体上可以看作是由多个分区组成,每个分区是由多个逻辑块组成,每个逻辑块是由一个或者多个物理块组成,而每个物理块则是由多页组成,每一逻辑块具有相应的起始地址和结束地址。
[0031] 分区模块302根据分区的第一个逻辑块和最后一个逻辑块的起始地址和结束地址是否都属于该分区判断是否存在一个逻辑块属于多个分区。如果存在,则将该分区的空间扩大或者减小,使整个逻辑块全部在该分区或者是在该分区的相邻分区,相邻分区可以是该分区的前一个分区后者是该分区的后一个分区。
[0032] 图4所示为本发明一种对存储设备分区方法实施例的流程图。
[0033] 步骤S401,查询模块300查询存储设备的信息。
[0034] 步骤S402,接收模块301接收分区指令。
[0035] 步骤S403,分区模块302根据查询到的存储设备的信息、分区指令和按照一个逻辑块只属于一个分区的原则,对存储设备进行分区。
[0036] 图5所示为本发明另一种对存储设备分区方法实施例的流程图。
[0037] 步骤S501,存储设备上电。
[0038] 步骤S502,查询模块300向存储设备发送查询指令。查询存储设备的总容量,逻辑块和物理块大小,和页大小等信息。
[0039] 查询模块300跟存储设备之间是通过IDE总线、ATA总线、SATA总线、USB总线、SCSI总线或者是其它总线向存储设备发送查询指令。
[0040] 步骤S503,存储设备将查询结果发送给查询模块300。即,把存储设备的总容量,逻辑块和物理块大小,和页大小等信息发送给查询模块300。
[0041] 步骤S504,接收模块301接收用户输入的分区指令,该分区指令携带用户需要将存储设备分成的分区数量以及每个分区的容量。
[0042] 步骤S505,分区模块302根据分区指令对存储设备进行分区。此时分区后的存储设备可能存在一个逻辑块属于多个分区的情况,因而需要进入下述步骤进行判断和调整。
[0043] 步骤S506,分区模块302判断是否存在一个逻辑块属于多个分区。具体为,分区模块302判断该分区的第一个逻辑块和最后一个逻辑块的起始地址和结束地址是否都属于该分区。如果均在该分区的地址范围内,则说明不存在一个以上的逻辑块属于不同分区,进入步骤S508;如果不在该分区的地址范围内,说明存在一个以上的逻辑块属于不同分区,进入步骤S507。
[0044] 步骤S507,分区模块302调整该分区的容量。举例而言,一个逻辑块包括第1到128页,如果在分区时,第一个分区占用了该逻辑块的第1到120页,那么从121到128页开始是第2个分区占用,说明存在一个逻辑块同属于不同分区。此时就可利用本发明的方式,将第一个分区扩大,使得该逻辑块的第1到128页全部由第一个分区占用,此为扩大的方式。当然也可以将第一个分区缩小120页,使第1到128页(即整个逻辑块)全部在第二个分区,此为缩小的方式。
[0045] 步骤S508,分区模块302判断是否为最后一个分区,如果是,则进入步骤S509;如果不是则返回步骤S506。
[0046] 步骤S509,分区调整结束,用新的分区信息分区该存储设备。
[0047] 图6所示是利用本发明存储设备分区装置对存储设备进行分区后的示意图。
[0048] 分区模块302在对存储设备分区完成后,每个分区都是由整数个逻辑块组成,不会出现逻辑块n+1同属于分区1及分区2的情况。因而当分区中的某一逻辑块的数据损坏时,就不会影响到其它分区。
[0049] 本发明提供的存储设备分区装置及对存储设备分区方法,使分区后的存储设备的一个逻辑块只属于一个分区以避免一个逻辑块损坏时会造成两个分区甚至是整个硬盘的数据被损坏。
[0050] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。