SMART,也就是Self-Monitoring, Analysis, and Reporting Technology,一般玩家对它的理解就是CDI或者HD Tune这类工具对一块磁盘状态信息的报告。在最必要限度内这么理解没问题,但是现在的工具软件都很傻瓜化,用户门槛也很低,这也就造成绝大多数人根本看不懂SMART报告的意思。
这里就仅针对我们经常接触到的部分做一个入门讲解
CDI截图中红框部分也就是SMART区域,每一行都是一个SMART属性,一个ATA设备最多有30个SMART属性,上面“主机写入”、“主机读取”、“通电次数”和“通电时间”的数据就是从SMART属性中取得的。
但SMART的数据结构并不像软件显示的这样简单。如果有人点过CDI“编辑”菜单里的“复制选项”的话,就会发现里面有两个跟SMART有关的复选,分别是“SMART_READ_DATA”和“SMART_READ_THRESHOLD”。是的,SMART中的“阈值/Threshold”和其他数据是分开的,二者通过ID对应起来。每个SMART属性长12字节,并缀有2字节的版本信息,位于“SMART_READ_DATA”和“SMART_READ_THRESHOLD”的前362字节内。
上面红框圈出来的位置就是SMART属性的原始数据。因为Intel 730只有25个SMART属性,所以有60字节的占位0。每个属性的起始位有蓝色下划线。
在“SMART_READ_DATA”的一个SMART属性的12个字节中,第1个字节是“ID”,也就是CDI里面第一列的“ID”;第2-3个字节是“Flag/标记”,表示这个属性的性质;第4个字节是“当前值/Current value/Normalized”;第5个字节是“最差值/Worst value”;第6-11字节是“原始值/Raw data”;第12字节保留。“SMART_READ_THRESHOLD”就只有第1个字节的“ID”和第2个字节的“阈值/Threshold”,剩余10字节都是保留。这里面需要细说的就是“Flag/标记”,因为这个值极少出现,但却是一个SMART属性有没有用的关键。一个一个来说:
第1个字节“ID”,代表这个SMART属性的定义内容。0是无效值,其余都是有效值。比如我们看到05h就知道是重映射扇区数,09h就是通电时间。注意只有少部分ID是“国际统一”的,绝对不要把厂家A的定义内容硬搬到厂家B的产品上,甚至同厂家不同方案的产品都不一样。较为严谨的SMART工具在处理不明定义的ID时都会描述为“厂商特定/Vendor Specific”,而不是找个自己知道的显示出来。
第2-3个字节“Flag/标记”,表示这个SMART属性的性质,并细分为6类。为方便表达,这里把十六进制的BYTE转换为二进制的BIT:
BIT | 描述 |
0 | 故障保修属性/Pre-fail warranty attribute 为0时表示这个属性失败与否都不在保修范围内(大多数) 为1时表示这个属性失败就应寻求保修,比如B8h 端到端错误计数 |
1 | 在线记录属性/Online collection attribute 为0时表示这个属性只在离线活动时记录,比如C6h 离线不可纠正扇区计数 为1时表示这个属性在在线活动和离线活动时都记录(大多数) |
2 | 性能属性/Performance attribute 为0是表示这个属性不是性能属性(大多数) 为1时表示这个属性是性能属性,比如02h 吞吐性能 |
3 | 错误率属性/Error rate attribute 为0时表示这个属性不是错误率属性(大多数) 为1时表示这个属性是错误率属性,比如01h 原始读取错误率 |
4 | 事件计数属性/Event count attribute 为0时表示这个属性不是事件计数属性,比如C2h 温度 为1时表示这个属性是事件计数属性(大多数) |
5 | 自维护属性/Self-preserving attribute 为0时表示这个属性是驱动器与主机交互中记录的,比如C5h 不稳定扇区数 为1时表示这个属性是驱动器不需与主机交互自行记录的(大多数) |
6-15 | 保留 |