首页> 中国专利> 硬盘、存储系统及硬盘容量标记方法

硬盘、存储系统及硬盘容量标记方法

摘要

本申请实施例提供了硬盘、存储系统及硬盘容量标记方法,上述硬盘包括:控制电路及盘体,盘体包括多个数据区域,数据区域用于存储数据;控制电路用于检测盘体中可用数据区域的总大小,按照可用数据区域的总大小及预设预留区域的大小,标记硬盘的容量。本申请中的硬盘,按照硬盘的实际可用容量对硬盘的容量进行标记,同一规格下的硬盘的容量可以不同,与现有技术相比硬盘中差异化的空间可以被用于存储数据,减少硬盘存储空间的浪费。并且低于当前规格容量标准值的硬盘,可以按照实际容量标记并出货,减少硬盘报废或者重新生产的情况,从而降低了硬盘的生产的成本。

著录项

  • 公开/公告号CN112558859A

    专利类型发明专利

  • 公开/公告日2021-03-26

    原文格式PDF

  • 申请/专利号CN201910918255.9

  • 发明设计人 严杰;

    申请日2019-09-26

  • 分类号G06F3/06(20060101);

  • 代理机构11413 北京柏杉松知识产权代理事务所(普通合伙);

  • 代理人李欣;丁芸

  • 地址 310051 浙江省杭州市滨江区阡陌路555号

  • 入库时间 2023-06-19 10:24:22

说明书

技术领域

本申请涉及计算机技术领域,特别是涉及硬盘、存储系统及硬盘容量标记方法。

背景技术

硬盘是表面带有磁性物质的圆盘,是计算机中最常用的存储介质。由于硬盘本身是筛选工艺,为了保持良品率,在生产的时候,往往都会按照一定流程测试,在知道每个硬盘可用空间后,会按照生产的标准通过软件控制将硬盘设置为指定的容量规格进行发布。例如,当要求的规格为4000GB(Gigabyte,十亿字节)时,对于可用空间为4640GB的硬盘,会通过软件控制将该硬盘设置为4000GB规格进行发布,因此会存在640GB的差异空间,在硬盘实际使用过程中,这640GB的差异空间不会被使用。采用上述方法,会造成硬盘存储空间的浪费。

发明内容

本申请实施例的目的在于提供一种硬盘、存储系统及硬盘容量标记方法,以实现减少硬盘存储空间的浪费。具体技术方案如下:

第一方面,本申请实施例提供了一种硬盘,包括控制电路及盘体;

所述盘体包括多个数据区域,所述数据区域用于存储数据;

所述控制电路用于检测所述盘体中可用数据区域的总大小,按照所述可用数据区域的总大小及预设预留区域的大小,标记所述硬盘的容量。

可选的,所述按照所述可用数据区域的总大小及预设预留区域的大小,标记所述硬盘的容量,包括:

利用所述可用数据区域的总大小减去预设预留区域的大小,得到剩余容量大小;将所述硬盘的容量标记为所述剩余容量大小。

可选的,所述控制电路还用于:在检测到所述盘体中未隔离、且不可用的目标数据区域时,隔离所述目标数据区域。

可选的,所述控制电路还用于:利用预设硬盘缺陷检测技术和/或预设硬盘错误检测技术对所述硬盘中各数据区域进行检测。

可选的,所述控制电路还用于:按照所述目标数据区域的大小,更新所述硬盘的容量。

可选的,所述控制电路还用于:在接收到针对所述目标数据区域的读写指令时,返回读写错误提示。

可选的,不同的数据区域对应不同的逻辑地址;所述控制电路还用于:重新为所述盘体中的各未隔离的数据区域划分逻辑地址。

可选的,不同的数据区域对应不同的逻辑地址;

所述控制电路还用于:确定所述目标数据区域占用的逻辑地址数目,得到目标数目;按照逻辑地址倒序的顺序,确定所述目标数目的逻辑地址,得到待转换逻辑地址;确定所述待转换逻辑地址对应的数据区域,得到待转换数据区域;将所述待转换数据区域的逻辑地址修改为所述目标数据区域的逻辑地址。

可选的,所述数据区域包括一个或多个物理块,所述逻辑地址为逻辑块地址,不同的物理块对应不同的逻辑块地址。

第二方面,本申请实施例提供了一种存储系统,所述存储系统包括:

存储管理设备及多个如上述第一方面任一所述的硬盘;

所述存储管理设备用于对各所述硬盘进行读写操作。

可选的,所述系统还包括:客户端;

所述客户端用于通过所述存储管理设备访问各所述硬盘。

第三方面,本申请实施例提供了一种硬盘容量标记方法,应用于硬盘,所述硬盘包括盘体及控制电路,所述方法包括:

对硬盘进行容量检测,确定所述硬盘中可用数据区域的总大小,其中,所述硬盘的盘体包括多个数据区域,所述数据区域用于存储数据;

获取预设预留区域的大小;

按照所述可用数据区域的总大小及所述预设预留区域的大小,标记所述硬盘的容量。

可选的,所述按照所述可用数据区域的总大小及所述预设预留区域的大小,标记所述硬盘的容量,包括:

利用所述可用数据区域的总大小减去预设预留区域的大小,得到剩余容量大小;

将所述硬盘的容量标记为所述剩余容量大小。

可选的,所述方法还包括:

在检测到所述盘体中未隔离、且不可用的目标数据区域时,隔离所述目标数据区域。

可选的,所述方法还包括:利用预设硬盘缺陷检测技术和/或预设硬盘错误检测技术对所述硬盘中各数据区域进行检测。

可选的,所述方法还包括:按照所述目标数据区域的大小,更新所述硬盘的容量。

可选的,所述方法还包括:在接收到针对所述目标数据区域的读写指令时,返回读写错误提示。

可选的,不同的数据区域对应不同的逻辑地址;所述方法还包括:重新为所述盘体中的各未隔离的数据区域划分逻辑地址。

可选的,不同的数据区域对应不同的逻辑地址;所述方法还包括:确定所述目标数据区域占用的逻辑地址数目,得到目标数目;按照逻辑地址倒序的顺序,确定所述目标数目的逻辑地址,得到待转换逻辑地址;确定所述待转换逻辑地址对应的数据区域,得到待转换数据区域;将所述待转换数据区域的逻辑地址修改为所述目标数据区域的逻辑地址。

可选的,所述数据区域包括一个或多个物理块,所述逻辑地址为逻辑块地址,不同的物理块对应不同的逻辑块地址。

本申请实施例提供的硬盘、存储系统及硬盘容量标记方法,获取硬盘中可用数据区域的总大小,其中,硬盘包括多个数据区域,数据区域用于存储数据;按照可用数据区域的总大小及预设预留区域的大小,标记硬盘的容量。按照硬盘的实际可用容量对硬盘的容量进行标记,同一规格下的硬盘的容量可以不同,与现有技术相比硬盘中差异化的空间可以被用于存储数据,减少硬盘存储空间的浪费。并且低于当前规格标准值的硬盘,可以按照实际容量标记并出货,减少硬盘报废或者重新生产的情况,从而降低了硬盘的生产的成本。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例的硬盘的一种示意图;

图2为本申请实施例的硬盘容量标记方法的第一种示意图;

图3为本申请实施例的硬盘容量标记方法的第二种示意图;

图4为本申请实施例的硬盘容量标记方法的第三种示意图;

图5为本申请实施例的硬盘容量标记方法的第四种示意图;

图6为本申请实施例的硬盘容量标记方法的第五种示意图;

图7为本申请实施例的存储系统的第一种示意图;

图8为本申请实施例的存储系统的第二种示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

相关技术中,在得到硬盘的可用空间后,会按照生产的标准通过软件控制将硬盘设置为指定的容量规格进行发布。但是实际上每个硬盘内部符合标准可以使用的空间是不一样的,造成硬盘存储空间标记不合理。并且在硬盘内部可用容量略低于要发布的容量规格时,会直接判定该硬盘不合格,从而对该硬盘进行了报废或者重新生产,增加了硬盘生产的成本。

有鉴于此,本申请实施例提供了一种硬盘,参见图1,包括控制电路101及盘体102:

上述盘体102包括多个数据区域,上述数据区域用于存储数据;

上述控制电路101用于检测上述盘体102中可用数据区域的总大小,按照上述可用数据区域的总大小及预设预留区域的大小,标记上述硬盘的容量。

本申请实施例中的盘体102具体可以为磁盘,控制电路101可以包括磁头、电动机、主控芯片等,具体可以参见相关技术中的硬盘结构,此处不再赘述。

在触发控制电路101执行硬盘容量检测时,控制电路101通过相关的容量检测方法,检测盘体102中可用数据区域的总大小,并按照预设预留区域的大小及可用数据区域的总大小,标记记录硬盘的容量。

一般情况下,硬盘中会进行区域预留,例如进行重映射扇区的预留等,将预留的区域称为预设预留区域。预设预留区域不作为用户数据的存储区域,因此不计算在硬盘的容量中。在一种可能的实施方式中,上述按照上述可用数据区域的总大小及预设预留区域的大小,标记上述硬盘的容量,包括:利用上述可用数据区域的总大小减去预设预留区域的大小,得到剩余容量大小;将上述硬盘的容量标记为上述剩余容量大小。

可用数据区域是指盘体102中未损坏的、能够用于存储数据的数据区域,包括可用的已存储数据的数据区域及可用的未存储数据的数据区域。控制电路101执行硬盘容量检测的触发条件可以根据实际情况进行设定,例如在硬盘出厂过程中,执行硬盘容量检测;或按照预设周期,周期性执行硬盘容量检测等。

数据区域为盘体中用于存储数据的区域,各数据区域的大小可以按照实际要求进行划分,在一种可能的实施方式中,上述数据区域为block(物理块)。block为硬盘中最小的读写操作单位,一个数据区域为一个block,控制电路101可以通过相关的硬盘坏道检测技术,确定盘体102中可用的block,并计算可用block的总大小,再减去预设预留区域的大小,从而得到硬盘的容量。通过block统计硬盘的容量,硬盘容量统计结果更加准确。

控制电路101标记硬盘的容量后,连接该硬盘的CPU或电子设备等能够直接获取该硬盘的容量。例如,控制电路101标记硬盘的容量为1096GB,则连接该硬盘的设备能够获得的该硬盘的容量即为1096GB。

在本申请实施例中,按照硬盘的实际可用容量对硬盘的容量进行标记,同一规格下的硬盘的容量可以不同,与现有技术相比硬盘中差异化的空间可以被用于存储数据,减少硬盘存储空间的浪费。并且低于当前规格标准值的硬盘,可以按照实际容量标记并出货,减少硬盘报废或者重新生产的情况,从而降低了硬盘的生产的成本。

在实际应用过程中,如果硬盘的盘体102出现了坏道等情况,会导致盘体102中部分数据区域不可用。可选的,上述控制电路101还用于在检测到上述盘体中未隔离、且不可用的目标数据区域时,隔离上述目标数据区域。

控制电路101在检测到未隔离、且不可用的数据区域(以下称为目标数据区域)时,则隔离该目标数据区域,从而防止后续针对目标数据区域进行读写操作时,造成读写错误的情况。在一种可能的实施方式中,可以通过FW(Firmware,固件)标定目标数据区域不可用,在应用程序确认后,通过预设的指令,进行硬盘内部的数据区域的隔离。

控制电路101可以通过硬盘容量检测的方式确定不可用的数据区域,但是鉴于硬盘容量检测的过程较为负杂,耗时较长,在一种可能的实施方式中,上述控制电路还用于:利用预设硬盘缺陷检测技术和/或预设硬盘错误检测技术对上述硬盘中各数据区域进行检测。

具体的,控制电路可以利用预设硬盘缺陷检测技术和/或预设硬盘错误检测技术对硬盘中未隔离的各数据区域进行检测,从而确定是否存在未隔离且不可用的数据区域;控制电路还可以利用预设硬盘缺陷检测技术和/或预设硬盘错误检测技术对硬盘中的各数据区域进行检测,然后在判断不可用的数据区域是否已经隔离。

预设硬盘缺陷检测技术可以按照实际要求进行设定,可以为任意相关的硬盘缺陷检测技术;预设硬盘错误检测技术可以按照实际要求进行设定,可以为任意相关的硬盘错误检测技术。控制电路101执行预设硬盘缺陷检测技术和/或预设硬盘错误检测技术的触发条件可以根据实际情况进行设定,例如设置为在控制电路101首次上电时执行预设硬盘缺陷检测技术和/或预设硬盘错误检测技术;或设定检测周期,在达到检测周期规定的时间时执行预设硬盘缺陷检测技术和/或预设硬盘错误检测技术等。

在隔离目标数据区域后,还需要对硬盘的容量进行修正。控制电路101可以采用相关的硬盘容量的检测方法,重新统计硬盘中可用空间大小,对硬盘的容量进行修正。为了节约检测时间,可选的,上述控制电路101还用于按照上述目标数据区域的大小,更新上述硬盘的容量。控制电路101从硬盘的容量中,减去目标数据区域的大小,得到硬盘当前的容量;按照硬盘当前的容量,更新标记硬盘的容量。在本申请实施例中,按照目标数据区域的大小,更新硬盘的容量,相比于重新统计硬盘的容量,能够节约硬盘容量的统计时间。

在实际情况中,硬盘中各数据区域的读写是基于数据区域的逻辑地址进行的。因为仅是在硬盘内部隔离了目标数据区域,逻辑地址并没有变更,因此仍然会存在硬盘外部针对目标数据区域的逻辑地址进行访问的情况。在一种可能的实施方式中,上述控制电路101还用于:在接收到针对上述目标数据区域的读写指令时,返回读写错误提示。

在硬盘外部按照目标数据区域的逻辑地址进行数据读写操作时,因为目标数据区域已经被隔离,硬盘内部并不会执行针对目标数据区域的读写操作,而是向硬盘外部返回读写错误提示。具体的,该读写错误提示用于表征访问的地址不可用或已经被隔离。

在硬盘外部访问已隔离的数据区域时,硬盘需要返回读写错误提示,相当于进行了无效访问,尤其是硬盘外部针对已隔离的数据区域的访问频次较高时,会严重影响硬盘可用数据区域的读写效率。为了减少硬盘外部针对目标数据区域的访问请求,在一种可能的实施方式中,不同的数据区域对应不同的逻辑地址;上述控制电路101还用于:重新为上述盘体102中的各未隔离的数据区域划分逻辑地址。

在一种可能的实施方式中,上述数据区域包括一个或多个物理块,上述逻辑地址为逻辑块地址,不同的物理块对应不同的逻辑块地址。控制电路101对盘体102中所有未隔离的数据区域,全部重新划分逻辑地址。逻辑地址重新划分后,没有逻辑地址指向已隔离的数据区域,因此硬盘外部无法针对已隔离的数据区域发起访问,能够减少控制电路101返回读写错误提示的频次,减少无效访问,从而提高硬盘的数据读写效率。

重新对盘体102中所有未隔离的数据区域划分逻辑地址,意味着需要搬移所有未隔离的数据区域的数据,增加了数据搬移成本。为了减少数据迁移成本,在一种可能的实施方式中,不同的数据区域对应不同的逻辑地址;上述控制电路101还用于:确定上述目标数据区域占用的逻辑地址数目,得到目标数目;按照逻辑地址倒序的顺序,确定上述目标数目的逻辑地址,得到待转换逻辑地址;确定上述待转换逻辑地址对应的数据区域,得到待转换数据区域;将上述待转换数据区域的逻辑地址修改为上述目标数据区域的逻辑地址。

控制电路101确定目标数据区域占用的逻辑地址数目(即目标数目),并按照逻辑地址倒叙的方式,选取目标数据的逻辑地址(即待转换逻辑地址)。控制电路101将目标数据区域的逻辑地址赋予待转换逻辑地址对应的数据区域(即待转换数据区域),并删除待转换逻辑地址。从而实现只重新划分部分数据区域的逻辑地址。

在一种可能的实施方式中,上述数据区域包括一个或多个物理块,上述逻辑地址为逻辑块地址,不同的物理块对应不同的逻辑块地址。一个逻辑块地址对应一个block,目标数据区域可以为一个block,也可以包括多个block,具体根据盘体102的损坏程度进行确定。控制电路101确定目标数据区域占用的逻辑块地址数目(即目标数目);按照逻辑块地址倒序的顺序,从最后一个逻辑块地址开始,选取前目标数目个的逻辑块地址,得到待转换逻辑块地址;确定待转换逻辑块地址对应的block,得到待转换数据区域;将待转换数据区域的逻辑块地址修改为目标数据区域的逻辑块地址,并删除待转换逻辑块地址,从而实现只重新划分部分数据区域的逻辑块地址。

例如,一个10TB(Terabyte,太字节)的硬盘,LBA(Logical Block Address,逻辑块地址)第2-3TB的地址空间出现损坏,则总容量从10TB降低到9TB。选取LBA第9-10TB的数据空间,并将LBA第9-10TB的数据空间的LBA地址修改为第2-3TB的LBA地址。对应用而言,原来的第2-3TB地址里面的数据出现了丢失,通过地址重新映射,将第9-10TB的数据转移到新盘的第2-3TB地址空间。

在本申请实施例中,按照逻辑地址倒序的顺序选取待转换数据区域,并进行逻辑地址的迁移,降低数据搬移成本。因为地址端的空间的映射和使用关系是在应用层建立的,所以硬盘本身的LBA地址编码格式可以更加灵活。按照硬盘批次设计能力的最大容量作为内部编码地址容量和标称容量。在生产过程中,如果发现由于内部缺陷造成空间不足,设置该地址为无效地址段。在实际使用的时候,如果发现某地址空间不可用,隔离该地址空间对应的区域并进行地址迁移即可。由于硬盘容量可变,通过隔离不可用区域及调整地址的方式,能够使部分损坏的硬盘继续可用,降低了换盘率,降低了使用后的维护成本。通过对调整地址,实现了地址空间的重新映射,降低了数据恢复的数量,提升了速度,降低了恢复成本。

本申请实施例还提供了一种硬盘空间标记方法,应用于硬盘,上述硬盘包括盘体及控制电路,参见图2,该方法包括:

S201,对硬盘进行容量检测,确定上述硬盘中可用数据区域的总大小,其中,上述硬盘的盘体包括多个数据区域,上述数据区域用于存储数据。

本申请实施例的硬盘空间标记方法可以通过上述实施例中的硬盘实现。

数据区域为盘体中用于存储数据的区域,各数据区域的大小可以按照实际要求进行划分,在一种可能的实施方式中,上述数据区域为block(物理块)。block为硬盘中最小的读写操作单位,一个数据区域为一个block,控制电路101可以通过相关的硬盘坏道检测技术,确定盘体102中可用的block,并计算可用block的总大小,从而得到硬盘的容量。通过block统计硬盘的容量,硬盘容量统计结果更加准确。

可用数据区域是指硬盘中未损坏的、能够用于存储数据的数据区域,包括可用的已存储数据的数据区域及可用的未存储数据的数据区域。执行硬盘容量检测的触发条件可以根据实际情况进行设定,例如在硬盘出厂过程中,执行硬盘容量检测。

S202,获取预设预留区域的大小。

一般情况下,硬盘中会进行区域预留,例如进行重映射扇区的预留等,将预留的区域称为预设预留区域,预设预留区域的大小按照实际要求确定。

S203,按照上述可用数据区域的总大小及上述预设预留区域的大小,标记上述硬盘的容量。

预设预留区域不作为用户数据的存储区域,因此不计算在硬盘的容量中。在一种可能的实施方式中,上述按照上述可用数据区域的总大小及预设预留区域的大小,标记上述硬盘的容量,包括:利用上述可用数据区域的总大小减去预设预留区域的大小,得到剩余容量大小;将上述硬盘的容量标记为上述剩余容量大小。

在本申请实施例中,按照硬盘的实际可用容量对硬盘的容量进行标记,同一规格下的硬盘的容量可以不同,与现有技术相比硬盘中差异化的空间可以被用于存储数据,可以将硬盘的容量尽量大的释放出来,从而产生更多的应用可用存储空间,减少硬盘存储空间的浪费。并且低于当前规格标准值的硬盘,可以按照实际容量标记并出货,减少硬盘报废或者重新生产的情况,降低了硬盘生产时的不良率,从而降低了硬盘的生产的成本。

在实际应用过程中,由于各种原因如果发生了硬盘碟片或者磁头的错误,会导致硬盘中部分数据区域不可用。可选的,参见图3,本申请实施例的硬盘空间标记方法还包括:

S301,在检测到上述盘体中未隔离、且不可用的目标数据区域时,隔离上述目标数据区域。

若检测到未隔离且不可用的数据区域(即目标数据区域),则隔离该目标数据区域,从而防止后续针对目标数据区域读写操作的错误。在一种可能的实施方式中,可以通过FW标定目标数据区域不可用,通过设定的指令,进行硬盘内部的数据区域的隔离。

在一种可能的实施方式中,参见图3,上述方法还包括:

S300,利用预设硬盘缺陷检测技术和/或预设硬盘错误检测技术对上述硬盘中各数据区域进行检测。

控制电路101可以通过硬盘容量检测的方式确定不可用的数据区域,但是鉴于硬盘容量检测的过程较为负杂,耗时较长,为了减少检测时间,可以利用预设硬盘缺陷检测技术和/或预设硬盘错误检测技术对硬盘中未隔离的各数据区域进行检测,从而确定是否存在未隔离且不可用的数据区域。

执行预设硬盘缺陷检测技术和/或预设硬盘错误检测技术的触发条件可以根据实际情况进行设定,例如设置为在硬盘首次上电时执行预设硬盘缺陷检测技术和/或预设硬盘错误检测技术;或设定检测周期,在达到检测周期规定的时间时执行预设硬盘缺陷检测技术和/或预设硬盘错误检测技术等。

在隔离了目标数据区域后,还需要对硬盘的容量进行修正。可以采用相关的硬盘容量的检测方法,重新统计硬盘中可用空间大小,对硬盘的容量进行修正。可选的,在上述隔离上述目标数据区域之后,上述方法还包括:

按照上述目标数据区域的大小,更新上述硬盘的容量。

具体的,可以为从硬盘标记的容量中,减去目标数据区域的大小,得到当前硬盘的容量。按照当前硬盘的容量,更新标记硬盘的容量。

在本申请实施例中,按照目标数据区域的大小,更新硬盘的容量,相比于重新统计硬盘的容量,能够增加硬盘容量的统计速度。

在实际情况中,硬盘中各数据区域的读写是基于数据区域的逻辑地址进行的。因为仅是在硬盘内部隔离了目标数据区域,逻辑地址并没有变更,因此仍然会存在硬盘外部针对目标数据区域的逻辑地址进行访问的情况。在一种可能的实施方式中,参见图4,在上述在检测到上述盘体中未隔离、且不可用的目标数据区域时,隔离上述目标数据区域之后,上述方法还包括:

S401,在接收到针对上述目标数据区域的读写指令时,返回读写错误提示。

在硬盘外部按照目标数据区域的逻辑地址进行数据读写操作时,因为目标数据区域已经被隔离,硬盘内部并不会执行针对目标数据区域的读写操作,而是向硬盘外部返回读写错误提示。具体的,该读写错误提示用于表征访问的地址不可用或已经被隔离。

在一种可能的实施方式中,参见图5,在上述在检测到上述盘体中未隔离、且不可用的目标数据区域时,隔离上述目标数据区域之后,上述方法还包括:

S501,重新为上述硬盘中的各未隔离的数据区域划分逻辑地址。

在本申请实施例中,逻辑地址重新划分后,没有逻辑地址指向已隔离的数据区域,因此硬盘外部无法针对已隔离的数据区域发起访问,能够减少硬盘返回读写错误提示的频次,减少无效访问,从而提高硬盘的数据读写效率。

在一种可能的实施方式中,参见图6,在上述在检测到上述盘体中未隔离、且不可用的目标数据区域时,隔离上述目标数据区域之后,上述方法还包括:

S601,确定上述目标数据区域占用的逻辑地址数目,得到目标数目。

可选的,上述数据区域包括一个或多个物理块,上述逻辑地址为逻辑块地址,不同的物理块对应不同的逻辑块地址。

一个逻辑块地址对应一个block,目标数据区域可以为一个block,也可以包括多个block,确定目标数据区域占用的逻辑块地址数目,得到目标数目。

S602,按照逻辑地址倒序的顺序,确定上述目标数目的逻辑地址,得到待转换逻辑地址。

按照逻辑地址倒序的顺序,选取目标数目的逻辑块地址,得到待转换逻辑地址。

S603,确定上述待转换逻辑地址对应的数据区域,得到待转换数据区域。

S604,将上述待转换数据区域的逻辑地址修改为上述目标数据区域的逻辑地址。

在本申请实施例中,按照逻辑地址倒序的顺序选取待转换数据区域,并进行逻辑地址的迁移,降低数据恢复成本。因为地址端的空间的映射和使用关系是在应用层建立的,所以硬盘本身的LBA地址编码格式可以更加灵活。按照硬盘批次设计能力的最大容量作为内部编码地址容量和标称容量。在生产过程中,如果发现由于内部缺陷造成空间不足,设置该地址为无效地址段。在实际使用的时候,如果发现某地址空间不可用,隔离该地址空间对应的区域并进行地址迁移即可。由于硬盘容量可变,通过隔离不可用区域及调整地址的方式,能够使部分损坏的硬盘继续可用,降低了换盘率,降低了使用后的维护成本。通过对调整地址,实现了地址空间的重新映射,降低了数据恢复的数量,提升了速度,降低了恢复成本。

本申请实施例还提供了一种存储系统,参见图7,该存储系统包括:

存储管理设备701及多个硬盘702;

上述存储管理设备701用于对各上述硬盘702进行读写操作;

上述硬盘702,包括控制电路及盘体;

上述盘体包括多个数据区域,上述数据区域用于存储数据;

上述控制电路用于检测上述盘体中可用数据区域的总大小,按照上述可用数据区域的总大小及预设预留区域的大小,标记上述硬盘的容量。

在一种可能的实施方式中,存储管理设备701为数据服务器。

在本申请实施例中,按照硬盘的实际可用容量对硬盘的容量进行标记,同一规格下的硬盘的容量可以不同,与现有技术相比硬盘中差异化的空间可以被用于存储数据,减少硬盘存储空间的浪费。并且低于当前规格标准值的硬盘,可以按照实际容量标记并出货,减少硬盘报废或者重新生产的情况,从而降低了硬盘的生产的成本。

可选的,上述按照上述可用数据区域的总大小及预设预留区域的大小,标记上述硬盘的容量,包括:

利用上述可用数据区域的总大小减去预设预留区域的大小,得到剩余容量大小;将上述硬盘的容量标记为上述剩余容量大小。

可选的,上述控制电路还用于:在检测到所述盘体中未隔离、且不可用的目标数据区域时,隔离上述目标数据区域。

可选的,上述控制电路还用于:利用预设硬盘缺陷检测技术和/或预设硬盘错误检测技术对上述硬盘中各数据区域进行检测。

可选的,上述控制电路还用于:按照上述目标数据区域的大小,更新上述硬盘的容量。

可选的,上述控制电路还用于:在接收到针对上述目标数据区域的读写指令时,返回读写错误提示。

可选的,不同的数据区域对应不同的逻辑地址;上述控制电路还用于:重新为上述盘体中的各未隔离的数据区域划分逻辑地址。

可选的,不同的数据区域对应不同的逻辑地址;上述控制电路还用于:确定上述目标数据区域占用的逻辑地址数目,得到目标数目;按照逻辑地址倒序的顺序,确定上述目标数目的逻辑地址,得到待转换逻辑地址;确定上述待转换逻辑地址对应的数据区域,得到待转换数据区域;将上述待转换数据区域的逻辑地址修改为上述目标数据区域的逻辑地址。

可选的,上述数据区域包括一个或多个物理块,上述逻辑地址为逻辑块地址,不同的物理块对应不同的逻辑块地址。

可选的,本申请实施例的存储系统中的硬盘702为上述任一所述的硬盘。

可选的,参见图8,本申请实施的存储系统还包括客户端703;上述客户端703用于通过上述存储管理设备701访问各上述硬盘702。

需要说明的是,在本文中,各个可选方案中的技术特征只要不矛盾均可组合来形成方案,这些方案均在本申请公开的范围内。诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法及存储系统的实施例而言,由于其基本相似于硬盘实施例,所以描述的比较简单,相关之处参见硬盘实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号