Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR IMPROVING RELIABILITY OF SOLID STATE DISK
Document Type and Number:
WIPO Patent Application WO/2015/101051
Kind Code:
A1
Abstract:
Provided are a method and apparatus for improving the reliability of a solid state disk. The method for improving the reliability of a solid state disk comprises: judging whether first flash memory particles of the solid state disk are about to become ineffective: if determining that the first flash memory particles are about to become ineffective, then prohibiting writing data into the first flash memory particles, and transferring data on the first flash memory particles to second flash memory particles on the solid state disk, the second flash memory particles being effective particles of the solid state disk. Thus, the problem is solved that after the flash memory particles of the solid state disk become ineffective, the reliability of the entire solid state disk cannot be guaranteed or even the solid state disk is no longer serviceable, and also the reliability of the solid state disk is improved.

Inventors:
LI YAN (CN)
ZHOU JIANHUA (CN)
WANG FEI (CN)
Application Number:
PCT/CN2014/084593
Publication Date:
July 09, 2015
Filing Date:
August 18, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
G06F3/06
Foreign References:
CN103713969A2014-04-09
CN101436153A2009-05-20
CN102043689A2011-05-04
CN101504625A2009-08-12
CN101727397A2010-06-09
Download PDF:
Claims:
权 利 要 求 书

1、 一种提高固态硬盘可靠性方法, 其特征在于, 包括:

判断固态硬盘的第一闪存颗粒是否即将失效;

若确定所述第一闪存颗粒即将失效, 则禁止向所述第一闪存颗粒写入数 据;

将所述第一闪存颗粒上的数据迁移到所述固态硬盘上的第二闪存颗粒 上, 所述第二闪存颗粒为所述固态硬盘的有效闪存颗粒。

2、 根据权利要求 1所述的方法, 其特征在于, 所述判断固态硬盘的第一 闪存颗粒是否即将失效, 包括:

统计所述第一闪存颗粒内处于异常状态的块的数目;

确定所述第一闪存颗粒内处于异常状态的块的数目是否大于等于第一预 设门限值;

若确定所述第一闪存颗粒内处于异常状态的块的数目大于等于第一预设 门限值, 则确定所述第一闪存颗粒即将失效。

3、 根据权利要求 1所述的方法, 其特征在于, 所述判断固态硬盘的第一 闪存颗粒是否即将失效, 包括:

统计所述第一闪存颗粒的擦写次数;

确定所述第一闪存颗粒的擦写次数是否大于等于第二预设门限值; 若确定所述第一闪存颗粒的擦写次数大于等于第二预设门限值, 则确定 所述第一闪存颗粒即将失效。

4、 根据权利要求 1~3中任一项所述的方法, 其特征在于, 所述固态硬盘 包括至少两个闪存颗粒, 每个闪存颗粒包括至少一个存储单元, 所述方法还 包括:

在至少两个所述存储单元之间建立 RAID;

若判断所述第一闪存颗粒已经失效, 则禁止向所述第一闪存颗粒写入数 据, 并通过包括所述第一闪存颗粒的存储单元的 RAID中除所述第一闪存颗 粒的存储单元之外的其他存储单元中存储的数据对所述第一闪存颗粒上的数 据进行恢复。

5、 根据权利要求 4所述的方法, 其特征在于, 在所述通过包括所述第一 闪存颗粒的存储单元的 RAID中除所述第一闪存颗粒的存储单元之外的其他 存储单元中存储的数据对所述第一闪存颗粒上的数据进行恢复之后,还包括: 将恢复后的数据迁移到所述第二闪存颗粒上。

6、 一种提高固态硬盘可靠性装置, 其特征在于, 包括:

判断模块, 用于判断固态硬盘的第一闪存颗粒是否即将失效;

处理模块, 用于若确定所述第一闪存颗粒即将失效, 则禁止向所述第一 闪存颗粒写入数据;

数据迁移模块, 用于将所述第一闪存颗粒上的数据迁移到所述固态硬盘 上的第二闪存颗粒上, 所述第二闪存颗粒为所述固态硬盘的有效闪存颗粒。

7、 根据权利要求 6所述的装置, 其特征在于:

所述判断模块, 具体用于统计所述第一闪存颗粒内处于异常状态的块的 数目; 确定所述第一闪存颗粒内处于异常状态的块的数目是否大于等于第一 预设门限值; 若确定所述第一闪存颗粒内处于异常状态的块的数目大于等于 第一预设门限值, 则确定所述第一闪存颗粒即将失效。

8、 根据权利要求 6所述的装置, 其特征在于:

所述判断模块, 具体用于统计所述第一闪存颗粒的擦写次数; 确定所述 第一闪存颗粒的擦写次数是否大于等于第二预设门限值; 若确定所述第一闪 存颗粒的擦写次数大于等于第二预设门限值, 则确定所述第一闪存颗粒即将 失效。

9、 根据权利要求 6~8中任一项所述的装置, 其特征在于: 所述固态硬盘 包括至少两个闪存颗粒, 每个闪存颗粒包括至少一个存储单元;

所述处理模块,还用于在至少两个所述存储单元之间建立 RAID;若判断 所述第一闪存颗粒已经失效, 则禁止向所述第一闪存颗粒写入数据, 并通过 包括所述第一闪存颗粒的存储单元的 RAID中除所述第一闪存颗粒的存储单 元之外的其他存储单元中存储的数据对所述第一闪存颗粒上的数据进行恢 复。

10、 根据权利要求 9所述的装置, 其特征在于:

所述数据迁移模块, 还用于在所述通过包括所述第一闪存颗粒的存储单 元的 RAID中除所述第一闪存颗粒的存储单元之外的其他存储单元中存储的 数据对所述第一闪存颗粒上的数据进行恢复之后, 将恢复后的数据迁移到所 述第二闪存颗粒上。

Description:
提高固态硬盘可靠性方法和装置

技术领域

本发明实施例涉及通信技术, 尤其涉及一种提高固态硬盘可靠性方法和 装置。

背景技术

固态硬盘 (Solid State Disk, 简称 SSD) —般采用与非门闪存 (NAND Flash)来实现, 广泛应用于服务器、 台式机、 笔记本、 移动设备、 游戏机等。 固态硬盘 (Solid State Disk, 简称 SSD) 的闪书存颗粒主要有多层式储存单元 (Multi level Cell, 简称 MLC) 和单层式储存单元 ( Single Level Cell, 简称 SLC) , 由于 MLC在价格上比 SLC便宜的多, 目前运用最广泛的为 MLC。

随着芯片的制造技术的更新, 闪存颗粒的擦写寿命变得越来越低, 对应 的使其读寿命也降低, 闪存颗粒出现不可恢复的错误的概率也越来越 大, 而 且不同闪存颗粒间的可靠性也各不相同。而现 在的 SSD设计依赖闪存颗粒的 可靠性越来越强, 当某一个闪存颗粒失效, 就会导致整个 SSD不再可靠。 现 有技术中通过在 SSD 之间建立独立磁盘冗余阵列 (Redundant Array of Independent Disks, 简称 RAID) , 使用冗余硬盘进行数据保护来保证 SSD的 可靠性, 然而, 当一个闪存颗粒失效后, 仍然继续使用该失效的闪存颗粒导 致数据丢失, 不能保证 SSD的可靠性甚至导致 SSD不能使用。

发明内容

本发明实施例提供一种提高固态硬盘 π」'靠性方法和装置, 以解决在固态 硬盘的闪存颗粒失效后,整个固态硬盘可靠性 不能保证甚至不能使用的问题。

第一方面, 本发明实施例提供一种提高固态硬盘可靠性方 法, 包括: 判断固态硬盘的第一闪存颗粒是否即将失效;

若确定所述第一闪存颗粒即将失效, 则禁止向所述第一闪存颗粒写入数 据; 将所述第一闪存颗粒上的数据迁移到所述固态 硬盘上的第二闪存颗粒 上, 所述第二闪存颗粒为所述固态硬盘的有效闪存 颗粒。

在第一方面的第一种可能的实现方式中, 所述判断固态硬盘的第一闪存 颗粒是否即将失效, 包括:

统计所述第一闪存颗粒内处于异常状态的块的 数目;

确定所述第一闪存颗粒内处于异常状态的块的 数目是否大于等于第一预 设门限值;

若确定所述第一闪存颗粒内处于异常状态的块 的数目大于等于第一预设 门限值, 则确定所述第一闪存颗粒即将失效。

根据第一方面, 在第二种可能的实现方式中, 所述判断固态硬盘的第一 闪存颗粒是否即将失效, 包括:

统计所述第一闪存颗粒的擦写次数;

确定所述第一闪存颗粒的擦写次数是否大于等 于第二预设门限值; 若确定所述第一闪存颗粒的擦写次数大于等于 第二预设门限值, 则确定 所述第一闪存颗粒即将失效。

根据第一方面、 第一方面的第一种或第二种可能的实现方式, 在第三种 可能的实现方式中, 所述固态硬盘包括至少两个闪存颗粒, 每个闪存颗粒包 括至少一个存储单元, 所述方法还包括:

在至少两个所述存储单元之间建立 RAID;

若判断所述第一闪存颗粒已经失效, 则禁止向所述第一闪存颗粒写入数 据, 并通过包括所述第一闪存颗粒的存储单元的 RAID中除所述第一闪存颗 粒的存储单元之外的其他存储单元中存储的数 据对所述第一闪存颗粒上的数 据进行恢复。

根据第一方面的第三种可能的实现方式, 在第四种可能的实现方式中, 在所述通过包括所述第一闪存颗粒的存储单元 的 RAID中除所述第一闪存颗 粒的存储单元之外的其他存储单元中存储的数 据对所述第一闪存颗粒上的数 据进行恢复之后, 还包括:

将恢复后的数据迁移到所述第二闪存颗粒上。

第二方面, 本发明实施例提供一种提高固态硬盘可靠性装 置, 包括: 判断模块, 用于判断固态硬盘的第一闪存颗粒是否即将失 效; 处理模块, 用于若确定所述第一闪存颗粒即将失效, 则禁止向所述第一 闪存颗粒写入数据;

数据迁移模块, 用于将所述第一闪存颗粒上的数据迁移到所述 固态硬盘 上的第二闪存颗粒上, 所述第二闪存颗粒为所述固态硬盘的有效闪存 颗粒。

在第二方面的第一种可能的实现方式中, 所述判断模块, 具体用于统计 所述第一闪存颗粒内处于异常状态的块的数目 ; 确定所述第一闪存颗粒内处 于异常状态的块的数目是否大于等于第一预设 门限值; 若确定所述第一闪存 颗粒内处于异常状态的块的数目大于等于第一 预设门限值, 则确定所述第一 闪存颗粒即将失效。

根据第二方面, 在第二种可能的实现方式中, 所述判断模块, 具体用于 统计所述第一闪存颗粒的擦写次数; 确定所述第一闪存颗粒的擦写次数是否 大于等于第二预设门限值; 若确定所述第一闪存颗粒的擦写次数大于等于 第 二预设门限值, 则确定所述第一闪存颗粒即将失效。

根据第二方面、 第二方面的第一种或第二种可能的实现方式, 在第三种 可能的实现方式中, 所述固态硬盘包括至少两个闪存颗粒, 每个闪存颗粒包 括至少一个存储单元, 所述处理模块, 还用于在至少两个所述存储单元之间 建立 RAID;若判断所述第一闪存颗粒已经失效,则禁 向所述第一闪存颗粒 写入数据, 并通过包括所述第一闪存颗粒的存储单元的 RAID中除所述第一 闪存颗粒的存储单元之外的其他存储单元中存 储的数据对所述第一闪存颗粒 上的数据进行恢复。

根据第二方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述数据迁移模块, 还用于在所述通过包括所述第一闪存颗粒的存 储单元的 RAID 中除所述第一闪存颗粒的存储单元之外的其他 存储单元中存储的数据 对所述第一闪存颗粒上的数据进行恢复之后, 将恢复后的数据迁移到所述第 二闪存颗粒上。

本发明实施例通过判断固态硬盘的第一闪存颗 粒是否即将失效, 在判断 第一闪存颗粒即将失效时, 禁止向第一闪存颗粒写入数据, 并将第一闪存颗 粒上的数据迁移到固态硬盘上的固态硬盘的有 效闪存颗粒上。 从而解决了在 固态硬盘的闪存颗粒失效后, 整个固态硬盘可靠性不能保证甚至不能使用的 问题, 提高了固态硬盘的可靠性。 附图说明

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

图 1为本发明实施例一所提供的提高固态硬盘可 性方法的流程图; 图 2为本发明实施例二所提供的提高固态硬盘可 性方法的流程图; 图 3为本发明实施例三所提供的提高固态硬盘可 性方法的流程图; 图 4为本发明实施例四所提供的提高固态硬盘可 性装置 400的结构示 意图;

图 5为本发明实施例五所提供的提高固态硬盘可 性装置 500的结构示 意图。 具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。

为了使方案更加清楚, 本发明实施例先对固态硬盘(Solid State Disk, 简 称 SSD) 做一个简单的介绍。 SSD使用半导体材料 Nand Flash作为基本的存 储介质。 NAND Flash是一种非易失性随机访问存储介质, 其特点是断电后数 据不消失, 因此可以作为外部存储器使用。 NAND Flash器通常由一个内部寄 存器和存储矩阵组成, 存储矩阵包括若干块 (Block) , 每个 Block又包含若 干页 (Page) , 每个 Page包含若干字节 (Bytes) , 其中的某些 Bytes为专有数 据;每种 NAND Flash芯片的存储矩阵大小定义不同,例如有一 NAND Flash 以 8640个 Bytes组成一个 Page, 256个 Page组成一个 Block, 2048个 Block 组成一个 Plane, 2个 plane组成一个 LU (Logical Unit), 再由一个或者若干 LU 组成整个闪存(Flash)存储器。在每页中前 8192Bytes是用于存储数据, 后 448Bytes用于存放纠错码 (Error Correction Code, ECC) 数据校验码, 称 为带外数据 (Out of Bank, 00B)区。 图 1为本发明实施例一所提供的提高固态硬盘可 性方法的流程图。 该 方法由提高固态硬盘可靠性装置执行, 该装置通常以硬件和 /或软件的方式来 实现。 本实施例的方法包括如下歩骤:

歩骤 110、 判断固态硬盘的第一闪存颗粒是否即将失效。

本实施例中提到的闪存颗粒指的是 NAND Flash器, 一个闪存颗粒指的 就是一个 NAND Flash器。 SSD使用半导体材料 Nand Flash器作为基本的存 储介质。 换一种表达方式, 一个 SSD以闪存颗粒作为基本的存储介质, 一个 SSD可以包含多个闪存颗粒。 每个闪存颗粒可以包含多个存储单元, 每个存 储单元可以包含多个 D ie 。 其中, D ie 是指芯片未封装前的晶粒, 也即通常所 说的闪存芯片。 Die 是从硅晶圆上用激光切割而成的小片 (Die), 其厚度需要 用纳米衡量。 每一个 D ie 可以是一个独立的功能芯片, 它由无数个晶体管电 路组成, 但最终将被作为一个单位而被封装起来成为我 们常见的闪存芯片。 目前单颗 Die的容量一般为 4GB(SLC:>或者 8GB(MLC;), 一个 SSD内如果包 含 2个闪存颗粒, 每个闪存颗粒包含 2个存储单元, 每个存储单元包含 2个 Die, 则一个 SSD则包含 8个 Die, 该 SSD就可以做到 32GB或 64GB。

现有技术中由于在 SSD的闪存颗粒失效后, 仍然继续使用失效的闪存颗 粒,因此造成数据丢失,导致 SSD的可靠性不能保证,本实施例中的歩骤 110 通过判断固态硬盘的第一闪存颗粒是否即将失 效, 从而可以将即将失效的第 一闪存颗粒上的数据迁移到该 SSD的其它空间去。

歩骤 120、 若判断第一闪存颗粒即将失效, 则禁止向第一闪存颗粒写入 数据。

歩骤 130、 将第一闪存颗粒上的数据迁移到固态硬盘上的 第二闪存颗粒 上, 第二闪存颗粒为固态硬盘的有效闪存颗粒。

存在三种状态的闪存颗粒: 有效闪存颗粒、 即将失效的闪存颗粒和失效 闪存颗粒。 因此 120 130中, 在判断第一闪存颗粒即将失效时, 则禁止向第 一闪存颗粒写入数据, 以避免数据丢失, 并将第一闪存颗粒上的数据迁移到 固态硬盘上的有效闪存颗粒上。 需要说明的是, 如果确定第一闪存颗粒不处 于即将失效状态, 则可以通过动态监测第一闪存颗粒, 继续执行 110以确定 第一闪存颗粒是否即将失效。

本实施例提供的提高固态硬盘可靠性方法, 通过在判断第一闪存颗粒即 将失效时, 禁止向第一闪存颗粒写入数据, 并将第一闪存颗粒上的数据迁移 到固态硬盘上的有效闪存颗粒上。从而解决了 在固态硬盘的闪存颗粒失效后, 整个固态硬盘可靠性不能保证甚至不能使用的 问题, 提高了固态硬盘的可靠 性。

本实施例以上述实施例一为基础, 进一步进行了优化, 图 2为本发明实 施例二所提供的提高固态硬盘可靠性方法的流 程图。 参照图 2, 本实施例的 方法可以包括:

歩骤 210、 统计第一闪存颗粒内处于异常状态的块的数目 。

固态硬盘的闪存颗粒内部组织是以闪存块 (block) 为单位, 闪存块内部 的主要状态有 5种: 正常闪存块、 出现校验错误的闪存块、 擦除失败的闪存 块、 编程失败的闪存块、 出现纠错码的闪存块, 这 5种闪存块中只有正常闪 存块为正常状态, 其他四种闪存块为异常状态。 如果这些异常状态的闪存块 过多, 而继续使用处于异常状态的闪存块, 会造成数据丢失, 导致固态硬盘 的可靠性降低, 甚至不可使用。 通过统计这些异常块数据, 及时预测闪存颗 粒是否失效, 在失效的情况下不再使用此失效的闪存颗粒。

歩骤 220、 确定第一闪存颗粒内处于异常状态的块的数目 是否大于等于 第一预设门限值。 具体的, 第一预设门限值可以根据第一闪存颗粒中的块 的 总数量来确定, 其中, 第一预设门限值小于所述第一闪存颗粒中的块 的总数 量。 例如, 若第一闪存颗粒中总共有 10个块, 则可以将第一预设门限值的数 量设置为 6块。 在本发明实施例中不对第一预设门限值的具体 值进行限定。

歩骤 230、 若确定第一闪存颗粒的内处于异常状态的块的 数目大于等于 第一预设门限值, 则确定第一闪存颗粒即将失效。

需要说明的是, 在执行 210时, 如果统计出的闪存块几乎都为处于异常 状态的块或者全部都为处于异常状态的块,可 以确定第一闪存颗粒即将失效, 则禁止向第一闪存颗粒写入数据, 以避免在第一闪存颗粒在即将失效的情况 下继续使用造成数据丢失, 导致固态硬盘的可靠性降低, 甚至造成固态硬盘 不可使用的情况发生。

歩骤 240、 若确定第一闪存颗粒即将失效, 则禁止向第一闪存颗粒写入 数据。

歩骤 250、 将第一闪存颗粒上的数据迁移到固态硬盘上的 第二闪存颗粒 上, 第二闪存颗粒为固态硬盘的有效颗粒。

需要说明的是, 固态硬盘包括至少两个闪存颗粒, 每个闪存颗粒包括至 少一个存储单元,并且在至少两个存储单元之 间可以建立 RAID,若判断第一 闪存颗粒已经失效, 则可以禁止向第一闪存颗粒写入数据, 并通过包括第一 闪存颗粒的存储单元的 RAID中除第一闪存颗粒的存储单元之外的其他 储 单元中存储的数据对第一闪存颗粒上的数据进 行恢复, 并将恢复后的数据迁 移到第二闪存颗粒上。 因此通过在存储单元之间建立的 RAID不仅可以对闪 存颗粒上的数据进行恢复, 而且由于是在固态硬盘的存储单元之间建立的 RAID, 因此不需要冗余固态硬盘就可以对数据进行保 护, 从而节省了资源。

本实施例提供的提高固态硬盘可靠性方法, 通过统计第一闪存颗粒的异 常块数目, 当异常块数目大于等于第一预设门限值时, 确定第一闪存颗粒即 将失效, 此后不再向第一闪存颗粒写入数据, 并将第一闪存颗粒上的数据迁 移到第二闪存颗粒上。 从而解决了在固态硬盘的闪存颗粒失效后, 整个固态 硬盘可靠性不能保证甚至不能使用的问题, 提高了固态硬盘的可靠性。 本实 施例的方法适用于在固态硬盘的闪存颗粒在即 将失效的情况下, 禁止向即将 失效的闪存颗粒写入数据, 因此可以保证在该即将失效的闪存颗粒失效后 不 会使用该失效的闪存颗粒, 从而能够保证固态硬盘的可靠性。

本实施例以上述实施例一为基础, 进一步进行了优化, 图 3为本发明实 施例三所提供的提高固态硬盘可靠性方法的流 程图。 参照图 3, 本实施例的 方法可以包括:

歩骤 310、统计第一闪存颗粒的擦写次数。有固态硬 盘中 NAND Flash芯 片的使用寿命一般采用擦写次数来确定。单层 式储存单元类型的 NAND Flash 芯片可 10万次擦写, 多层式储存单元类型的 NAND Flash芯片一般小于 1万 次擦写, 三层式存储单元类型的 NAND Flash芯片一般小于 1千次擦写。 因 此, 在本发明实施例中, 可以通过统计固态硬盘中闪存颗粒的擦写次数 来预 测闪存颗粒是否失效。

歩骤 320、 确定第一闪存颗粒的擦写次数是否大于等于第 二预设门限值。 歩骤 330、 若确定第一闪存颗粒的擦写次数大于等于第二 预设门限值, 则确定第一闪存颗粒即将失效。

歩骤 340、 若确定第一闪存颗粒即将失效, 则禁止向第一闪存颗粒写入 数据。

歩骤 350、 将第一闪存颗粒上的数据迁移到固态硬盘上的 第二闪存颗粒 上, 第二闪存颗粒为固态硬盘的有效颗粒。

本实施例提供的提高固态硬盘可靠性方法, 通过统计第一闪存颗粒已经 使用的擦写次数, 若确定第一闪存颗粒已经使用的擦写次数大于 等于第二预 设门限值, 则确定第一闪存颗粒即将失效, 此后不再向第一闪存颗粒写入数 据, 并将第一闪存颗粒上的数据迁移到第二闪存颗 粒上。 从而解决了在固态 硬盘的闪存颗粒失效后,整个固态硬盘可靠性 不能保证甚至不能使用的问题, 提高了固态硬盘的可靠性。

图 4为本发明实施例四所提供的提高固态硬盘可 性装置 400的结构示 意图。 该装置通常以硬件和 /或软件的方式来实现。 参照图 4, 该装置包括如 下模块: 判断模块 410、 处理模块 420和数据迁移模块 430。

判断模块 410用于判断固态硬盘的第一闪存颗粒是否即将 失效; 处理模 块 420用于若确定第一闪存颗粒即将失效,则禁止 向第一闪存颗粒写入数据; 数据迁移模块 430用于将第一闪存颗粒上的数据迁移到固态硬 盘上的第二闪 存颗粒上, 第二闪存颗粒为固态硬盘的有效闪存颗粒。

进一歩的, 判断模块 410, 具体用于统计第一闪存颗粒内处于异常状态 的块的数目; 确定第一闪存颗粒内处于异常状态的块的数目 是否大于等于第 一预设门限值; 若确定第一闪存颗粒内处于异常状态的块的数 目大于等于第 一预设门限值, 则确定第一闪存颗粒即将失效。

可选的, 判断模块 410, 具体用于统计第一闪存颗粒的擦写次数; 确定 第一闪存颗粒的擦写次数是否大于等于第二预 设门限值; 若确定第一闪存颗 粒的擦写次数大于等于第二预设门限值, 则确定第一闪存颗粒即将失效。

进一歩的, 固态硬盘包括至少两个闪存颗粒, 每个闪存颗粒包括至少一 个存储单元, 处理模块 420, 还用于在至少两个存储单元之间建立 RAID; 若 判断第一闪存颗粒已经失效, 则禁止向第一闪存颗粒写入数据, 并通过包括 第一闪存颗粒的存储单元的 RAID中除第一闪存颗粒的存储单元之外的其他 存储单元中存储的数据对第一闪存颗粒上的数 据进行恢复。

进一歩的, 数据迁移模块 430还用于在通过包括第一闪存颗粒的存储单 元的 RAID中除第一闪存颗粒的存储单元之外的其他 储单元中存储的数据 对第一闪存颗粒上的数据进行恢复之后, 将恢复后的数据迁移到第二闪存颗 粒上。

本实施例提供的提高固态硬盘可靠性装置, 通过在判断第一闪存颗粒即 将失效时, 禁止向第一闪存颗粒写入数据, 并将第一闪存颗粒上的数据迁移 到固态硬盘上的有效闪存颗粒上。从而解决了 在固态硬盘的闪存颗粒失效后, 整个固态硬盘可靠性不能保证甚至不能使用的 问题, 提高了固态硬盘的可靠 性。

图 5为本发明实施例五所提供的提高固态硬盘可 性装置 500的结构示 意图, 参照图 5, 该装置包括: 处理器 501、 存储器 502、 通信接口 503和总 线 504。 其中, 处理器 501、 存储器 502、 通信接口 503通过总线 504相互连 接。

存储器 502, 用于存放程序。 具体地, 程序可以包括程序代码, 所述程 序代码包括计算机操作指令。

处理器 501执行存储器 502所存放的程序, 实现提高固态硬盘可靠性方 法, 包括:

处理器 501用于判断固态硬盘的第一闪存颗粒是否即将 失效; 若确定第 一闪存颗粒即将失效, 则禁止向第一闪存颗粒写入数据; 将第一闪存颗粒上 的数据迁移到固态硬盘上的第二闪存颗粒上, 第二闪存颗粒为固态硬盘的有 效闪存颗粒。

进一歩的, 处理器 501具体用于统计第一闪存颗粒内处于异常状态 的块 的数目; 确定第一闪存颗粒内处于异常状态的块的数目 是否大于等于第一预 设门限值; 若确定第一闪存颗粒内处于异常状态的块的数 目大于等于第一预 设门限值, 则确定第一闪存颗粒即将失效。

可选的, 处理器 501具体用于统计第一闪存颗粒的擦写次数; 确定第一 闪存颗粒的擦写次数是否大于等于第二预设门 限值; 若确定第一闪存颗粒的 擦写次数大于等于第二预设门限值, 则确定第一闪存颗粒即将失效。

进一歩的, 固态硬盘包括至少两个闪存颗粒, 每个闪存颗粒包括至少一 个存储单元,处理器 501还用于在至少两个存储单元之间建立 RAID;若判断 第一闪存颗粒已经失效, 则禁止向第一闪存颗粒写入数据, 并通过包括第一 闪存颗粒的存储单元的 RAID中除第一闪存颗粒的存储单元之外的其他 储 单元中存储的数据对第一闪存颗粒上的数据进 行恢复。

进一歩的, 处理器 501 还用于在通过包括第一闪存颗粒的存储单元的 RAID 中除第一闪存颗粒的存储单元之外的其他存储 单元中存储的数据对第 一闪存颗粒上的数据进行恢复之后,将恢复后 的数据迁移到第二闪存颗粒上。

本实施例提供的提高固态硬盘可靠性装置, 通过在判断第一闪存颗粒即 将失效时, 禁止向第一闪存颗粒写入数据, 并将第一闪存颗粒上的数据迁移 到固态硬盘上的有效闪存颗粒上。从而解决了 在固态硬盘的闪存颗粒失效后, 整个固态硬盘可靠性不能保证甚至不能使用的 问题, 提高了固态硬盘的可靠 性。

本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分歩 骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算机可 读取存储介质中。 该程序在执行时, 执行包括上述各方法实施例的歩骤; 而 前述的存储介质包括: ROM、 RAM,磁碟或者光盘等各种可以存储程序代码 的介质。

最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的 说明, 本领域的普通 技术人员应当理解:其依然可以对前述各实施 例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替 换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例 技术方案的范围。