專利名稱:磁盤驅(qū)動器的關(guān)鍵事件記錄的制作方法
技術(shù)領(lǐng)域:
總的來說,本申請涉及有助于完成磁盤驅(qū)動器故障的實(shí)時分析而無需主計(jì)算機(jī)介入的關(guān)鍵事件記錄技術(shù)和關(guān)鍵事件,更確切地說,關(guān)鍵事件是磁盤驅(qū)動器工作的情況、差錯和其它有助于磁盤驅(qū)動器故障分析的信息。
背景技術(shù):
磁盤驅(qū)動器是在稱為磁盤的旋轉(zhuǎn)存儲媒質(zhì)上以磁的形式存儲數(shù)字?jǐn)?shù)據(jù)的數(shù)據(jù)存儲裝置?,F(xiàn)代的磁盤驅(qū)動器包括一張或多張涂有可磁化媒質(zhì)并裝在主軸電機(jī)中心上用于以恒定高速進(jìn)行旋轉(zhuǎn)的磁盤。每一盤面分成數(shù)千條緊密封裝的同心圓磁軌,類似樹的年輪。磁軌編號一般從磁盤最外面的磁軌開始,該磁軌為零,隨著越向磁盤中心靠近,磁軌的編號也隨之遞增。每條磁軌還分成若干扇區(qū)與伺服段。扇區(qū)一般是磁盤驅(qū)動器中所存儲信息的最小的可獨(dú)立尋址單位,它通常擁有512字節(jié)的信息和一些用于內(nèi)部驅(qū)動控制與檢測并糾正差錯的附加字節(jié)。這種數(shù)據(jù)結(jié)構(gòu)便于訪問磁盤的任一部分。伺服段是磁軌上特定的磁特征,便于磁頭在磁軌上定位。
一般而言,磁盤驅(qū)動器中的每張磁盤都與兩個用于對扇區(qū)讀寫數(shù)據(jù)(一個靠近磁盤頂面,另一個靠近底面)的磁頭相關(guān)。典型的磁盤驅(qū)動器有二或三張磁盤。這意味著通常在由一組驅(qū)動臂傳送的磁盤驅(qū)動器中有4或6個磁頭。通過將磁頭從由驅(qū)動件驅(qū)動的磁盤的內(nèi)部移向外部(反之亦然)就可存取數(shù)據(jù)。訪問磁盤上扇區(qū)的磁頭在驅(qū)動件上被鎖定在一起。為此,所有的磁頭一起移進(jìn)移出,而且在物理上總是位于同一磁軌號(比如,絕不可以讓一個磁頭位于磁軌0而另一個位軌0而另一個位于磁軌500)。因?yàn)樗械拇蓬^一起移動,所以把所有磁盤上的每條磁軌稱為柱體(cylinder),原因在于這些磁軌由于在空間是上下堆疊的同尺寸圓從而形成一柱體。所以,若磁盤驅(qū)動器有4張磁盤,則通常有8個磁頭,而柱體號680由一組8磁軌組成,在磁軌號680處的每個盤面有一條磁軌。這樣對大多數(shù)用途而言,由于柱體基本上是一組所有磁頭目前都設(shè)置于其上的磁軌,所以磁軌與柱體之間沒多大差別。
與任何數(shù)據(jù)存儲與檢索一樣,數(shù)據(jù)的完整性是關(guān)鍵。由于各種原因,諸如媒質(zhì)缺陷、頭定位不當(dāng)、頭與媒質(zhì)間有外來顆粒、或者邊緣工作的元件,磁盤驅(qū)動器常常會對磁盤差錯地記錄或讀取數(shù)據(jù)。由于諸如預(yù)測即將來臨的磁盤驅(qū)動器故障、磁盤驅(qū)動器測試以及逐步改善磁盤驅(qū)動器等理由,表征磁盤驅(qū)動器的操作參數(shù)是有價(jià)值的;表征不成功的讀寫尤其有用。
磁盤驅(qū)動器在長期正常操作結(jié)束時必然會發(fā)生故障。結(jié)果,要讓相關(guān)的PC系統(tǒng)停下來并調(diào)換磁盤驅(qū)動器。另外,磁盤驅(qū)動器的故障會丟失部分或全部存儲在磁盤驅(qū)動器里的數(shù)據(jù)。盡管可恢復(fù)存儲在故障磁盤驅(qū)動器里的許多數(shù)據(jù),但這種數(shù)據(jù)的恢復(fù)卻是費(fèi)用高且耗時的。
磁盤驅(qū)動器會不可預(yù)測地突然在正常操作期間發(fā)生故障,或由于磁盤驅(qū)動器元件在長期正常操作后逐漸衰變而發(fā)生故障。為此,開發(fā)了本行業(yè)認(rèn)可的“自我監(jiān)測分析與報(bào)告技術(shù)(SMART)”特征。SMART是預(yù)測磁盤驅(qū)動器因其磁盤驅(qū)動元件逐漸衰變而發(fā)生故障的有效工具。SMART實(shí)質(zhì)上是一種獨(dú)立的磁盤驅(qū)動器監(jiān)測系統(tǒng),可測量、記錄和分析磁盤驅(qū)動器的各種操作度量。大部分SMART特征留駐在磁盤驅(qū)動器的固件內(nèi)。為訪問SMART采集的數(shù)據(jù),主機(jī)執(zhí)行磁盤驅(qū)動器接口標(biāo)準(zhǔn)定義的指令數(shù)據(jù)集,這種標(biāo)準(zhǔn)如先進(jìn)技術(shù)附件(ATA)接口標(biāo)準(zhǔn),也稱集成裝置電子(IDE)接口。
然而,主計(jì)算機(jī)要完成大量對由SMART所采集數(shù)據(jù)的解釋。也就是說,主機(jī)要完成諸如檢索SMART數(shù)據(jù)等簡單的操作并完成簡單的比較,而保持更新SMART特征的幾乎所有智能都在磁盤驅(qū)動器固件和控制器自身當(dāng)中。
SMART起初主要為預(yù)測磁盤驅(qū)動器的故障而設(shè)計(jì)和開發(fā)。結(jié)果,由SMART采集的數(shù)據(jù)并不適合對磁盤驅(qū)動器的故障進(jìn)行成功的分析。SMART注重預(yù)測磁盤驅(qū)動器的故障和采集磁盤驅(qū)動器故障前的相關(guān)信息。更具體地說,對于要進(jìn)行成功的故障分析來說,由SMART采集的數(shù)據(jù)還不夠詳細(xì)。對已經(jīng)故障的磁盤驅(qū)動器而言,SMART采集的數(shù)據(jù)不適于分析故障的根源。也就是說,磁盤驅(qū)動器與主計(jì)算機(jī)正常操作時,SMART數(shù)據(jù)對重要的磁盤驅(qū)動器操作事件提供不出完整的歷史。通過理解故障磁盤驅(qū)動器操作的歷史,能更迅速有效地進(jìn)行故障分析。
因此,需要能讓磁盤驅(qū)動器記錄有利于開展磁盤驅(qū)動器故障分析的關(guān)鍵事件的技術(shù)。關(guān)鍵事件是令人感興趣的磁盤驅(qū)動器操作事件、差錯和其它能展示故障前磁盤驅(qū)動器操作歷史的信息。
發(fā)明內(nèi)容
針對這一背景,已開發(fā)出本發(fā)明的一個實(shí)施例。本發(fā)明所描述的一個實(shí)施例監(jiān)測關(guān)鍵事件并把它們作為關(guān)鍵事件記錄存儲于磁盤驅(qū)動器中磁盤上的關(guān)鍵事件記錄存儲區(qū)中。帶數(shù)據(jù)存儲盤的磁盤驅(qū)動器,操作時可接主計(jì)算機(jī)。通過磁盤驅(qū)動器接口在主計(jì)算機(jī)和磁盤驅(qū)動器之間建立數(shù)據(jù)通信。該磁盤驅(qū)動器接口可以是ATA磁盤驅(qū)動器接口。數(shù)據(jù)存儲盤的一部分是關(guān)鍵事件記錄存儲區(qū)??纱_定帶主計(jì)算機(jī)的磁盤驅(qū)動器的通電操作狀態(tài)。然后確定某個無主計(jì)算機(jī)介入的關(guān)鍵事件。該關(guān)鍵事件是與磁盤驅(qū)動器操作相關(guān)的預(yù)定信息。關(guān)鍵事件和關(guān)鍵事件記錄程序的清單存儲在磁盤驅(qū)動器的固件里。將確定的關(guān)鍵事件出現(xiàn)情況存儲在磁盤上的關(guān)鍵事件記錄存儲區(qū)上??稍谠诰€或離線的數(shù)據(jù)采集模式期間監(jiān)測并記錄該關(guān)鍵事件。在離線的數(shù)據(jù)采集模式期間,固件在背景下完成對磁盤驅(qū)動器的離線掃描。然后把確定的關(guān)鍵事件出現(xiàn)情況記錄成關(guān)鍵事件記錄,方法是從磁盤上的關(guān)鍵事件記錄存儲區(qū)中讀取該關(guān)鍵事件記錄;對該關(guān)鍵事件記錄添加確定的關(guān)鍵事件;再把添加后的關(guān)鍵事件記錄存儲到磁盤上的關(guān)鍵事件記錄存儲區(qū)中。通過閱讀下面的詳細(xì)描述并參閱有關(guān)附圖,表征本發(fā)明的種種特征與優(yōu)點(diǎn)將變得明顯。
附圖簡述
圖1是包含本發(fā)明一較佳實(shí)施例的磁盤驅(qū)動器的平面圖,它示出了主要的內(nèi)部元件。
圖2是磁盤驅(qū)動器及其與主計(jì)算機(jī)系統(tǒng)連接的簡化框圖,其中包括特別適用于本發(fā)明的伺服系統(tǒng)。
圖3是根據(jù)本發(fā)明一較佳實(shí)施例的關(guān)鍵事件記錄流程圖。
詳細(xì)描述圖1示出了根據(jù)本發(fā)明一較佳實(shí)施例構(gòu)成的磁盤驅(qū)動器100。磁盤驅(qū)動器100包括將磁盤驅(qū)動器100的各種元件安裝在其上的底板102。所示被部分切去的頂蓋104與底板102共同以普通方式對磁盤驅(qū)動器形成一內(nèi)部的密封環(huán)境。元件包括高速恒定轉(zhuǎn)動一張或多張磁盤108的主軸電機(jī)106。通過使用驅(qū)動件110對磁盤108上的磁軌讀寫信息,該驅(qū)動件110在搜索操作中繞位于磁盤108附近的軸承桿組件112轉(zhuǎn)動。驅(qū)動件110包括多個向磁盤108延伸的驅(qū)動臂114,從每個驅(qū)動臂114伸出的一個或多個彎件116。裝在各彎件116遠(yuǎn)端的是磁頭118,它包括一空氣軸承滑塊,該滑塊使磁頭118緊貼相關(guān)磁盤108的對應(yīng)表面在其上方滑行。
在搜索操作期間,通過使用音圈電機(jī)(VCM)124來控制磁頭118的磁軌位置,音圈電機(jī)124一般包括連接驅(qū)動件110的線圈126和一塊或多塊永磁鐵128,后者建立浸沒線圈126的磁場。對線圈126控制性地施加電流以使永磁鐵128與線圈126之間互相產(chǎn)生磁性作用,從而使線圈126根據(jù)眾所周知的洛倫茲(Lorentz)關(guān)系運(yùn)動。隨著線圈126的移動,驅(qū)動件110繞軸承桿組件112轉(zhuǎn)動,且使磁頭118移動穿過磁盤108的表面。
當(dāng)磁盤驅(qū)動器100在延長時間內(nèi)不使用時,一般使轉(zhuǎn)軸電機(jī)116斷電。驅(qū)動電機(jī)斷電時,磁頭118移到磁盤108內(nèi)徑附近的停放區(qū)120的上方。通過使用驅(qū)動器鎖存結(jié)構(gòu)將磁頭118固定在停放區(qū)120的上方,從而防止當(dāng)磁頭停下來時無意中轉(zhuǎn)動驅(qū)動件110。
彎件130對驅(qū)動件110提供必要的電連接通路,同時允許驅(qū)動件110在操作期間作樞軸運(yùn)動。彎件包括連接磁頭導(dǎo)線(未示出)的印制電路板132;磁頭導(dǎo)線沿驅(qū)動臂114和彎件116布線到磁頭118。印制電路板132一般包括在寫操作期間控制施加給磁頭118的寫電流的電路和在讀操作期間放大由磁頭118產(chǎn)生的讀信號的前置放大器。彎件端接于彎架134,用于通過底板層面102與裝到磁盤驅(qū)動器100底面的磁盤驅(qū)動器印制電路板(未示出)進(jìn)行通信。
現(xiàn)參考圖2,圖中示出了圖1磁盤驅(qū)動器100的功能框圖,總體上示出了留駐在磁盤驅(qū)動器印制電路板上并用于控制磁盤驅(qū)動器100操作的主要功能電路。圖2所示的磁盤驅(qū)動器100操作時連接于主計(jì)算機(jī)140,其中磁盤驅(qū)動器100以普通方式安裝。主計(jì)算機(jī)140與磁盤驅(qū)動控制器142之間設(shè)置了控制通信通路??刂破?42與存儲在控制存儲器(MEM)143和/或固件145里的控制器142的程序一起,對磁盤驅(qū)動器100提供頂級通信和控制。
MEM143可包括隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)和控制器142的其它留駐存儲源。固件145是一般包括在操作時連接控制器142的ROM145中的程序模塊。固件145可用磁盤驅(qū)動器接口144裝入ROM,可像其它軟件模塊一樣分布,還能用微代碼模擬法創(chuàng)建和測試。固件145通常是磁盤驅(qū)動器操作的關(guān)鍵元件,因?yàn)樗c主機(jī)140的控制無關(guān)的磁盤驅(qū)動器操作的軟件程序。
磁盤108以恒定的高速被轉(zhuǎn)軸控制電路148轉(zhuǎn)動,該電路通常利用反電動勢(BEMF)檢測法來使轉(zhuǎn)軸電機(jī)106(圖1)電氣地?fù)Q向。在檢索操作期間,通過對驅(qū)動件110的線圈126施加電流來控制磁頭118的磁軌位置。伺服控制電路150提供這種控制。在搜索操作期間,微處理器142接收有關(guān)磁頭118的速度與加速度的信息,并運(yùn)用該信息和存儲在存儲器143里的模型與伺服控制電路150通信,而伺服控制電路150將對音圈電機(jī)126施加量得到控制的電流,由此使驅(qū)動件110轉(zhuǎn)動。
利用磁盤驅(qū)動器接口144在主計(jì)算機(jī)140和磁盤驅(qū)動器100之間傳送數(shù)據(jù),磁盤驅(qū)動器接口144一般包括便于在主計(jì)算機(jī)140和磁盤驅(qū)動器100之間作高速數(shù)據(jù)傳送的緩沖器。這樣,要寫到磁盤驅(qū)動器100的數(shù)據(jù)就從主計(jì)算機(jī)傳遞到磁盤驅(qū)動器接口144,后再傳到讀/寫通道146,后者對數(shù)據(jù)編碼和串行化,并向磁頭118提供必要的寫電流信號。為檢索先前被磁盤驅(qū)動器100存儲的數(shù)據(jù),由磁頭118產(chǎn)生讀信號并送給讀/寫通道146,后者執(zhí)行解碼和差錯檢測并糾正的操作,并將檢索的數(shù)據(jù)輸出給接口144,用于在以后傳送給主計(jì)算機(jī)140。
通常,磁盤驅(qū)動器接口144是硬件和/或軟件,用于調(diào)節(jié)數(shù)據(jù)傳輸并管理磁盤驅(qū)動器100與主計(jì)算機(jī)140之間的數(shù)據(jù)交換。該磁盤驅(qū)動器接口144包含在磁盤驅(qū)動器100的電子線路中。美國國家標(biāo)準(zhǔn)協(xié)會(ANSI)等標(biāo)準(zhǔn)委員會管理著對接口協(xié)議的采用,利用接口協(xié)議能交替地使用遵循公共標(biāo)準(zhǔn)的任何外圍裝置。固件145的編程遵從磁盤驅(qū)動器的接口協(xié)議。
有各類磁盤驅(qū)動器接口標(biāo)準(zhǔn),如小型計(jì)算機(jī)系統(tǒng)接口(SCSI)、纖維信道-仲裁環(huán)路(FC-AL)、串行存儲結(jié)構(gòu)(SSA)、先進(jìn)技術(shù)附件(ATA)、集成裝置電子線路(IDE)、Compact Flash等。在本發(fā)明的一個實(shí)施例中,把ATA接口標(biāo)準(zhǔn)用作主計(jì)算機(jī)140和磁盤驅(qū)動器100之間的接口。但本領(lǐng)域的技術(shù)人員明白,本發(fā)明的一個實(shí)施例所揭示的范圍與精神,也同樣適用于上述其它類型的磁盤驅(qū)動器接口。
ATA接口是對磁盤驅(qū)動器與主計(jì)算機(jī)之間的接口正式規(guī)定的ANSI標(biāo)準(zhǔn)。ATA標(biāo)準(zhǔn)規(guī)程一般處理在主計(jì)算機(jī)中的母板和磁盤驅(qū)動器中的磁盤控制器之間的電源與數(shù)據(jù)信號的接口。ATA接口主要用于單獨(dú)的主計(jì)算機(jī)場合,且通常支持一個或兩個磁盤驅(qū)動器,通常稱為主要磁盤驅(qū)動器和從屬磁盤驅(qū)動器(或磁盤驅(qū)動器0與1)。
我們知道ATA磁盤驅(qū)動器相當(dāng)可靠,但偶爾會發(fā)生故障。在調(diào)換磁盤驅(qū)動器而同時相關(guān)聯(lián)的主計(jì)算機(jī)也停機(jī)時,磁盤驅(qū)動器的故障會費(fèi)錢且耗時。由于所存儲的數(shù)據(jù)會丟失(除非在磁盤驅(qū)動器故障前馬上備用該磁盤驅(qū)動器),所以代價(jià)也很大。然而,磁盤驅(qū)動器的故障可能可以預(yù)測也可能不可以預(yù)測。不可預(yù)測的磁盤驅(qū)動器的故障是突然出現(xiàn)的不可預(yù)知故障,通常是由功率劇變等不可控制的外界環(huán)境造成的??深A(yù)測的磁盤驅(qū)動器故障是由磁盤驅(qū)動器機(jī)電元件在正常的磁盤驅(qū)動器操作期間的正常磨損與開裂造成的。這表明可以監(jiān)測機(jī)電元件的某些屬性,因而可對可預(yù)測故障進(jìn)行分析。一般而言,機(jī)械元件的故障可以預(yù)測,而且占各類驅(qū)動器故障的60%,盡管有些電子元件在失效前已顯現(xiàn)劣化的跡象。例如,監(jiān)測磁頭滑行高度的劣化可檢測潛在的磁頭碎裂。
為防止由磁盤驅(qū)動器故障造成的這類時間或數(shù)據(jù)的損失,已開發(fā)出一種稱為SMART的可靠性預(yù)測新技術(shù)。SMART是一種可靠性預(yù)測技術(shù),可預(yù)測或預(yù)期磁盤驅(qū)動器一般工作于ATA/IDE與SCSI兩種環(huán)境下的故障。例如,一旦預(yù)期了磁盤驅(qū)動器的故障,SMART將充分注意讓用戶安排調(diào)換磨損的磁盤驅(qū)動器,或讓用戶或系統(tǒng)備份數(shù)據(jù)。原先Compaq計(jì)算機(jī)公司居領(lǐng)先地位的SMART技術(shù),現(xiàn)由世界上頂級的磁盤驅(qū)動器制造商繼續(xù)開發(fā)。
SMART監(jiān)測一系列指示機(jī)電元件故障的屬性。這些屬性是專門為每個獨(dú)立的磁盤驅(qū)動器型號選擇的,因?yàn)楦鞣N型號的驅(qū)動結(jié)構(gòu)彼此不同。即對于一種磁盤驅(qū)動器型號指示故障的屬性與閾值對于另一種型號可能就不是了。SMART雖然不能預(yù)測所有可能的磁盤驅(qū)動器故障,但SMART是一種還在發(fā)展的有助于提高預(yù)測磁盤驅(qū)動器可靠性能力的技術(shù)。因而可根據(jù)各種現(xiàn)場經(jīng)驗(yàn)繼續(xù)改變SMART的屬性和閾值。
SMART產(chǎn)生報(bào)警信號(比如,響應(yīng)SMART“報(bào)告狀態(tài)”的指令),主計(jì)算機(jī)140上的軟件則翻譯該報(bào)警信號。主計(jì)算機(jī)按常規(guī)查詢磁盤驅(qū)動器,以檢查該“報(bào)告狀態(tài)”指令的狀態(tài),若該指令信號即將發(fā)生故障,則主計(jì)算機(jī)就向終端用戶或系統(tǒng)管理員發(fā)出報(bào)警。這樣可安排停機(jī)以備份數(shù)據(jù)和調(diào)換磁盤驅(qū)動器。
SMART技術(shù)的大部分程序駐于磁盤驅(qū)動器固件145內(nèi)。由于磁盤驅(qū)動器與主計(jì)算機(jī)操作時通過ATA磁盤驅(qū)動器接口連接,所以為訪問固件145中由SMART采集的數(shù)據(jù),工程師應(yīng)用一組ATA指令。磁盤驅(qū)動器固件145和/或控制器142執(zhí)行采集和處理SMART數(shù)據(jù)的大部分操作,并把結(jié)果告知主計(jì)算機(jī)140,從而指示磁盤驅(qū)動器的故障是否臨近。
主要為預(yù)測磁盤驅(qū)動器故障而開發(fā)的SMART技術(shù)自開發(fā)以來,已經(jīng)歷了重大改進(jìn)。例如,SMART誤差記錄是SMART的一種延伸,用于向主計(jì)算機(jī)140報(bào)告由磁盤驅(qū)動器100報(bào)告的大多數(shù)新近誤差的記錄。當(dāng)磁盤驅(qū)動器100無法執(zhí)行由主計(jì)算機(jī)140發(fā)出的指令時(如讀或?qū)懼噶?,就產(chǎn)生了誤差。隨后用SMART誤差記錄技術(shù)記錄該誤差。
盡管開發(fā)的SMART用于在磁盤驅(qū)動器100與主計(jì)算機(jī)140操作時預(yù)測磁盤驅(qū)動器的故障,但是開發(fā)的驅(qū)動器自我測試(DST)用于診斷磁盤驅(qū)動器故障的根源或?qū)收洗疟P驅(qū)動器推測的磁盤驅(qū)動器的問題。例如,對所有返回如Seagate等磁盤驅(qū)動器制造商的被推測有故障的磁盤驅(qū)動器中的多大40%用DST進(jìn)行了測試,結(jié)果確定這些為完整操作的磁盤驅(qū)動器。DST對報(bào)告有故障的磁盤驅(qū)動器的操作狀態(tài)進(jìn)行測試,并判斷磁盤驅(qū)動器返回是否有其它原因,諸如病毒污染或軟件差錯。DST作為磁盤驅(qū)動器100的固件145的一部分進(jìn)行存儲。工程師一般對返回的磁盤驅(qū)動器運(yùn)行DST,并用固件145將結(jié)果告知主機(jī),說明磁盤驅(qū)動器是否真有故障。
有兩類DSTDST快速測試和DST強(qiáng)化測試。DST快速測試是一種兩分鐘測試,旨在快速確定驅(qū)動器的操作狀態(tài)。作為測試的一部分,DST快速測試至少讀取磁盤驅(qū)動器的前1.5千兆字節(jié)。與之不同,DST強(qiáng)化測試全面掃描磁盤驅(qū)動器媒質(zhì)。完成DST強(qiáng)化測試所需要的時間取決于磁盤驅(qū)動器的容量,但比完成DST快速測試所需要的時間長得多。
開發(fā)的SMART是一種在磁盤驅(qū)動器正常使用時通過采集和分析磁盤驅(qū)動器的屬性來預(yù)測磁盤驅(qū)動器故障的工具。但是,由SMART采集的數(shù)據(jù)不適合分析有故障的磁盤驅(qū)動器的根源。因?yàn)镾MART是如此注重預(yù)測磁盤驅(qū)動器的故障,所以由SMART采集的數(shù)據(jù)并不包含其它有利于分析磁盤驅(qū)動器故障的相關(guān)有用信息。更具體地說,由SMRT采集的與屬性相關(guān)的數(shù)據(jù),并不包含足以進(jìn)行成功的故障分析所需的細(xì)節(jié),盡管采集的數(shù)據(jù)適合于故障預(yù)測。再者,若這些屬性對故障預(yù)測沒有用,則SMART就不記錄這些對故障分析來說重要的屬性。
例如,預(yù)測磁盤驅(qū)動器故障的SMART一般記錄作為指示磁盤驅(qū)動器可靠性的下列屬性(盡管這些屬性是磁盤驅(qū)動器的專用屬性)的頻度和嚴(yán)度磁頭滑行高度、數(shù)據(jù)處理量的性能、旋轉(zhuǎn)時間、再分配扇區(qū)計(jì)數(shù)、搜索誤差率、搜索時間性能、旋轉(zhuǎn)重試計(jì)數(shù)、驅(qū)動校正重試計(jì)數(shù)等。這些屬性出現(xiàn)的頻度和嚴(yán)度是確定磁盤驅(qū)動器故障的重要標(biāo)準(zhǔn)。但對分析磁盤驅(qū)動器故障的根源而言,進(jìn)行故障分析的工程師要求揭示磁盤驅(qū)動器正常操作時所發(fā)生情況的信息。例如,對了解故障磁盤驅(qū)動器以前的情況而言,事件每次出現(xiàn)的時間標(biāo)記是一大工具。為作說明,SMART可以記錄一個屬性的頻度,即再分配的扇區(qū)計(jì)數(shù)(如在磁盤驅(qū)動器故障之前再分配十次帶特定物理柱體頭扇區(qū)(PCHS)地址的扇區(qū)),但每次出現(xiàn)扇區(qū)再分配時捕獲不合適的信息(比如,在10秒鐘內(nèi)出現(xiàn)的所有十次扇區(qū)再分配與自前一次扇區(qū)再分配起每個第10天的午夜出現(xiàn)的十次扇區(qū)再分配中的每一次相互相對)。詳細(xì)分析磁盤驅(qū)動器的歷史情況,可以確定磁盤驅(qū)動器故障的原因。此外,分析表明,返回的磁盤驅(qū)動器貼錯了標(biāo)記,被發(fā)現(xiàn)的磁盤驅(qū)動器故障是由磁盤驅(qū)動器外的外部裝置引起的。然而,SMART并沒有為用于理解故障磁盤驅(qū)動器反常的信息提供足夠的詳細(xì)情況。另外,SMART可能不會記錄多種類型的事件或差錯,除非每次出現(xiàn)都超出了所建立的最小閾值。因此,可能有許多有助于故障分析的未被記錄的顯著出現(xiàn),因?yàn)槎紱]有達(dá)到SMART的閾值。
此外,SMART不會記錄許多對故障預(yù)測沒有幫助但卻有利于故障分析的事件。例如,SMART不會捕獲諸如將磁盤驅(qū)動器設(shè)定值從主改為從(或0到1)的事件,因?yàn)檫@種事件與確定磁盤驅(qū)動器的可靠性或預(yù)測磁盤驅(qū)動器的故障無關(guān)。一個事件是出現(xiàn)無差錯的磁盤驅(qū)動器操作(比如,成功的扇區(qū)再分配)。另一方面,當(dāng)磁盤驅(qū)動器不能成功執(zhí)行主計(jì)算機(jī)發(fā)出的指令時(比如,由于扇區(qū)再分配失敗而不能對扇區(qū)進(jìn)行寫入),就產(chǎn)生了差錯。
此外,DST并不會提供故障磁盤驅(qū)動器的完整反常情況,雖然它可以提供磁盤驅(qū)動器是良好還是不能驅(qū)動的信息。由于要測試整個磁盤驅(qū)動器媒質(zhì),所以作強(qiáng)化DST得花很長時間,因?yàn)榇疟P驅(qū)動器操作時不記錄任何信息。快速DST的運(yùn)行雖然要求的時間較短,但是測試結(jié)果卻提供了高數(shù)量的差錯否定(即,好的驅(qū)動器被指示為壞驅(qū)動器)。
因此,由于在故障前了解磁盤驅(qū)動器故障前的歷史對進(jìn)行故障分析很重要,又由于對故障的磁盤驅(qū)動器進(jìn)行DST太費(fèi)時且可提供的信息不充分,所以在本發(fā)明的一個實(shí)施例中揭示了關(guān)鍵事件記錄121和確定關(guān)鍵事件記錄的操作。關(guān)鍵事件記錄121包含磁盤驅(qū)動器的歷史信息。在關(guān)鍵事件記錄121中存儲了所有對磁盤驅(qū)動器的故障分析有用的事件、差錯和/或任何磁盤驅(qū)動器的操作信息。關(guān)鍵事件記錄121存儲在磁盤驅(qū)動器100內(nèi)磁盤108上的專用扇區(qū)里。關(guān)鍵事件記錄121被實(shí)時更新,而且記錄操作與主計(jì)算機(jī)的控制無關(guān)。關(guān)鍵事件記錄的操作對用戶是透明的。存儲在關(guān)鍵事件記錄121里的信息主要供工程師作磁盤驅(qū)動器的故障分析,沒有關(guān)鍵事件記錄121的信息,工程師就無法知道磁盤驅(qū)動器在故障前所處的環(huán)境。工程師可用符合ATA接口協(xié)議的訪問指令訪問關(guān)鍵事件記錄121。單憑SMART數(shù)據(jù)判斷故障原因要作大量的推測工作。關(guān)鍵事件記錄能讓工程師得到各磁盤驅(qū)動器的報(bào)告。該報(bào)告將示出磁盤驅(qū)動器在故障前發(fā)生的情況。
表1示出了一個存儲在關(guān)鍵事件記錄里信息的例子。每一行表示一個關(guān)鍵事件記錄的輸入。例如第一輸入表示,對LBA為5dbff6(HEX)且位于R-Theta-Z為1ce4(HEX)-36d8(HEX)-0(HEX)的扇區(qū)的讀操作,在第23個小時3340f9ad(HEX)微秒未獲成功。
以下的表2進(jìn)一步示出了保存關(guān)鍵事件記錄信息的扇區(qū)的結(jié)構(gòu)。如第6行到第17行所示,關(guān)鍵事件記錄121的各個扇區(qū)可保存多達(dá)15個輸入。第1到第5行存儲了涉及15個輸入中第一個輸入的起始號與時間標(biāo)記的信息。表2中所說明的內(nèi)容本領(lǐng)域的技術(shù)人員一般都能明白。
圖3示出了根據(jù)本發(fā)明一實(shí)施例的關(guān)鍵事件記錄操作的流程圖。固件145含有關(guān)鍵事件記錄操作的程序。在操作302中,固件145或控制器142檢查磁盤驅(qū)動器100是否與主計(jì)算機(jī)140操作。實(shí)質(zhì)上,主計(jì)算機(jī)140一通電,磁盤驅(qū)動器100就與主計(jì)算機(jī)140一起操作,主計(jì)算機(jī)140就能通過ATA接口144訪問磁盤驅(qū)動器100。而且在操作302中,確定在線或離線的數(shù)據(jù)采集模式。當(dāng)磁盤驅(qū)動器與向磁盤驅(qū)動器100發(fā)指令的主計(jì)算機(jī)140聯(lián)機(jī)時,就出現(xiàn)在線數(shù)據(jù)采集模式。固件145在檢測到主計(jì)算機(jī)140在一定時間內(nèi)對磁盤驅(qū)動器100不作用時,就確定為離線數(shù)據(jù)采集模式。一旦確定為離線數(shù)據(jù)采集模式之后,固件145就可在不介入主計(jì)算機(jī)的情況下執(zhí)行各種磁盤驅(qū)動器的診斷或其它相關(guān)操作。在離線數(shù)據(jù)采集模式期間,每當(dāng)主計(jì)算機(jī)140向磁盤驅(qū)動器100發(fā)出指令,離線數(shù)據(jù)采集模式就結(jié)束,在線數(shù)據(jù)采集模式便開始。在操作304中,固件145檢查是否出現(xiàn)可記錄的事件或差錯。參考表3顯示并描述了一系列可能的關(guān)鍵事件類型。應(yīng)該理解,表列中的輸入并不全面。也就是說,關(guān)鍵事件記錄中記錄的信息可以是某個事件、差錯或任何有利于理解磁盤驅(qū)動器歷史和開展故障分析的磁盤驅(qū)動器的操作信息,不管這些事件、差錯或其它信息是否在表3中出現(xiàn)。本領(lǐng)域技術(shù)人員一般都明白表3中說明的內(nèi)容。
尤其是,在獨(dú)立的磁盤驅(qū)動器寫鑒定測試(SWAT)或離線掃描期間,固件145可在磁盤驅(qū)動器與主計(jì)算機(jī)140聯(lián)機(jī)操作時執(zhí)行關(guān)鍵事件記錄操作。每當(dāng)主計(jì)算機(jī)145訪問磁盤驅(qū)動器100或?qū)ζ溥M(jìn)行控制時,磁盤驅(qū)動器100就與主計(jì)算機(jī)145聯(lián)機(jī)。一個明顯的在線操作的例子是主計(jì)算機(jī)145向磁盤驅(qū)動器100發(fā)一讀取或?qū)懭胫噶?。SWAT是一種實(shí)質(zhì)上檢查寫到磁盤上的數(shù)據(jù)完整性的系統(tǒng),不管數(shù)據(jù)實(shí)際上是否正確寫入也不管是否寫在磁盤上正確的位置,并把最后讀取的量度存儲起來用于將來測試和診斷磁盤驅(qū)動器100。SWAT的結(jié)果也記錄在關(guān)鍵事件記錄里。另外,固件145還能在與主計(jì)算機(jī)140離機(jī)模式期間啟動并執(zhí)行關(guān)鍵事件記錄操作。
除了表3中的這些表列以外,差錯重試恢復(fù)級是一個令人感興趣的要記錄在關(guān)鍵事件記錄121里的輸入。差錯重試恢復(fù)級測量由磁盤驅(qū)動器產(chǎn)生的重試級,從而訪問磁盤上的扇區(qū)。磁盤驅(qū)動器的配置頁可以是對在關(guān)鍵事件記錄121中記錄有用的信息。對關(guān)鍵事件記錄121的記錄而言,主或從磁盤驅(qū)動器的跨接設(shè)定是另一個期望的輸入。指示固件微代碼更新的代碼更新修正號是對在關(guān)鍵事件記錄121中記錄有用的又一個輸入。
表3及上述所示的一組關(guān)鍵事件記錄輸入是用于本發(fā)明一個實(shí)施例的例子。輸入可根據(jù)磁盤驅(qū)動器的類型或客戶要求而變。關(guān)鍵事件記錄121里的信息可無需主計(jì)算機(jī)介入而進(jìn)行實(shí)時更新。若固件145檢測到表3所示的任何一個關(guān)鍵事件記錄的輸入,則固件145就會通過操作306~310將該輸入記錄到關(guān)鍵事件記錄中。在操作306中,固件145或控制器142讀取存儲在磁盤108上的關(guān)鍵事件記錄121。固件145隨后參考表1-3對上述的關(guān)鍵事件記錄輸入進(jìn)行添加。再將添加后的關(guān)鍵事件記錄存回到磁盤108上。
總之,本發(fā)明一實(shí)施例可以視作一種在磁盤(如300)上記錄關(guān)鍵事件的方法。磁盤驅(qū)動器(如100)操作時可連接主計(jì)算機(jī)(如140)。磁盤驅(qū)動器(如100)有一數(shù)據(jù)存儲盤(如108),數(shù)據(jù)存儲盤的一部分是關(guān)鍵事件記錄存儲區(qū)(如121)。該關(guān)鍵事件記錄方法包含確定磁盤驅(qū)動器與主計(jì)算機(jī)的通電操作狀態(tài)(如302);無需主計(jì)算機(jī)介入而確定關(guān)鍵事件的出現(xiàn)(如304),其中該關(guān)鍵事件是與磁盤驅(qū)動器操作(如表3)相關(guān)的預(yù)定信息;以及把確定的關(guān)鍵事件記錄到磁盤上的關(guān)鍵事件記錄存儲區(qū)(如306~310)。根據(jù)主計(jì)算機(jī)與磁盤驅(qū)動器之間是否已通過磁盤驅(qū)動器接口建立了數(shù)據(jù)通信路徑,確定磁盤驅(qū)動器與主計(jì)算機(jī)的通電操作。該磁盤驅(qū)動器的接口可以是ATA磁盤驅(qū)動器接口。一組關(guān)鍵事件預(yù)定后存入磁盤驅(qū)動器的固件里(如145和表3)。
該關(guān)鍵事件記錄方法還包含確定在線或離線數(shù)據(jù)采集模式和監(jiān)測其中一個預(yù)定關(guān)鍵事件的出現(xiàn)(如302)。若檢測到為離線數(shù)據(jù)采集模式,則對該磁盤驅(qū)動器執(zhí)行離線掃描并監(jiān)測其中一個預(yù)定關(guān)鍵事件的出現(xiàn)(如302)。
然后,執(zhí)行以下步驟把確定的關(guān)鍵事件記錄到磁盤上的關(guān)鍵事件記錄(如300)第一,從磁盤上的關(guān)鍵事件記錄存儲器讀取關(guān)鍵事件記錄(如306);第二,將確定的關(guān)鍵事件添加到讀出關(guān)鍵事件記錄中(如308);第三,將添加后的關(guān)鍵事件記錄存入磁盤上的關(guān)鍵事件記錄存儲區(qū)中(如310)。
顯然,本發(fā)明非常適合獲得上述的結(jié)果和優(yōu)點(diǎn)。盡管作為揭示目的描述了一較佳實(shí)施例,但可在本發(fā)明范圍內(nèi)作出各種變化與修改。本領(lǐng)域的技術(shù)人員自己可容易地提出各種其它變化并包含在所附權(quán)利要求所揭示和限定的本發(fā)明精神內(nèi)。
權(quán)利要求
1.一種操作時可接主計(jì)算機(jī)的磁盤驅(qū)動器,其中該磁盤驅(qū)動器有一數(shù)據(jù)存儲盤,數(shù)據(jù)存儲盤的一部分是關(guān)鍵事件記錄存儲區(qū),所述磁盤驅(qū)動器包括關(guān)鍵事件記錄模塊在磁盤驅(qū)動器與主計(jì)算機(jī)之間提供數(shù)據(jù)通信路徑的磁盤驅(qū)動器接口;以及存儲操作時連接關(guān)鍵事件記錄存儲區(qū)和磁盤驅(qū)動器接口的關(guān)鍵事件記錄模塊的固件。
2.如權(quán)利要求1所述的磁盤驅(qū)動器,其特征在于,磁盤驅(qū)動器接口是ATA磁盤驅(qū)動器接口。
3.如權(quán)利要求1所述的磁盤驅(qū)動器,其特征在于,關(guān)鍵事件記錄模塊包括磁盤驅(qū)動器操作狀態(tài)確定模塊,用于確定磁盤驅(qū)動器與主計(jì)算機(jī)的通電操作狀態(tài);和關(guān)鍵事件確定模塊,用于在主計(jì)算機(jī)不介入的情況下確定關(guān)鍵事件的出現(xiàn),其中,關(guān)鍵事件是有關(guān)磁盤驅(qū)動器操作的預(yù)定信息,其中,關(guān)鍵事件記錄模塊把確定的關(guān)鍵事件存儲到磁盤上的關(guān)鍵事件記錄存儲區(qū)中。
4.如權(quán)利要求3所述的磁盤驅(qū)動器,其特征在于,磁盤驅(qū)動器操作狀態(tài)確定模塊判斷主計(jì)算機(jī)與磁盤驅(qū)動器之間是否已通過磁盤驅(qū)動器接口建立了數(shù)據(jù)通信。
5.如權(quán)利要求4所述的磁盤驅(qū)動器,其特征在于,在磁盤驅(qū)動器的固件中預(yù)先規(guī)定并存入一組關(guān)鍵事件。
6.如權(quán)利要求5所述的磁盤驅(qū)動器,其特征在于,關(guān)鍵事件確定模塊還監(jiān)測在在線數(shù)據(jù)采集模式期間某個預(yù)定關(guān)鍵事件的出現(xiàn)。
7.如權(quán)利要求6所述的磁盤驅(qū)動器,其特征在于,關(guān)鍵事件記錄模塊從磁盤上的關(guān)鍵事件記錄存儲區(qū)讀取關(guān)鍵事件記錄;把確定的關(guān)鍵事件添加到讀出的關(guān)鍵事件記錄里;并把添加后的關(guān)鍵事件記錄存儲到磁盤上的關(guān)鍵事件記錄存儲區(qū)中。
8.如權(quán)利要求5所述的磁盤驅(qū)動器,其特征在于,確定關(guān)鍵事件出現(xiàn)的裝置監(jiān)測離線數(shù)據(jù)采集模式,一旦檢測到離線數(shù)據(jù)采集模式就對磁盤驅(qū)動器作離線掃描,并監(jiān)測某個預(yù)定關(guān)鍵事件的出現(xiàn)。
9.如權(quán)利要求8所述的磁盤驅(qū)動器,其特征在于,關(guān)鍵事件記錄模塊從磁盤上的關(guān)鍵事件記錄存儲區(qū)讀取關(guān)鍵事件記錄;將確定的關(guān)鍵事件添加到所讀取的關(guān)鍵事件記錄中;并將添加后的關(guān)鍵事件記錄存入磁盤上的關(guān)鍵事件記錄存儲區(qū)中。
10.在操作時可連接主計(jì)算機(jī)的磁盤驅(qū)動器中一種記錄關(guān)鍵事件的方法,其中所述磁盤驅(qū)動器有一數(shù)據(jù)存儲盤,該盤的一部分是一關(guān)鍵事件記錄存儲區(qū),所述方法包括步驟(a)確定磁盤驅(qū)動器與主計(jì)算機(jī)的通電操作狀態(tài),包括判斷主計(jì)算機(jī)與磁盤驅(qū)動器之間是否已通過磁盤驅(qū)動器接口建立了數(shù)據(jù)通信路徑;(b)在主計(jì)算機(jī)不介入的情況下確定關(guān)鍵事件的出現(xiàn),其中所述關(guān)鍵事件是一有關(guān)磁盤驅(qū)動器操作的預(yù)定信息,而一組關(guān)鍵事件被預(yù)先規(guī)定并存入磁盤驅(qū)動器的固件中;和(c)從磁盤上的關(guān)鍵事件記錄存儲區(qū)讀取關(guān)鍵事件記錄;(d)把確定的關(guān)鍵事件添加到讀出的關(guān)鍵事件記錄里;和(e)把添加后的關(guān)鍵事件記錄存儲到磁盤上的關(guān)鍵事件記錄存儲區(qū)中。
全文摘要
揭示了一種在磁盤驅(qū)動器中磁盤上的關(guān)鍵事件記錄存儲區(qū)中記錄關(guān)鍵事件的設(shè)備、模塊、裝置和計(jì)算機(jī)可讀媒質(zhì)及方法。具有數(shù)據(jù)存儲盤的磁盤驅(qū)動器在操作時可連接主計(jì)算機(jī)。主計(jì)算機(jī)與磁盤驅(qū)動器之間通過磁盤驅(qū)動器接口建立數(shù)據(jù)通信。磁盤驅(qū)動器接口可以是ATA磁盤驅(qū)動器接口。確定磁盤驅(qū)動器與主計(jì)算機(jī)的通電操作狀態(tài)。然后在無主計(jì)算機(jī)介入的情況下確定關(guān)鍵事件。預(yù)先規(guī)定一組關(guān)鍵事件后存入磁盤驅(qū)動器的固件里。關(guān)鍵事件可在在線或離線數(shù)據(jù)采集模式期間進(jìn)行監(jiān)測和記錄。在離線數(shù)據(jù)采集模式期間,固件在該背景下對磁盤驅(qū)動器進(jìn)行離線掃描。將確定的關(guān)鍵事件記錄到關(guān)鍵事件記錄的方法是從磁盤上關(guān)鍵事件記錄存儲區(qū)里讀取關(guān)鍵事件記錄;把確定的關(guān)鍵事件添加到關(guān)鍵事件記錄里;再把添加后的關(guān)鍵事件記錄存儲到磁盤上的關(guān)鍵事件記錄存儲區(qū)里。
文檔編號G11B20/12GK1466760SQ01816570
公開日2004年1月7日 申請日期2001年6月25日 優(yōu)先權(quán)日2000年9月28日
發(fā)明者T·R·蘭妮, J·A·赫博斯特, J·W·海尼斯, T R 蘭妮, 海尼斯, 赫博斯特 申請人:西加特技術(shù)有限責(zé)任公司