專利名稱:訪問包含備用扇區(qū)的盤的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及盤存儲裝置,其中將盤上備用區(qū)域中的任意扇區(qū)分配成盤上的缺陷扇區(qū)的備用扇區(qū)。尤其涉及用于訪問包含備用扇區(qū)的盤的裝置和方法,所述裝置和方法即使在來自主機的讀/寫請求所指定的盤訪問范圍含有缺陷扇區(qū),使得必須訪問為缺陷扇區(qū)分配的備用扇區(qū)的情況下,仍然允許進行高速盤訪問。
背景技術(shù):
通常,在以硬盤驅(qū)動器(磁盤驅(qū)動器)為代表的盤存儲裝置中,對盤的缺陷扇區(qū)執(zhí)行備用扇區(qū)處理。如果在盤訪問期間一個扇區(qū)出現(xiàn)預(yù)定次數(shù)的差錯,則該扇區(qū)是缺陷扇區(qū)?!鍌溆蒙葏^(qū)處理″是指分配盤上的另一個扇區(qū)以取代缺陷扇區(qū)。分配給缺陷扇區(qū)的扇區(qū)被稱作備用扇區(qū)。含有備用扇區(qū)的軌道被稱作備用軌道。在盤上的特殊區(qū)域(備用區(qū)域)中提供備用軌道,備用軌道不同于普通軌道。
在盤存儲裝置中,根據(jù)主機提供的讀/寫命令(盤訪問命令)執(zhí)行盤訪問。如果在讀/寫命令指定的盤訪問范圍中發(fā)現(xiàn)被分配備用扇區(qū)的缺陷扇區(qū),則訪問普通軌道和備用軌道。在某區(qū)域中保證備用軌道,所述區(qū)域不同于含有缺陷扇區(qū)的普通軌道的區(qū)域。因此,為了訪問備用扇區(qū),需要執(zhí)行所謂的尋道操作,所述尋道操作將頭從含有被分配備用扇區(qū)的缺陷扇區(qū)的普通軌道移動到含有備用扇區(qū)的軌道(備用軌道)。
當(dāng)需要進行將頭從普通軌道移動到備用軌道的尋道操作時執(zhí)行的盤訪問處理以下面的方式進行。首先,當(dāng)在訪問普通軌道期間訪問缺陷扇區(qū)時,暫時停止盤訪問。在這種狀態(tài)下,執(zhí)行將頭移動到含有備用扇區(qū)的備用軌道的尋道操作。在尋道操作完成之后,訪問備用扇區(qū)。在對備用扇區(qū)的訪問正常完成之后,暫時停止盤訪問以便重新訪問普通軌道。在這種狀態(tài)下,執(zhí)行將頭從備用軌道回移到普通軌道的尋道操作。
于是,如果在來自主機的讀/寫命令指定的盤訪問范圍中發(fā)現(xiàn)缺陷扇區(qū),執(zhí)行將頭從含有缺陷扇區(qū)的軌道(普通軌道)移動到含有為缺陷扇區(qū)分配的備用扇區(qū)的軌道的尋道操作。因此,即使最優(yōu)設(shè)置缺陷扇區(qū)和備用扇區(qū)之間的位置關(guān)系,仍然至少需要對應(yīng)于一次盤旋轉(zhuǎn)的時間,直到在啟動尋道操作之后訪問了備用扇區(qū)。類似地,至少需要對應(yīng)于一次盤旋轉(zhuǎn)的時間,直到在啟動將頭從備用軌道移動到普通軌道的尋道操作之后訪問了缺陷扇區(qū)后面的扇區(qū)。如果不能最優(yōu)設(shè)置缺陷扇區(qū)和備用扇區(qū)之間的位置關(guān)系,則需要對應(yīng)于若干次盤旋轉(zhuǎn)的時間,直到頭從普通軌道移動到備用軌道以便訪問備用扇區(qū)。類似地,需要對應(yīng)于若干次盤旋轉(zhuǎn)的時間,直到頭從備用軌道返回到普通軌道以便訪問缺陷扇區(qū)后面的扇區(qū)。換言之,包含對備用扇區(qū)的訪問的盤訪問的性能取決于缺陷和備用扇區(qū)之間的位置關(guān)系。包含對備用扇區(qū)的訪問的一系列盤訪問操作被稱作″備用扇區(qū)訪問″。
日本專利申請KOKAI公開說明書1-155378公開了一種方法(此后被稱作″第一備用扇區(qū)訪問方法″),其中如果主機請求向含有缺陷扇區(qū)的盤區(qū)域?qū)懭霐?shù)據(jù),則一次性將寫入缺陷扇區(qū)的數(shù)據(jù)寫到存儲器中。在主機請求的盤訪問完成之后,存儲器中的數(shù)據(jù)被復(fù)制到任意備用扇區(qū)中。此外,如果主機請求從含有缺陷扇區(qū)的盤區(qū)域讀取數(shù)據(jù),則一次性將對應(yīng)備用扇區(qū)中寫入的數(shù)據(jù)(即備用扇區(qū)中的數(shù)據(jù))復(fù)制到存儲器中。為了讀取此數(shù)據(jù),訪問存儲器,而不是訪問對應(yīng)于缺陷扇區(qū)的備用扇區(qū)。結(jié)果,讀取來自備用扇區(qū)、被復(fù)制到存儲器的數(shù)據(jù)。
如上所述,在第一備用扇區(qū)訪問方法中,各個備用扇區(qū)中存儲的數(shù)據(jù)被加載到存儲器中。在這種情況下,如果主機發(fā)出請求以訪問盤,則對普通軌道進行實際訪問,而對于備用扇區(qū),則從存儲器復(fù)制數(shù)據(jù),而不是訪問備用扇區(qū)。這可以避免進行尋找備用軌道的操作。因此,在第一備用扇區(qū)訪問方法中,可以使訪問各個備用扇區(qū)所需的時間固定,無論缺陷扇區(qū)和對應(yīng)備用扇區(qū)之間的位置關(guān)系如何。
然而在第一備用扇區(qū)訪問方法中,不能同時訪問盤和從存儲器復(fù)制數(shù)據(jù)。因此,如果在盤訪問期間發(fā)現(xiàn)缺陷扇區(qū),必須暫時停止盤訪問,接著從存儲器復(fù)制數(shù)據(jù),并且恢復(fù)盤訪問。概括地說,第一備用扇區(qū)訪問方法不能實現(xiàn)與普通盤訪問相同的訪問性能。
日本專利申請KOKAI公開說明書4-162127公開了一種方法(此后被稱作″第二備用扇區(qū)訪問方法″),該方法類似于上述第一備用扇區(qū)訪問方法。第二備用扇區(qū)訪問方法的特征在于,即使普通軌道含有的缺陷扇區(qū)多于軌道中提供的預(yù)備扇區(qū),也不認(rèn)為軌道是有缺陷的,只要其滿足預(yù)定條件。預(yù)定條件是缺陷扇區(qū)的數(shù)量不超過預(yù)定數(shù)值K(K≥為各個軌道提供的預(yù)備扇區(qū)的數(shù)量)。在這種情況下,只為通過從每個軌道上的所有缺陷扇區(qū)減去每個軌道的預(yù)備扇區(qū)而獲得的缺陷扇區(qū)分配每個備用軌道上的備用扇區(qū),從而減少了備用扇區(qū)所需的存儲器容量。然而在第二備用扇區(qū)訪問方法中,沒有考慮到實現(xiàn)與普通盤訪問相同的訪問性能。
日本專利申請KOKAI公開說明書5-182369公開了一種方法(此后被稱作″第三備用扇區(qū)訪問方法″),該方法類似于上述第一備用扇區(qū)訪問方法。第三備用扇區(qū)訪問方法的特征在于,當(dāng)盤存儲裝置被啟動時,盤上每個備用扇區(qū)中寫入的數(shù)據(jù)(即每個備用扇區(qū)中的數(shù)據(jù))被復(fù)制到存儲器中。在這種情況下,當(dāng)需要將數(shù)據(jù)寫到備用扇區(qū)時,將數(shù)據(jù)寫到備用扇區(qū)和存儲器中。此外,如果需要從備用扇區(qū)讀取數(shù)據(jù),則從存儲器而不是備用扇區(qū)讀取數(shù)據(jù)。并且在第三備用扇區(qū)訪問方法中,沒有考慮到實現(xiàn)與普通盤訪問相同的訪問性能。
發(fā)明內(nèi)容
本發(fā)明的實施例可以提供用于包含備用扇區(qū)訪問的盤訪問的裝置和方法,所述裝置和方法可以實現(xiàn)與普通盤訪問相同的訪問性能,即使訪問來自主機的讀/寫命令指定的盤訪問范圍也是如此,其中盤訪問范圍含有分配給缺陷扇區(qū)的備用扇區(qū)。
根據(jù)本發(fā)明的一個方面,提供一種裝置,其中盤的備用區(qū)域中的任意扇區(qū)被分配成盤上的缺陷扇區(qū)的備用扇區(qū)。這個裝置包括備用扇區(qū)緩沖區(qū)、數(shù)據(jù)緩沖區(qū)、緩沖區(qū)訪問電路和盤訪問控制器。備用扇區(qū)緩沖區(qū)被用來存儲對應(yīng)于為缺陷扇區(qū)分配的備用扇區(qū)中寫入的數(shù)據(jù)的數(shù)據(jù)。數(shù)據(jù)緩沖區(qū)被用來存儲使用所述裝置從盤中讀取并且傳送到主機的數(shù)據(jù),以及從主機傳送過來并且被寫到盤上的數(shù)據(jù)。緩沖區(qū)訪問電路在備用扇區(qū)緩沖區(qū)和數(shù)據(jù)緩沖區(qū)之間復(fù)制數(shù)據(jù)。盤訪問控制器控制從主機提供的讀/寫命令所請求的盤訪問。在盤訪問期間,在盤上由讀/寫命令指定的盤訪問范圍和數(shù)據(jù)緩沖區(qū)之間傳送數(shù)據(jù)。如果盤訪問范圍含有缺陷扇區(qū),則盤訪問控制器在頭已經(jīng)到達缺陷扇區(qū)時暫停盤訪問。在暫停盤訪問期間,盤訪問控制器使緩沖區(qū)訪問電路在備用扇區(qū)緩沖區(qū)的區(qū)域和數(shù)據(jù)緩沖區(qū)之間復(fù)制數(shù)據(jù)。備用扇區(qū)緩沖區(qū)的區(qū)域存儲的數(shù)據(jù)對應(yīng)于為盤訪問范圍中包含的缺陷扇區(qū)分配的備用扇區(qū)中寫入的數(shù)據(jù)。
下面的說明會描述本發(fā)明的其它方面和優(yōu)點,通過說明可以理解其中的一部分,也可以通過本發(fā)明的實踐加以領(lǐng)會。通過如下所述的手段和組合可以實現(xiàn)和獲得本發(fā)明的各個方面和優(yōu)點。
被說明書引用并且構(gòu)成說明書組成部分的附解了本發(fā)明的實施例,并且和前面的概括說明、下面針對實施例的詳細描述一起被用來說明本發(fā)明的原理。
圖1的模塊解了基于本發(fā)明一個實施例的硬盤驅(qū)動器的結(jié)構(gòu);圖2A的視解了圖1中出現(xiàn)的缺陷扇區(qū)地址表254的數(shù)據(jù)結(jié)構(gòu)的例子;圖2B的視解了圖1中出現(xiàn)的備用扇區(qū)緩沖區(qū)地址表255的數(shù)據(jù)結(jié)構(gòu)的例子;圖2C的視解了圖1中出現(xiàn)的備用扇區(qū)緩沖區(qū)252中的備用扇區(qū)的存儲例子;圖3的模塊解了圖1中出現(xiàn)的緩沖區(qū)訪問電路210的結(jié)構(gòu);圖4A和4B是用于說明實施例中執(zhí)行的操作過程的流程圖;圖5的流程圖詳細說明了在圖4B的步驟A7和A8執(zhí)行的盤訪問的過程;而圖6的視圖說明了當(dāng)主機指定的盤訪問范圍包含缺陷扇區(qū)時在實施例中執(zhí)行的操作。
具體實施例方式
下面參照附圖詳細描述基于本發(fā)明一個實施例、用于記錄和還原視聽(AV)數(shù)據(jù)的硬盤驅(qū)動器。圖1的模塊解了硬盤驅(qū)動器的結(jié)構(gòu)。在圖1示出的硬盤驅(qū)動器(此后被稱作″HDD″)中,作為記錄介質(zhì)的盤(磁盤)11具有2個表面,即上表面和下表面。盤11的2個表面中的一個或兩個被用作在其上以磁的方式記錄數(shù)據(jù)的記錄表面。為盤11的每個記錄表面提供頭(磁頭)12。當(dāng)HDD工作時,頭12因盤11的旋轉(zhuǎn)而浮在盤11上。頭12被用來將數(shù)據(jù)寫到盤11上(數(shù)據(jù)記錄),以及從盤11讀取數(shù)據(jù)(數(shù)據(jù)還原)。盡管假定圖1示出的HDD具有單個盤11,然而HDD可以具有多個堆疊的盤11。
盤11的每個記錄表面具有用戶區(qū)11a、備用區(qū)域11b和管理區(qū)域11c。用戶使用用戶區(qū)11a。備用區(qū)域11b包括備用軌道。每個備用軌道包括被用作為盤11上的缺陷扇區(qū)分配的備用扇區(qū)的扇區(qū)。管理區(qū)域11c被用來存儲系統(tǒng)管理所需的信息(即系統(tǒng)管理信息)。系統(tǒng)管理信息包含缺陷扇區(qū)管理信息。缺陷扇區(qū)管理信息指示各個缺陷扇區(qū)和分配給各個缺陷扇區(qū)的扇區(qū)(備用扇區(qū))之間的對應(yīng)關(guān)系。缺陷扇區(qū)管理信息包含一對地址,這對地址被分配給每個缺陷扇區(qū)和與該缺陷扇區(qū)對應(yīng)的扇區(qū)(備用扇區(qū))。在圖1的例子中,備用區(qū)域11b是圍繞用戶區(qū)11a的環(huán)形區(qū)域。然而可以在用戶區(qū)11a內(nèi)部提供備用區(qū)域11b。此外,可以使用在用戶區(qū)11a內(nèi)部和外部提供的2個備用區(qū)域。另外,可以在盤11中使用CDR(恒定密度記錄)類型的格式。在這種情況下,由于用戶區(qū)11a被分成多個環(huán)形區(qū)段,可以為每個區(qū)段提供備用區(qū)域。備用區(qū)域11b和管理區(qū)域11c僅由系統(tǒng)使用。換言之,這些區(qū)域是不能被用戶識別的非用戶區(qū)域。
由備用區(qū)域11b和管理區(qū)域11c組成的區(qū)域被稱作系統(tǒng)區(qū)域??蛇x地,可以只將管理區(qū)域11c稱作系統(tǒng)區(qū)域。
盤11被主軸電機(此后被稱作″SPM″)13高速旋轉(zhuǎn)。頭12連接到傳動裝置(托架)14的頂端。頭12隨著傳動裝置14的擺動操作而徑向移動。結(jié)果,頭被定位在目標(biāo)軌道上。傳動裝置14具有充當(dāng)傳動裝置14的驅(qū)動源的音圈電機(此后被稱作″VCM″)15。于是傳動裝置14被VCM15驅(qū)動。通過從驅(qū)動器IC(集成電路)16提供的驅(qū)動電流(SPM電流和VCM電流)獨立驅(qū)動SPM13和VCM15。驅(qū)動器IC16是IC芯片形式的電機驅(qū)動器,并且充當(dāng)SPM和VCM驅(qū)動器。CPU17確定各個數(shù)值(控制變量),所述數(shù)值用于確定從驅(qū)動器IC16提供到SPM13和VCM15的驅(qū)動電流。
CPU 17是HDD的主控制器。CPU17根據(jù)ROM19中存儲的控制程序控制HDD中的各個部件。例如,CPU17充當(dāng)盤訪問控制器和數(shù)據(jù)加載控制器。通過盤訪問控制器的功能,CPU17根據(jù)主機提供的讀/寫命令控制盤控制器21的盤讀/寫(盤訪問)操作。主機是使用圖1的HDD、以個人計算機為代表的電子設(shè)備。此外,通過使用數(shù)據(jù)加載控制器的功能,CPU17在HDD啟動時執(zhí)行控制,該控制用于將分配給盤11上對應(yīng)缺陷扇區(qū)的備用區(qū)域11b的各個備用扇區(qū)中的數(shù)據(jù),復(fù)制到以后描述的備用扇區(qū)緩沖區(qū)252中。CPU17還執(zhí)行定位控制,以便通過驅(qū)動器IC16驅(qū)動傳動裝置14,從而將頭12定位到目標(biāo)軌道。當(dāng)在盤訪問期間檢測到新缺陷扇區(qū)時,CPU17還執(zhí)行備用扇區(qū)處理。CPU17在啟動HDD時執(zhí)行表生成處理,以便產(chǎn)生后面會描述的缺陷扇區(qū)管理表253、缺陷扇區(qū)地址表254和備用扇區(qū)緩沖區(qū)地址表255。
CPU17連接到CPU總線18。CPU總線18也被連接到ROM(只讀存儲器)19、RAM(隨機訪問存儲器)20、盤控制器(此后稱作″HDC″)21和門陣列22。ROM19預(yù)先存儲被CPU17執(zhí)行的程序(控制程序)。RAM20的一部分被用作CPU17的工作區(qū)。HDC21連接到門陣列22、讀/寫IC24和緩沖區(qū)RAM25、以及CPU總線18。HDC21還通過主機接口26被連接到主機。HDC21具有接口控制功能、盤控制功能和緩沖區(qū)控制功能。使用接口控制功能,HDC21控制對主機的命令的接收,和其本身與主機之間的控制數(shù)據(jù)傳送。使用盤控制功能,HDC21控制其本身和盤11之間的數(shù)據(jù)傳送。使用緩沖區(qū)控制功能,HDC21控制緩沖區(qū)RAM25。HDC21包括緩沖區(qū)訪問電路210。緩沖區(qū)訪問電路210實現(xiàn)部分盤控制功能和緩沖區(qū)控制功能。稍后詳細描述這個電路。門陣列22產(chǎn)生控制HDD所需的信號。
頭12連接到頭IC(頭放大器電路)23。頭IC包括放大頭12讀出的讀取信號的讀放大器(未示出),和將寫數(shù)據(jù)聚合成寫入電流的寫放大器(未示出)。頭IC23連接到讀/寫IC(讀/寫信道)24。讀/寫IC24執(zhí)行各種信號處理。信號處理包含讀取信號的A/D轉(zhuǎn)換,寫數(shù)據(jù)的編碼和讀數(shù)據(jù)的解碼。
在圖1的HDD中,當(dāng)執(zhí)行來自主機的讀命令時,頭12讀取盤11上記錄的數(shù)據(jù)信號。讀命令指定盤11中記錄數(shù)據(jù)信號的區(qū)域。頭12讀取的信號(模擬信號)被頭IC23放大。放大的信號被讀/寫IC24解碼。HDC21根據(jù)來自門陣列22的控制信號處理被讀/寫IC24解碼的數(shù)據(jù),從而產(chǎn)生被傳送到主機的數(shù)據(jù)(讀數(shù)據(jù))。這個數(shù)據(jù)被一次性存儲在緩沖區(qū)RAM25中,并且接著被HDC21傳送到主機。另一方面,當(dāng)執(zhí)行來自主機的寫命令時,主機向HDC21傳送數(shù)據(jù)(寫數(shù)據(jù))。從主機傳送過來的寫數(shù)據(jù)被一次性存儲在緩沖區(qū)RAM25中,并且接著被HDC21根據(jù)來自門陣列22的控制信號傳送到讀/寫IC24。讀/寫IC24對數(shù)據(jù)進行編碼。編碼的寫數(shù)據(jù)被頭IC23轉(zhuǎn)換成寫信號。所得到的寫信號被頭12寫入到盤11中由寫命令指定的區(qū)域。
緩沖區(qū)RAM25存儲專用于數(shù)據(jù)緩沖區(qū)251和備用扇區(qū)緩沖區(qū)252的相應(yīng)區(qū)域。數(shù)據(jù)緩沖區(qū)251被用來暫時存儲主機和HDD(即HDD中的HDC21)之間傳送的數(shù)據(jù)。備用扇區(qū)緩沖區(qū)252被用來存儲對應(yīng)于分配給缺陷扇區(qū)的備用扇區(qū)中的數(shù)據(jù)的數(shù)據(jù)(即各個備用扇區(qū)中的數(shù)據(jù)的復(fù)本)。緩沖區(qū)RAM 25還存儲用于保存缺陷扇區(qū)管理表253、缺陷扇區(qū)地址表254和備用扇區(qū)緩沖區(qū)地址表255的區(qū)域。缺陷扇區(qū)管理表253被用來存儲盤11的管理區(qū)域11c上記錄的缺陷扇區(qū)管理信息。缺陷扇區(qū)地址表254是分配給缺陷扇區(qū)的地址的列表。當(dāng)在盤訪問期間HDC21檢測到缺陷扇區(qū)時,CPU17使用這個表格暫停HDC21的盤訪問。備用扇區(qū)緩沖區(qū)地址表255是備用扇區(qū)緩沖區(qū)252中存儲的數(shù)據(jù)項的地址(即緩沖區(qū)地址)的列表。表格255中的地址指示存儲各個備用扇區(qū)的數(shù)據(jù)復(fù)本的備用扇區(qū)緩沖區(qū)252中的地址。根據(jù)表格255,CPU17向HDC21通知在暫停盤訪問期間訪問的備用扇區(qū)緩沖區(qū)252中的地址。RAM20可以保存表格253-255,而不是緩沖區(qū)RAM25。
圖2A和圖2B分別圖解了缺陷扇區(qū)地址表254和備用扇區(qū)緩沖區(qū)地址表255的數(shù)據(jù)結(jié)構(gòu)例子。圖2C圖解了備用扇區(qū)緩沖區(qū)252中存儲的備用扇區(qū)數(shù)據(jù)的例子。圖2A和2B的例子對應(yīng)于圖2C的例子。在圖2C的例子中,數(shù)據(jù)(S2)被存儲在區(qū)域252-0中,該區(qū)域?qū)?yīng)于備用扇區(qū)緩沖區(qū)252中從緩沖區(qū)地址(字節(jié)地址)A0起始的一個扇區(qū)(例如512字節(jié))。數(shù)據(jù)(S2)是分配給盤11上缺陷扇區(qū)S2的備用扇區(qū)中的數(shù)據(jù)。類似地,數(shù)據(jù)(S6)被存儲在區(qū)域252-1中,該區(qū)域?qū)?yīng)于緩沖區(qū)252中從緩沖區(qū)地址(字節(jié)地址)A1起始的一個扇區(qū)。數(shù)據(jù)(S6)是分配給盤11上缺陷扇區(qū)S6的備用扇區(qū)中的數(shù)據(jù)。在這種情況下,缺陷扇區(qū)地址表254中的記錄n和n+1存儲缺陷扇區(qū)S2和S6的地址(盤地址)(參見圖2A)。另一方面,備用扇區(qū)緩沖區(qū)地址表255中的記錄n和n+1存儲備用扇區(qū)緩沖區(qū)252中區(qū)域252-0和252-1的起始地址A0和AL備用扇區(qū)緩沖區(qū)地址表255的記錄n和n+1所位于的相對位置與缺陷扇區(qū)地址表254的記錄n和n+1相同。
在實施例中,為了利于說明,假定一個記錄被用于缺陷扇區(qū)地址表254和備用扇區(qū)緩沖區(qū)地址表255中的一個缺陷扇區(qū)。然而如果在盤11上存在若干個順序的缺陷扇區(qū),那么在使用分別指示前導(dǎo)缺陷扇區(qū)和順序缺陷扇區(qū)數(shù)量的一對信息項的情況下,可以只使用一個記錄處理這些缺陷扇區(qū)。下面將更加詳細地描述這種情況,其中描述了這樣的例子,其中3個順序扇區(qū)S2-S4有缺陷,并且3個對應(yīng)備用扇區(qū)上的數(shù)據(jù)被存儲在對應(yīng)于3個扇區(qū)的區(qū)域中,該區(qū)域從備用扇區(qū)緩沖區(qū)252中的地址A0開始。在這種情況下,指示扇區(qū)S2的地址和缺陷扇區(qū)數(shù)量3的一對信息項分別被存儲在缺陷扇區(qū)地址表254的記錄m中。此外,緩沖區(qū)地址A0被存儲在備用扇區(qū)緩沖區(qū)地址表255的記錄m中。
圖3圖解了HDC21的緩沖區(qū)訪問電路210的結(jié)構(gòu)。如圖3所示,緩沖區(qū)訪問電路(BAC)210包括盤地址計數(shù)器(此后被稱作″DACNTR″)211、數(shù)據(jù)緩沖區(qū)地址計數(shù)器(此后被稱作″DBACNTR″)212、備用扇區(qū)緩沖區(qū)地址計數(shù)器(此后被稱作″ASBACNTR″)213、緩沖區(qū)傳送計數(shù)器(此后被稱作″BTCNTR″)214和數(shù)據(jù)緩沖區(qū)計數(shù)器(此后被稱作″DBCNTR″)215。通過計數(shù),DACNTR211被用來指示盤11的即將訪問地址(盤地址)。盤11上的即將訪問盤地址范圍(盤區(qū)域)的起始地址被設(shè)置成DACNTR211中的初始數(shù)據(jù)。通過計數(shù),DBACNTR212被用來指示數(shù)據(jù)緩沖區(qū)251的即將訪問地址。訪問數(shù)據(jù)緩沖區(qū)251的起始地址被設(shè)置成DBACNTR212中的初始數(shù)據(jù)。通過計數(shù),ASBACNTR213被用來指示備用扇區(qū)緩沖區(qū)252的即將訪問地址。訪問備用扇區(qū)緩沖區(qū)252的起始地址被設(shè)置成ASBACNTR213中的初始數(shù)據(jù)。BTCNTR214是遞減計數(shù)器,每當(dāng)傳送預(yù)定長度(例如一個字節(jié))的數(shù)據(jù)時,該遞減計數(shù)器逐一遞減其計數(shù)數(shù)值。DBCNTR215是以扇區(qū)為單位指示數(shù)據(jù)緩沖區(qū)251中的、在數(shù)據(jù)緩沖區(qū)251和主機之間傳送的數(shù)據(jù)的位置的計數(shù)器。
下面參照圖4A、4B、5和6描述實施例的操作。假定圖1的HDD已經(jīng)啟動。此時在HDD中執(zhí)行初始化。實施例的特征部分在于在HDD的初始化期間執(zhí)行的以下處理(具體是在步驟A2和A3執(zhí)行的處理)。首先,CPU17執(zhí)行已知控制以便在緩沖區(qū)RAM25中產(chǎn)生缺陷扇區(qū)管理表253(步驟A1)。具體地,通過讀取管理區(qū)域11c上記錄的缺陷扇區(qū)管理信息并且將其復(fù)制到緩沖區(qū)RAM25,產(chǎn)生缺陷扇區(qū)管理表253。
接著,CPU17執(zhí)行控制以便將備用扇區(qū)中如缺陷扇區(qū)管理表253所示的數(shù)據(jù)復(fù)制到緩沖區(qū)RAM25的備用扇區(qū)緩沖區(qū)252中(步驟A2)。
如這里將要描述的,在步驟A2的控制期間,根據(jù)缺陷扇區(qū)管理表253中存儲的地址(備用扇區(qū)的地址),按照從前導(dǎo)備用扇區(qū)開始的順序從盤11讀取備用扇區(qū)中的數(shù)據(jù)。首先,分別在DACNTR211、ASBACNTR213和BTCNTR214中設(shè)置前導(dǎo)備用扇區(qū)的地址(盤地址)、前導(dǎo)緩沖區(qū)地址和傳送長度(字節(jié)數(shù)量)。在這種狀態(tài)下,CPU17指示緩沖區(qū)訪問電路210從盤11向備用扇區(qū)緩沖區(qū)252傳送數(shù)據(jù)。接著,從盤11順序讀取缺陷扇區(qū)管理表253指示的所有備用扇區(qū)中的數(shù)據(jù)。從盤11讀取的備用扇區(qū)數(shù)據(jù)被傳送到緩沖區(qū)RAM25。按照從具有起始緩沖區(qū)地址的數(shù)據(jù)開始的順序?qū)魉偷骄彌_區(qū)RAM25的備用扇區(qū)數(shù)據(jù)存儲在緩沖區(qū)RAM 25的備用扇區(qū)緩沖區(qū)252中。此時,ASBACNTR213的計數(shù)數(shù)值以例如字節(jié)為單位遞增。此外,DACNTR211的計數(shù)數(shù)值以例如扇區(qū)為單位(在這種情況下,以512字節(jié)為單位)遞增。假定圖2C圖解了上述條件下的備用扇區(qū)緩沖區(qū)252的內(nèi)容。在圖2C的例子中,分配給缺陷扇區(qū)S2和S6的備用扇區(qū)中的數(shù)據(jù)項(S2)和(S6)分別被寫到區(qū)域252-0和252-1中,區(qū)域252-0和252-1分別對應(yīng)于從備用扇區(qū)緩沖區(qū)252的緩沖區(qū)地址A0和A1開始的相應(yīng)扇區(qū)。
此后,CPU17根據(jù)緩沖區(qū)RAM25中的缺陷扇區(qū)管理表253產(chǎn)生缺陷扇區(qū)地址表254(步驟A3)。產(chǎn)生的缺陷扇區(qū)地址表254被存儲在緩沖區(qū)RAM25中。象圖2A示出的那樣,假定缺陷扇區(qū)地址表254存儲包含扇區(qū)S2和S6的缺陷扇區(qū)的地址。在步驟A3,CPU17還產(chǎn)生備用扇區(qū)緩沖區(qū)地址表255。具體地,通過下面方式產(chǎn)生備用扇區(qū)緩沖區(qū)地址表255。按照從步驟A2在ASBACNTR213中初始設(shè)置的起始緩沖區(qū)地址開始的順序,CPU17產(chǎn)生以512字節(jié)為單位的緩沖區(qū)地址(備用扇區(qū)緩沖區(qū)252中的地址)。每當(dāng)CPU17產(chǎn)生緩沖區(qū)地址時,CPU17為備用扇區(qū)緩沖區(qū)地址表255產(chǎn)生一個記錄。每當(dāng)CPU17為表格255產(chǎn)生一個記錄時,CPU17將產(chǎn)生的緩沖區(qū)地址存儲到記錄中。于是產(chǎn)生了備用扇區(qū)緩沖區(qū)地址表255,其中產(chǎn)生的相應(yīng)緩沖區(qū)地址(備用扇區(qū)緩沖區(qū)252中的地址)按順序被存儲在順序記錄中。備用扇區(qū)緩沖區(qū)地址表255被存儲在緩沖區(qū)RAM 25中。顯然,記錄i中存儲的緩沖區(qū)地址是備用扇區(qū)緩沖區(qū)252的地址,該地址指示緩沖區(qū)252中存儲的數(shù)據(jù)的位置,而緩沖區(qū)252中存儲的數(shù)據(jù)對應(yīng)于缺陷扇區(qū)地址表254的記錄i中指示的備用扇區(qū)(分配給對應(yīng)的缺陷扇區(qū))中寫入的數(shù)據(jù)。在這個實施例中,步驟A3產(chǎn)生的備用扇區(qū)緩沖區(qū)地址表255存儲緩沖區(qū)地址,如圖2B所示,所述緩沖區(qū)地址分別包含記錄n和n+1中的地址A0和A1。
在完成包含步驟A1-A3的處理的HDD初始化之后,HDD可以從主機接收命令。假定在這種狀態(tài)下主機已經(jīng)向HDD發(fā)出命令。從HDC21向CPU17報告來自主機的命令。接著,CPU17確定來自主機的命令是否讀/寫命令(R/W命令)(步驟A4)。如果命令不是讀/寫命令,則CPU17執(zhí)行命令(步驟A5)。
另一方面,如果命令是讀/寫命令,則CPU17控制HDC21以便通過下面的方式處理讀/寫命令。這里假定來自主機的命令是讀命令。首先,CPU17參照缺陷扇區(qū)地址表254以確定在讀命令(來自主機的請求)指定的盤訪問范圍中是否存在缺陷扇區(qū)(步驟A6)。根據(jù)起始盤地址和長度(扇區(qū)數(shù)量)確定盤訪問范圍。
如果步驟A6的確定結(jié)果表明指定的盤訪問范圍不包含缺陷扇區(qū)(被分配備用扇區(qū)),CPU17執(zhí)行來自主機的讀命令指定的盤訪問操作(步驟A7)。另一方面,如果步驟A6的確定結(jié)果表明指定的盤訪問范圍包含缺陷扇區(qū),則CPU17在盤區(qū)域中執(zhí)行盤訪問,所述盤區(qū)域被包含在指定的盤訪問范圍中,并且緊接在初始缺陷扇區(qū)之前(步驟A8)。假定指定的盤訪問范圍是包含圖6示出的扇區(qū)S0-S7的盤區(qū)域。此外,在圖6中假定扇區(qū)S0-S7中包含的陰影扇區(qū)S2和S6是有缺陷的。在這種情況下,在步驟A8按照下面的方式在盤11的盤區(qū)域上執(zhí)行盤訪問操作701,所述盤區(qū)域的范圍為扇區(qū)S0到扇區(qū)S1,其中扇區(qū)S1緊接在缺陷扇區(qū)S2之前。
在盤訪問操作701之前,CPU17在DBCNTR215中將指示前導(dǎo)扇區(qū)的位置的數(shù)值設(shè)置成初值,以用于數(shù)據(jù)緩沖區(qū)251和主機之間的數(shù)據(jù)傳輸。此外,CPU17執(zhí)行尋道操作(尋道控制),所述尋道操作將頭12移動到盤11上由起始盤地址指示的軌道上。
在尋道操作之后,CPU17將緩沖區(qū)訪問電路210設(shè)置到讀模式。此外,CPU17將指示起始扇區(qū)S0的盤地址設(shè)置成緩沖區(qū)訪問電路210的DACNTR211的初值。此外,CPU17分別將對應(yīng)于2個扇區(qū)(2×512)的傳送數(shù)據(jù)的起始緩沖區(qū)地址和字節(jié)數(shù)量設(shè)置成緩沖區(qū)訪問電路210的DBACNTR212和BTCNTR214的初值。在這個初始化之后,CPU17激活緩沖區(qū)訪問電路210以執(zhí)行盤訪問操作710。結(jié)果,從盤11順序讀出扇區(qū)S0和S1中的數(shù)據(jù)項(S0)和(S1)。如圖6中的箭頭711和712所示,從扇區(qū)S0和S1讀出的數(shù)據(jù)項(S0)和(S1)被順序存儲到數(shù)據(jù)緩沖區(qū)251中。稍后詳細描述這個盤訪問操作。
如果在步驟A8的盤訪問操作701期間檢測到新的缺陷扇區(qū)(步驟A9),執(zhí)行備用扇區(qū)處理(步驟A9a),之后是以后描述的步驟A16的處理。在備用扇區(qū)處理中,更新緩沖區(qū)RAM25的缺陷扇區(qū)管理表253中存儲的缺陷扇區(qū)管理信息。在這個階段,不更新盤11的管理區(qū)域11c上記錄的缺陷扇區(qū)管理信息。換言之,不執(zhí)行更新缺陷扇區(qū)管理信息的盤訪問。如下所述,當(dāng)HDD處于空閑狀態(tài)時,更新管理區(qū)域11c上記錄的缺陷扇區(qū)管理信息。如果在寫命令請求的盤訪問期間檢測到缺陷扇區(qū),則即將寫入的數(shù)據(jù)被寫到備用扇區(qū)緩沖區(qū)252而不是對應(yīng)的備用扇區(qū)中。
另一方面,假定已經(jīng)正常完成步驟A8的盤訪問操作701(步驟A9)。此時(即緊接在缺陷扇區(qū)S2之前),CPU17指示HDC21暫停盤訪問操作。之后,CPU17參照缺陷扇區(qū)地址表254和備用扇區(qū)緩沖區(qū)地址表255(步驟A10和A11)。在步驟A10中,CPU17確定從備用扇區(qū)緩沖區(qū)252復(fù)制到數(shù)據(jù)緩沖區(qū)251的數(shù)據(jù)的長度。參照缺陷扇區(qū)地址表254確定這個長度。在圖2A-2C的例子中,即將復(fù)制的數(shù)據(jù)的長度為對應(yīng)于缺陷扇區(qū)S2的一個扇區(qū)(即512字節(jié))。在下一個步驟A11中,CPU17參照備用扇區(qū)緩沖區(qū)地址表255以確定起始緩沖區(qū)地址,起始緩沖區(qū)地址涉及將從其復(fù)制數(shù)據(jù)的備用扇區(qū)緩沖區(qū)252。在圖2A-2C的例子中,起始緩沖區(qū)地址是地址A0,地址A0被分配給備用扇區(qū)緩沖區(qū)252中存儲對應(yīng)于缺陷扇區(qū)S2的備用扇區(qū)的數(shù)據(jù)(S2)的區(qū)域。對于寫命令,參照備用扇區(qū)緩沖區(qū)地址表255確定備用扇區(qū)緩沖區(qū)252中將向其寫入數(shù)據(jù)的起始緩沖區(qū)地址。
此后,CPU17使HDC21的緩沖區(qū)訪問電路210執(zhí)行從備用扇區(qū)緩沖區(qū)252到數(shù)據(jù)緩沖區(qū)251的數(shù)據(jù)復(fù)制702(步驟A12)。對于寫命令,數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)251被復(fù)制到備用扇區(qū)緩沖區(qū)252。在步驟A12中,CPU17為數(shù)據(jù)復(fù)制分別在緩沖區(qū)訪問電路210的BTCNTR214和ASBACBTR213中設(shè)置所確定的數(shù)據(jù)長度(數(shù)據(jù)傳送長度)(512字節(jié))和起始緩沖區(qū)地址。此時,緩沖區(qū)訪問電路210的DBACNTR212的數(shù)值指示數(shù)據(jù)緩沖區(qū)251中的緩沖區(qū)地址。DBACNTR212指示的緩沖區(qū)地址是在扇區(qū)S1中存儲數(shù)據(jù)(S1)的地址的下一個地址。在這種狀態(tài)下,CPU17重新激活處于讀模式的緩沖區(qū)訪問電路210。于是,CPU17使緩沖區(qū)訪問電路210執(zhí)行數(shù)據(jù)復(fù)制702,以便在暫停盤訪問期間復(fù)制對應(yīng)于缺陷扇區(qū)S2中的數(shù)據(jù)的備用扇區(qū)數(shù)據(jù)(S2)。即使在暫停盤訪問期間,SPM13仍然旋轉(zhuǎn)盤11。這個暫停周期對應(yīng)于頭12相對于盤11從扇區(qū)S1的尾端移動到缺陷扇區(qū)S2的尾端所需的周期。換言之,這個周期對應(yīng)于頭12相對于盤11從缺陷扇區(qū)S2的前端移動到下一個扇區(qū)S3的前端所需的周期。
當(dāng)CPU17已經(jīng)激活緩沖區(qū)訪問電路210時,緩沖區(qū)訪問電路210執(zhí)行數(shù)據(jù)復(fù)制702。具體地,緩沖區(qū)訪問電路210按照從ASBACNTR213指示的緩沖區(qū)地址A0開始的順序,從備用扇區(qū)緩沖區(qū)252的區(qū)域252-0讀出512字節(jié)(對應(yīng)于一個扇區(qū))的數(shù)據(jù)(S2),該數(shù)據(jù)對應(yīng)于分配給缺陷扇區(qū)S2的備用扇區(qū)中的數(shù)據(jù)。如圖6中的箭頭713所示,緩沖區(qū)訪問電路210將從備用扇區(qū)緩沖區(qū)252讀出的數(shù)據(jù)(S2)復(fù)制到數(shù)據(jù)緩沖區(qū)251。此時,每當(dāng)復(fù)制(傳送)一個字節(jié)的數(shù)據(jù)時,ASBACNTR213和DBACNTR212的計數(shù)數(shù)值均被加一。此外,每當(dāng)復(fù)制一個字節(jié)的數(shù)據(jù)時,BTCNTR214的計數(shù)數(shù)值被減一。當(dāng)BTCNTR214的計數(shù)數(shù)值達到″0″時,緩沖區(qū)訪問電路210停止其操作。此時,緩沖區(qū)訪問電路210使用例如中斷(終止中斷)通知CPU17數(shù)據(jù)復(fù)制702已經(jīng)完成。如上所述,緩沖區(qū)訪問電路210以獨立于CPU17的方式執(zhí)行數(shù)據(jù)復(fù)制702。因此,在頭12相對于盤11從缺陷扇區(qū)S1的前端移動到尾端所需的時間周期內(nèi)(即在頭12位于缺陷扇區(qū)S1上的同時),可以可靠地完成數(shù)據(jù)復(fù)制702。
在接收到來自緩沖區(qū)訪問電路210的數(shù)據(jù)復(fù)制結(jié)束報告時,CPU17確定數(shù)據(jù)復(fù)制完成(步驟A13)。換言之,CPU17確定從盤11上的備用扇區(qū)到數(shù)據(jù)緩沖區(qū)251的數(shù)據(jù)傳送已經(jīng)完成。之后,CPU17將DBCNTR215的計數(shù)數(shù)值增加復(fù)制扇區(qū)的數(shù)量(步驟A14)。結(jié)果,根據(jù)DBCNTR215允許進行從數(shù)據(jù)緩沖區(qū)251到主機的復(fù)制數(shù)據(jù)(來自備用扇區(qū)的數(shù)據(jù))的傳送。
接著,CPU17確定讀取主機指定的所有扇區(qū)的操作是否已經(jīng)完成(步驟A15)。如果象在這個例子中那樣仍然有未處理的扇區(qū),則CPU17返回到步驟A8。在步驟A8的第二次處理中,執(zhí)行從盤11的扇區(qū)S3、S4和S5順序讀取數(shù)據(jù)項(S3)、(S4)和(S5)的盤訪問703。結(jié)果如圖6中的箭頭714、715和716所示,從扇區(qū)S3、S4和S5讀出的數(shù)據(jù)項(S3)、(S4)和(S5)按照這個順序被存儲在數(shù)據(jù)緩沖區(qū)251中。
緊接在缺陷扇區(qū)S6之前暫停盤訪問。當(dāng)暫停盤訪問時,如圖2所示使用緩沖區(qū)訪問電路210執(zhí)行對應(yīng)于缺陷扇區(qū)S6的備用扇區(qū)中的數(shù)據(jù)(S6)的復(fù)制704。具體地,從備用扇區(qū)緩沖區(qū)252讀出對應(yīng)于缺陷扇區(qū)S6的備用扇區(qū)中的數(shù)據(jù)(S6)。如圖6中的箭頭717所示,從備用扇區(qū)緩沖區(qū)252讀出的數(shù)據(jù)(S6)被復(fù)制到數(shù)據(jù)緩沖區(qū)251。之后,執(zhí)行處理,該處理與數(shù)據(jù)復(fù)制702(713)完成時執(zhí)行的處理相同。
在執(zhí)行涉及主機請求的所有扇區(qū)的讀出操作(步驟A15)之后,CPU17確定HDD是否處于空閑狀態(tài)(步驟A16)。HDD的空閑狀態(tài)是指這樣的狀態(tài),其中在假定SPM13同時正在旋轉(zhuǎn)的情況下,頭12被收回到如滑軌位置所示的頭回收位置(未示出)。如果在SPM13旋轉(zhuǎn)的同時HDD在預(yù)定時間周期或更長的時間內(nèi)沒有接收到來自主機的讀/寫命令,則認(rèn)為處于空閑狀態(tài)。在空閑狀態(tài)中,可以中斷對HDD中某些電路的供電以節(jié)省能量。
如果HDD處于空閑狀態(tài)(步驟A16),CPU17執(zhí)行到步驟A17。另一方面,如果HDD不處于空閑狀態(tài)(步驟A16),CPU17返回到步驟A4。當(dāng)HDD已經(jīng)切換到空閑狀態(tài)時,CPU17執(zhí)行控制以便將備用扇區(qū)緩沖區(qū)252的內(nèi)容寫入到盤11的備用區(qū)域11b中(步驟A17)。接著,CPU17執(zhí)行控制以便更新盤11的管理區(qū)域11c上記錄的缺陷扇區(qū)管理信息(步驟A18)。在步驟A18之后,CPU17等待來自主機的命令。
如上所述,在實施例中,在主機指定的盤訪問范圍中存在2個缺陷扇區(qū)S2和S6。然而在實施例中,參照緩沖區(qū)RAM 25中設(shè)置的缺陷扇區(qū)地址表254,當(dāng)頭12已經(jīng)到達盤訪問范圍中存在的任何一個缺陷扇區(qū)時,暫停盤訪問。在暫停盤訪問期間,緩沖區(qū)訪問電路210參照表格254和255在備用扇區(qū)緩沖區(qū)252和數(shù)據(jù)緩沖區(qū)251之間執(zhí)行數(shù)據(jù)復(fù)制。結(jié)果,即使主機指定的盤訪問范圍包含被分配備用扇區(qū)的缺陷扇區(qū),仍然不必停止盤訪問,這不同于現(xiàn)有技術(shù)。此外,由于不必訪問盤11上的備用扇區(qū),沒有出現(xiàn)訪問備用扇區(qū)所造成的盤11的旋轉(zhuǎn)延遲。因此,即使指定的盤訪問范圍包含缺陷扇區(qū),實施例仍然可以實現(xiàn)與沒有缺陷扇區(qū)的普通盤訪問相同的訪問性能。
對于有關(guān)在步驟A7和A8執(zhí)行的盤訪問的具體情況,下面說明來自主機的命令是讀命令的情況。圖5的流程解了這個盤訪問的過程。如圖5所示,首先在緩沖區(qū)訪問電路210的DBCNTR215中,CPU17將數(shù)據(jù)緩沖區(qū)251的指針位置的初值設(shè)置成從數(shù)據(jù)緩沖區(qū)251到主機的數(shù)據(jù)傳送的起始位置(步驟B1)。接著,CPU17將指示要訪問的前導(dǎo)位置的邏輯盤地址轉(zhuǎn)換成盤11上的物理地址(此后被稱作″目標(biāo)地址″)(步驟B2)。盤11上由目標(biāo)地址指定的軌道被稱作″目標(biāo)軌道″。CPU17執(zhí)行尋道操作(尋道控制)以便將頭12移動到目標(biāo)軌道(步驟B3)。如果作為步驟B3中尋道操作的目標(biāo)的目標(biāo)軌道與前一盤訪問中的目標(biāo)軌道相同,則尋道操作立即完成,并且不執(zhí)行實際的尋道操作。
在尋道操作完成之后,CPU17設(shè)置緩沖區(qū)訪問電路210的DACNTR211、DBACNTR212和BTCNTR214中的初值以激活電路210。結(jié)果,根據(jù)DACNTR211、DBACNTR212和BTCNTR214執(zhí)行盤訪問操作(步驟B4)。在盤訪問操作期間,以扇區(qū)為單位從盤11讀出數(shù)據(jù),并且讀出的數(shù)據(jù)被存儲在數(shù)據(jù)緩沖區(qū)251中。每當(dāng)從一個扇區(qū)讀出數(shù)據(jù)時,CPU17確定在讀出操作期間是否出現(xiàn)差錯(步驟B5)。
如果正常執(zhí)行從一個扇區(qū)讀取數(shù)據(jù)的操作,CPU17將DBCNTR215的計數(shù)數(shù)值加一(步驟B6)。如果仍然有未處理的扇區(qū)(步驟B7),CPU17重復(fù)步驟B4的盤訪問操作,以下等等。另一方面,如果在從扇區(qū)讀取數(shù)據(jù)期間出現(xiàn)差錯,CPU17將重試操作執(zhí)行必要的次數(shù),該次數(shù)不超過預(yù)定次數(shù)(步驟B8)。如果即使在執(zhí)行預(yù)定次數(shù)的重試操作之后仍然不能從扇區(qū)正常讀出數(shù)據(jù)(步驟B8),CPU17確定該扇區(qū)有缺陷。此時,CPU17為缺陷扇區(qū)分配盤11的備用區(qū)域11b上的任意空閑扇區(qū)以作為備用扇區(qū)。此后,CPU17在缺陷扇區(qū)管理表253中存儲指示缺陷扇區(qū)和備用扇區(qū)之間的關(guān)系的缺陷扇區(qū)管理信息。
在實施例中,本發(fā)明被用于HDD(硬盤驅(qū)動器)。然而本發(fā)明也適用于其它盤存儲裝置,例如光驅(qū)、磁光盤驅(qū)動器等等。
本領(lǐng)域的技術(shù)人員會很容易地想到其它優(yōu)點和修改。因此,本發(fā)明的范圍不僅限于圖中示出和這里描述的具體細節(jié)和典型實施例。因此,在不偏離如所附權(quán)利要求書及其等同描述定義的總發(fā)明概念的構(gòu)思或范圍的前提下,可以進行各種修改。
權(quán)利要求
1.一種裝置,其中盤(11)的備用區(qū)域(11b)中的任意扇區(qū)被分配成盤上的缺陷扇區(qū)的備用扇區(qū),其特征在于包括備用扇區(qū)緩沖區(qū)(252),存儲對應(yīng)于分配給缺陷扇區(qū)的備用扇區(qū)中寫入的數(shù)據(jù)的數(shù)據(jù);數(shù)據(jù)緩沖區(qū)(251),暫時存儲使用該裝置從盤(11)讀出并且傳送到主機的數(shù)據(jù),以及暫時存儲從主機傳送過來并且被寫到盤(11)上的數(shù)據(jù);緩沖區(qū)訪問電路(210),在備用扇區(qū)緩沖區(qū)(252)和數(shù)據(jù)緩沖區(qū)(251)之間復(fù)制數(shù)據(jù);和盤訪問控制器(17),在盤訪問期間控制從主機提供的讀/寫命令請求的盤訪問,其中在盤(11)上由讀/寫命令指定的盤訪問范圍和數(shù)據(jù)緩沖區(qū)(251)之間傳送數(shù)據(jù),在盤訪問范圍含有缺陷扇區(qū)并且被用來針對盤(11)讀/寫數(shù)據(jù)的頭(12)到達缺陷扇區(qū)的情況下,盤訪問控制器(17)暫停盤訪問,在暫停盤訪問期間盤訪問控制器(17)使緩沖區(qū)訪問電路在備用扇區(qū)緩沖區(qū)(252)的區(qū)域和數(shù)據(jù)緩沖區(qū)(251)之間復(fù)制數(shù)據(jù),備用扇區(qū)緩沖區(qū)(252)的區(qū)域存儲數(shù)據(jù),所存儲的數(shù)據(jù)對應(yīng)于分配給盤訪問范圍包含的缺陷扇區(qū)的備用扇區(qū)中寫入的數(shù)據(jù)。
2.如權(quán)利要求1所述的裝置,其特征在于當(dāng)頭(12)已經(jīng)通過盤訪問范圍包含的至少一個缺陷扇區(qū)并且已經(jīng)到達盤訪問范圍包含的正常扇區(qū)時,盤訪問控制器(17)恢復(fù)盤訪問。
3.如權(quán)利要求1所述的裝置,其特征在于,還包括在所述裝置處于空閑狀態(tài)時執(zhí)行控制以便將備用扇區(qū)緩沖區(qū)(252)的內(nèi)容寫到備用區(qū)域(11b)的裝置(17)。
4.如權(quán)利要求1所述的裝置,其特征在于,還包括數(shù)據(jù)緩沖區(qū)計數(shù)器(211),數(shù)據(jù)緩沖區(qū)計數(shù)器(211)通過計數(shù)指示數(shù)據(jù)緩沖區(qū)(251)中的扇區(qū)的位置,扇區(qū)中的數(shù)據(jù)是在數(shù)據(jù)緩沖區(qū)(251)和主機之間傳送的目標(biāo),其中當(dāng)數(shù)據(jù)復(fù)制已經(jīng)完成時,盤訪問控制器(17)用扇區(qū)數(shù)量更新數(shù)據(jù)緩沖區(qū)計數(shù)器(211),所述扇區(qū)數(shù)量對應(yīng)于備用扇區(qū)緩沖區(qū)(252)的區(qū)域和數(shù)據(jù)緩沖區(qū)(251)之間的數(shù)據(jù)復(fù)制量。
5.如權(quán)利要求1所述的裝置,其特征在于緩沖區(qū)訪問電路(210)包含通過計數(shù)指示備用扇區(qū)緩沖區(qū)(252)的即將訪問地址的備用扇區(qū)緩沖區(qū)地址計數(shù)器(213),和通過計數(shù)指示數(shù)據(jù)緩沖區(qū)(251)的即將訪問地址的數(shù)據(jù)緩沖區(qū)地址計數(shù)器(212);并且緩沖區(qū)訪問電路(210)根據(jù)備用扇區(qū)緩沖區(qū)地址計數(shù)器(213)和數(shù)據(jù)緩沖區(qū)地址計數(shù)器(212)在備用扇區(qū)緩沖區(qū)(252)和數(shù)據(jù)緩沖區(qū)(251)之間復(fù)制數(shù)據(jù)。
6.如權(quán)利要求1所述的裝置,其特征在于,還包括數(shù)據(jù)加載控制器(17),其中在所述裝置啟動時,數(shù)據(jù)加載控制器(17)將備用區(qū)域(11b)中分配給盤(11)上缺陷扇區(qū)的備用扇區(qū)中寫入的數(shù)據(jù)復(fù)制到備用扇區(qū)緩沖區(qū)(252)中。
7.如權(quán)利要求6所述的裝置,其特征在于緩沖區(qū)訪問電路(210)在備用扇區(qū)緩沖區(qū)(252)和數(shù)據(jù)緩沖區(qū)(251)之間復(fù)制數(shù)據(jù),并且還在盤(11)和備用扇區(qū)緩沖區(qū)(252)之間復(fù)制數(shù)據(jù);并且數(shù)據(jù)加載控制器(17)使緩沖區(qū)訪問電路(210)將備用區(qū)域(11b)中分配給盤(11)上缺陷扇區(qū)的備用扇區(qū)中的數(shù)據(jù)復(fù)制到備用扇區(qū)緩沖區(qū)(252)中。
8.如權(quán)利要求7所述的裝置,其特征在于緩沖區(qū)訪問電路(210)包含通過計數(shù)指示備用扇區(qū)緩沖區(qū)(252)的即將訪問地址的備用扇區(qū)緩沖區(qū)地址計數(shù)器(213),通過計數(shù)指示數(shù)據(jù)緩沖區(qū)(251)的即將訪問地址的數(shù)據(jù)緩沖區(qū)地址計數(shù)器(212),和通過計數(shù)指示盤(11)的即將訪問地址的盤地址計數(shù)器(211);并且緩沖區(qū)訪問電路(210)根據(jù)備用扇區(qū)緩沖區(qū)地址計數(shù)器(213)和數(shù)據(jù)緩沖區(qū)地址計數(shù)器(212)在備用扇區(qū)緩沖區(qū)(252)和數(shù)據(jù)緩沖區(qū)(251)之間復(fù)制數(shù)據(jù),并且根據(jù)盤地址計數(shù)器(211)和備用扇區(qū)緩沖區(qū)地址計數(shù)器(213)在盤(11)和備用扇區(qū)緩沖區(qū)(252)之間復(fù)制數(shù)據(jù)。
9.如權(quán)利要求1所述的裝置,其特征在于,還包括保存缺陷扇區(qū)地址表(254)和備用扇區(qū)緩沖區(qū)地址表(255)的存儲器(25),缺陷扇區(qū)地址表(254)存儲缺陷扇區(qū)的地址,備用扇區(qū)緩沖區(qū)地址表(255)存儲備用扇區(qū)緩沖區(qū)的地址,備用扇區(qū)緩沖區(qū)存儲對應(yīng)于分配給缺陷扇區(qū)的備用扇區(qū)中的數(shù)據(jù)的數(shù)據(jù),其特征在于,當(dāng)盤訪問已經(jīng)執(zhí)行到缺陷扇區(qū)地址表(254)指示的缺陷扇區(qū)的地址時,盤訪問控制器(17)暫停盤訪問,從而使緩沖區(qū)訪問電路(210)在數(shù)據(jù)緩沖區(qū)(251)和備用扇區(qū)緩沖區(qū)(252)中對應(yīng)于備用扇區(qū)緩沖區(qū)地址表(254)指示的缺陷扇區(qū)的區(qū)域之間復(fù)制數(shù)據(jù)。
10.如權(quán)利要求1所述的裝置,其特征在于還包括保存缺陷扇區(qū)地址表和備用扇區(qū)緩沖區(qū)地址表(255)的存儲器(25),缺陷扇區(qū)地址表(254)存儲缺陷扇區(qū)的地址,備用扇區(qū)緩沖區(qū)地址表(255)存儲分配給缺陷扇區(qū)的備用扇區(qū)中的數(shù)據(jù);和數(shù)據(jù)加載控制器(17),其中在所述裝置啟動時,數(shù)據(jù)加載控制器(17)將備用區(qū)域(11b)中分配給盤(11)上缺陷扇區(qū)的備用扇區(qū)中寫入的數(shù)據(jù)復(fù)制到備用扇區(qū)緩沖區(qū)(252)中,其特征還在于,當(dāng)盤訪問已經(jīng)執(zhí)行到缺陷扇區(qū)地址表(254)指示的缺陷扇區(qū)的地址時,盤訪問控制器(17)暫停盤訪問,從而使緩沖區(qū)訪問電路(210)在數(shù)據(jù)緩沖區(qū)(251)和備用扇區(qū)緩沖區(qū)(252)中對應(yīng)于備用扇區(qū)緩沖區(qū)地址表(254)指示的缺陷扇區(qū)的區(qū)域之間復(fù)制數(shù)據(jù)。
11.如權(quán)利要求10所述的裝置,其特征在于緩沖區(qū)訪問電路(210)包含通過計數(shù)指示備用扇區(qū)緩沖區(qū)(252)的即將訪問地址的備用扇區(qū)緩沖區(qū)地址計數(shù)器(213),和通過計數(shù)指示數(shù)據(jù)緩沖區(qū)(251)的即將訪問地址的數(shù)據(jù)緩沖區(qū)地址計數(shù)器(212);并且緩沖區(qū)訪問電路(210)根據(jù)備用扇區(qū)緩沖區(qū)地址計數(shù)器(213)和數(shù)據(jù)緩沖區(qū)地址計數(shù)器(212)在備用扇區(qū)緩沖區(qū)(252)和數(shù)據(jù)緩沖區(qū)(251)之間復(fù)制數(shù)據(jù)。
12.如權(quán)利要求10所述的裝置,其特征在于緩沖區(qū)訪問電路(210)包含通過計數(shù)指示備用扇區(qū)緩沖區(qū)(252)的即將訪問地址的備用扇區(qū)緩沖區(qū)地址計數(shù)器(213),通過計數(shù)指示數(shù)據(jù)緩沖區(qū)(251)的即將訪問地址的數(shù)據(jù)緩沖區(qū)地址計數(shù)器(212),和通過計數(shù)指示盤(11)的即將訪問地址的盤地址計數(shù)器(211);并且緩沖區(qū)訪問電路(210)根據(jù)備用扇區(qū)緩沖區(qū)地址計數(shù)器(213)和數(shù)據(jù)緩沖區(qū)地址計數(shù)器(212)在備用扇區(qū)緩沖區(qū)(252)和數(shù)據(jù)緩沖區(qū)(251)之間復(fù)制數(shù)據(jù),并且根據(jù)盤地址計數(shù)器(211)和備用扇區(qū)緩沖區(qū)地址計數(shù)器(213)在盤(11)和備用扇區(qū)緩沖區(qū)(252)之間復(fù)制數(shù)據(jù)。
13.如權(quán)利要求10所述的裝置,其特征在于盤的預(yù)定區(qū)域被分配給管理區(qū)域(11c),管理區(qū)域(11c)被用來存儲系統(tǒng)管理信息,系統(tǒng)管理信息包含缺陷扇區(qū)管理信息,缺陷扇區(qū)管理信息被用來管理盤(11)上缺陷扇區(qū)和備用區(qū)域(11b)中分配給缺陷扇區(qū)的備用扇區(qū)之間的關(guān)系;并且數(shù)據(jù)加載控制器(17)根據(jù)缺陷扇區(qū)管理信息執(zhí)行控制,以便將備用區(qū)域(11b)中分配給缺陷扇區(qū)的備用扇區(qū)中的數(shù)據(jù)復(fù)制到備用扇區(qū)緩沖區(qū)(252)中。
14.如權(quán)利要求13所述的裝置,其特征在于存儲器(25)保存缺陷扇區(qū)管理表(253),缺陷扇區(qū)管理表(253)存儲管理區(qū)域(11c)上記錄的缺陷扇區(qū)管理信息;并且數(shù)據(jù)加載控制器(17)根據(jù)缺陷扇區(qū)管理表(253)中存儲的缺陷扇區(qū)管理信息執(zhí)行控制,以便將備用區(qū)域(11b)中備用扇區(qū)的數(shù)據(jù)復(fù)制到備用扇區(qū)緩沖區(qū)(252)中。
15.如權(quán)利要求14所述的裝置,其特征在于還包括在備用扇區(qū)被分配給盤訪問期間新檢測到的缺陷扇區(qū)的情況下,更新缺陷扇區(qū)管理表(253)中存儲的缺陷扇區(qū)管理信息的裝置(17);和在所述裝置處于空閑狀態(tài)的情況下,根據(jù)缺陷扇區(qū)管理表(253)執(zhí)行控制以便將備用扇區(qū)緩沖區(qū)(252)的內(nèi)容寫到盤(11)的備用區(qū)域(11b)中,并且執(zhí)行控制以便更新盤(11)的管理區(qū)域(11c)上記錄的缺陷扇區(qū)管理信息的裝置(17)。
16.如權(quán)利要求10所述的裝置,其特征在于,還包括在存儲器(25)中產(chǎn)生缺陷扇區(qū)地址表(254)和備用扇區(qū)緩沖區(qū)地址表(255)的裝置(17),其中當(dāng)備用區(qū)域(11b)中分配給缺陷扇區(qū)的備用扇區(qū)中的數(shù)據(jù)被復(fù)制到備用扇區(qū)緩沖區(qū)(252)時,所述產(chǎn)生裝置(17)產(chǎn)生缺陷扇區(qū)地址表(254)和備用扇區(qū)緩沖區(qū)地址表(255)。
17.訪問包含備用扇區(qū)的盤的方法,用于盤存儲裝置,其中盤(11)的備用區(qū)域(11b)中的任意扇區(qū)被分配成盤上的缺陷扇區(qū)的備用扇區(qū),盤存儲裝置包含備用扇區(qū)緩沖區(qū)和數(shù)據(jù)緩沖區(qū)(251),備用扇區(qū)緩沖區(qū)存儲對應(yīng)于分配給缺陷扇區(qū)的備用扇區(qū)中寫入的數(shù)據(jù)的數(shù)據(jù),數(shù)據(jù)緩沖區(qū)(251)存儲使用盤存儲裝置從盤(11)讀出并且傳送到主機的數(shù)據(jù),以及從主機傳送過來并且被寫到盤(11)上的數(shù)據(jù),其特征在于包括確定(A6)來自主機的讀/寫命令指定的盤訪問范圍是否含有缺陷扇區(qū);在盤訪問范圍含有缺陷扇區(qū)的情況下,當(dāng)被用來針對盤(11)讀/寫數(shù)據(jù)的頭(12)已經(jīng)到達缺陷扇區(qū)時,暫停(A10、A11)包含數(shù)據(jù)緩沖區(qū)(251)和盤訪問范圍之間的數(shù)據(jù)傳送的盤訪問;和在暫停盤訪問期間在備用扇區(qū)緩沖區(qū)(252)的區(qū)域和數(shù)據(jù)緩沖區(qū)(251)之間復(fù)制(A12)數(shù)據(jù),備用扇區(qū)緩沖區(qū)(252)的區(qū)域存儲分配給盤訪問范圍包含的缺陷扇區(qū)的備用扇區(qū)中寫入的數(shù)據(jù)。
18.如權(quán)利要求17所述的方法,其特征在于還包括,當(dāng)頭(12)已經(jīng)通過盤訪問范圍包含的缺陷扇區(qū)并且已經(jīng)到達盤訪問范圍包含的正常扇區(qū)時,恢復(fù)(A18)盤訪問。
19.如權(quán)利要求17所述的方法,其特征在于還包括,在盤存儲裝置處于空閑狀態(tài)時將備用扇區(qū)緩沖區(qū)(252)的內(nèi)容寫到(A17)盤(11)上的備用區(qū)域(11b)中。
20.如權(quán)利要求17所述的方法,其特征在于還包括,當(dāng)數(shù)據(jù)復(fù)制已經(jīng)完成時,用扇區(qū)數(shù)量更新(A14)數(shù)據(jù)緩沖區(qū)計數(shù)器(215),所述扇區(qū)數(shù)量對應(yīng)于備用扇區(qū)緩沖區(qū)(252)的區(qū)域和數(shù)據(jù)緩沖區(qū)(251)之間的數(shù)據(jù)復(fù)制量,數(shù)據(jù)緩沖區(qū)計數(shù)器(215)被用來通過計數(shù)指示數(shù)據(jù)緩沖區(qū)(251)中的扇區(qū)的位置,扇區(qū)中寫入的數(shù)據(jù)是數(shù)據(jù)緩沖區(qū)(251)和主機之間傳送的目標(biāo)。
21.如權(quán)利要求17所述的方法,其特征在于還包括,在盤存儲裝置啟動時,將備用區(qū)域(11b)中分配給盤(11)上缺陷扇區(qū)的備用扇區(qū)中寫入的數(shù)據(jù)復(fù)制(A2)到備用扇區(qū)緩沖區(qū)(252)中。
22.如權(quán)利要求17所述的方法,其特征在于當(dāng)盤訪問已經(jīng)執(zhí)行到缺陷扇區(qū)地址表(254)指示的缺陷扇區(qū)的地址時,暫停盤訪問,其中缺陷扇區(qū)地址表(254)存儲盤(11)上缺陷扇區(qū)的地址;并且備用扇區(qū)緩沖區(qū)(252)中對應(yīng)于盤訪問范圍包含的缺陷扇區(qū)的區(qū)域由備用扇區(qū)緩沖區(qū)地址表(255)指示,其中備用扇區(qū)緩沖區(qū)地址表(255)存儲備用扇區(qū)緩沖區(qū)的地址,備用扇區(qū)緩沖區(qū)存儲對應(yīng)于分配給盤(11)上缺陷扇區(qū)的備用扇區(qū)中的數(shù)據(jù)的數(shù)據(jù)。
全文摘要
CPU(17)確定來自主機的讀/寫命令指定的盤訪問范圍是否包含缺陷扇區(qū)。如果盤訪問范圍含有缺陷扇區(qū),則CPU(17)在頭(12)已經(jīng)到達缺陷扇區(qū)時暫停盤訪問。在這種狀態(tài)下,CPU(17)激活緩沖區(qū)訪問電路(210)。緩沖區(qū)訪問電路(210)在備用扇區(qū)緩沖區(qū)(252)的區(qū)域和數(shù)據(jù)緩沖區(qū)(251)之間復(fù)制數(shù)據(jù)。備用扇區(qū)緩沖區(qū)(252)的區(qū)域存儲的數(shù)據(jù)對應(yīng)于分配給頭(12)到達的缺陷扇區(qū)的備用扇區(qū)中寫入的數(shù)據(jù)。
文檔編號G11B20/10GK1450548SQ0310231
公開日2003年10月22日 申請日期2003年1月30日 優(yōu)先權(quán)日2002年4月9日
發(fā)明者荒川豐, 市川靖彥, 水野晶夫 申請人:株式會社東芝