硬盘SMART检测参数详解

更新时间:2023-12-03 15:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

硬盘SMART检测参数详解[转] 一、SMART概述 要说Linux用户最不愿意看到的事情,莫过于在毫无警告的情况下发现硬盘崩溃了。诸如RAID的备份和存储技术可以在任何时候帮用户恢复数据,但为预防硬件崩溃造成数据丢失所花费的代价却是相当可观的,特别是在用户从来没有提前考虑过在这些情况下的应对措施时。

硬盘的故障一般分为两种:可预测的(predictable)和不可预测的(unpredictable)。后者偶而会发生,也没有办法去预防它,例如芯片突然失效,机械撞击等。但像电机轴承磨损、盘片磁介质性能下降等都属于可预测的情况,可以在在几天甚至几星期前就发现这种不正常的现象。

对于可预测的情况,如果能通过磁盘监控技术,通过测量硬盘的几个重要的安全参数和评估他们的情况,然后由监控软件得出两种结果:“硬盘安全”或“不久后会发生故障”。那么在发生故障前,至少有足够的时间让使用者把重要资料转移到其它储存设备上。

最早期的硬盘监控技术起源于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的目的是监控硬盘的可靠性、预测磁盘故障和执行各种类型的磁盘自检。如今大部分的ATA/SATA、SCSI/SAS和固态硬盘都搭载内置的SMART系统。作为行业规范,SMART规定了硬盘制造厂商应遵循的标准,满足SMART标准的条件主要包括:

1)在设备制造期间完成SMART需要的各项参数、属性的设定;

2)在特定系统平台下,能够正常使用SMART;通过BIOS检测,能够识别设备是否支持SMART并可显示相关信息,而且能辨别有效和失效的SMART信息; 3)允许用户自由开启和关闭SMART功能;

4)在用户使用过程中,能提供SMART的各项有效信息,确定设备的工作状态,并能发出相应的修正指令或警告。在硬盘及操作系统都支持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信息进行读取,且不允许最终用户对信息进行修改。

smartmontools是smart的的软件包程序,由smartctl和smartd两部分工具程序组成,它们一起为Linux平台提供对磁盘退化和故障的高级警告。 二、smart信息解读 ID

属性ID,通常是一个1到255之间的十进制或十六进制的数字。硬盘SMART检测的ID代码以两位十六进制数表示(括号里对应的是十进制数)硬盘的各项检测参数。目前,各硬盘制造商的绝大部分SMART ID代码所代表的参数含义是一致的,但厂商也可以根据需要使用不同的ID代码,或者根据检测项目的多少增减ID代码。一般来说,以下这些检测项是必需的:

01(001) Raw_Read_Error_Rate 底层数据读取错误率 04(004) Start_Stop_Count 启动/停止计数 05(005) Reallocated_Sector_Ct 重映射扇区数

09(009) Power_On_Hours 通电时间累计,出厂后通电的总时间,一般磁盘寿命三万小时 0A(010) Spin_Retry_Count 主轴起旋重试次数(即硬盘主轴电机启动重试次数) 0B(011) Calibration_Retry_Count 磁盘校准重试次数 0C(012) Power_Cycle_Count 磁盘通电次数 C2(194) Temperature_Celsius 温度

C7(199) UDMA_CRC_Error_Count 奇偶校验错误率 C8(200) Write_Error_Rate: 写错误率

F1(241) Total_LBAs_Written:表示磁盘自出厂总共写入的的数据,单位是LBAS=512Byte F2(242) Total_LBAs_Read:表示磁盘自出厂总共读取的数据,单位是LBAS=512Byte

ATTRIBUTE_NAME

硬盘制造商定义的属性名。,即某一检测项目的名称,是ID代码的文字解释。

FLAG

属性操作标志(可以忽略)

当前值(value)

当前值是各ID项在硬盘运行时根据实测原始数据(Raw value)通过公式计算的结果,1到253之间。253意味着最好情况,1意味着最坏情况。计算公式由硬盘厂家自定。

硬盘出厂时各ID项目都有一个预设的最大正常值,也即出厂值,这个预设的依据及计算方法为硬盘厂家保密,不同型号的硬盘都不同,最大正常值通常为100或200或253,新硬盘刚开始使用时显示的当前值可以认为是预设的最大正常值(有些ID项如温度等除外)。随着使用损耗或出现错误,当前值会根据实测数据而不断刷新并逐渐减小。因此,当前值接近临界值就意味着硬盘寿命的减少,发生故障的可能性增大,所以当前值也是判定硬盘健康状态或推测寿命的依据之一。

重映射。

C6(198)总读取页数 Total Count of Read Sectors(Indilinx芯片) C7(199)Ultra ATA访问校验错误率 Ultra ATA CRC Error Rate

这个参数的数据值累计了通过接口循环冗余校验(Interface Cyclic Redundancy Check,ICRC)发现的数据线传输错误的次数。如果数据值不为0且持续增长,表示硬盘控制器→数据线→硬盘接口出现错误,劣质的数据线、接口接触不良都可能导致此现象。由于这一项的数据值不会复零,所以某些新硬盘也会出现一定的数据量,只要更换数据线后数据值不再继续增长,即表示问题已得到解决。 C7(199)总写入页数 Total Count of Write Sectors(Indilinx芯片)

C8(200)写入错误率 Write Error Rate / 多区域错误率 Multi-Zone Error Rate(西部数据)

数据应为0,当前值应远大于临界值。

这个参数的数据累计了向扇区写入数据时出现错误的总数。有的新硬盘也会有一定的数据量,若数据值持续快速升高(当前值偏低),表示盘片、磁头组件可能有问题。

C8(200)总读取指令数 Total Count of Read Command(Indilinx芯片) C9(201)脱道错误率 Off Track Error Rate / 逻辑读取错误率 Soft Read Error Rate

数据值累积了读取时脱轨的错误数量,如果数据值不为0,最好备份硬盘上的资料。 C9(201)TA Counter Detected(意义不明)

C9(201)写入指令总数 Total Count of Write Command(Indilinx芯片)

CA(202)数据地址标记错误 Data Address Mark errors 此项的数据值越低越好(或者由制造商定义)。 CA(202)TA Counter Increased(意义不明)

CA(202)剩余寿命 Percentage Of The Rated Lifetime Used(Micron 镁光芯片) 当前值从100开始下降至0,表示所有块的擦写余量统计。计算方法是以MLC擦写次数除以50,SLC擦写次数除以1000,结果取整数,将其与100的差值作为当前值(MLC预计擦写次数为5000,SLC预计擦写次数为100000)。

CA(202)闪存总错误bit数 Total Count of error bits from flash(Indilinx芯片) CB(203)软件ECC错误数 Run Out Cancel 错误检查和纠正(ECC)出错的频度。

CB(203)校正bit错误的总读取页数 Total Count of Read Sectors with correct bits error(Indilinx芯片)

CC(204)软件ECC校正 Soft ECC Correction 通过软件ECC纠正错误的计数。

CC(204)坏块满标志 Bad Block Full Flag(Indilinx芯片) CD(205)热骚动错误率 Thermal Asperity Rate (TAR) 由超温导致的错误。数据值应为0。

CD(205)最大可编程/擦除次数 Max P/E Count(Indilinx芯片) CE(206)磁头飞行高度 Flying Height

磁头距离盘片表面的垂直距离。高度过低则增加了磁头与盘片接触导致损坏的可能性;高度偏高则增大了读写错误率。不过准确地说,硬盘中并没有任何装置可以直接测出磁头的飞行高度,制造商也只是根据磁头读取的信号强度来推算磁头飞行高

度。

CE(206)底层数据写入出错率 Write Error Rate

CE(206)最小擦写次数 Erase Count Min(Indilinx芯片) CF(207)主轴过电流 Spin High Current

数据值记录了主轴电机运行时出现浪涌电流的次数,数据量的增加意味着轴承或电机可能有问题。

CF(207)最大擦写次数 Erase Count Max(Indilinx芯片) D0(208)主轴电机重启次数 Spin Buzz

数据值记录了主轴电机反复尝试启动的次数,这通常是由于电源供电不足引起的。 D0(208)平均擦写次数Erase Count Average(Indilinx芯片) D1(209)脱机寻道性能 Offline Seek Performance

这一项表示驱动器在脱机状态下的寻道性能,通常用于工厂内部测试。 D1(209)剩余寿命百分比 Remaining Life %(Indilinx芯片) D2(210)斜坡加载值 Ramp Load Value

这一项仅见于几年前迈拓制造的部分硬盘。通常数据值为0,意义不明。 D2(210)坏块管理错误日志 BBM Error Log(Indilinx芯片) D3(211)写入时振动 Vibration During Write 写入数据时受到受到外部振动的记录。

D3(211)SATA主机接口CRC写入错误计数 SATA Error Count CRC (Write)(Indilinx芯片)

D4(212)写入时冲击 Shock During Write 写入数据时受到受到外部机械冲击的记录。

D4(212)SATA主机接口读取错误计数 SATA Error Count Count CRC (Read)(Indilinx芯片)

DC(220)盘片偏移量 Disk Shift

硬盘中的盘片相对主轴的偏移量(通常是受外力冲击或温度变化所致),单位未知,数据值越小越好。

DD(221)冲击错误率 G-sense error rate

与(BF)相同,数据值记录了硬盘受到外部机械冲击或振动导致出错的频度。 DE(222)磁头寻道时间累计 Loaded Hours

磁头臂组件运行的小时数,即寻道电机运行时间累计。 DF(223)磁头加载/卸载重试计数 Load/Unload Retry Count

这一项与(C1)项类似,数据值累积了磁头尝试重新加载/卸载的次数。 E0(224)磁头阻力 Load Friction 磁头工作时受到的机械部件的阻力。 E1(225)主机写入数据量 Host Writes

由于闪存的擦写次数是有限的,所以这项是固态硬盘特有的统计。Intel的SSD是每当向硬盘写入了65536个扇区,这一项的数据就+1。如果用HDTune等软件查看SMART时可以自己计算,Intel SSD Toolbox已经为你算好了,直接就显示了曾向SSD中写入过的数据量。

E2(226)磁头加载时间累计 Load 'In'-time

磁头组件运行时间的累积数,即磁头臂不在停靠区的时间,与(DE)项相似。 E3(227)扭矩放大计数 Torque Amplification Count

主轴电机试图提高扭矩来补偿盘片转速变化的次数。当主轴轴承存在问题时,主轴电机会尝试增加驱动力使盘片稳定旋转。这个参数的当前值下降,说明硬盘的机械子系统出现了严重的问题。

E4(228)断电返回计数 Power-Off Retract Cycle

数据值累计了磁头因设备意外断电而自动返回的次数,与(C0)项相似。 E6(230)GMR磁头振幅 GMR Head Amplitude 磁头“抖动”,即正向/反向往复运动的距离。 E7(231)温度 Temperature

温度的数据值直接表示了硬盘内部的当前温度,与(C2)项相同。 E7(231)剩余寿命 SSD Life Left

剩余寿命是基于P/E周期与可用的备用块作出的预测。新硬盘为100;10表示PE周期已到设计值,但尚有足够的保留块;0表示保留块不足,硬盘将处于只读方式以便备份数据。

E8(232)寿命余量 Endurance Remaining

寿命余量是指硬盘已擦写次数与设计最大可擦写次数的百分比,与(CA)项相似。 E8(232)预留空间剩余量 Available Reserved Space(Intel芯片)

对于Intel的SSD来说,前边05项提到会保留一些容量来准备替换损坏的存储单元,所以可用的预留空间数非常重要。当保留的空间用尽,再出现损坏的单元就将出现

数据丢失,这个SSD的寿命就结束了。所以仅看05项意义并不大,这一项才最重要。这项参数可以看当前值,新的SSD里所有的预留空间都在,所以是100。随着预留空间的消耗,当前值将不断下降,减小到接近临界值(一般是10)时,就说明只剩下10%的预留空间了,SSD的寿命将要结束。这个与(B4)项相似。 E9(233)通电时间累计 Power-On Hours 对于普通硬盘来说,这一项与(09)相同。

E9(233)介质磨耗指数 Media Wareout Indicator(Intel芯片)

由于固态硬盘的擦写次数是有限的,当到达一定次数的时候,就会出现大量的单元同时损坏,这时候预留空间也顶不住了,所以这项参数实际上表示的是硬盘设计寿命。Intel的SSD要看当前值,随着NAND的平均擦写次数从0增长到最大的设计值,这一参数的当前值从开始的100逐渐下降至1为止。这表示SSD的设计寿命已经终结。当然到达设计寿命也不一定意味着SSD就立即报废,这与闪存芯片的品质有着很大的关系。

注:Total Erase Count全擦写计数是指固态硬盘中所有块的擦写次数的总和,不同规格的NAND芯片以及不同容量的SSD,其最大全擦写次数均有所不同。 F0(240)磁头飞行时间 Head Flying Hours / 传输错误率 Transfer Error Rate(富士通)

磁头位于工作位置的时间。

富士通硬盘表示在数据传输时连接被重置的次数。 F1(241)LBA写入总数 Total LBAs Written LBA写入数的累计。

F1(241)写入剩余寿命 Lifetime Writes from Host

自硬盘启用后主机向硬盘写入的数据总量,以4个字节表示,每写入64GB字节作为一个单位。

F2(242)LBA读取总数 Total LBAs Read

LBA读取数的累计。某些SMART读取工具会显示负的数据值,是因为采用了48位LBA,而不是32位LBA。

F2(242)读取剩余寿命 Lifetime Reads from Host

自硬盘启用后主机从硬盘读取的数据总量,以4个字节表示,每读取64GB字节作为一个单位。

FA(250)读取错误重试率 Read Error Retry Rate 从磁盘上读取时出错的次数。

FE(254)自由坠落保护 Free Fall Protection

现在有些笔记本硬盘具有自由坠落保护功能,当硬盘内置的加速度探测装置检测到硬盘位移时,会立即停止读写操作,将磁头臂复位。这个措施防止了磁头与盘片之间发生摩擦撞击,提高了硬盘的抗震性能。这个参数的数据里记录了这一保护装置动作的次数。

本文来源:https://www.bwwdw.com/article/b7xt.html

Top