專利名稱:通過動態(tài)帶邊界定義保存硬盤驅(qū)動器數(shù)據(jù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及硬盤驅(qū)動器及其遇到的問題,特別是相鄰磁道干擾,以及解決 這些問題的方法、配置和模塊。
技術(shù)背景在硬盤驅(qū)動器領(lǐng)域中,相鄰磁道干擾(adjacent track interference, ATI)是 個逐步增長的問題。當(dāng)硬盤驅(qū)動器上的特定磁道被寫入很多次(例如,30,000 或更多次)而相鄰磁道沒有被寫入時,這些相鄰磁道上的數(shù)據(jù)可能變壞。這種 持續(xù)的蓋寫(overwrite)導(dǎo)致相鄰磁道上的某些磁通干擾,該干擾將在多次循 環(huán)后累積并4吏相鄰》茲道不可讀。例如,將磁道X認(rèn)為是具有相鄰磁道X+l和X-l。如果在磁道X+l或X-l 也被寫入之前,磁道X被寫入很多次,那么磁道X+l或X-l上的數(shù)據(jù)可能變 壞。這是磁記錄中遇到的證據(jù)充分的相互作用。對該問題的一個看似簡單的解決方案涉及在數(shù)據(jù)可能變壞前向相鄰磁道 寫入數(shù)據(jù)。但是,在決定何時以及如何在這些磁道上重寫數(shù)據(jù)時將變得復(fù)雜。 由于沒有對在任意特定扇區(qū)上的數(shù)據(jù)被訪問了多少次的簡單計數(shù),因此基本上 不能清楚地知道何時會發(fā)生干擾。目前,沒有已知的有效方案使用在硬盤驅(qū)動 器固件層級或者OS/應(yīng)用程序/驅(qū)動器層級上來解決相鄰磁道干擾。因為ATI 的最先確定的跡象是數(shù)據(jù)已變壞,僅在此時保存數(shù)據(jù)就太遲了,并且涉及到的 文件大概已經(jīng)丟失。ATI集中的因素是面密度。隨著面密度增加,包含數(shù)據(jù)的物理區(qū)域增加, 因此增加了代表相對于相鄰磁道的"邊緣,,或"邊界"區(qū)域的區(qū)域的百分比。 由于隨著正在進(jìn)行的技術(shù)發(fā)展,將會持續(xù)地顯著增加磁道數(shù)量,面密度也相應(yīng)在,增加ATI風(fēng)險的潛在性將相應(yīng)地增加。隨著ATI問題已持續(xù)擴(kuò)大,已發(fā)現(xiàn)通常的操作系統(tǒng)程序存在導(dǎo)致對硬盤驅(qū)動器上的特定位置進(jìn)行大量寫入的趨勢。在發(fā)生過量寫入時驅(qū)動器上的數(shù)據(jù)變壞,這經(jīng)常使得系統(tǒng)無法啟動。事實上,由于增加的面密度和os工作負(fù)荷, 該問題正在增長,同時,頻繁地在硬盤驅(qū)動器上存取和更新信息的程序可能導(dǎo)致ATI。 發(fā)明內(nèi)容根據(jù)本發(fā)明的至少一個當(dāng)前的較佳實施例,此處廣泛地設(shè)想了各種新的方 法和系統(tǒng),用于檢測硬盤驅(qū)動器上的帶(磁道組)中的潛在的ATI問題,以及 在數(shù)據(jù)被破壞前擦除這些帶。簡單講,本發(fā)明的一方面提供了一種方法,該方法包括確定硬盤驅(qū)動器 的一區(qū)域中的相鄰磁道干擾潛在性;通過擦除具有確定的相鄰磁道干擾潛在性 的區(qū)域中的數(shù)據(jù)來防止數(shù)據(jù)變壞;所述確定包括對要被擦除數(shù)據(jù)的硬盤驅(qū)動器 的區(qū)域定義限制。本發(fā)明的另一方面提供了一種系統(tǒng),包括處理器;和可由處理器訪問的 存儲器存儲代碼,用于確定硬盤驅(qū)動器的一 區(qū)域中的相鄰磁道干擾潛在性,并 通過擦除具有確定的相鄰磁道干擾潛在性的區(qū)域中的數(shù)據(jù)來防止數(shù)據(jù)變壞;該 確定用于對要被擦除數(shù)據(jù)的硬盤驅(qū)動器的區(qū)域定義限制。此外,本發(fā)明的其他方面提供了一種機(jī)器可讀的程序存儲設(shè)備,有形地體 現(xiàn)機(jī)器可執(zhí)行的指令程序以執(zhí)行動作,該動作包括確定硬盤驅(qū)動器的一區(qū)域 中的相鄰磁道干擾潛在性;通過擦除具有確定的相鄰磁道干擾潛在性的區(qū)域中 的數(shù)據(jù)來防止數(shù)據(jù)變壞;所述確定包括對要被擦除數(shù)據(jù)的硬盤驅(qū)動器的區(qū)域定 義限制。本發(fā)明的其他方面還提供了一種系統(tǒng),包括圖形適配器;處理器;和, 可由處理器訪問的存儲器存儲代碼,用于確定硬盤驅(qū)動器的一區(qū)域中的相鄰磁 道干擾潛在性,并通過擦除具有確定的相鄰磁道干擾潛在性的區(qū)域中的數(shù)據(jù)來 防止數(shù)據(jù)變壞;該確定用于對要被擦除數(shù)據(jù)的硬盤驅(qū)動器的區(qū)域定義限制。
圖1是根據(jù)本發(fā)明較佳實施例的計算機(jī)系統(tǒng)的框圖; 圖2示出了典型的硬盤驅(qū)動器訪問圖案,其中該硬盤驅(qū)動器訪問圖案具有 所示的傳統(tǒng)定義的帶邊界;圖3示出了典型的硬盤驅(qū)動器訪問圖案,其中,該硬盤驅(qū)動器訪問圖案具 有所示的修改后的帶邊界。
具體實施方式
為了更好地理解本發(fā)明及其其他和進(jìn)一步的特征和優(yōu)點,結(jié)合所附附圖參 考以下說明,并且在所附權(quán)利要求中指出本發(fā)明的范圍。應(yīng)當(dāng)確實地理解,本發(fā)明的組件,如此處一4殳描述和附圖所示的,可以在 不同配置的廣泛變化中排列和設(shè)計。因此,以下對如圖l到3所表示的本發(fā)明 裝置、系統(tǒng)、方法的實施例的更詳細(xì)的描述并不意圖限制所要求保護(hù)的本發(fā)明 的范圍,而只是本發(fā)明的所選實施例的代表。本說明書中通篇對"一個實施例"或"一實施例"(或類似的)的引用是 指關(guān)于實施例描述的具體特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實施例 中。因此,通篇說明書中各處出現(xiàn)的短語"一個實施例中"或"一實施例中" 并不需要全部指示相同的實施例。此外,所描述的特征、結(jié)構(gòu)或特性可以在一個或多個實施例中以任意合適 的方式組合。在以下描述中,提供了許多特定細(xì)節(jié)以提供對本發(fā)明實施例的透 徹理解。然而,相關(guān)領(lǐng)域技術(shù)人員應(yīng)認(rèn)識到,本發(fā)明可以不采用這些特定細(xì)節(jié) 中的一個或多個,或者可以用其他方法、組件、材料等而實施。在其他例子中, 未示出或詳細(xì)描述已知的結(jié)構(gòu)、材料或者操作,以避免使本發(fā)明的特點不明顯。本發(fā)明的所示實施例將通過參考附圖而更好地理解,整個附圖中相似的部 分用相似的符號或其他標(biāo)記表示。以下的描述意圖只在于示例,簡單地示出了 與所要求保護(hù)的本發(fā)明一致的設(shè)備、系統(tǒng)和處理的特定的所選實施例。此處根據(jù)本發(fā)明的至少一個當(dāng)前的較佳實施例,廣泛地設(shè)想了 一種方法, 該方法用于檢測硬盤驅(qū)動器上的帶(磁道組)中潛在的ATI問題,并用于在數(shù) 據(jù)變壞前擦除這樣的帶??梢愿鶕?jù)訪問量而動態(tài)地使這些帶大小合適,以有效 地利用系統(tǒng)資源,同時監(jiān)—見ATI。這樣的方案可以在硬盤驅(qū)動器固件中實現(xiàn), 不需要新的或者專用的應(yīng)用程序或驅(qū)動器。"擦除",此處如同一般理解的,較 佳地涉及讀取數(shù)據(jù),然后在其自身上寫相同的數(shù)據(jù),從而消除任何可能的ATI 影響??梢韵胂蟮?,可以保持對硬盤驅(qū)動器的任意特定區(qū)域的訪問數(shù)量的計數(shù)。在計數(shù)達(dá)到闊值(例如,30,000)時,可以優(yōu)先對可能被ATI影響的任意的相 鄰區(qū)域進(jìn)行重寫。如此,扇區(qū)將是受ATI影響的硬盤驅(qū)動器上的最小劃分。由 于扇區(qū)的數(shù)量非常大,不能易于管理地維持每個扇區(qū)一個計數(shù),因此希望通過 在硬盤構(gòu)造的更高層級上布I設(shè)一種"最差情況,,的方式來尋找一種積極的或主 動的方案。盡管扇區(qū)組織成磁道,通常仍然有太多的磁道,對這些磁道需要保 持單獨的計數(shù)器。但是,磁道組織成帶(即,相鄰磁道的組),每個磁盤的帶 數(shù)量的確看來似乎轉(zhuǎn)化成更多可管理數(shù)量的計數(shù)器。同時,帶基本上并不足夠小份(granular)來有效地解決這個即將發(fā)生的 問題。換句話說,盡管在帶層級上組織當(dāng)前問題更加易于利用預(yù)期可用的許多 計數(shù)器來管理,但是不利方面是帶所表示的大的寫入?yún)^(qū)域,使得擦除帶以防止 ATI將可預(yù)期地對驅(qū)動器性能產(chǎn)生巨大的變形。因此,此處廣泛地設(shè)想到,根 據(jù)本發(fā)明的至少一個當(dāng)前的較佳實施例,非常有利的解決方案是在剛才提到的 沖突需求之間達(dá)到平衡。更具體地,為了保持可管理數(shù)量的帶計數(shù)器,同時有 效地發(fā)現(xiàn)潛在的ATI,此處提出了 一種動態(tài)帶大小估計(dynamic band sizing) 的方案,其"磨練"抓住正被最大程度地寫入的硬盤區(qū)域?,F(xiàn)在參考圖1,描述了計算機(jī)系統(tǒng)12的示意性實施例的框圖。圖1描述 的示意性實施例可以是筆記本電腦系統(tǒng),例如紐約州,帕切斯的Lenovo(美 國)公司的ThinkPacf系列個人電腦中的一種,或者工作站電腦,例如紐約州, 阿曼克的通用(IBM)公司出售的Intellistatior^;但是,如同將從以下描述中 變得清楚的,本發(fā)明適用于通過任何數(shù)據(jù)處理系統(tǒng)將數(shù)據(jù)保存在磁盤驅(qū)動器 上。如圖1所示,計算才幾系統(tǒng)12包括至少一個系統(tǒng)處理器42,系統(tǒng)處理器42 通過處理器總線44與只讀存儲器(ROM) 40和系統(tǒng)存儲器46連接。系統(tǒng)處 理器42,可以包括Intd公司生產(chǎn)的處理器中的一個,且是通用處理器,用于 在開機(jī)時執(zhí)行ROM40中存儲的引導(dǎo)代碼41,之后在系統(tǒng)存儲器46中存儲的 操作系統(tǒng)和應(yīng)用軟件的控制下處理數(shù)據(jù)。系統(tǒng)處理器42通過處理器總線44 和主橋48連接到外圍組件互連(PCI)本地總線50。PCI本地總線50支持多個設(shè)備的附接,這些設(shè)備包括適配器和橋。在這 些設(shè)備之間是網(wǎng)絡(luò)適配器66和圖形適配器68,網(wǎng)絡(luò)適配器66通過接口將計算機(jī)系統(tǒng)連接到LAN 10,圖形適配器66通過接口將計算機(jī)系統(tǒng)連接到顯示器69。 PCI本地總線50上的通信由本地PCI控制器52管理,本地PCI控制器52通過存儲器總線54按順序連接到非易失性隨機(jī)存取存儲器(NVRAM )。本地PCI控制器可以通過第二主橋60連接到其他總線和設(shè)備。計算機(jī)系統(tǒng)12還包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線62, ISA總線62通過ISA橋64連接到PCI本地總線50。連接到ISA總線62的是輸入/輸出(I/O )控制器70, 1/O控制器70控制計算機(jī)系統(tǒng)12與所附的外圍設(shè)備(例如鍵盤、鼠標(biāo)和硬盤驅(qū)動器)之間的通信。另外,1/O控制器70支持計算機(jī)系統(tǒng)12通過串 口和并口的外部通信。圖2和3通過非限制示例的方式以圖表示出了典型的(例如歷史上的)磁 盤驅(qū)動器訪問圖案,其中扇區(qū)訪問相對磁盤區(qū)域(在本例中為磁道編號,或徑 向遠(yuǎn)離磁盤中心的方向上計數(shù)的磁道的編號)而繪制。另一方面,圖2和3 之間的差異在于,前者示出了初始定義的帶邊界,而圖3示出了根據(jù)本發(fā)明的 較佳實施例而動態(tài)改變的帶邊界;帶邊界通過每幅圖中在垂直軸右側(cè)繪制的淺 色垂直線指示。因此,如同通常遇到的,帶邊界根據(jù)圖2的"初始"配置將磁 盤分割成大概相同的帶,而圖3中它們現(xiàn)在具有變化的寬度。(應(yīng)當(dāng)理解,帶 邊界通常在制造時在固件中被初始地配置,且對于不同的驅(qū)動器可以不同;為 了方便說明,附圖中示出了 10個帶的初始定義,盡管可以使用任意合適數(shù)量 的帶。)因此,圖2和3示出了根據(jù)本發(fā)明較佳實施例而優(yōu)選使用的一種算法,使 得帶的大小在有大量寫入時減小(或帶邊界收縮),而在少量寫入時增大(或 帶邊界擴(kuò)大)。通過如此重新定義的帶邊界,可以發(fā)現(xiàn)寫入頻率高的相對小的 帶。然后,如果需要防止?jié)撛诘腁TI (達(dá)到的程度為由于ATI的風(fēng)險明顯隨 著更頻繁的訪問而增加,有問題的小帶被識別為有顯著ATI潛在性的區(qū)域), 則小帶可以經(jīng)過用于ATI簽名的背景掃描(使用基本上任意合適的方法),如 果需要,可以通過比較大的帶更易管理(且沒有伴隨的變形或者驅(qū)動器性能下 降)的讀/寫命令來擦除小帶。另外,應(yīng)當(dāng)理解,通過如剛才所述地重新定義帶邊界,正被使用的訪問計 數(shù)器(或增加的計數(shù)器)的數(shù)量可以保持在合理的水平;而特定的計數(shù)器可以用于較小寬度的高訪問帶,這將通過正用于較大寬度的低訪問帶的另 一計數(shù)器 而得到補償。因此,正被使用的計數(shù)器件的數(shù)量基本上不會比均勻?qū)挾鹊膸У?情況大。較佳地,通過選擇動態(tài)定義的、用來執(zhí)行ATI簽名的背景檢查的帶(), 可以基于任意寬范圍變化的因素設(shè)定適當(dāng)?shù)拈撝?,這些因素例如為正被使用的 特定的磁盤驅(qū)動器或在該特定的磁盤驅(qū)動器正被使用的操作環(huán)境中正常遇到 的活動。 一個合理的閾值可以是在給定帶中的30,000次寫入,但是當(dāng)然這個 數(shù)量可以變化成所認(rèn)為的適當(dāng)值。應(yīng)當(dāng)理解,根據(jù)至少一個當(dāng)前較佳實施例,本發(fā)明包括可在至少一個運行 合適的軟件程序的通用計算機(jī)上實現(xiàn)的元件。這些也可以在至少一個集成電路 或者至少一個集成電i 各的一部分上實現(xiàn)。因此,應(yīng)理解本發(fā)明可以通過^/f牛、 軟件或二者組合來實現(xiàn)。如果此處沒有相反敘述,應(yīng)假設(shè)此處提到和引用的全部專利、專利申請、 專利公開和其他公開(包括基于網(wǎng)頁的公開)在此通過引用完全包括進(jìn)來,如 同在此敘述了其全部內(nèi)容一樣。盡管此處參考所附附圖描述了本發(fā)明的示意性實施例,但應(yīng)當(dāng)理解本發(fā)明 并不限于這些明確的實施例,在不脫離本發(fā)明的范圍和精神的情況下,本領(lǐng)域 技術(shù)人員可以進(jìn)行各種改變和修改。
權(quán)利要求
1.一種方法,包括確定硬盤驅(qū)動器的一區(qū)域中的相鄰磁道干擾潛在性;通過擦除具有確定的相鄰磁道干擾潛在性的區(qū)域中的數(shù)據(jù)來防止數(shù)據(jù)變壞;所述確定包括對要被擦除數(shù)據(jù)的硬盤驅(qū)動器的區(qū)域定義限制。
2. 根據(jù)權(quán)利要求1所述的方法,其中,所述定義限制包括動態(tài)地建立帶 邊界。
3. 根據(jù)權(quán)利要求2所述的方法,其中,所述動態(tài)建立帶邊界包括 確定硬盤驅(qū)動器,茲道間的寫入活動;和對具有較高寫入活動的 一個或多個磁道組縮小帶邊界。
4. 根據(jù)權(quán)利要求3所述的方法,其中,所述動態(tài)建立帶邊界還包括對 具有較低寫入活動的一個或多個磁道組擴(kuò)大帶邊界。
5. 根據(jù)權(quán)利要求4所述的方法,其中,所述擦除包括擦除在具有縮小的 帶邊界的帶中的數(shù)據(jù)。
6. 根據(jù)權(quán)利要求4所述的方法,其中,所述縮小包括對具有超過預(yù)定閾 值的寫入活動的 一個或多個磁道組縮、帶邊界。
7. 根據(jù)權(quán)利要求1所述的方法,其中,所述確定包括在具有高寫入活動 的硬盤驅(qū)動器的區(qū)域上進(jìn)行背景掃描。
8. 根據(jù)權(quán)利要求1所述的方法,其中,所述擦除包括讀取數(shù)據(jù)并且之后 重新寫入數(shù)據(jù)。
9. 一種系統(tǒng),包括 處理器;和可由處理器訪問的存儲器存儲代碼,用于確定硬盤驅(qū)動器的一 區(qū)域中的相鄰磁道干擾潛在性;和 通過擦除具有確定的相鄰磁道干擾潛在性的區(qū)域中的數(shù)據(jù)來防止數(shù)據(jù)變壞;該確定用于對要被擦除數(shù)據(jù)的硬盤驅(qū)動器的區(qū)域定義限制。
10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中,所述確定用于通過動態(tài)地建立帶邊界來定義限制。
11. 根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述確定通過確定硬盤驅(qū)動器 磁道間的寫入活動以及對具有較高寫入活動的一個或多個磁道組縮小帶邊界, 來動態(tài)地建立帶邊界。
12. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述確定通過對具有較低寫入 活動的 一個或多個-茲道組擴(kuò)大帶邊界來動態(tài)建立帶邊界。
13. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,擦除用于擦除在具有縮小的帶 邊界的帶中的數(shù)據(jù)。
14. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述確定用于對具有超過預(yù)定 閾值的寫入活動的一個或多個磁道組縮小帶邊界。
15. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中,所述確定用于在具有高寫入活動的硬盤驅(qū)動器的區(qū)域上進(jìn)行背景掃描。
16. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中,擦除用于讀取數(shù)據(jù)并且之后重新寫入數(shù)據(jù)。
17. —種機(jī)器可讀的程序存儲設(shè)備,有形地體現(xiàn)機(jī)器可執(zhí)行的指令程序以 執(zhí)行動作,該動作包括確定硬盤驅(qū)動器的 一 區(qū)域中的相鄰磁道千擾潛在性; 通過擦除具有確定的相鄰磁道干擾潛在性的區(qū)域中的數(shù)據(jù)來防止數(shù)據(jù)變壞;所述確定包括對要被搭V除數(shù)據(jù)的硬盤驅(qū)動器的區(qū)域定義限制。
18. 根據(jù)權(quán)利要求17所述的程序存儲設(shè)備,其中,所述定義限制包括動 態(tài)地建立帶邊界。
19. 根據(jù)權(quán)利要求18所述的程序存儲設(shè)備,其中,所述動態(tài)建立帶邊界 包括確定硬盤驅(qū)動器磁道間的寫入活動;和對具有較高寫入活動的一個或多個磁道組縮小帶邊界。
20. 根據(jù)權(quán)利要求19所述的程序存儲設(shè)備,其中,所述動態(tài)建立帶邊界 還包括對具有較低寫入活動的一個或多個磁道組擴(kuò)大帶邊界。
21. —種系統(tǒng),包4舌 圖形適配器; 處理器;和可由處理器訪問的存儲器存儲代碼,用于確定硬盤驅(qū)動器的一 區(qū)域中的相鄰磁道干擾潛在性;和 通過擦除具有確定的相鄰磁道干擾潛在性的區(qū)域中的數(shù)據(jù)來防止數(shù)據(jù)變壞;該確定用于對要被擦除數(shù)據(jù)的硬盤驅(qū)動器的區(qū)域定義限制。
22. 根據(jù)權(quán)利要求21所述的系統(tǒng),還包括輸入/輸出接口,能控制系統(tǒng)和 所附的外圍鍵盤之間的通信。
23. 根據(jù)權(quán)利要求21所述的系統(tǒng),其中,所述確定用于通過動態(tài)地建立 帶邊界來定義限制。
24. 根據(jù)權(quán)利要求23所述的系統(tǒng),其中,所述確定通過確定硬盤驅(qū)動器 磁道間的寫入活動以及對具有較高寫入活動的一個或多個磁道組縮小帶邊界, 來動態(tài)地建立帶邊界。
25. 根據(jù)權(quán)利要求21所述的系統(tǒng),其中,所述確定用于在具有高寫入活 動的硬盤驅(qū)動器的區(qū)域上進(jìn)行背景掃描。
26. 根據(jù)權(quán)利要求21所述的系統(tǒng),其中,擦除用于讀取數(shù)據(jù)并且之后重新寫入數(shù)據(jù)。
全文摘要
用于管理硬盤驅(qū)動器中的相鄰磁道干擾的系統(tǒng)和方法。確定硬盤驅(qū)動器的區(qū)域中相鄰磁道干擾潛在性,通過擦除具有確定的相鄰磁道干擾潛在性的區(qū)域中的數(shù)據(jù)來防止數(shù)據(jù)變壞,其中定義了對該區(qū)域的限制。
文檔編號G11B20/18GK101241748SQ20071019631
公開日2008年8月13日 申請日期2007年11月30日 優(yōu)先權(quán)日2007年2月7日
發(fā)明者斯科特·D.·魯珀特, 杰弗里·R.·霍布特, 達(dá)里爾·克羅默, 邁克爾·S.·梅特勒, 馬休·B.·格里菲思 申請人:聯(lián)想(新加坡)私人有限公司