一种数据存储的保护方法及装置与流程

文档序号:12034287阅读:542来源:国知局
一种数据存储的保护方法及装置与流程

本发明涉及数据存储的领域,尤其涉及一种数据存储的保护方法及装置。



背景技术:

随着计算机技术的发展,固态硬盘作为新一代的存储广泛被应用。在通过固态硬盘对数据进行存储时,非常重要的一点是,保证数据的安全性,保证数据不被丢失。

现有技术中,通常采用raid(英文全称:redundantarraysofindependentdisks,中文全称:独立磁盘构成的具有冗余能力的阵列)方式保证磁盘数据的安全性。raid是一种把多块独立的硬盘按不同的方式组合起来形成一个硬盘组,从而提供比单个硬盘更高的存储性能和提供数据备份技术。raid对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。

但是,仅仅是通过raid方式也不能完全保证数据存储的安全性,当raid阵列中两个单元上的数据出现损坏,raid条带上的数据就失去了完整性并导致数据无法恢复。



技术实现要素:

有鉴于此,本发明实施例公开了一种数据存储的保护方法及装置,通过对读取失败的比特数的限定,可以数据损坏之前,将数据转移到安全的位置,而且,通过阈值的限定,也可以表面过度频繁的数据搬移,减小写放大,从而提到了固态硬盘的存储性能。

本发明实施例提供的一种数据存储的保护方法,该方法包括:

读取固态硬盘第一条带中的数据时,获取读取失败的比特数;

判断所述读取失败的比特数是否达到了最大的出错阈值;

若所述读取失败的比特数未达到最大的出错阈值,判断读取失败的比特数是否达到了预设的错误阈值;

若所述读取失败的比特数达到了预设的错误阈值,将所述第一条带中的数据搬移到预设的第二条带中。

可选的,还包括:

从所述磁盘中获取小于预设擦除阈值的条带;

从小于预设擦除阈值的条带中,随机选取一个条带作为第二条带。

可选的,还包括:

若所述读取失败的比特数未达到预设的错误阈值,则不搬移所述第一条带中的数据

本发明实施例提供的一种数据存储的保护装置,所述装置包括:

第一获取单元,用于读取固态硬盘第一条带中的数据时,获取读取失败的比特数;

第一判断单元,用于判断所述读取失败的比特数是否达到了最大的出错阈值;

第二判断单元,用于若所述读取失败的比特数未达到最大的出错阈值,判断读取失败的比特数是否达到了预设的错误阈值;

数据搬移单元,用于若所述读取失败的比特数达到了预设的错误阈值,将所述第一条带中的数据搬移到预设的第二条带中。

可选的,还包括:

第二获取单元,用于从所述磁盘中获取小于预设擦除阈值的条带;

选取单元,用于从小于预设擦除阈值的条带中,随机选取一个条带作为第二条带。

可选的,还包括:

拒绝搬移单元,用于若所述读取失败的比特数未达到预设的错误阈值,则不搬移所述第一条带中的数据。

本实施例中,读取固态硬盘第一条带中的数据时,获取读取失败的比特数;判断所述读取失败的比特数是否达到了最大的出错阈值;若所述读取失败的比特数未达到最大的出错阈值,判断读取失败的比特数是否达到了预设的错误阈值;若所述读取失败的比特数达到了预设的错误阈值,将所述第一条带中的数据搬移到预设的第二条带中。因此,通过对读取失败的比特数的限定,可以数据损坏之前,将数据转移到安全的位置,而且,通过阈值的限定,也可以表面过度频繁的数据搬移,减小写放大,从而提到了固态硬盘的存储性能。

附图说明

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

图1示出了本发明实施例提供的一种数据存储的保护方法的流程示意图;

图2示出了本发明实施例提供的一种数据存储的保护装置的结构示意图。

具体实施方式

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

参考图1,示出了本发明实施例提供的一种数据存储的保护方法的流程示意图,在本实施例中,所述方法可以包括:

s101:读取固态硬盘第一条带中的数据时,获取读取失败的比特数;

本实施例中,s101中固态硬盘可以通过采用raid的方式保证数据存储的安全性能。本实施例中的固态硬盘,是通过条带化的方式存储的,条带化技术就是一种自动的将i/o的负载均衡到多个物理磁盘上的技术,条带化技术就是将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去。每一个条带的存储容量是相同的。因此,对数据读取时,也可以是一个条带的读取数据。

当用户需要查看保存在固态硬盘中的数据时,可以向主机发送读取固态硬盘的指令,当主机在读取固态硬盘中某个条带的数据时,可能会出现数据读取失败的情况,每读取一次数据,主机会反馈数据读取失败的比特数。

s102:判断所述读取失败的比特数是否达到了最大出错阈值;

本实施例中,主机每次读取固态硬盘中保存的数据时,读取失败的比特数存在一个最大的出错范围,即读取失败的比特数若在该最大的出错范围内,纠错码可以将这些读取失败的数据纠正为正确的数据。其中,最大出错阈值为最大的出错范围。

举例说明:假设最大出错阈值为20bit,假设此时读取的数据包括100bit,读取失败的数据包括10bit,则这10bit读取失败的数据可以通过纠错码纠正为正确的数据。

s103:若所述读取失败的比特数未达到预设的最大出错阈值,判断读取失败的比特数是否达到了预设的错误阈值;

s104:若所述读取失败的比特数达到了预设的错误阈值,将所述第一条带中的数据搬移到预设的第二条带中。

本实施例中,预设的错误阈值小于最大出错阈值,为了保证固态硬盘中数据的安全性,若读取失败的比特数达到了预设的错误阈值,将该第一条带中的数据搬移到一个新的存储性能较好的条带中。

举例说明:假设最大出错阈值为20bit,错误阈值为18bit,若获取到的读取失败的比特数达到18bit时,将本次读取的数据搬移到一个新的存储性能较好的条带中。

本实施例中,在将所述第一条带中的数据搬移到预设的第一条带之前,还需要:确定第二条带。其中,确定第二条带的过程可以包括:

从所述磁盘中获取小于预设擦除阈值的条带;

从小于预设擦除阈值的条带中,随机选取一个条带作为第二条带。

本实施例中,每个条带总的擦除次数是一定的,不同条带总的擦除总量可能不同,擦除阈值可以是每个条带总的擦除次数的占比。例如:对于一个擦除次数为3000的条带,擦出阈值可以是总的擦擦除次数的2/3,及擦出阈值为1000。

本实施例中,还需要说明的是,若读取失败的比特数未达到预设的错误阈值,则不搬移该数据。

本实施例中,通过对读取失败的比特数的限定,可以数据损坏之前,将数据转移到安全的位置,而且,通过阈值的限定,也可以表面过度频繁的数据搬移,减小写放大,从而提到了固态硬盘的存储性能。

参考图2,示出了本发明实施例提供的一种数据存储的保护装置,所述装置包括:

第一获取单元201,用于读取固态硬盘第一条带中的数据时,获取读取失败的比特数;

第一判断单元202,用于判断所述读取失败的比特数是否达到了最大的出错阈值;

第二判断单元203,用于若所述读取失败的比特数未达到最大的出错阈值,判断读取失败的比特数是否达到了预设的错误阈值;

数据搬移单元204,用于若所述读取失败的比特数达到了预设的错误阈值,将所述第一条带中的数据搬移到预设的第二条带中。

可选的,还包括:

第二获取单元,用于从所述磁盘中获取小于预设擦除阈值的条带;

选取单元,用于从小于预设擦除阈值的条带中,随机选取一个条带作为第二条带。

可选的,还包括:

拒绝搬移单元,用于若所述读取失败的比特数未达到预设的错误阈值,则不搬移所述第一条带中的数据。

通过本实施例的装置,读取固态硬盘第一条带中的数据时,获取读取失败的比特数;判断所述读取失败的比特数是否达到了最大的出错阈值;若所述读取失败的比特数未达到最大的出错阈值,判断读取失败的比特数是否达到了预设的错误阈值;若所述读取失败的比特数达到了预设的错误阈值,将所述第一条带中的数据搬移到预设的第二条带中。因此,通过对读取失败的比特数的限定,可以数据损坏之前,将数据转移到安全的位置,而且,通过阈值的限定,也可以表面过度频繁的数据搬移,减小写放大,从而提到了固态硬盘的存储性能。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1