磁盘SMART监控
磁盘SMART温度监控
历史
最早期的硬盘监控技术起源于1992年IBM在为AS/400计算机的IBM9337硬盘阵列中的IBM 0662 SCSI2代硬盘驱动器之中,后来该技术被命名为Predictive Failure Analysis(故障预警分析技术),它是通过在固件中测量几个重要的硬盘安全参数和评估他们的情况。从物理硬盘发送到监控软件的结果中被限定两种结果:“硬盘安全”和“硬盘不久后会发生故障”。
不久,由微机制造商Compaq和硬盘制造商Seagate、Quantum和Conner提出了名为IntelliSafe的类似技术。通过该技术,硬盘会测量自身的的健康指标并将参量值传送给操作系统和用户的监控软件中,每个硬盘生产商有权决定哪些指标需要被监控和它们的安全阈值。
Compaq于1995早期将该项技术方案提交到Small Form Factor委员会进行标准化,该方案得到IBM、Seagate、Quantum、Conner和Western Digital所支持。由于IntelliSafe技术的灵活性,委员会接受了该方案,并正式更名S.M.A.R.T.技术,将其标准化并推广至ATA-3行业标准中。
运作原理
该技术所需数据被存放在硬盘物理盘面最前面的磁道中,由硬盘制作商将相关管理程序和数据该磁道中,包括加解密程序,自监控程序,自修复程序等,主机的监控软件可以通过“SMART RETURN STATUS”的命令读取S.M.A.R.T.信息,且这些信息不允许被用户修改。
检测属性
下面将列出一些S.M.A.R.T.的原始检测属性和含义。普遍为检测值越高性能越好。即使所有制造商都必须遵守共同的规则,但由于有些检测值在不同硬盘制造商中用不全相同的定义和计量方法而对于不同制作商来说检测值不全是越高越好,所以下面属性的指标只作一般参考。除外,各制造商也会根据自己需要添加一些自己专有的检测属性
表示数值越高越好 | |
表示数值越低越好 | |
重要项:粉色底 | 当超出安全范围会对性能严重影响 |
ID | ID十六进制值 | 英文名 | 中文译名 | 最优 | 说明 |
---|---|---|---|---|---|
1 | 0x01 | read error rate | 底层数据读取错误率 | 存储器从一个硬盘表面读取数据时发生的错误率。原始值由于不同厂商的不同计算方法而有所不同,其十进制值往往无意义的。一般来说有数值意味着磁头已出现问题了。 | |
2 | 0x02 | Throughput Performance | 读写通量性能 | 通常是硬盘读写性能的测量值,如果其值有变动,有可能硬盘出现了问题。 | |
3 | 0x03 | Spin-Up Time | 盘片启动时间 | 盘片由静止启动加速到稳定正常运行速度的平均所需时间。 | |
4 | 0x04 | Start/Stop Count | 电机起停次计数 | 一个盘片启动关闭周期的统计值,只有硬盘从完全断电中启动或从睡眠模式恢复,盘片主轴电机被启动时才会记一次数。 | |
5 | 0x05 | Reallocated Sector Count | 重定位磁区计数 | 记录由于损坏而被映射到无损的后备区的扇区计数。当硬盘出现损坏扇区时,可以通过将其物理空间指向到特定的无损区域进行重映射修复,从而出现坏扇区的硬盘仍可使用。但当高过一定数值后,后扇区消耗殆尽而无法再重映射修复时,这些坏扇区就会显现出来且无法自行修复。除外由于要要求磁头读取这些坏扇区时专门再移动到后备区读写数据,对硬盘读写性能也有影响。 | |
6 | 0x06 | Read Channel Margin | 信道读取余量 | 读取数据时信道可用的余量,该属性没制定任何功用。 | |
7 | 0x07 | Seek Error Rate | 寻道错误率 | (该属性是特定制造商才有的)磁头寻找磁道由于机械问题而出错几率,有多种原因可能引致出错,如:磁头伺服构件,盘体过热,或损坏。于不同厂商的不同计算方法而有所不同,其十进制值往往无意义的。 | |
8 | 0x08 | Seek Time Performance | 寻道性能 | 每次寻道时间的平均值,该值短期内迅速减少,有可能硬盘出现了问题。 | |
9 | 0x09 | Power-On Hours | 硬盘加电时间 | 硬盘自出厂以来加电启动的统计时间,单位为小时(或根据制造商设定为分钟或秒),一般用户以该值判定硬盘是否被使用过。 | |
10 | 0x0a | Spin Retry Count | 电机起转重试 | S.M.A.R.T参数电机起转重试,表明了主轴电机的启动尝试次数。这个属性存储了关于主轴电机尝试加速到完全可操作速度的次数(在这种情况下,意味着主轴电机的第一次启动尝试没有成功)。主轴电机频繁的尝试启动,意味着硬盘驱动器的寿命可能将近实际限值。 | |
11 | 0x0b | Recalibration Retries | 磁头校准重试 | 磁头在一次运行失败时尝试校准至正常状态的统计数,该值改变时意味着硬盘的机械部件已经出现问题了。 | |
12 | 0x0c | Power Cycle Count | 设备开关计数 | 该属性表示硬盘电源充分开/关循环计数。 | |
13 | 0x0d | Soft Read Error Rate | 软件读取错误率 | 操作系统读取数据时的出错率。 | |
183 | 0xb7 | SATA Downshift Error Count | SATA降级运行计数 | Western Digital 和 Samsung 特有属性,记录由于兼容问题导致降低SATA传输级别运行的计数。 | |
184 | 0xb8 | End-to-End error | 终端校验出错 | HP专有S.M.A.R.T.(SMART IV)技术的一个特有属性,记录硬盘从盘片读取数据到高速缓存后再传输到主机时数据校验出错的次数。 | |
185 | 0xb9 | Head Stability | 磁头稳定性 | Western Digital特有属性 | |
186 | 0xba | Induced Op-Vibration Detection | Western Digital特有属性 | ||
187 | 0xbb | Reported Uncorrectable Errors | 报告不可纠正错误 | 硬件ECC无法恢复的错误计数。 | |
188 | 0xbc | Command Timeout | 通信超时 | 由于无法连接至硬盘而终止操作的统计数,一般为0,如果远超过0,则可能电源问题,数据线接口氧化或更严重的问题。 | |
189 | 0xbd | High Fly Writes | 磁头写入高度 | 硬盘进行写入时对磁头高度进行监控以提供额外的保障。当磁头处于不正常高度进行写入时,写入操作会被终止,原有数据重写入或者将该扇区重映射到安全区域。该属性是统计值。 | |
190 | 0xbe | Airflow Temperature | 气流温度 | Western Digital特有属性,计量硬盘内气流温度,和检测项0xc2相似。 | |
191 | 0xbf | G-sense Error Rate | 加速度错误率 | 计量可能对硬盘做成损害的冲击次数。 | |
192 | 0xc0 | Power-off Retract Count | 电源关闭磁头收回计数 | 计量磁头在没有加电时不移进硬盘的值。 | |
193 | 0xc1 | Load Cycle Count | 磁头升降计数 | 计量磁头在加电时移进/移出硬盘周期的值。 | |
194 | 0xc2 | Temperature | 温度 | 计量硬盘的温度 | |
195 | 0xc3 | Hardware ECC Recovered | 硬件ECC恢复 | (特定原始值) | |
196 | 0xc4 | Reallocation Event Count | 重定位事件计数 | 记录已重映射扇区和可能重映射扇区的事件计数。 | |
197 | 0xc5 | Current Pending Sector Count | 等候重定的扇区计数 | 记录了不稳定的扇区的数量。 | |
198 | 0xc6 | Uncorrectable Sector Count | 无法校正的扇区计数 | 记录肯定出错的扇区数量。 | |
199 | 0xc7 | UltraDMA CRC Error Count | UltraDMA通讯CRC错误 | 记录硬盘通讯时发生的CRC错误。 | |
200 | 0xc8 | Multi-Zone Error Rate | 多区域错误率 | 写入一个区域时发现的错误的计数。 | |
200 | 0xc8 | Write Error Rate | 写入错误率 | Fujitsu的特别属性,写入一个区域时发现的错误的计数。 | |
201 | 0xc9 | Soft Read Error Rate | 逻辑读取错误率 | 记录脱轨错误。 | |
202 | 0xca | Data Address Mark errors | 数据地址标记错误 | 记录数据地址标记错误(或制造商特定的计数) | |
203 | 0xcb | Run Out Cancel | 用完取消 | ECC错误计数 | |
204 | 0xcc | Soft ECC Correction | 逻辑ECC纠正 | 记录由软件ECC更正的错误计数。 | |
205 | 0xcd | Thermal Asperity Rate | 热嘈率 | 记录高温导致的出错记数。 | |
206 | 0xce | Flying Height | 飞行高度 | 记录磁头的飞行高度。飞得太低会增加磁头撞毁的机会,飞得太高增加读写错误的机会。 | |
207 | 0xcf | Spin High Current | 主轴电机浪涌电流计数 | 记录主轴电机运转时浪涌电流的次数。 | |
208 | 0xd0 | Spin Buzz | 记录由于电力不足而启动主轴电机的蜂鸣声次数。 | ||
209 | 0xd1 | Offline Seek Performance | 离线寻址性能 | 在其内部测试硬盘的寻址能力表现。 | |
210 | 0xd2 | ? | ? | (没定性,出现在Maxtor 6B200M0 200GB 和Maxtor 2R015H1 15GB 的硬盘中) | |
211 | 0xd3 | Vibration During Write | 写操作震动 | 记录写入操作的震动数。 | |
212 | 0xd4 | Shock During Write | 写操作冲击 | 记录写入操作时的冲击数。 | |
220 | 0xdc | Disk Shift | 盘体偏移 | 记录盘体由于冲击或温度导致偏离主轴的相对距离。 | |
221 | 0xdd | G-Sense Error Rate | 加速计出错率 | 从外部诱发的冲击和振动产生的错误计数。 | |
222 | 0xde | Loaded Hours | 数据加载时间 | 数据读取时所花费的时间。(磁头移动时间) | |
223 | 0xdf | Load/Unload Retry Count | 加载/卸载重试次数 | 磁头改变位置时所需时间。 | |
224 | 0xe0 | Load Friction | 负载摩擦 | 读写时由于机械摩擦做成的阻力。 | |
225 | 0xe1 | Load/Unload Cycle Count | 加载/卸载循环计数 | 总负载周期计数。 | |
226 | 0xe2 | Load 'In'-time | 磁头 | 磁头加载所需总时间(不包括在停泊区的花费)。 | |
227 | 0xe3 | Torque Amplification Count | 扭矩放大计数 | 尝试来补偿盘片的速度变化的计数。 | |
228 | 0xe4 | Power-Off Retract Cycle | 断电缩回周期 | 切断电源后电磁枢自动缩回的时间计数。 | |
230 | 0xe6 | GMR Head Amplitude | GMR磁头振幅 | 磁头振幅计数(磁头反复正反向运动距离)。 | |
231 | 0xe7 | Temperature | 硬盘温度 | 记录硬盘温度。 | |
232 | 0xe8 | Endurance Remaining | 耐久性剩余 | 磁盘可使用周期与设计可使用周期的百分比。 | |
232 | 0xe8 | Available Reserved Space | 可用保留空间 | Intel固态硬盘报告的可提供的预留空间占作为一支全新的固态硬盘预留空间的百分比。 | |
233 | 0xe9 | Power-On Hours | 加电时间 | 处于开机状态的小时数。 | |
233 | 0xe9 | Media Wearout Indicator | 介质耗损指标 | Intel固态硬盘报告的NAND刷写寿命,全新时值为100,最低值为1,其跌幅随NAND的擦除周期增加而在0到最大额定周期范围减少。 | |
240 | 0xf0 | Head Flying Hours | 磁头飞行时间 | 磁头处于定位中的时间。 | |
240 | 0xf0 | Transfer Error Rate | 传输错误率 | 在数据传输时连接被重置的次数计数。(Fujitsu特有属性) | |
241 | 0xf1 | Total LBAs Written | LBA写入总数 | LBA写入总数计数。 | |
242 | 0xf2 | Total LBAs Read | LBA读取总数 | LBA读取总数计数,部分S.M.A.R.T.检测程序会把原始值显示为负数,这是因为该原始值为48位,而不是32位的。 | |
250 | 0xfa | Read Error Retry Rate | 读取错误重试率 | 从磁盘读取时的错误计数。 | |
254 | 0xfe | Free Fall Protection | 自由跌落保护 | 对“自由落体事件”检测计数。 |
在非ATA平台上的实现
SCSI
硬盘的传输端口平台主要分为ATA和SCSI两个平台。作为一种硬盘的检测技术,理论上都能在两个平台上实现的,但由于两个平台也存在巨大的不同,S.M.A.R.T.在SCSI上的实现和在ATA的实现上也有所不同。首先,作为ATA上的专有规范,S.M.A.R.T.对ATA系统的干预要比SCSI更明显,S.M.A.R.T.对SCSI更多是起到检测的作用,即使在检测到磁盘有故障时,其只是报告监控端,要人为地处理故障。其次,由于SCSI平台的硬盘比ATA的更为复杂,所以其检测属性也比ATA的多和复杂准确,如包括对盘片和驱动电路版的温度检测(ATA多只对盘片温度检测),对电压的检测等。
USB
在USB标准中,USB不能用于计算机内部储存设备的基本总线(如ATA,SCSI等),其本身没有为S.M.A.R.T.提供传输数据的途径。在使用ATA硬盘,以USB为传输端口的移动硬盘中,即使硬盘内S.M.A.R.T.仍然运作,但没办法直接向系统提供S.M.A.R.T.的数据。现在新的移动硬盘的内部驱动转换电路已经能以一些方法将硬盘内S.M.A.R.T.的数据通过USB传输到系统或监控程序中读取。
S.M.A.R.T(Self Monitoring Analysis and Reporting Technology /自我监测、分析与报告技术)是为了提高硬盘数据的安全性而开发的。它可以使硬盘实时检查自身的状态,通过一定机理及时分析出潜在的问题,报告给系统,有时甚至能给出预计的硬盘故障日期,实际就是一种预警技术。这个功能可以比较客观的反映硬盘目前的健康状况。
Value/Current(当前值) 当前硬盘改属性的值。
Worst(最坏值) 该属性出现过的峰值。
Threshold/Warn(阈值/临界/极限值) 硬盘厂商所规定的该属性峰值。如果某个属性超过Threshold规定的极限值时,就表示你的硬盘可能出现了问题。
Raw Values/Data (Raw值/数据) 。和该属性有关联的数据总值。
怎么看这类属性?
主要是看Raw和Worst的值是否还在临界值之内(>或<临界值)
一般使用软件如HDTune、CrystalDiskInfo等,一般属性中有黄色或者红色你就要注意了,硬盘可能快坏了,要是还在保修期内,就赶紧备份数据,送去检修。
下面我们来介绍各个属性(按2010年2月11日 维基百科 上的解释)
ID Hex =英文属性名 / 中文属性名 属性描述
--------------------------------------------------
01 01 =Read Error Rate / (底层)数据读取错误率
指从磁盘表面读取数据时发生的硬件读取错误的比率,Raw值对于不同的厂商有着不同的体系,单纯看做1个十进制数字是没有任何意义的。
*以上为Wiki上的英文翻译版本,此属性貌似存在分歧,有的说值高了好,有的说低了好,此处我们还是按照Wiki上的吧,反正只要 Worst不小于 Threshold 就行了。
**这里的Raw值也可能不同,比如我笔记本上的ST硬盘就Raw为0,而台式机上1.5T的ST就为227901540。
02 02 =Throughput Performance / 吞吐性能(读写通量性能)
Raw值越高越好
整体(普通)的硬盘驱动器的吞吐性能。如果这个属性的值一直在下降有很大的可能性是硬盘有问题了。
* 一般在进行了人工 Offline S.M.A.R.T. 测试以后才会有值。
03 03 =Spin-Up Time / 马达旋转到标准转速所需时间
Raw值越低越好
主轴旋转加速的平均时间(从零转速到完全运转(标准转速)[毫秒])。
单位也可能为秒。
如果是0的话证明这一项没有读对,或者是这一项的数据生成错误。不应该出现0的结果。
04 04 =Start/Stop Count / 启动/停止计数
马达 启动/停止 周期的计数。当马达启动或硬盘完全停止工作后(断开电源)启动和硬盘从睡眠模式回复到先前状态,计数都会增加。
*一般来说开机一次这个就加1,也可以看做是通电次数,这一般是个寿命参考值,本身不具有任何指标性,购买硬盘时可以参考此值。
05 05 =Reallocated Sectors Count / 重新配扇区的计数
Raw值越低越好
对重新分配的扇区的计数,当硬盘发现一个 读取/写入/校验 错误时它将这个扇区标示为“重新分配”,并且将数据传输到一个特殊的保留区(空闲区)。这个过程也称为是“重定向”,这个重新分配的扇区叫做“重新映射”。这就是为什么,现在的硬盘当进行表面测试的时候是找不到“坏块”的,所有的坏块都被隐藏在重新分配的扇区中。然而,随着重新定位的扇区增加,读取/写入速度趋向于降低。Raw值通常代表一系列已经发现和重映射的坏扇区,因此,这个属性值越高,硬盘就有越多的扇区被重定位,所以这个值是越小越好。
* 理想情况下这个值应该为0,如果不为0也不要太惊慌,而是应该比较密切的关注这个值的变化情况:如果连续几周没有变化,那你应该可以放心的继续使用比较长的一段时间;如果这个值持续攀升,那么请尽快备份所有数据,并考虑购买新硬盘。
06 06 =Read ***nel Margin / 读取通道边界
读取数据时通道的边界,这个属性的功能并不明确
07 07 =Seek Error Rate / 寻道错误率
磁头寻道错误的比率,如果机械定位系统中有局部的故障,那么寻道错误率会增加,这种故障是多种因素造成的。Raw值对于不同的厂商有着不同的体系,单纯看做1个十进制数字是没有任何意义的
08 08 =Seek Time Performance / 寻道时间性能
Raw值越高越好
磁头寻道操作的平均性能,如果这个属性的值持续下降,这是机械子系统有问题的标志
09 09 =Power-On Hours (POH) / 累计通电时间
Raw值越低越好
通电时间计数,Raw值显示在通电状态下的总小时数(或者是 分钟,秒,取决于制造商)
磁盘加电时间。初始值的字段显示为此装置总开机时间的累计。
* 参考磁盘厂家给的该款硬盘的 MTBF(平均故障间隔时间) 可以估计故障概率。但是也有可能超过MTBF而不会出现故障,因为统计数据对于个体来说是不精确的,是一个寿命参考值,本身不具任何指标性。
**购买硬盘时可以看此值,新的硬盘一般为0或者几十以内,过分大的可能就是被人用过了。
10 0A =Spin Retry Count 或 Spin-up Retry Count / 旋转重试计数 或 马达重试计数
Raw值越低越好
马达重试启动尝试的的总数,这个属性存储马达尝试启动的到全速运转(第一次尝试失败的情况)的总数,这个属性的值的上升,是硬盘机械子系统有问题的标志
* 理想情况应该为0,在某些情况下可能人为造成这个值的非故障升高,比如电压供给不足。
11 0B =Recalibration Retries / 校准重试
Calibration_Retry_Count / 校准重试计数
Raw值越低越好
这个属性指被要求重新校验的次数(第一次尝试失败的情况下)。这个属性的值的上升,是硬盘机械子系统有问题的标志
12 0C =Power Cycle Count / 通电周期计数
这个属性是指这个硬盘电源 开/关 周期的总数。
这是个寿命参考值,本身不具任何指标性。
13 0D =Soft Read Error Rate / 软件读出误码率(可校正读出误码率)
Raw值越低越好
报告给操作系统的未修正的读取错误。
高值暗示有扇区不稳定。
183 B7 =SATA Downshift Error Count / SATA 降档错误计数
西部数据和三星的属性。
184 B8 =End-to-End error / 端对端错误
Raw值越低越好
这个属性是HP的SMART IV技术的一部分,它表示传输通过高速缓存内存数据缓冲区后主机和硬盘驱动器间的校验数据不匹配。
185 B9 =Head Stability / 头稳定性
西部数据的属性。
186 BA =Induced Op-Vibration Detection / 感应运算振动检测
西部数据的属性。
187 BB =Reported Uncorrectable Errors / 反馈无法校正的错误
Raw值越低越好
不能使用硬件ECC恢复的错误总数。
188 BC =Command Timeout / 命令超时
Raw值越低越好
因为HDD超时导致放弃操作的数量,通常情况下,这个属性值应该等于0,如果这个只远远高于0,那么,很可能电源供应有很严重的问题,或者数据线被氧化。
189 BD =High Fly Writes / 高飞写入
Raw值越低越好
HDD生产商实现 一个飞行高度监视器来尝试对于检测到记录头正在飞出它的正常操作范围时的写入操作提供额外的保护,如果发生不安全的飞行高度条件,写入进程停止工作,信息将被重写或者重定向到磁盘上一个安全的区域。这个显示在硬盘生命周期内检测到的这些错误的总数。这个特性实现在大多数现代的希捷驱动器和一些西部数据的驱动器中,西部数据驱动器开始于 WD企业级WDE18300和WDE9180 Ultra2 SCSI硬盘驱动器,它将被包含在未来所有西部数据企业级产品中。
190 BE =Airflow Temperature (WDC) / 气流温度(西部数据)
Raw值越低越好
西部数据硬盘上的气流温度(和[C2]的 Temperature 数值一样,但是在有些型号上臂当前值会少50.此值已经废弃了)。
190 BE =Temperature Difference from 100 / 从100开始的温差
Raw值越高越好
值和 (100 – 温度°C)相同, 允许制造商对于符合的最高温度设置一个最小限制(可能是希捷专有?)。
191 BF =G-sense Error Rate / 加速度错误率 或 震动侦测错误率
Raw值越低越好
因外来的冲击和震动导致的错误数。
192 C0 =Power-off Retract Count / 断电磁头缩回计数
Emergency Retract Cycle Count (Fujitsu) / 紧急回缩周期计数(富士通)
Raw值越低越好
磁头被载离媒体的次数计数。磁头能在没完全断电的前缩回。
*这个属性所显示的数字表示这块磁盘自动关机(突然断电)的次数。