S.M.A.R.T.,全稱為“Self-Monitoring Analysis and Reporting Technology”,即“自我監(jiān)測、分析及報(bào)告技術(shù)”。是一種自動(dòng)的硬盤狀態(tài)檢測與預(yù)警系統(tǒng)和規(guī)范。通過在硬盤硬件內(nèi)的檢測指令對(duì)硬盤的硬件如磁頭、盤片、馬達(dá)、電路的運(yùn)行情況進(jìn)行監(jiān)控、記錄并與廠商所設(shè)定的預(yù)設(shè)安全值進(jìn)行比較,若監(jiān)控情況將或已超出預(yù)設(shè)安全值的安全范圍,就可以通過主機(jī)的監(jiān)控硬件或軟件自動(dòng)向用戶作出警告并進(jìn)行輕微的自動(dòng)修復(fù),以提前保障硬盤數(shù)據(jù)的安全。除一些出廠時(shí)間極早的硬盤外,現(xiàn)在大部分硬盤均配備該項(xiàng)技術(shù)。
rgb(255,255,255); white-space: normal; position: relative; text-transform: none; word-spacing: 0px; zoom: 1; color: rgb(51,51,51); padding-bottom: 0px; padding-top: 0px; font: 500 24px/22px 'Microsoft YaHei', SimHei, Verdana; padding-left: 0px; clear: both; margin: 35px 0px 15px -30px; border-left: rgb(79,156,238) 12px solid; widows: 1; display: block; letter-spacing: normal; padding-right: 0px; text-indent: 0px; -webkit-text-stroke-width: 0px">基本信息
abel-module="para" style="word-wrap: break-word; margin-bottom: 15px; white-space: normal; text-transform: none; word-spacing: 0px; zoom: 1; color: rgb(51,51,51); font: 14px/24px arial, 宋體, sans-serif; widows: 1; letter-spacing: normal; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">S.M.A.R.T.(自監(jiān)測、分析、報(bào)告技術(shù)):這是現(xiàn)在硬盤普遍采用的數(shù)據(jù)安全技術(shù),在硬盤工作的時(shí)候監(jiān)測系統(tǒng)對(duì)電機(jī)、電路、磁盤、磁頭的狀態(tài)進(jìn)行分析,當(dāng)有異常發(fā)生的時(shí)候就會(huì)發(fā)出警告,有的還會(huì)自動(dòng)降速并備份數(shù)據(jù)。
早在上個(gè)世紀(jì)九十年代,人們就意識(shí)到數(shù)據(jù)的寶貴性勝于硬盤自身價(jià)值,渴望有種技術(shù)能對(duì)硬盤故障進(jìn)行預(yù)測并實(shí)現(xiàn)相對(duì)安全的數(shù)據(jù)保護(hù),因此S.M.A.R.T技術(shù)應(yīng)運(yùn)而生。目前,大多數(shù)硬盤的平均無故障時(shí)間(MTBF)一般在30000小時(shí)以上,有些高端產(chǎn)品可達(dá)120萬小時(shí)。但是對(duì)于不少用戶,特別是商業(yè)用戶而言,一次普通的硬盤故障便足以造成災(zāi)難性后果,所以時(shí)至今日,S.M.A.R.T技術(shù)仍為我們所用。
ist" style="white-space: normal; position: relative; text-transform: none; word-spacing: 0px; color: rgb(51,51,51); font: 12px/18px arial, 宋體, sans-serif; widows: 1; letter-spacing: normal; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">
簡介
并融合了Compaq公司的IntelliSafe診斷技術(shù)和IBM的PFA檢測技術(shù)特點(diǎn)。
1995年5月,Compaq公司向Small Form Factor(SFF)委員會(huì)提交了IntelliSafe的技術(shù)標(biāo)準(zhǔn)報(bào)告(SFF-8035i);1996年1月進(jìn)行1.0版的修正(SFF-8035R2);1996年6月進(jìn)行了1.3版的修正(SFF-8055),并聯(lián)合IBM等公司向SFF正式申請(qǐng)將IntelliSafe技術(shù)加入到ATA-3的行業(yè)標(biāo)準(zhǔn)中,正式更名為S.M.A.R.T
作為行業(yè)標(biāo)準(zhǔn),S.M.A.R.T規(guī)定了硬盤制造廠商應(yīng)遵循的標(biāo)準(zhǔn)。滿足S.M.A.R.T標(biāo)準(zhǔn)的條件主要包括:在設(shè)備制造期間完成S.M.A.R.T需要的各項(xiàng)參數(shù)、屬性的設(shè)定;在特定系統(tǒng)平臺(tái)下,能夠正常使用S.M.A.R.T;通過BIOS檢測,能夠識(shí)別設(shè)備是否支持S.M.A.R.T并可顯示相關(guān)信息,而且能辨別有效和失效的S.M.A.R.T信息;允許用戶自由開啟和關(guān)閉S.M.A.R.T功能;在用戶使用過程中,能提供S.M.A.R.T的各項(xiàng)有效信息,確定設(shè)備的工作狀態(tài),并能發(fā)出相應(yīng)的修正指令或警告。在硬盤以及操作系統(tǒng)都支持S.M.A.R.T.技術(shù)并且該技術(shù)默認(rèn)開啟的的情況下,在不良狀態(tài)出現(xiàn)時(shí)S.M.A.R.T.技術(shù)能夠在屏幕上顯示英文警告信息:“WARNING:IMMEDIATLY BACKUP YOUR DATA AND REPLACE YOUR HARD DISK DRIVE,A FAILURE MAY BE IMMINENT.” (警告:立刻備份你的數(shù)據(jù)同時(shí)更換硬盤驅(qū)動(dòng)器,可能有錯(cuò)誤出現(xiàn)。)
如何工作
S.M.A.R.T信息保留在硬盤的系統(tǒng)保留區(qū)(service area)內(nèi),這個(gè)區(qū)域一般位于硬盤0物理面的最前面幾十個(gè)物理磁道,由廠商寫入相關(guān)內(nèi)部管理程序。除了S.M.A.R.T信息表外還包括低級(jí)格式化程序、加密解密程序、自監(jiān)控程序、自動(dòng)修復(fù)程序等。監(jiān)測軟件通過一個(gè)名為“SMART RETURN STATUS”的命令(命令代碼為:B0h)對(duì)S.M.A.R.T信息進(jìn)行讀取,且不允許最終用戶對(duì)信息進(jìn)行修改。
由何組成
S.M.A.R.T標(biāo)準(zhǔn)中采用二進(jìn)制代碼作為S.M.A.R.T的基本指令,并規(guī)定寫入標(biāo)準(zhǔn)的寄存器中,形成特定的S.M.A.R.T信息表,以供正常檢測和運(yùn)行。S.M.A.R.T指令分主指令(Command)和次指令(Subcommands)。主指令主要提供設(shè)備是否支持S.M.A.R.T或忽略某一次指令特征的信息。而次指令則提供支持S.M.A.R.T設(shè)備的檢測信息。這些指令主要由設(shè)備廠商寫入,一些專業(yè)硬盤維修軟件可以通過這些代碼進(jìn)行設(shè)備的檢測。
檢測屬性
S.M.A.R.T技術(shù)的原理是通過偵測硬盤各屬性,如數(shù)據(jù)吞吐性能、馬達(dá)起動(dòng)時(shí)間、
尋道錯(cuò)誤率等屬性值和標(biāo)準(zhǔn)值進(jìn)行比較分析,推斷硬盤的故障情況并給出提示信息,幫助用戶避免數(shù)據(jù)損失。S.M.A.R.T因此規(guī)定了專門的檢測參數(shù),由于硬盤結(jié)構(gòu)、性能和定位上的不同,除了ATA-3標(biāo)準(zhǔn)規(guī)定的參數(shù)外,廠商可以根據(jù)自己產(chǎn)品的特性提供不同的S.M.A.R.T檢測參數(shù)。普通用戶則可以通過常用的系統(tǒng)工具(如AIDA32)來查看,并通過這些參數(shù)了解硬盤的“健康”狀況。
ID檢測代碼
ID檢測代碼不是唯一的,廠商可以根據(jù)需要,使用不同的ID代碼或根據(jù)檢測參數(shù)的多少增減ID代碼的數(shù)量。例如,西數(shù)公司的產(chǎn)品ID檢測代碼為“04”,檢測的參數(shù)是Start/Stop Count(加電次數(shù)),而富士通公司同樣代碼的檢測參數(shù)卻為“Number of times the spindle motor is activated”(電機(jī)激活時(shí)間)。
屬性描述
(Attribute Description)
屬性描述(Attribute Description)即檢測項(xiàng)目名稱??捎蓮S商自定義增減,由于ATA標(biāo)準(zhǔn)不斷更新,有時(shí)候同一品牌的不同型號(hào)產(chǎn)品也會(huì)有所不同。但必須確保S.M.A.R.T規(guī)定的幾個(gè)主要檢測項(xiàng)目(雖然不同廠商對(duì)檢測項(xiàng)目都有特定的命名規(guī)則,但這些監(jiān)測項(xiàng)目的實(shí)質(zhì)其實(shí)是一樣的)。
Read Error Rate 錯(cuò)誤讀取率
Start/Stop Count 啟動(dòng)/停止次數(shù)(又稱加電次數(shù))
Relocated Sector Count 重新分配扇區(qū)數(shù)
Spin up Retry Count 旋轉(zhuǎn)重試次數(shù)(即硬盤啟動(dòng)重試次數(shù))
Drive Calibration Retry Count 磁盤校準(zhǔn)重試次數(shù)
ULTRA DMA CRC Error Rate (ULTRA DMA奇偶校驗(yàn)錯(cuò)誤率)
Multi-zone Error Rate 多區(qū)域錯(cuò)誤率
Vendor-specific 廠商特性
需要注意的是,不同廠商、不同類型產(chǎn)品的屬性描述不盡相同。對(duì)用戶而言,無須深入了解它們的具體含義,只需了解屬性監(jiān)測值的含義即可。
閾值
(Threshold)
又稱門限值。是由硬盤廠商指定的可靠的屬性值,通過特定公式計(jì)算而得。如果有一個(gè)屬性值低于相應(yīng)的閾值,就意味著硬盤將變得不可靠,保存在硬盤里的數(shù)據(jù)也很容易丟失??煽繉傩灾档慕M成和大小對(duì)不同硬盤來說是有差異的。這里需要注意的是,ATA標(biāo)準(zhǔn)中只規(guī)定了一些S.M.A.R.T參數(shù),它沒有規(guī)定具體的數(shù)值,“Threshold”的數(shù)值是廠商根據(jù)自己產(chǎn)品特性而確定的。因此,用廠商自己提供的檢測軟件往往會(huì)跟Windows下的檢測軟件(例如AIDA32)的檢測結(jié)果有較大出入。這里,我們推薦以廠商軟件的檢測結(jié)果為標(biāo)準(zhǔn),因?yàn)閃indows環(huán)境下,系統(tǒng)要求硬盤的啟動(dòng)程序比DOS下多得多,這可能導(dǎo)致硬盤S.M.A.R.T值比DOS環(huán)境下檢測的波動(dòng)更大。以參數(shù)Raw ErrorRate(錯(cuò)誤讀取率)為例:該參數(shù)的計(jì)算公式為10×log10(主機(jī)和硬盤之間所傳輸數(shù)據(jù)的扇區(qū)數(shù))×512×8/重讀的扇區(qū)數(shù)。其中 “512×8”是把扇區(qū)數(shù)轉(zhuǎn)化為所傳輸?shù)臄?shù)據(jù)位(bits),這個(gè)值只在所傳輸?shù)臄?shù)據(jù)位處于10^10~10^12范圍時(shí)才作計(jì)算,而當(dāng)Windows系統(tǒng)啟動(dòng)后,主機(jī)和硬盤之間所傳輸?shù)臄?shù)據(jù)扇區(qū)大于或等于10^12時(shí),此值將重新復(fù)位。這就是為什么有些值在不同的操作環(huán)境、不同檢測程序下時(shí)波動(dòng)較大的原因。
屬性值
(Attribute value)
屬性值是指硬盤出廠時(shí)預(yù)設(shè)的最大正常值,一般范圍為1~253。通常,最大的屬性值等于100(適用于IBM、昆騰、富士通)或253(適用于三星)。當(dāng)然,也有例外的時(shí)候,比如由西部數(shù)據(jù)公司生產(chǎn)的部分型號(hào)硬盤,就用了兩個(gè)不同的屬性值,最初生產(chǎn)時(shí)屬性值設(shè)為200,但后來生產(chǎn)的硬盤屬性值又改為100。
最大出錯(cuò)值
(Worst)
最大出錯(cuò)值是硬盤運(yùn)行中曾出現(xiàn)過的最大的非正常值。它是對(duì)硬盤累計(jì)運(yùn)行的計(jì)算值,根據(jù)運(yùn)行周期,該數(shù)值會(huì)不斷地刷新,并且會(huì)非常接近閾值。S.M.A.R.T分析和判定硬盤的狀態(tài)是否正常,就是根據(jù)這個(gè)數(shù)值和閾值的比較結(jié)果而定。新硬盤開始時(shí)有最大的屬性值,但隨著日常使用或出現(xiàn)錯(cuò)誤,該值會(huì)不斷減小。因此,較大的屬性值意味著硬盤質(zhì)量較好而且可靠性較高,而較小的屬性值則意味著故障發(fā)生的可能性增大。
實(shí)際值
(Date)
是硬盤各檢測項(xiàng)目運(yùn)行中的實(shí)際數(shù)值,很多項(xiàng)目是累計(jì)值。例如:圖3中的Start/Stop Count(啟停次數(shù)),累計(jì)的實(shí)際值是436,即該硬盤從開始到現(xiàn)在累計(jì)加電啟停436次。
屬性狀態(tài)
(Status)
這是S.M.A.R.T針對(duì)前面的各項(xiàng)屬性值進(jìn)行比較分析后,提供的硬盤各屬性目前的狀態(tài),也是我們直觀判斷硬盤“健康”狀態(tài)的重要信息。根據(jù)S.M.A.R.T的規(guī)定,這種狀態(tài)一般有正常、警告和報(bào)告故障或錯(cuò)誤等3種狀態(tài)。S.M.A.R.T判定出這3個(gè)狀態(tài)與S.M.A.R.T的 Pre-failure/advisory BIT(預(yù)知錯(cuò)誤/發(fā)現(xiàn)位)參數(shù)的賦值密切相關(guān)。
當(dāng)Pre-failure/advisory BIT=0,并且可靠屬性值遠(yuǎn)大于閾值的情況下,為正常提示“OK”標(biāo)志。當(dāng)Pre-failure/advisory BITt=0,并且可靠屬性值大于閾值但接近閾值臨界值時(shí),為警告提示“!”標(biāo)志;當(dāng)Pre-failure/advisory BITt=1,并且可靠屬性值小于閾值時(shí),為報(bào)告故障或錯(cuò)誤提示“!!!”標(biāo)志。
在圖2中,我們發(fā)現(xiàn)出現(xiàn)“OK”標(biāo)志的正常狀態(tài)下有“值正常”(Value is Normal)和“總是略過”(Always Passing)兩個(gè)狀態(tài)說明。它們的區(qū)別是:“值正常”表明此項(xiàng)S.M.A.R.T值是正常的,硬盤沒有故障;“永遠(yuǎn)略過”則表明此項(xiàng)只是某參數(shù)的記錄,沒有合格與不合格的標(biāo)準(zhǔn),如“Power on time count”,這個(gè)參數(shù)只是記錄了硬盤已經(jīng)加電工作的時(shí)間,這個(gè)參數(shù)應(yīng)當(dāng)永遠(yuǎn)合格,它不用來衡量硬盤的性能,因此顯示為“OK:Value is Normal”。
下面我們以ID為“04”的Start/Stop Count(加電次數(shù))檢測參數(shù)為例,完整地來理解這7列參數(shù)的意義:從圖2中我們看到此參數(shù)規(guī)定的屬性正常值(Attribute value)為“100”,這個(gè)正常值是通過計(jì)算公式:“100-硬盤正常使用壽命期間的加電次數(shù)/1024”而給出的。而最大出錯(cuò)值是硬盤運(yùn)行的累計(jì)計(jì)算值。例如如果是新硬盤,則加電次數(shù)為0,因此為100-0/1024=100,最大出錯(cuò)值=屬性正常值。隨著加電次數(shù)的增加,該最大出錯(cuò)值不斷變化。廠商規(guī)定的閾值為20,即當(dāng)硬盤的開關(guān)電次數(shù)達(dá)到81920次時(shí)(100-81920/1024=20),最大出錯(cuò)值=閾值,系統(tǒng)就會(huì)提示用戶備份數(shù)據(jù)。因此,加電次數(shù)在81920次范圍之內(nèi),并且最大出錯(cuò)值始終大于閾值20的狀態(tài)下,均為正常。圖中的加電次數(shù)(Date實(shí)際值)為107次,因此最大出錯(cuò)值近似為100,狀態(tài)顯示為“OK:Value is Normal(值正常)”。需要特別注意的是:每一個(gè)參數(shù)所給出的值都是經(jīng)過一些特定的計(jì)算公式而給出的。作為用戶,只要觀察“Worst”和“Threshold”值的關(guān)系,并注意狀態(tài)提示屬性狀態(tài)信息即可大致了解硬盤的健康狀況。
在非ATA平臺(tái)上的實(shí)現(xiàn)
SCSI
由于目前硬盤領(lǐng)域存在ATA和SCSI兩種標(biāo)準(zhǔn),所以不可否認(rèn),S.M.A.R.T技術(shù)是同時(shí)支持這兩個(gè)系列的產(chǎn)品的,只是在一些參數(shù)設(shè)定上存在一些差異,在關(guān)鍵參數(shù)上SCSI比ATA硬盤更為復(fù)雜。但在實(shí)際運(yùn)作中,由于用戶和使用環(huán)境不同,S.M.A.R.T對(duì)ATA/IDE系統(tǒng)的干預(yù)比SCSI系統(tǒng)要多一些,而對(duì)SCSI故障的判定更為專業(yè)和準(zhǔn)確些。SCSI硬盤的S.M.A.R.T技術(shù)與ATA硬盤的S.M.A.R.T技術(shù)相比更為復(fù)雜,以下僅列舉SCSI硬盤所特有參數(shù)中的一部分。
PrimaryTemp:硬盤盤體的工作溫度
Secondary Temp:PCB板周圍的工作溫度
Min and Max Temp:在一段時(shí)間內(nèi)硬盤盤體的最高和最低工作溫度
Velocity Observer Count:在一段時(shí)間內(nèi)伺服尋道時(shí)偏離指定磁道的次數(shù)
12V:12V供電電壓值
5V:5V供電電壓值
MR Res:MR磁頭的電阻值
Sectors Read:在一段時(shí)間內(nèi)從硬盤中讀取的扇區(qū)數(shù)
Sectors Written:在一段時(shí)間內(nèi)數(shù)據(jù)寫入硬盤中的扇區(qū)數(shù)
在ATA/IDE環(huán)境下,由主機(jī)上的軟件對(duì)S.M.A.R.T“報(bào)告狀態(tài)”命令生成的、來自硬盤的報(bào)警信號(hào)進(jìn)行解讀。主機(jī)對(duì)硬盤進(jìn)行查詢,以檢查這一命令的狀態(tài),如果顯示馬上要發(fā)生故障,就將告警信號(hào)送至最終用戶或系統(tǒng)管理員。系統(tǒng)管理員就安排關(guān)機(jī)時(shí)間,以備份數(shù)據(jù)和更換硬盤。主系統(tǒng)除對(duì)來自硬盤的“報(bào)告狀態(tài)”命令進(jìn)行評(píng)估外,還可對(duì)屬性和告警報(bào)告進(jìn)行評(píng)估。在SCSI環(huán)境下,S.M.A.R.T則只報(bào)告“狀況完好”或“出現(xiàn)故障”。由硬盤進(jìn)行故障判斷,再由主機(jī)通知用戶采取措施。在SCSI標(biāo)準(zhǔn)中有一個(gè)檢測位,當(dāng)硬盤確定可靠性出現(xiàn)問題時(shí),檢測位就打上標(biāo)記并通知最終用戶或系統(tǒng)管理員,采取相應(yīng)措施。
USB
在USB標(biāo)準(zhǔn)中,USB不能用于計(jì)算機(jī)內(nèi)部儲(chǔ)存設(shè)備的基本總線(如ATA,SCSI等),其本身沒有為S.M.A.R.T.提供傳輸數(shù)據(jù)的途徑。在使用ATA硬盤,以USB為傳輸端口的移動(dòng)硬盤中,即使硬盤內(nèi)S.M.A.R.T.仍然運(yùn)作,但沒辦法直接向系統(tǒng)提供S.M.A.R.T.的數(shù)據(jù)。現(xiàn)在新的移動(dòng)硬盤的內(nèi)部驅(qū)動(dòng)轉(zhuǎn)換電路已經(jīng)能以一些方法將硬盤內(nèi)S.M.A.R.T.的數(shù)據(jù)通過USB傳輸?shù)较到y(tǒng)或監(jiān)控程序中讀取。
內(nèi)容來自百科網(wǎng)