硬盘 SMART 检测参数详解.docx
15页一、SMART 概述硬盘的故障一般分为两种:可预测的(predictable)和不可预测的(unpredictable) 后者偶而会发生,也没有办法去预防它,例如芯片突然失效,机械撞击等但像电机轴承磨损、 盘片磁介质性能下降等都属于可预测的情况,可以在在几天甚至几星期前就发现这种不正常的现 象如果发生这种问题,SMART功能会在开机时响起警报,至少让使用者有足够的时间把重要 资料转移到其它储存设备上最早期的硬盘监控技术起源于1992年,IBM在AS/400计算机的IBM 0662 SCSI 2代 硬盘驱动器中使用了后来被命名为Predictive Failure Analysis (故障预警分析技术)的监控 技术,它是通过在固件中测量几个重要的硬盘安全参数和评估他们的情况,然后由监控软件得出 两种结果: ''硬盘安全”或''不久后会发生故障”不久,当时的微机制造商康柏和硬盘制造商希捷、昆腾以及康纳共同提出了名为IntelliSafe 的类似技术通过该技术,硬盘可以测量自身的的健康指标并将参量值传送给操作系统和用户的 监控软件中,每个硬盘生产商有权决定哪些指标需要被监控以及设定它们的安全阈值。
1995年,康柏公司将该技术方案提交到Small Form Factor(SFF)委员会进行标准化,该 方案得到IBM、希捷、昆腾、康纳和西部数据的支持,1996年6月进行了 1.3版的修正,正 式更名为 S.M.A.R.T. (Self-Monitoring Analysis And Reporting Technology),全称就 是“自我检测分析与报告技术”,成为一种自动监控硬盘驱动器完好状况和报告潜在问题的技术标 准作为行业规范,SMART规定了硬盘制造厂商应遵循的标准,满足SMART标准的条件主要 包括:1) 在设备制造期间完成SMART需要的各项参数、属性的设定;2) 在特定系统平台下,能够正常使用SMART;通过BIOS检测,能够识别设备是否支持 SMART并可显示相关信息,而且能辨别有效和失效的SMART信息;3) 允许用户自由开启和关闭SMART功能;4) 在用户使用过程中,能提供SMART的各项有效信息,确定设备的工作状态,并能发出 相应的修正指令或警告在硬盘及操作系统都支持SMART技术并且开启的情况下,若硬盘状态 不良,SMART技术能够在屏幕上显示英文警告信息:“WARNING:IMMEDIATLY BACKUP YOUR DATA AND REPLACE YOUR HARD DISK DRIVE, A FAILURE MAY BE IMMINENT."(警告:立刻备份你的数据并更换硬盘,硬盘可能失效。
SMART功能不断从硬盘上的各个传感器收集信息,并把信息保存在硬盘的系统保留区 (service area)内,这个区域一般位于硬盘0物理面的最前面几十个物理磁道,由厂商写入相 关的内部管理程序这里除了 SMART信息表外还包括低级格式化程序、加密解密程序、自监控 程序、自动修复程序等用户使用的监测软件通过名为“SMART Return Status”的命令(命令 代码为:B0h)对SMART信息进行读取,且不允许最终用户对信息进行修改二、SMART的ID代码硬盘SMART检测的ID代码以两位十六进制数表示(括号里对应的是十进制数)硬盘的各 项检测参数目前,各硬盘制造商的绝大部分SMART ID代码所代表的参数含义是一致的,但 厂商也可以根据需要使用不同的ID代码,或者根据检测项目的多少增减ID代码一般来说, 以下这些检测项是必需的:01 (001)底层数据读取错误率Raw Read Error Rate04 (004)启动/停止计数 Start/Stop Count05 (005)重映射扇区数 Relocated Sector Count09 (009)通电时间累计 Power-On Time Count (POH)0A (010)主轴起旋重试次数(即硬盘主轴电机启动重试次数)Spin up Retry Count0B(011)磁盘校准重试次数 Calibration Retry Count0C(012)磁盘通电次数 Power Cycle CountC2(194)温度 TemperatureC7( 199)ULTRA DMA 奇偶校验错误率 ULTRA ATA CRC Error RateC8(200)写错误率 Write Error Rate三、SMART 的描述(Description)描述,即某一检测项目的名称,是ID代码的文字解释。
对用户而言,不仅要了解描述的含 义,重要的是要了解各参数的值如''临界值”、''最差值''的定义,''当前值''与''数据值''的区别等, 才能对自己的硬盘状态有一个基本了解四、SMART的值1、临界值(Threshold)临界值是硬盘厂商指定的表示某一项目可靠性的门限值,也称阈值,它通过特定公式计算而 得如果某个参数的当前值接近了临界值,就意味着硬盘将变得不可靠,可能导致数据丢失或者 硬盘故障由于临界值是硬盘厂商根据自己产品特性而确定的,因此用厂商提供的专用检测软件 往往会跟Windows下检测软件的检测结果有较大出入以参数Raw Read Error Rate (底层数据读取错误率)为例:某型硬盘对该参数的计算公 式为“10xlog10 (主机和硬盘之间所传输数据的扇区数)x512x8/重读的扇区数〃其中 ''512x8〃是把扇区数转化为所传输的数据位(bits),这个值只在所传输的数据位处于1010〜 1012范围时才作计算,而当Windows系统启动后,主机和硬盘之间所传输的数据扇区大于或 等于1012时,此值将重新复位,所以有些值在不同的操作环境、不同检测程序下时会有较大 的波动。
2、当前值(Normalized value)当前值是各ID项在硬盘运行时根据实测数据通过公式计算的结果,计算公式由硬盘厂家自 定硬盘出厂时各ID项目都有一个预设的最大正常值,也即出厂值,这个预设的依据及计算方 法为硬盘厂家保密,不同型号的硬盘都不同,最大正常值通常为100或200或253,新硬盘刚 开始使用时显示的当前值可以认为是预设的最大正常值(有些ID项如温度等除外)随着使用 损耗或出现错误,当前值会根据实测数据而不断刷新并逐渐减小因此,当前值接近临界值就意 味着硬盘寿命的减少,发生故障的可能性增大,所以当前值也是判定硬盘健康状态或推测寿命的 依据之一3、最差值(Worst)最差值是硬盘运行时各ID项曾出现过的最大的非正常值最差值是对硬盘运行中某项数据变劣的峰值统计,该数值也会不断刷新通常,最差值与当 前值是相等的,如果最差值出现较大的波动(小于当前值),表明硬盘曾出现错误或曾经历过恶 劣的工作环境(如温度)4、数据值(Data 或 Raw value)数据值是硬盘运行时各项参数的实测值,大部分SMART工具以十进制显示数据数据值代表的意义随参数而定,大致可以分为三类:1) 数据值并不直接反映硬盘状态,必须经过硬盘内置的计算公式换算成当前值才能得出结 果;2) 数据值是直接累计的,如Start/Stop Count (启动/停止计数)的数据是50,即表示 该硬盘从出厂到现在累计启停了 50次;3) 有些参数的数据是即时数,如Temperature (温度)的数据值是44,表示硬盘的当前 温度是44°C。
因此,有些参数直接查看数据也能大致了解硬盘目前的工作状态五、状态(Status)硬盘的每项SMART信息中都有一个临界值(阈值),不同硬盘的临界值是不同的,SMART 针对各项的当前值、最差值和临界值的比较结果以及数据值进行分析后,提供硬盘当前的评估状 态,也是我们直观判断硬盘健康状态的重要信息根据SMART的规定,状态一般有正常、警告、 故障或错误三种状态SMART判定这三个状态与SMART的Pre-failure/advisory BIT (预测错误/发现位)参 数的赋值密切相关,当Pre-failure/advisory BIT=0,并且当前值、最差值远大于临界值的情 况下,为正常标志当Pre-failure/advisory BIT=0,并且当前值、最差值大于但接近临界值 时,为警告标志;当Pre-failure/advisory BIT=1,并且当前值、最差值小于临界值时,为故 障或错误标志六、SMART参数详解一般情况下,用户只要观察当前值、最差值和临界值的关系,并注意状态提示信息即可大致 了解硬盘的健康状况下面简单介绍各参数的含义,以红色标出的项目是寿命关键项,蓝色为固 态硬盘(SSD)特有的项目。
在基于闪存的固态硬盘中,存储单元分为两类:SLC(Single Layer Cell,单层单元)和 MLC(Multi-Level Cell,多层单元)SLC成本高、容量小、但读写速度快,可靠性高,擦写 次数可高达100000次,比MLC高10倍而MLC虽容量大、成本低,但其性能大幅落后于 SLC为了保证MLC的寿命,控制芯片还要有智能磨损平衡技术算法,使每个存储单元的写入 次数可以平均分摊,以达到100万小时的平均无故障时间因此固态硬盘有许多SMART参数 是机械硬盘所没有的,如存储单元的擦写次数、备用块统计等等,这些新增项大都由厂家自定义, 有些尚无详细的解释,有些解释也未必准确,此处也只是仅供参考下面凡未注明厂商的固态硬 盘特有的项均为SandForce主控芯片特有的,其它厂商各自单独注明01 (001)底层数据读取错误率Raw Read Error Rate数据为0或任意值,当前值应远大于与临界值底层数据读取错误率是磁头从磁盘表面读取数据时出现的错误,对某些硬盘来说,大于0 的数据表明磁盘表面或者读写磁头发生问题,如介质损伤、磁头污染、磁头共振等等不过对希 捷硬盘来说,许多硬盘的这一项会有很大的数据量,这不代表有任何问题,主要是看当前值下降 的程度。
在固态硬盘中,此项的数据值包含了可校正的错误与不可校正的RAISE错误(UECC + URAISE)注:RAISE (Redundant Array of Independent Silicon Elements)意为独立硅元素 冗余阵列,是固态硬盘特有的一种冗余恢复技术,保证内部有类似RAID阵列的数据安全性02 (002)磁盘读写通量性能 Throughput Performance此参数表示硬盘的读写通量性能,数据值越大越好当前值如果偏低或趋近临界值,表示硬 盘存在严重的问题,但现在的硬盘通常显示数据值为0或根本不显示此项,一般在进行了人工 脱机SMART测试后才会有数据量03 (003)主轴起旋时间Spin Up Time主轴起旋时间就是主轴电机从启动至达到额定转速所用的时间,数据值直接显示时间,单位 为毫秒或者秒,因此数据值越小越好不过对于正常硬盘来说,这一项仅仅是一个参考值,硬盘 每次的启动时间都不相同,某次启动的稍慢些也不表示就有问题硬盘的主轴电机从启动至达到额定转速大致需要4秒〜15秒左右,过长的启动时间说明电 机驱动电路或者轴承机构有问题旦这一参数的数据值在某些型号的硬盘上总是为0,这就要看 当前值和最差值来判断了。
对于固态硬盘来说,所有的数据都是保存在半导体集成电路中,没有主轴电机,所以这项没 有意义,数据固定为0,当前值固定为100o04 (004)启停计数 Start/Stop Count这一参数的数据是累计值,表示硬盘主轴电机启动/停止的次数,新硬盘通常只有几次,以 后会逐渐增加系统的某些功能如空闲时关闭硬盘等会使硬盘启动/停止的次数大为增加,在。





