專利名稱:高速訪問數(shù)據(jù)磁道的磁盤驅(qū)動系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種訪問數(shù)據(jù)磁道的磁盤驅(qū)動系統(tǒng)和方法,特別是關(guān)于一種高速訪問數(shù)據(jù)磁道的磁盤驅(qū)動系統(tǒng)和方法。
背景技術(shù):
磁盤驅(qū)動器是用來存儲數(shù)字?jǐn)?shù)據(jù)的,數(shù)據(jù)存儲在磁盤表面的環(huán)形磁道上。一般而言,每個磁道包括一預(yù)定的基本位置,且具有一個地址碼來識別。每個將被訪問的磁道的物理地址和伺服數(shù)據(jù)在前一個伺服寫操作期間被寫下。一般情況下磁道的地址用格雷碼來表示,而非用一般的二進(jìn)制碼表示。這是因為,在格雷碼中,當(dāng)數(shù)字增加時只需改變一位碼值,而一般的二進(jìn)制碼則需改變多位碼值。如表一所示表一
請參閱上表,當(dāng)磁道數(shù)由十進(jìn)制的七到八時,一般二進(jìn)制碼的四位均需改變,而格雷碼只需改變一位。
因此,如果采用一般二進(jìn)制碼,在發(fā)生一個磁道讀取錯誤時將導(dǎo)致一系列的磁道讀取錯誤。
當(dāng)磁頭移向目標(biāo)磁道以讀取或?qū)懭霐?shù)據(jù)時,將讀取磁道的地址以確定磁頭的位置,進(jìn)而根據(jù)該信息計算出目標(biāo)磁道的距離和磁頭的速度。
目前伺服系統(tǒng)在兩種模式下將用到格雷碼信息,即尋找模式和磁道跟蹤模式。在磁道跟蹤模式下,磁盤驅(qū)動器可將數(shù)據(jù)讀取或?qū)懭氲揭惶囟ǖ哪繕?biāo)磁道,此時,磁頭是位于目標(biāo)磁道的中心線位置上,而該目標(biāo)磁道地址將會被解碼,以識別該磁頭是否位于正確的磁道上。因為地址不會發(fā)生改變,所以任何二進(jìn)制碼都具有足夠的長度來準(zhǔn)確清晰地定義磁道數(shù),例如,12位的格雷碼可表示4096個磁道地址。
當(dāng)伺服系統(tǒng)處于尋找模式時,訪問第一磁道到目標(biāo)磁道時必須盡可能快,以避免造成不必要的拖延。在該模式中,通過讀取磁道地址來確定磁頭的位置,且由此計算目標(biāo)磁道的距離及磁頭移動的速度,而尋找的準(zhǔn)確性和所需要的時間是取決于瞬間的磁道地址信息解碼的準(zhǔn)確性。
確定速度和位置上的錯誤將會影響取得數(shù)據(jù)所需的全部時間,因為,諸如激勵速度不是最佳等情況下,尋找速度可能高于或低于最佳速度,如果尋找速度低于最佳速度尋找時間則長于所需的時間。如果這種狀況是隨機(jī)發(fā)生的,那么尋找說明將需要改變來反映出這種隨機(jī)的更慢的尋找;相反,如果尋找速度高于最佳速度,特別是接近尋找操作結(jié)束時,該激勵會過度射擊磁道而帶來不必要的影響。
當(dāng)磁頭朝目標(biāo)磁道移動時,磁頭可能會置于兩磁道的邊界上,而此時磁道地址正在被讀取,這種情況下,磁頭有可能從一磁道上讀取一些位而從另一磁道上讀取其它位從而得到一個任意結(jié)合的地址,如果該地址是以一般的二進(jìn)制編碼來表示將會發(fā)生嚴(yán)重的錯誤,如表二所示表二
在上面的例子中,7、6、5、2和0位從磁道31讀取(上表中下劃線標(biāo)示出),而4、3和1位從磁道32讀取(上表中劃線標(biāo)示出),如“校驗地址值”所示,該地址解碼后被讀作磁道5,錯26個磁道。
格雷碼與之相較,相同情況下,僅錯1個磁道,如表三所示表三
以上假設(shè)中,所讀取的數(shù)據(jù)來源不超過兩個磁道地址?;谶@個假設(shè),伺服系統(tǒng)使用一個輔助伺服模式,來檢測和糾正磁道位置,該模式中的信息表示錯誤的等級和方向。如果錯誤不超過一個磁道且當(dāng)磁道地址被讀取時磁頭不超過多于一個磁道邊界時假設(shè)才能有效。在實際運作中,這種假設(shè)對于先前的磁盤驅(qū)動器是可行的。但是,目前的高性能磁盤驅(qū)動器所擁有的磁道比過去更加密集且使用更快速的尋找伺服系統(tǒng),此外,磁道數(shù)的增長只需增長需要讀取的格雷碼的位數(shù),且讀取以固定的時間間隔發(fā)生,這些因素的結(jié)合會使得尋找期間磁頭穿過多個磁道邊界而導(dǎo)致部分格雷碼地址從幾個磁道取得。
當(dāng)磁頭跨過多個磁道時,由于磁盤的高速移動而不能獲得一個磁道的完整的格雷碼,而從幾個磁道取得的數(shù)字合成一個“檢驗地址值”,該“檢驗地址值”可能具有多個錯誤位。在這種情況下,在訪問期間一個最高有效位被改變而有可能未被檢測出來,因為磁頭可能越過該最高有效位,而且最低有效位被誤解為一個錯誤的磁道地址。在這種錯誤的讀取的基礎(chǔ)上,不可能準(zhǔn)確的到達(dá)目標(biāo)磁道。
為進(jìn)一步闡述,請參照表四,其中列出十進(jìn)制磁道數(shù)和與其對應(yīng)的格雷碼,每個格雷碼從左到右依次是最高有效位到最低有效位。
表四
如圖1所示的流程表,該流程起始于流程11,格雷碼的地址和附加位在流程12中讀取,且在流程13轉(zhuǎn)換為二進(jìn)制磁道地址。如果流程13中的附加位與預(yù)期的一致,該步驟由比較流程14來確定,那么該操作在流程16結(jié)束。
如果比較的結(jié)果是不一致的,表示附加位不是預(yù)期的,則轉(zhuǎn)入流程17來確定正確的磁道地址,再轉(zhuǎn)入流程18并使用其中所示的算法來計算修正的地址,最后該操作在流程16結(jié)束。
如果流程17中的運作表明需要外部尋找,則轉(zhuǎn)入流程19并使用其中所示的算法來獲得正確的磁道地址。
在尋找期間,該磁頭可能隨機(jī)地從511磁道中讀取幾個有效位,如010,再從磁道512、513、514和/或515讀取幾個全為0的其他最高有效位,然后,從磁道516讀取最低有效位110。即,所讀取的格雷碼為0100000110,表示十進(jìn)制磁道507,而磁頭準(zhǔn)確的位置是磁道516,所以錯誤9個磁道。
這種類型的錯誤對于伺服系統(tǒng)具有嚴(yán)重的后果,將導(dǎo)致對到達(dá)目標(biāo)磁道的速度及路徑進(jìn)行錯誤計算。這樣便導(dǎo)致尋找失敗,從而需要額外的時間進(jìn)行糾正性的操作。
發(fā)明內(nèi)容本發(fā)明是關(guān)于一種訪問數(shù)據(jù)磁道的磁盤驅(qū)動系統(tǒng)和方法,特別是關(guān)于一種高速訪問數(shù)據(jù)磁道的磁盤驅(qū)動系統(tǒng)和方法。
目前的磁盤地址系統(tǒng),每個磁道地址用格雷碼表示,其包括若干最高有效位和若干最低有效位,每個格雷碼還有一附加位,該附加位的值由以下描述的格雷碼的最高有效位來確定每個連續(xù)的格雷碼的最高有效位如果不變則附加位的值保持不變;如果格雷碼中的最高有效位中的某一位發(fā)生變化,則附加位的值也將變化,并且其連續(xù)碼將保持這種變化只要該連續(xù)碼中的最高有效位沒有變化。當(dāng)一個格雷碼到下一個連續(xù)的格雷碼中的一個最有效位發(fā)生變化時,其附加位的值會變化。因此,如果一個地址由幾個格雷碼的幾個部分組成,讀附加位的值可以用來判斷在地址的讀取操作中最高有效位是否發(fā)生了變化。
與現(xiàn)有技術(shù)相比較,本發(fā)明能高速訪問數(shù)據(jù)磁道系統(tǒng)。
圖1是本發(fā)明具體運作的流程表。
具體實施方式請參閱圖1及表五,如圖1所示,該流程開始于流程11,格雷碼地址和附加位在流程12中被讀取,然后在流程13中轉(zhuǎn)換為二進(jìn)制磁道地址,如果來自流程13中附加位在比較流程14中確定與預(yù)期的值相等,則轉(zhuǎn)入流程16結(jié)束本操作。如果比較的結(jié)果是不一致的,表示附加位與預(yù)期的值不相符,則轉(zhuǎn)入流程17來確定正確的磁道地址,如果流程17表示要求向內(nèi)尋找獲得磁道地址,則轉(zhuǎn)入流程18且通過其中所示的算法計算出修正地址,然后轉(zhuǎn)入流程16結(jié)束整個操作。RDADDR操作指在尋找模式時讀取地址,但不包括附加寄存器。如果流程17中表示要求向外尋找則轉(zhuǎn)入流程19并通過其中所示的算法來計算正確的磁道地址,然后結(jié)束。
表四中所示的是連續(xù)的十進(jìn)制磁道地址和它們對應(yīng)的格雷碼,每個格雷碼可以分為最高有效位組和最低有效位組,最低有效位的位數(shù)n由最大的穿過的磁道數(shù)N確定,N由在一個地址中的磁頭數(shù)預(yù)定,使用公式2n>=N。例如,如果在一個地址讀取中穿過的磁道數(shù)目不超過8,最低有效位的位數(shù)便是3。格雷碼的其余位則為最高有效位組,附加位起源于最高有效位的狀態(tài),附加位的來源如下所述例如十進(jìn)制500對應(yīng)的格雷碼的附加位為0,如果最高有效位無變化,每個連續(xù)的格雷碼的附加位的值則保持不變。如果最高有效位發(fā)生了變化,那么附加位也變化且其連續(xù)碼中保持這種變化,除非連續(xù)碼中的最高有效位也發(fā)生變化。
表五
磁頭朝著目標(biāo)盤向內(nèi)移動時,一個地址被讀時,該磁頭也許穿過大量磁道,在這種情況下,磁頭可能從一系列磁道中隨機(jī)的讀取最高有效位,例如,最高有效位010從磁道511讀取,而其它的最高有效位從十進(jìn)制磁道數(shù)512,513,514,和/或515讀取,而最低有效位110從磁道516讀取,這樣所得到的格雷碼地址為01000000110,表示十進(jìn)制磁道507,錯9個磁道數(shù)。
但是,格雷碼地址01000000110伴隨著一個附加位1,然而所讀取到的相應(yīng)的附加位為0。這就表明在讀取地址的過程中,有一個有最高有效位被改變,因為在格雷碼的范圍中,最高有效位的預(yù)期的變化是可以知道的,真正的最高有效位可以被確定。知道一個最高有效位發(fā)生了變化,正確的地址便可以確定為磁道516,因為在格雷碼中,附加位變化的一邊的最低有效位區(qū)與另一邊的最低有效位區(qū)具有鏡象關(guān)系。一旦正確的格雷碼地址知道后,就可以用這些信息來重新計算磁頭移動到目標(biāo)磁盤的路徑。
使用這些待決的值,地址可以通過計算來自相鄰的最低有效位邊界的補(bǔ)償、讀取表面地址,計算在該移動方向上到邊界的距離來糾正。在向內(nèi)尋找的情況下的算法如下MSB_Corrected=MSB_Read+2[8-mod8(MSB_Read)]-1其中MSB最高有效位,MSB_Read指在尋找模式中實際讀到的地址,MSB_Corrected指真正的磁道地址,即最低有效位被讀取的磁道地址。
再列舉另一個例子,當(dāng)磁頭掃過多個磁盤時讀到一個格雷碼0100000100,這表示一個十進(jìn)制磁道地址504,一個附加位1是預(yù)期的,但是,因為磁頭從磁道519讀取的最低有效位為100,讀取的附加位為0,表示最高有效位發(fā)生了變化,因此修正地址應(yīng)該為十進(jìn)制519。
以上所述的例子是在十進(jìn)制磁道數(shù)增長的情況下給出的,在磁道數(shù)減少的情況下的處理過程也是類似。請參閱表五,當(dāng)磁頭朝著目標(biāo)目磁道向外移動時,當(dāng)?shù)刂繁蛔x取時有大量的磁道被穿過,例如,最高有效位為110,可能是從十進(jìn)制磁道515讀取,其它的其它最高有效位0是從磁道514,513,512和/或51,且最低有效位001從磁道510讀取。這樣所獲得的格雷碼的地址為1100000001,表示十進(jìn)制磁道513,錯3個磁道,其余的如上所述。
但是,格雷碼地址1100000001伴隨著附加位0,然而所預(yù)期的附加位值應(yīng)該為1。這表示一個有效位發(fā)生了變化,因此,修正的磁道地址為十進(jìn)制510。
對于向外尋找的情況,所使用的算法為MSB_Corrected=MSB_Read-2[8-mod8(MSB_Read)]-1其中MSB指有效位,MSB_Read指在尋找模式中實際讀到的地址,MSB_Corrected指真正的磁道地址,即最低效位被讀取的磁道地址。
這些信息可以用來重新計算磁頭朝目標(biāo)磁道移動時的速度和路徑。
權(quán)利要求
1.一種高速訪問數(shù)據(jù)磁道的磁盤驅(qū)動系統(tǒng),磁盤上具有多個磁道,每個磁道具有一個格雷碼地址,該格雷碼地址由多個最高有效位、多個最低有效位及一個附加位組成,其特征在于該附加位的值由相關(guān)的格雷碼的最高有效位決定,其中,連續(xù)的格雷碼對應(yīng)著連續(xù)的磁道,在這些格雷碼中,如果一個格雷碼與其相鄰的格雷碼相較有最高有效位發(fā)生了變化,則意味著相關(guān)的附加位的值也發(fā)生了變化。
2.一種高速訪問數(shù)據(jù)磁道的磁盤驅(qū)動系統(tǒng),磁盤上具有多個磁道,每個磁道具有一個格雷碼地址,該格雷碼地址由多個最高有效位、多個最低有效位及一個附加位組成,其特征在于該附加位的值由相關(guān)的格雷碼的最高有效位決定,其中,連續(xù)的格雷碼對應(yīng)著連續(xù)的磁道,在這些格雷碼中,如果一個格雷碼與其相鄰的格雷碼相較無最高有效位發(fā)生變化,則意味著相關(guān)的附加位也無變化。
3.一種高速訪問數(shù)據(jù)磁道的方法,每個磁道具有一個格雷碼地址,磁盤驅(qū)動器的磁頭會在穿過多個磁道的同時讀取地址,該格雷碼地址包括多個最高有效位和多個最低有效位組成,其特征在于讀取由不同磁道地址的最高有效位組成的多個最高有效位;讀取由不同磁道地址的最低有效位組成的多個最低有效位;確定在讀取期間是否有最高有效位發(fā)生了變化。
4.如權(quán)利要求3所述的高速訪問數(shù)據(jù)磁道的方法,其特征在于通過讀取與格雷碼地址中的最低有效位一致的附加位的值來確定在讀取地址期間是否有最高有效位發(fā)生了變化。
全文摘要
一種高速訪問數(shù)據(jù)磁道的磁盤驅(qū)動系統(tǒng)和方法,磁盤驅(qū)動器的每個磁道的地址均可用格雷碼來表示,且在格雷碼上附加一信息位,該信息位與格雷碼最低有效位在一起,其值取決于格雷碼中最高有效位,只要連續(xù)的格雷碼中有效位沒有變化,格雷碼與連續(xù)的格雷碼的附加位的值就保持不變,但如果連續(xù)的格雷碼中的最高有效位發(fā)生了變化,那么附加位的值也將改變。
文檔編號G11B21/10GK1471102SQ0213447
公開日2004年1月28日 申請日期2002年7月25日 優(yōu)先權(quán)日2002年7月25日
發(fā)明者史蒂芬·考文, 史蒂芬 考文 申請人:深圳易拓科技有限公司