【技术视界】第3期: 如何利用S.M.A.R.T.技术对硬盘进行健康体检?
本期感谢数据恢复四川省重点实验室科研人员为我们带来关于硬盘健康状况诊断技术及应用的研究。
在电脑的日常使用中,常常发生因硬盘故障导致数据丢失,造成巨大的数字资产减损的情况。为应对这种情况,上世纪九十年代,一种名为S.M.A.R.T.的硬盘检测技术孕育而生。
S.M.A.R.T.的全称为“Self-Monitoring Analysis and Reporting Technology”,中文意思是:硬盘自动检测、分析以及报告技术。最早由Compaq公司研发并提交技术标准。
通过S.M.A.R.T.技术,我们能对机械硬盘的磁头单元、硬盘温度、盘片表面介质材料、马达及其驱动系统、硬盘内部电路,对固态硬盘的闪存颗粒磨损度、坏块数等进行监测,及时分析并预报硬盘可能发生的问题。
【图1 机械硬盘S.M.A.R.T.表】
【图2 固态硬盘S.M.A.R.T.表】
S.M.A.R.T.技术现已成为一种国际标准,并作为一种最基本的硬盘保护技术被广泛应用于硬盘中。目前,市面上众多的硬盘工具也大多也是基于S.M.A.R.T.表来进行判断检测,不过这些工具,绝大多数都只是简单地获取硬盘中记录的S.M.A.R.T.信息,以列表的形式展现出来(如图1、图2)。
在数据恢复四川省重点实验室科研人员看来,基于S.M.A.R.T.技术的硬盘健康诊断还可以再向前走一步:借鉴体检的做法,计算S.M.A.R.T.各项的权重,基于百分制,对硬盘进行健康评分,更主动地进行健康预警。
机械硬盘由于多年的市场合并及标准化,目前仅剩的几个厂家在S.M.A.R.T.上都采用的同样的标准,因此,S.M.A.R.T.各个项目代表的意义都是统一的。
相比于机械硬盘,固态硬盘的市场还处在春秋战国时代:不同的品牌厂商,多变的产品型号,混搭的主控闪存,不完全统一的S.M.A.R.T.项目等,这些都是硬盘健康诊断的第一个难题。
为此,我们采用了“先特殊,再普通”的检测方法,同时建立云服务端收集S.M.A.R.T.项目。具体而言就是针对不同固态硬盘,优先根据主控、厂商特定项目进行检测,特殊检测未通过再进入普通共用项目检测。
比如某国产固态硬盘,采用美国主控和韩国闪存颗粒。那么在检测时,优先读取美国主控,根据主控确定S.M.A.R.T.项目;如果主控读取失败,再检测品牌厂商特定项目,根据厂商官方标准确定S.M.A.R.T.项目,如果品牌厂商没有官方标准(实际情况多数没有),则使用固态硬盘目前普遍采用的标准确定S.M.A.R.T.项目。
在这样非标准的检测中,难免会出现硬盘S.M.A.R.T.无法识别或识别错误的情况,为弥补此种情况,采用“用户反馈→修改检测指标→用户验证”的循环修改模式来完善各品牌固态硬盘的样本数据库。
在解决了不同厂商不同类型硬盘的识别后,就可以进入第二步——对硬盘进行体检评分,而不只是简单的展示S.M.A.R.T.表。
在进行硬盘体检评分之前,首先,需要确定的是S.M.A.R.T.项目权重。比如:机械硬盘的“04启动-停止次数”和“05重新分配扇区计数”在影响硬盘健康的重要性上,哪个更重要?重要多少?其次,是确定评分标准。是使用累积分模式?还是采用百分制?
在确定S.M.A.R.T.项目权重上,我们采用了“Z-score标准化”的数据归一化方法。通常来说,比较常用的归一化方法有两种:min-max标准化(Min-Max Normalization)和Z-score标准化方法。因为min-max方法存在缺陷:当有新数据加入时,可能导致max和min的变化,需要重新定义。在应对不同固态硬盘的健康体检中,我们不得不随时增加、修正数据。因此,我们最终采用Z-score标准化方法。具体计算方法这里不赘言,需要的可网上查阅相关资料。
在评分模式上,我们采用了“百分制”,而未选择累积分的模式。因为百分制能直观的展示出硬盘的健康情况:满分100分,当低于60分时,硬盘的健康就值得关注了。
在预警模式上,我们采用了“主动”模式。以曲线变化的形式,展现各项S.M.A.R.T.指标的变化情况,当硬盘健康状况恶化时,及时提前预警,为数据转移赢得时间。
与常规硬盘检测工具相比,这个技术方案优点在于:能更兼容、更广阔、更准确地识别硬盘S.M.A.R.T.项目;能更直观、更灵活、更准确地进行硬盘健康评分;能更早、更主动地进行硬盘健康预警。目前,这项技术已经在“效率源数据安全中心”这个免费的PC端软件上得到了应用。
备注
【技术视界】系列推荐:
1、【技术视界】第1期:手机取证-手机音频文件恢复提取技术研究
2、【技术视界】第2期:精确读取 提高缺陷硬盘数据恢复成功率