專利名稱:音頻可視化數據盤存儲裝置和盤扇區出錯重試方法
技術領域:
本發明涉及一種盤存儲裝置,其中將盤上提供的替代區中的任意扇區分配成替代扇區。本發明特別涉及用于記錄AV(音頻可視化)數據的盤存儲裝置,并且還涉及這種盤存儲裝置上當扇區出錯時所使用的重試方法。
背景技術:
目前,有一種提高盤存儲裝置存儲容量的趨勢,比如象硬盤驅動器(在下文中簡寫為“HDD”)那樣。因此,現在已經開始將HDD用作為AV HDD。AV HDD用于記錄AV數據,例如數字音樂數據、數字視頻數據等等。
在AV HDD中,能夠對AV數據進行實時處理是非常重要的。為此,AV HDD應當具有用正常的扇區自動替代有缺陷扇區(比如磁盤上常存在的有缺陷扇區)的功能。這種功能使得AV HDD能夠連續使用,即使存在有缺陷扇區時,也不會降低訪問速度。
正如大家所知,盤狀的磁介質,即磁盤作為HDD的記錄介質。總是期望磁盤沒有任何缺陷。然而,一般來說,就其制造過程而言,磁盤上有若干個缺陷被認為是無法避免的。磁盤上的缺陷被分成兩類。第一類缺陷(有缺陷扇區)可在HDD出廠前所作的檢驗中被檢測出來。于是,有缺陷扇區被正常的扇區替代。第二類缺陷(有缺陷扇區)是在HDD出廠后在用戶的實際使用期間出現的。
至于第一類缺陷,缺陷的程度和數量等等都能被檢測出來。如果檢測的結果要求停止產品出廠,這些問題就可以避免。然而,第二類缺陷是用戶實際使用HDD時隨機出現的。因此,顯然在檢測到第二類缺陷時必須進行替代處理。此外,還有縮短這種處理過程所需時間的要求。
直至現在,HDD大都被用作計算機的外存。因此,存儲在HDD中的數據的精確性是很重要的。例如,在日本專利申請KOKAI公開說明書10-255403描述的磁盤驅動器中,提供了充分的復位時間,使得能夠在數據扇區內進行讀/寫數據期間對錯誤(扇區錯誤)進行重試操作。在這種磁盤驅動器中,在復位時間內,進行錯誤恢復的嘗試。只有當有缺陷扇區不能恢復時,才進行替代處理。
最近一些硬盤能夠自動地用正常的扇區代替有缺陷扇區,即自動地進行替代處理。為了驗證這些有缺陷扇區,使用了大量的時間,因為,如上面所述,HDD一直是作為計算機的外存使用的。具體地,在常規HDD中,針對可能有缺陷的扇區的重試(出錯重試)操作的次數不得多于預定的重試次數。在出錯重試中,數據從可能有缺陷的扇區中讀出或將數據寫到可能有缺陷的扇區去。只有在即使出錯重試進行到預定次數之后出錯扇區仍不能恢復的情況下,該扇區才被認為是有缺陷扇區并且對其進行替代處理。因此。當在常規HDD中檢測到扇區錯誤時,在所執行的處理中,驗證有缺陷扇區,即出錯重試所需的時間遠多于替代處理需要的時間。
如上所述,在常規HDD中,由于HDD被用作計算機的外存儲器,所以執行以驗證有缺陷扇區為重點的處理。因此,可能有缺陷的扇區的出錯重試需要大量的時間。在常規HDD上,這意味著即使重試成功了,也難以實現對AV數據的實時處理。換句話說,常規HDD并不適合作為AV HDD。
此外,在常規的HDD上存在這樣一種情形,其中某個扇區一旦出錯,由在進行一段長時間的錯誤重試后才被暫時恢復。這時,這個扇區并不進行替代處理。然而,如果常規HDD被用作AV HDD,能夠用來處理扇區錯誤的時間是有限的,因此在暫時被恢復的扇區中出錯是可能的。
發明內容
針對上述情況提出了本發明,本發明的目的在于提供一種用于AV數據的盤存儲裝置,其中通過將根據主機指定的命令處理時間周期計算的出錯扇區最大允許恢復時間周期,用作當出現扇區錯誤時執行的出錯重試操作的最大出錯重試時間周期,該盤存儲裝置允許在訪問存儲其上的AV數據時進行實時處理。本發明還提供了當這種盤存儲裝置中出現扇區錯誤時使用的重試方法。
根據本發明的一個方面,提供用于AV數據的盤驅動裝置,其中盤上替代區中的任意扇區可被分配成盤的有缺陷扇區的替代扇區,它包括根據使用盤存儲裝置的主機指定的命令處理時間周期,計算出錯扇區的最大允許恢復時間周期的裝置,其中當訪問主機提供的命令所指定的盤而出現錯誤時,命令處理時間周期允許進行實時處理;確定將計算的最大允許時間周期用作最大出錯重試時間周期的裝置;控制扇區重試的裝置,其中在確定的最大出錯重試時間周期內出現錯誤。
本發明的其它目的和優點將在下面的描述中闡述,從描述中其中一部分是顯而易見的,或者能從本發明的實踐中了解到。借助于下面具體提出的手段和組合會領會和獲得本發明的這些目的和優點。
與說明書合并并且構成說明書一部分的附解了本發明的實施例,并且與上面給出的一般性描述和下面給出的實施例的細節描述一起都用來解釋本發明的原理。
圖1是根據本發明的一個實施例圖解硬盤驅動器的模塊圖;圖2是用于解釋實施例中使用的第一處理過程的流程圖;圖3A和圖3B是流程圖,用于解釋實施例中使用的第二處理過程;圖4是一個示意圖,舉例說明RAM 20中的重試計數器204,該計數器用于代替圖1中管理出錯重試時間周期的計時器TM2。
具體實施例方式
本發明的一個實施例將與給出的附圖一起描述用于記錄/還原AV數據的AV硬盤驅動器。圖1是一個模塊圖,根據本發明的這個實施例舉例說明硬盤驅動器1。圖1所示的硬盤驅動器(以下稱為“HDD”)1配置了一個盤片(磁盤)11。磁盤11有兩個面,即上面和下面。磁盤的兩個面中的一個面或兩個面都可用作為數據磁記錄的記錄面。為磁盤11的每一個記錄面提供一個頭(磁頭)12。磁頭12用于將數據寫到磁盤11(數據記錄)上和從磁盤11讀出數據(數據還原)。盡管圖1中所示的HDD被假定為只有一個單盤11,但它可以是一個多張盤重疊在一起的磁盤11。
磁盤的每個記錄面具有大量的同心數據磁道(物理磁道)。而且,每個記錄面由下列部分構成用戶區11 a,替代區11b和管理區11c。用戶區11a是為用戶使用的區域。替代區11b用作以替代有缺陷扇區為目的的替代磁道。管理區11c用于存儲系統管理所需的信息(系統管理信息)。系統管理信息包括指示有缺陷扇區和替代有缺陷扇區的替代扇區之間的對應關系的有缺陷扇區管理信息。有缺陷扇區管理信息包括有缺陷扇區地址和替代有缺陷扇區的扇區的地址。在圖1的例子中,替代區11b是用戶區11a之外提供的環形區域。然而,替代區11b也有可能在用戶區11a的里邊,或者為內外兩部分;一部分在用戶區11a的里邊,一部分在用戶區11a的外邊。而且,在磁盤11上可以使用CDR(恒定密度記錄)格式。在這種情況下,因為用戶區11a被分成多個環形帶,可以在每個環形帶上都提供替代區。替代區11b和管理區11c僅被系統使用。換句話說,這些區域都是用戶不可見的非用戶區。替代區11b和管理區11c形成的區域被稱為“系統區”。此外,存在只有管理區11c被稱為“系統區”的情形。
磁盤11被主軸電機(以下稱為“SPM”)13高速地旋轉。磁頭12與傳動裝置(支座)14的自由端連接。磁頭12隨傳動裝置14的擺動操作徑向移動。因此,這個磁頭被定位到目標磁道。傳動裝置14有一個音圈電機(以下稱“VCM”)15作為傳動裝置14的驅動源。因此,傳動裝置14被VCM所驅動。SPM 13和VCM 15以驅動器IC(集成電路)16獨立提供的驅動電流為動力。驅動器IC 16是一個IC芯片形式的電機驅動器,并且充當SPM和VCM驅動器。驅動器IC 16供給SPM 13和VCM 14的驅動電流的數值(控制變量)由CPU 17決定。
CPU 17是HDD的主要控制部件。根據主機2發出的讀/寫命令,CPU 17控制磁盤控制器21的讀/寫操作,這將稍后描述。主機2是一個將HDD 1用作AV HDD的數字設備。而且,經驅動器IC 16驅動傳動裝置14,CPU 17對磁頭12進行定位控制使其定位于目標磁道。根據主機2請求的命令處理時間周期,CPU 17也確定用于恢復可能有缺陷的扇區的最大允許時間周期,即最大出錯重試時間周期(驗證時間周期)。依據出錯記錄(將稍后描述),CPU 17訪問可能有缺陷的扇區。按照訪問的結果,如果再一次確定這個扇區可能是有缺陷的,則CPU 17進行出錯重試。如果在最大出錯重試時間周期內通過出錯重試仍沒有恢復此扇區,則CPU 17進行扇區的替代處理。CPU 17含有計時器TM1和TM2。計時器TM1用于測量每個扇區的命令處理所需要的時間。計時器TM2用于管理出錯重試的重試時間周期。
CPU 17與CPU總線18相連。CPU總線18與ROM(只讀存儲器)19、RAM(隨機存儲器)20、磁盤控制器(以下稱“HDC”)21和門陣列22相連。ROM 19預先存儲了CPU 17所要執行的控制程序。RAM 20是一個存儲設備,為CPU17提供出錯記錄區200以及工作區(在圖上沒有顯示)。出錯記錄區200每當經過最大出錯重試時間周期時便記錄出錯,其中在該周期之內,對可能有缺陷的扇區進行出錯重試。在執行主機2發出的讀/寫命令期間出錯時,進行出錯重試。出錯記錄包括字段201-203中的信息。在字段201中,出錯(扇區錯誤)命令被存儲起來。出錯命令就是指定針對包含出錯扇區的若干扇區讀/寫數據的命令。存儲在字段201中的命令包含了讀/寫操作的類型(命令類型)、開始讀/寫操作的起始扇區的地址和一些進行讀/寫操作的扇區。在字段202中,出錯扇區的地址被設置。在字段203中,涉及每個扇區的命令處理時間周期CT的信息也被設置。命令處理時間周期CT是可以針對每個扇區實時處理由命令指定的數據的最大時間周期。換句話說,如果不能在命令處理時間周期CT之內處理每個扇區,則命令指定的數據不能得到實時的處理。每個扇區的命令處理時間周期CT可以從主機2以(CT*扇區編號)的形式提供給HDD1。在這種情形中,為了確定每個扇區的命令處理時間周期CT,需要將(CT*扇區編號)除以扇區編號。另外,命令處理時間周期CT本身也可從主機2提供給HDD1。
HDC 21與上述門陣列22、讀/寫IC 24、緩沖區RAM 25以及CPU總線18相連。HDC 21也與主機2經主機接口3相連。HDC 21和門陣列22擁有各自的控制寄存器。這些控制寄存器在CPU 17的地址空間內的一個區域內。CPU 17通過在這個區域里進行讀/寫操作來控制HDC 21或門陣列22。HDC 21具有接收從主機2發出的命令和控制主機2與HDC 21間的數據傳輸的接口控制功能。HDC 21也具有控制磁盤11和HDC21間數據傳輸的磁盤控制功能、控制緩沖區RAM25的緩沖區控制功能。門陣列22生成控制HDD 1所需的各種各樣的信號。
磁頭12與磁頭IC(磁頭放大電路)23相連。磁頭IC 23包括用于放大磁頭12讀出的讀信號的讀放大器(沒有畫出),和用于將寫入的數據轉換成寫入電流的寫放大器。磁頭IC 23與讀/寫IC(讀/寫通道)24相連。讀/寫IC 24進行各種類型的信號處理,例如讀信號的A/D(模/數)轉換、寫數據編碼和讀數據解碼等等。
在HDD 1中,當執行從主機2發出的讀命令時,該命令所指定的磁盤11上的區域中記錄的數據信號被磁頭12讀出。由磁頭12讀出的信號(模擬信號)經磁頭IC 23放大并經讀/寫IC 24解碼。HDC 21根據門陣列22發出的控制信號處理這個經讀/寫IC 24解碼的數據,從而生成傳遞給主機2的數據(讀數據)。這個數據一旦在緩沖區RAM25中存儲,則由HDC 21傳遞給主機2。另一方面,當主機2發出寫命令時,數據(寫數據)從主機2傳遞給HDC 21。從主機2傳出的寫數據一旦在緩沖區RAM 25中存儲,則由HDC 21根據門陣列22發出的控制信號傳遞給讀/寫IC 24。讀/寫IC 24對這個寫數據進行編碼,經過編碼后的寫數據被磁頭IC 13轉換成寫信號,這個寫信號被磁頭12寫到命令所指定的磁盤11上的區域內。
如上所述,緩沖區RAM 25具有暫時存儲主機2和HDD 1的HDC21間傳遞的數據的緩沖區(沒有畫出)。緩沖區RAM 25還有一個有缺陷扇區管理信息區(沒有畫出)。當HDD1啟動時,有缺陷扇區管理信息區存儲的是磁盤11的管理區11c中存儲的有缺陷扇區管理信息的副本。當訪問目標扇區時,CPU 17訪問存儲在有缺陷扇區管理信息區上的有缺陷扇區管理信息。因此,如果這個目標扇區有缺陷,CPU 17能夠高速地為它識別一個替代扇區。
現在將描述圖1中的HDD 1所進行的工作。在這個實施例中,HDD 1被用作實時處理AV數據的AV HDD,這些AV數據的代表是數字音樂或視頻數據。在這種情形中,磁盤11上的在HDD1出廠之后被檢測出來的有缺陷扇區是AV系統使用HDD 1的重大障礙。因此,必須對每個可能有缺陷的扇區進行檢驗。如果不能恢復的有缺陷扇區被檢驗過程檢測出來,則必須進行替代處理,其中用替代區11b內的正常扇區代替這個有缺陷扇區。
在常規的HDD中,由于一直被用作計算機的外存,在校驗過程中嘗試恢復可能有缺陷的扇區。因此,在常規HDD中,重試(出錯重試)被一遍又一遍的重復,直至達到由控制程序所定義的最大允許次數。這種情況下,錯誤被認為是暫時的,因此如果扇區得到恢復就不進行替代處理。只有當錯誤扇區即使在重試達到最大允許次數之后仍然不能恢復時,才認為它是有缺陷扇區并且需要用正常的扇區對它進行替代。
另一方面,在這個實施例中,動態設置重試的時間周期(或重試次數),從而檢驗可能有缺陷的扇區。這樣做是為了實現對由主機2發出的讀/寫命令指定的AV數據的實時訪問。在這個實施例中,下面的第一和第二過程可被用作包含扇區檢驗處理和替代處理的過程系列。
首先參照圖2描述第一過程,其中以執行從主機2發出的讀命令為例。在圖1的HDD 1中,存儲在主機2發出的讀命令指定的一些扇區里的數據以扇區為單位被順序地讀出。HDD 1中的CPU 17根據存儲在ROM 19中的控制程序190進行操作,并且當開始讀每個扇區時啟動計時器TM1(步驟S1)。接著,CPU17控制HDC 21讀目標扇區(步驟S2)。
如果在步驟S2中讀取目標扇區時出錯(扇區錯誤)(步驟S3),CPU 17根據計時器TM的當前值T和一個扇區的命令處理時間周期CT計算出出錯重試時間周期CERT。計時器TM1的當前值T表示自錯誤扇區讀取開始以來所耗費的時間。一個扇區的命令處理時間周期CT是能夠用于讀取主機2請求的扇區的時間周期。出錯重試時間周期CERT是能夠用于恢復錯誤扇區的時間周期。出錯重試時間周期CERT可由下式給出CERT=CT-T(1)此后,CPU 17將計算出的出錯重試時間CERT與預定的出錯重試時間周期SERT相比較(步驟S5)。如果CERT>SERT,CPU 17使用預定的出錯重試時間周期SERT作為實際使用的出錯重試時間周期ERT(步驟S6)。另一方面,如果CERT≤SERT,CPU 17使用計算出的出錯重試時間周期CERT作為實際使用的出錯重試時間周期ERT(步驟S7)。隨后,CPU 17在計時器TM2中設置由步驟S6或步驟S7所確定的出錯重試時間周期ERT,從而啟動計時器TM2(步驟S8a和S8b)。在測量所設置的時間周期之后,計時器TM2輸出超時信號。
在啟動計時器TM2之后,CPU 17繼續執行到步驟S9,其中CPU17確定計時器TM2是否輸出了超時信號,即是否出現超時。如果沒有超時,CPU 17進行出錯重試,其中假定沒有超過出錯重試時間周期ERT(步驟S10)。如果經過出錯重試后目標扇區能夠正常地讀出,即如果重試成功(步驟S11),CPU 17完成目標扇區的讀出過程。如果重試成功,則重試所需要的時間周期沒有超過已定的出錯重試時間周期ERT,即沒有超過根據主機指定的命令處理時間周期CT計算出的最大允許恢復時間周期。因此,在這個實施例中,能夠對AV HDD中所用的AV數據可靠地進行實時處理。
另一方面,如果目標扇區不能正常地讀出,即如果重試失敗(步驟S11),CPU 17回到步驟S9。在步驟S9,CPU 17再次確定是否發生重試超時,如果沒有超時,CPU 17重新進行出錯重試(步驟S10)。如果發生超時,CPU 17向HDC 21輸出啞元數據以作為從磁盤11讀出的數據(步驟S12)。HDC 21將從目標扇區讀出的啞元數據暫時地存入緩沖區RAM 25中。如果出現了重試超時,可以修改控制以便主機2的用戶指定是否應當使用啞元數據。在此修改中,在步驟S12,如果發生重試超時(步驟S9),CPU 17根據指定的數據決定是否應當輸出啞元數據。
輸出啞元數據后,CPU 17根據限定于每個扇區的命令處理時間周期決定是否可以執行替代處理(步驟S13)。顯然,如果在步驟S4中計算出的出錯重試時間周期CERT被確定為實際使用的出錯重試時間周期ERT,當計時器TM2輸出超時信號時,就經過了命令處理時間周期CT。換句話說,沒有多余的時間用于替代處理。此時,CPU 17不進行替代處理而前進到步驟S14,以便在主機2指定的命令處理時間周期內完成對主機2請求的數據的讀出。在步驟S14,CPU 17存儲出錯記錄到RAM 20的出錯記錄區200,從而完成一個扇區的讀出。這個出錯記錄含有來自主機2的、指定針對包含錯誤扇區的扇區的數據讀出/寫入(本情形中為讀出)的命令,錯誤扇區的地址(扇區編號)和關于一個扇區的命令處理時間周期CT的信息。
于是,CPU 17能夠在主機2指定的命令處理時間周期之內完成主機2請求的數據的讀出。然而,因為那些可能有缺陷的扇區仍保留在磁盤11上,當再次從這些扇區中讀數據時,可能會再次發生錯誤。鑒于此,在這個實施例中,這些可能有缺陷的扇區在另一個機會被進行檢驗以確定它們是否確實就是有缺陷的扇區。如果確定扇區有缺陷,就必須進行替代處理。這個過程是第二個過程。在HDD1不忙時,例如,當HDD1處于稍后描述的空閑狀態時,根據出錯記錄區200中的出錯記錄進行第二個過程。
另一方面,當計時器TM2輸出超時信號時,如果預定的出錯重試時間周期SERT被確定為實際使用的出錯重試時間周期ERT,則命令處理時間周期CT還沒有耗費掉。這種情況下,有可能剩余用于替代處理的時間周期。如果剩余這樣的時間周期,CPU 17確定可以進行替代處理(步驟S13),并進行已知的替代處理(步驟S15)。在這個替代處理中,CPU 17確定有缺陷的扇區,并且分配磁盤11上的替代區11b中的任意未使用扇區作為替代扇區以替代有缺陷扇區。在這個實施例中,含有為有缺陷扇區和其替代扇區分配的一對地址的有缺陷扇區管理信息被存儲在緩沖區RAM 25的有缺陷扇區管理信息區中。如果目標扇區是有缺陷的,CPU 17訪問存儲在有缺陷扇區管理信息區里的有缺陷扇區管理信息,從而為這個有缺陷扇區高速識別出替代扇區。根據緩沖區RAM 25的有缺陷扇區管理信息區中存儲的有缺陷扇區管理信息更新磁盤11的管理區11c里存儲的有缺陷扇區管理信息。例如當HDD1處于空閑狀態時,進行更新過程。
現在參考圖3A和圖3B的流程圖描述第二過程。在這個實施例中,當HDD 1處于空閑狀態時,自動進行第二過程。HDD 1的空閑狀態意味著HDD 1處于這樣的狀態,其中由于提供的讀/寫命令不長于預定的時間周期,當SPM 13旋轉時,磁頭12在預定的檢索部分(沒有畫出)進行檢索。在這種狀態下,為了節能,可以暫停向HDD 1的某些電路供電。例如,磁頭檢索部分是滑軌的停滯區。
首先,CPU 17訪問RAM 20中的出錯記錄區200,從而確定是否存入了一個或多個出錯記錄(步驟S21)。如果一個或多個錯誤已經記錄,CPU 17從出錯記錄區200中取得一個出錯記錄(步驟S22)。
每個出錯記錄包含涉及在第一過程中重試失敗的扇區的信息。具體地,每個出錯記錄含有有關指定針對包括重試失敗扇區的扇區進行數據讀/寫的命令的信息,扇區的地址和主機2請求的一個扇區的命令處理時間周期CT。假定每個出錯記錄中的命令是讀命令。
當獲取出錯記錄時,象在以扇區為單位進行讀/寫操作的標準情形中那樣,CPU 17啟動計時器TM1(步驟S23)。繼而,根據在出錯記錄中的扇區地址和讀命令,CPU 17控制對重試失敗的扇區的讀出(步驟S24)。在步驟S24,CPU 17通過驅動器IC 16控制傳動裝置14,使得磁頭12被定位在磁盤11的含有重試失敗扇區的磁道上。而后,CPU 17控制HDC 21從重試失敗扇區,即可能有缺陷的扇區中讀出數據。
如果錯誤在步驟S24的讀過程中發生,象第一過程中的步驟S4那樣,CPU 17根據計時器TM1中的當前值T和一個扇區的命令處理時間周期CT計算出錯重試時間周期CERT(步驟S26)。換句話說,根據從錯誤扇區的讀出的起始點開始所花費的時間T,一個扇區的命令處理時間周期CT和出錯記錄中的一個扇區的命令處理時間周期CT,使用上述公式(1),CPU 17計算出出錯重試時間周期CERT。
此后,CPU 17將計算出的出錯重試時間周期CERT與預定的出錯重試時間周期SERT相比較(步驟S27)。如果CERT>SERT,CPU 17使用預定的出錯重試時間周期SERT作為出錯重試時間周期ERT(步驟S28)。另一方面,如果CERT≤SERT,CPU 17使用計算出的出錯重試時間周期CERT作為出錯重試時間周期ERT(步驟S29)。接著,CPU 17在計時器TM2中設置步驟S28或S29中所確定的出錯重試時間周期ERT,從而啟動計時器TM2(步驟S30a和S30b)。
啟動計時器TM2之后,如果計時器TM2沒有輸出超時信號,CPU17進行出錯重試(步驟S31)。如果被懷疑為有缺陷的扇區在重試過程中仍然能夠正常地讀出(步驟S33),CPU 17完成出錯記錄過程。換句話說,如果一個扇區被懷疑為有缺陷的扇區但仍然能夠正常地在根據命令處理時間CT計算出的出錯重試時間周期ERT內讀出,CPU17完成出錯記錄過程。此后,如果仍然處于空閑狀態,則CPU 17返回到步驟S21。很明顯,當主機2請求從那些包含在步驟S32中重試成功的扇區的扇區中讀出AV數據時,可以在由主機2指定的命令處理時間周期內讀出這個扇區。簡而言之,在步驟S32中重試成功的扇區能夠被實時處理。
另一方面,如果被懷疑為有缺陷的扇區不能被正常地讀出(步驟S33),CPU 17返回到步驟S31。在步驟S31,CPU 17再次確定計時器TM2是否輸出超時信號,即是否發生重試超時。如果沒有發生超時,CPU 17再次進行出錯重試(步驟S32)。另一方面,如果發生了超時,則CPU 17確定可能有缺陷的扇區確為有缺陷扇區。此時,CPU17執行替代處理,其中用磁盤11的替代區11b中的任意未使用扇區替代這個有缺陷扇區(步驟S34)。值得注意的是,在計時器TM2中設置的出錯重試時間周期ERT就是根據命令處理時間周期CT計算出的出錯重試時間周期CERT。這種情況下,當發生超時時,預定的出錯重試時間周期SERT還有剩余。然而,在這個實施例中,當發生超時時,即使出錯重試時間周期SERT還有剩余,仍然執行替代處理。原因將在下面描述。
如果繼續重試的時間多于時間周期CERT但不多于預定的出錯重試時間周期SERT,對被懷疑有缺陷的扇區的讀出可能會成功。然而,即使這個扇區在時間周期CERT之后能夠正常讀出,由主機2指定的命令處理時間周期CT也已經過去。因此,如果主機2再次指定從包含該扇區的那些扇區讀出AV數據,該扇區可能無法在主機2指定的命令處理時間周期內被讀出。換句話說,AV數據的實時處理可能不被實現。因此,在這個實施例中,對如上所述的扇區進行替代處理。這種結構防止在被重試過程暫時恢復的扇區中重新發生錯誤,因此能夠對訪問的AV數據進行實時處理。而且,在這個實施例中,當HDD 1處于空閑狀態時,執行包括替代處理的出錯記錄過程。因此,出錯記錄過程不會對HDD 1的操作產生不好的影響。當進行替代處理的時候,沒有數據被寫入為替代有缺陷扇區而分配的扇區(替代扇區)中。然而,如果數據被新寫到替代扇區中,可以從中正常地讀出該數據。
進行完替代處理后,CPU 17從出錯記錄區200中清除已處理的出錯記錄(步驟S35),因而完成一個出錯記錄的處理過程。如果CPU 17仍然處于空閑狀態,則返回到步驟S21。
前面以主機2發出的讀命令為例描述了圖1中HDD 1的操作。然而,即使主機2的命令是寫命令,HDD 1仍然可以進行同樣的操作,除也用執行寫操作替代執行讀操作和啞元數據傳遞之外。
而且,在這個實施例中,當出錯重試過程所需的時間周期超過設定的出錯重試時間周期ERT時,確定終止重試過程(強制終止)。然而,這個基于時間的確定可以被改變為基于重試次數的確定。這是可以實現的,例如,如圖4所示,通過在RAM 20中提供使用軟件實現的重試計數器204。通過這種結構,重試次數由計數器204以下述方式計出。首先,CPU 17在重試計數器204中設置最大允許重試次數。CPU17每進行一次重試過程,重試計數器204就減一。如果甚至在重試計數器204的值為0時重試仍沒有成功,CPU 17進行與發生重試超時同樣的過程。
在出錯重試時間周期ERT內的最大允許重試次數ERN由下式給出ERN=(ERT/Ts)的整數部分(2)其中Ts表示SPM 13旋轉360度所需要的時間周期,它可由下面的方式根據SPM 13的標準旋轉速度計算得知。如果SPM 13的標準旋轉速度是4200rpm,Ts是60×1.000(ms)/420014ms。SPM 13旋轉一圈所需要的時間周期Ts與磁盤11旋轉一圈所需要的時間周期相對應。因此,在短于Ts的時間間隔內重試不可能重復。換句話說,Ts是一次出錯重試操作所必需的時間周期。
CPU 17中一般使用的計數器(硬件計數器)可以被用作重試計數器以代替RAM 20中的軟件計數器204。而且,重試計數器可以作為每一次進行重試時將計數值加一的計數器。在這種情況下,每當重試計數器增加重試次數時,它可以決定所得到的計數值是否超過了最大允許次數ERN。
在上述實施例中,本發明被應用于HDD(硬盤驅動器)。然而,本發明也可應用于除HDD之外、能夠進行讀/寫操作的盤存儲裝置,例如光盤驅動器、磁光盤驅動器等等。
本領域技術人員可以容易地理解其它優點和修改。因此,本發明廣闊的應用范圍并不限定這里所描述和圖解的具體細節和實施例。因此,在不背離由所附權利要求書及等同描述所定義的總的發明構思的宗旨和范圍的前提下,可以作出各種各樣的修改。
權利要求
1.用于音頻可視化數據的盤驅動裝置(1),其中將盤(11)的替代區(11b)中的任意扇區分配成盤(11)上的有缺陷扇區的替代扇區,其特征在于包括根據使用盤存儲裝置(1)的主機(2)指定的命令處理時間周期計算出錯扇區的最大允許恢復時間周期的裝置(17),當在訪問主機(2)發出命令所指定的盤(11)的情況下出現錯誤時,命令處理時間周期允許進行實時處理;確定使用計算出的最大允許時間周期作為最大出錯重試時間周期的裝置(17);將出錯扇區重試控制在確定的最大出錯重試時間周期內的裝置(17)。
2.根據權利要求1的用于音頻可視化數據的盤存儲裝置(1),其特征在于還包括如果出錯扇區在確定的最大出錯重試時間周期之內重試沒有成功,將出錯記錄存入存儲設備(20)的裝置(17),其中出錯記錄包含命令、為出錯扇區分配的地址、主機2指定的命令處理時間周期、被確定為可能有缺陷的出錯扇區;順序讀出存入存儲設備(20)的未處理出錯記錄的裝置(17);每當各個未處理出錯記錄被讀出時,控制對所述各個未處理出錯記錄指示的可能有缺陷的扇區的訪問的裝置;如果在確定的最大出錯重試時間周期之內重試沒有成功,分配盤上替代區(11b)中的任意扇區以代替被指示可能有缺陷的扇區的裝置(17),其中被指示可能有缺陷的扇區被確定為確有缺陷。
3.根據權利要求1的用于音頻可視化數據的盤存儲裝置(1),其特征在于計算裝置(17)通過從命令處理時間周期減去從訪問出錯扇區開始直到錯誤出現所經過的時間周期來計算最大允許恢復時間周期。
4.根據權利要求1的用于音頻可視化數據的盤存儲裝置(1),其特征在于當盤存儲裝置(1)處于空閑狀態時,訪問控制裝置(17)控制對可能有缺陷的扇區的訪問。
5.根據權利要求1的用于音頻可視化數據的盤存儲裝置(1),其特征在于還包括將計算出的最大允許恢復時間周期與預定的出錯重試時間周期相比較的裝置(17),其中如果比較裝置(17)檢測到計算出的最大允許恢復時間周期短于預定的出錯重試時間周期,則確定裝置(17)確定將計算出的最大允許時間周期用作最大出錯重試時間周期。
6.根據權利要求1的用于音頻可視化數據的盤存儲裝置(1),其特征在于,如果比較裝置(17)檢測到計算出的最大允許恢復時間周期不短于預定的出錯重試時間周期,確定裝置(17)確定將預定的時間周期用作最大出錯重試時間周期。
7.根據權利要求1的用于音頻可視化數據的盤存儲裝置(1),其特征在于還包括計時器(TM2),其中當重試控制被重試控制裝置啟動時,所述計時器(TM2)開始測量確定的出錯重試時間周期;每當出錯扇區重試失敗時,判定計時器(TM2)是否完成對確定的出錯重試時間周期的測量的裝置(17),其中如果判定裝置判定計時器完成對確定的出錯重試時間周期的測量,重試控制裝置(17)停止出錯扇區的重試。
8.根據權利要求1的用于音頻可視化數據的盤存儲裝置(1),其特征在于還包括計出與所確定的出錯重試時間周期對應的最大允許重試次數的計數器(204);每當出錯扇區重試失敗時,判定計數器(204)是否完成最大允許重試次數的計數的裝置(17),其中如果這個判定裝置(17)判定計數器(204)完成最大允許重試次數的計數,重試控制裝置(17)停止出錯扇區的重試。
9.用于音頻可視化數據的盤存儲裝置(1),其特征在于包括盤(11),包含存儲數據的用戶區(11a)和為替代有缺陷扇區而分配的替代區(11b);和CPU(17),其中在訪問主機(2)發出命令所指定的盤(11)期間盤(11)的扇區出錯,CPU(17)根據使用盤存儲裝置(1)的主機(2)指定的命令處理時間周期計算最大允許恢復時間周期,從而確定將最大允許恢復時間周期用作最大出錯重試時間周期,該命令處理時間周期允許實時處理,CPU(17)將出錯扇區的重試控制在確定的最大出錯重試時間周期之內。
10.根據權利要求9的用于音頻可視化數據的盤存儲裝置(1),其特征在于還包括存儲數據的存儲設備(20),其中如果出錯扇區的重試在確定的最大出錯重試時間周期內沒有成功,CPU(17)確定出錯扇區可能有缺陷,并在存儲設備(20)內存儲出錯記錄,該出錯記錄包含命令、為出錯扇區分配的地址和主機(2)指定的命令處理時間周期;當盤存儲裝置(1)處于預定狀態時,CPU(17)順序讀出存在存儲設備(20)中的未處理出錯記錄,并且每當各個未處理出錯記錄被讀出時,CPU(17)控制對所述各個未處理出錯記錄指示的可能有缺陷的扇區的訪問;當可能有缺陷的扇區被訪問時,如果出錯,CPU(17)控制對這個可能有缺陷的扇區的重試,若在確定的最大出錯重試時間周期之內重試沒有成功,CPU(17)確定這個可能有缺陷的扇區確有缺陷,并且分配盤(11)上替代區(11b)中的任意扇區以替代這個有缺陷扇區。
11.根據權利要求10的用于音頻可視化數據的盤存儲裝置(1),其特征在于預置狀態是空閑狀態。
12.當與音頻可視化數據的盤存儲裝置(1)合為一體的盤(11)的扇區中出錯時執行的重試方法,其中盤(11)上提供的替代區(11b)中的任意扇區被分配成有缺陷扇區的替代扇區,其特征在于包括如果在訪問主機(2)發出的命令所指定的盤(11)期間盤(11)的扇區出錯,根據使用盤存儲裝置(1)的主機(2)指定的命令處理時間周期計算最大允許恢復時間周期(S4),該命令處理時間周期允許實時處理;確定將計算出的最大允許恢復時間周期用作最大出錯重試時間周期(S5-S7);且在確定的最大出錯重試時間周期執行對出錯扇區的重試(S10)。
13.根據權利要求12的重試方法,其特征在于還包括如果出錯扇區的重試在確定的最大出錯重試時間周期之內不成功,在存儲設備(20)中存儲出錯記錄(S14),其中出錯記錄包含命令、為出錯扇區分配的地址、主機(2)指定的命令處理時間周期和被確定為可能有缺陷的出錯扇區;順序讀出存儲在存儲設備(20)中的未處理出錯記錄(S22);每當各個未處理出錯記錄被讀出時,訪問被所述各個未處理記錄指示的可能有缺陷的扇區(S24);當訪問可能有缺陷的扇區時,如果出錯,則對這個可能有缺陷的扇區再次進行重試(S32);且如果在確定的最大出錯重試時間周期之內重試沒有成功,分配盤(11)上的替代區(11b)中的任意扇區以替代可能有缺陷的扇區(S34),可能有缺陷的扇區被確定為確有缺陷。
14.根據權利要求12的重試方法,其特征在于,通過從命令處理周期減去從訪問出錯扇區的開始到扇區錯誤出現所經過的時間周期來計算最大允許恢復時間周期。
15.根據權利要求12的重試方法,其特征在于,確定(S5-S7)包含這樣的步驟,即如果計算出的最大允許恢復時間周期短于預定的出錯重試時間周期,確定將計算出的最大允許恢復時間周期用作最大出錯重試時間周期(S7)。
16.根據權利要求12的重試方法,其特征在于,確定(S5-S7)包含這樣的步驟,即如果計算出的最大允許恢復時間周期不短于預定的出錯重試時間周期,確定將預定的時間周期用作最大出錯重試時間周期(S6)。
全文摘要
當在訪問主機(2)發出的命令所指定的盤(11)的情況下發生錯誤時,根據主機(2)指定的命令處理時間周期,CPU(17)計算出錯扇區的最大允許恢復時間周期,命令處理時間周期允許進行實時處理。CPU(17)也確定將計算出的最大允許時間周期用作最大出錯重試時間周期。CPU(17)將扇區重試控制在所確定的最大出錯重試時間周期之內。
文檔編號G06F11/07GK1441432SQ02152680
公開日2003年9月10日 申請日期2002年11月29日 優先權日2002年2月28日
發明者荒川豐 申請人:株式會社東芝