專利名稱:多磁頭組件存儲器中恢復(fù)數(shù)據(jù)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多磁頭存儲器中檢測和改正錯誤的系統(tǒng)和方法,更具體地,涉及檢測由于多磁頭存儲器的一個或多個磁頭錯位而產(chǎn)生的錯誤并控制這些磁頭以恢復(fù)因錯位而造成的不可識別數(shù)據(jù)的系統(tǒng)和方法。
近年來,計算機(jī)的運行速度和總能力已有了極大的提高。人們?yōu)榱私鉀Q更大、更復(fù)雜問題的愿望極大地促進(jìn)了這一方面的進(jìn)展。鑒于這些問題的規(guī)模和它們要求的原始數(shù)據(jù)的量,為了使高性能的計算機(jī)得到充分利用,計算機(jī)外設(shè)(例如海量存儲器)的速度和能力就顯得非常重要。
一般來說,海量存儲器的速度明顯趕不上目前技術(shù)水平的計算機(jī)。這主要由于,與計算機(jī)的運算部件不同,海量存儲器含有運動部分。因此,需要更快的數(shù)據(jù)存儲器,使之能與當(dāng)今高速的計算機(jī)一起進(jìn)行有效的工作。
目前,與計算機(jī)的運算部件(也稱作主計算機(jī)部分)連在一起用于存儲數(shù)據(jù)的計算機(jī)存儲設(shè)備一般有一個或多個讀/寫或只讀磁頭,這些磁頭多存有數(shù)據(jù)的介質(zhì)之上通過。這些介質(zhì)的存儲能力通常取決于磁或光學(xué)原理。使用這種介質(zhì)的較快速度存儲器典型地為磁盤或光盤。
在大多數(shù)情況下,磁頭及其有關(guān)的控制機(jī)構(gòu)是固定的,所以每一磁頭將只能在一個存儲介質(zhì)的某些部分上讀出或?qū)懭?。這些部分稱為磁道。在一種磁盤或光盤存儲器上,這些磁道是同心的,在各磁道之間具有一定量同心的非使用間隔。當(dāng)一個主存儲器或主計算機(jī)請求駐留于一條或更多磁道上的數(shù)據(jù)發(fā)送給它時,為了讀出所需的數(shù)據(jù),該磁頭便被驅(qū)動到這些磁道之上。
使用上述存儲介質(zhì)的磁道的個數(shù)和間隔通常受某些硬件和軟件組合的控制,這些硬件和軟件的組合對磁頭進(jìn)行直接或間接的控制。而磁道自身的寬度是磁頭的函數(shù)。在任何情況下,首要的是磁頭必須能使自身恰好定向于“目標(biāo)”磁道上,以保證精確地讀出數(shù)據(jù)。由于在不增加存儲介質(zhì)尺寸的情況下,對更快速存儲或檢索更多數(shù)據(jù)的需要增加,已使這個問題變得更加困難。解決的辦法是開發(fā)新的存儲器,在這種存儲器中數(shù)據(jù)包被打得更緊密,并且磁頭在介質(zhì)上通過速度更快。
就任一給定的方面而言,目前技術(shù)允許數(shù)據(jù)打包的密度是有限的,并且磁頭讀出數(shù)據(jù)的速度也是有限的。另外,就數(shù)據(jù)密度和磁頭在介質(zhì)上通過的速度而言,目前水平的存儲器是昂貴的。因此,為了提高速度(即信息吞吐量)-以此速度,主計算機(jī)能夠向某一單獨存儲器寫入數(shù)據(jù)或接收其發(fā)出的數(shù)據(jù)-擁有多個磁頭的存儲器業(yè)已開發(fā)。這里設(shè)定的多磁頭存儲器屬于這樣一類,即存儲器中所有的磁頭同步地讀出數(shù)據(jù),或同步地寫入數(shù)據(jù)。
典型地,當(dāng)數(shù)據(jù)從一臺主計算機(jī)被送給這些多磁頭存儲器中的某一個時,它在此存儲器的各磁頭之間被分散或“分段”成為數(shù)據(jù)段。例如,在三磁頭存儲器中,該數(shù)據(jù)可被分散成前兩個字節(jié)到磁頭1,下兩個字節(jié)到磁頭2,再下兩個字節(jié)到磁頭3,此后的兩個字節(jié)再到磁頭1。在此例中,每一段是兩個字節(jié)。在這一步驟中,每個磁頭被定位在一個不同的磁道上。(每個磁道可能是也可能不是駐留在不同種存儲介質(zhì)上,在下面關(guān)于
圖1和圖2的介紹中將給以解釋)。這種分段操作一直延續(xù)到主計算機(jī)發(fā)出的全部數(shù)據(jù)都被寫入該存儲器為止。
當(dāng)主計算機(jī)請求從這種三磁頭存儲器中讀出數(shù)據(jù)時,所有磁頭同步地讀出數(shù)據(jù)并將其再組合或“交織”還原,使之與主計算機(jī)最初發(fā)送給存儲器時的形式完全相同。因此,就主計算機(jī)而言,多磁頭存儲器僅僅使用一個磁頭。
通常存儲器中出現(xiàn)的問題是,有時磁頭與磁道錯位。這種錯位造成磁頭讀出無用的或“不可識別的”數(shù)據(jù)。一種重新對準(zhǔn)磁頭的方法是退回磁頭,然后再以微小的增量前進(jìn),直到磁頭再次與磁道對準(zhǔn)為止,從而使從該磁道讀出的數(shù)據(jù)成為可識別的數(shù)據(jù),使數(shù)據(jù)得以恢復(fù)。磁頭以微小的增量按此種方案移動,使得它能夠找到目標(biāo)磁道而不偏離目標(biāo)磁道太遠(yuǎn)(或距另一條磁道太近)。根據(jù)該存儲器的條件判斷,該存儲器將繼續(xù)被使用,或僅恢復(fù)數(shù)據(jù),而將該存儲器更換掉。
在多磁頭存儲器中,由于要考慮一個以上的磁頭,所以錯位的問題變得更為突出。為了最大限度減小這一問題,典型地,多磁頭存儲器中的磁頭被封裝在一起,組成一個多磁頭組件,使它們?nèi)客竭\動。在這種方案中,錯位一般影響到所有磁頭,因此進(jìn)行的改正測量可以按照只有一個單一磁頭來考慮。
即使在磁頭被封裝成一個多磁頭組件的多磁頭存儲器中,多磁頭組件中的一個或多個磁頭仍可能出現(xiàn)錯位。當(dāng)此情況發(fā)生時,必須將錯位磁頭管轄的磁道中數(shù)據(jù)加以恢復(fù)。所以,這種恢復(fù)過程比存儲器只有一個單一磁頭時困難得多。
圖1用來表示上述多磁頭存儲器中可能發(fā)生的錯誤檢測和數(shù)據(jù)恢復(fù)問題。參考圖1,該圖表示擁有三個分離磁盤、一個磁頭負(fù)責(zé)一個磁盤的多磁頭存儲器104的一個例子。在此例中,磁頭組合在一起形成多磁頭組件106,組件106強(qiáng)制所有磁頭同步移動。
雖然圖1所示的例子中磁頭最初可能彼此以正確距離設(shè)置,以保證它們正確地在其指定磁道上讀出或?qū)懭耄侨匀豢赡艹霈F(xiàn)一個或多個磁頭錯位。在此例中,磁頭3被表示成錯位的情況。
一個有關(guān)判斷哪個磁頭錯位并正在造成不可識別數(shù)據(jù)的問題是,在向多磁頭存儲器104存入數(shù)據(jù)之前,錯誤檢測和改正系統(tǒng)產(chǎn)生某種類型的錯誤改正碼(ECC)。因此,每個ECC就是某些預(yù)分段數(shù)據(jù)的函數(shù)。當(dāng)主計算機(jī)發(fā)出一個從多磁頭存儲器104讀出數(shù)據(jù)的請求時,多磁頭存儲器104組合這些數(shù)據(jù),檢查ECC以確認(rèn)讀出的數(shù)據(jù)與寫入多磁頭存儲器的數(shù)據(jù)完全相同(即,無錯誤數(shù)據(jù))。由于ECC通常被用于檢測某些數(shù)量的預(yù)分段數(shù)據(jù)(即被用于檢測組合之后的數(shù)據(jù)),所以要判斷不可識別數(shù)據(jù)中檢測到的錯誤,特別是哪個磁頭造成的錯誤,可能是困難的。
另一問題是,通過在多磁頭存儲器104中以微小增量移動磁頭3,來改正磁頭3的錯位,這一般也將造成磁頭1和2的錯位。這將導(dǎo)致從磁頭1和磁頭2讀出的任何數(shù)據(jù)變成不可識別數(shù)據(jù)。因此,在多磁頭組件106以微小增量移動之前或之后,對來自這些其它磁頭的數(shù)據(jù)必須加以注意,因為從所有磁頭來的數(shù)據(jù)在其被送給主計算機(jī)102之前,必須被組合。當(dāng)至少有一個磁頭錯位時,所有磁頭不能同步讀出可識別數(shù)據(jù)的情況將使數(shù)據(jù)的組合過程更加困難。
圖2表示多磁頭存儲器的另一個例子。在此類多磁頭存儲器中,每個磁盤使用一個以上的磁頭。圖2所示的這個例子表示擁有三個磁頭和n個磁道的多磁頭存儲器104,其中n是可被3除的整數(shù)。
因此,需要的一種系統(tǒng)或方法以區(qū)分多磁頭存儲器中哪一個(或幾個)磁頭錯位,并在有效情形下恢復(fù)該存儲器中的數(shù)據(jù)。
本發(fā)明通過提供一個用于檢測和改正多磁頭存儲器中磁頭錯位的系統(tǒng)和方法,克服了上述有關(guān)的先有技術(shù)的缺陷。
在實施本系統(tǒng)和方法中,本發(fā)明的一個實施例首先分析一個從多磁頭存儲器中接收的已組合數(shù)據(jù)塊,并判明是否存在任何表明多磁頭存儲器中的一個或更多磁頭錯位的錯誤(即,不可識別數(shù)據(jù))。另外,如果檢測到一個錯誤,本發(fā)明判斷哪一個磁頭錯位。
當(dāng)關(guān)于是否存在磁頭錯位的判斷作出之后,已組合的數(shù)據(jù)塊被送給數(shù)據(jù)緩沖器,錯誤檢測信號被送給狀態(tài)位。狀態(tài)位用作為特征位,指明是否存在任何錯位的磁頭,并指出哪個磁頭是錯位的。
數(shù)據(jù)恢復(fù)控制邏輯分析狀態(tài)位,以檢查是否有錯位磁頭存在。如果沒有,數(shù)據(jù)緩沖器中已組合的數(shù)據(jù)被送入主計算機(jī),被再寫入多磁頭存儲器,或被送給其它設(shè)備。
但是,如果狀態(tài)位指出已發(fā)現(xiàn)了錯誤,則數(shù)據(jù)恢復(fù)控制邏輯向多磁頭存儲器發(fā)出控制信號,指出多磁頭存儲器應(yīng)以微小增量移動錯位的磁頭,并將來自錯位磁頭的數(shù)據(jù)送給本發(fā)明的系統(tǒng)。這種過程一直延續(xù)到狀態(tài)位表明無錯誤出現(xiàn)(即錯位磁頭已被校準(zhǔn),并且從該磁頭來的數(shù)據(jù)已可識別)時為止。
一旦錯位磁頭被校準(zhǔn)完畢,來自該校準(zhǔn)磁頭的讀出數(shù)據(jù)與數(shù)據(jù)緩沖器中已組合的數(shù)據(jù)塊組合。這種組合使得已從錯位磁頭中讀出的已組合數(shù)據(jù)塊的這部分被來自校準(zhǔn)后磁頭的讀出數(shù)據(jù)所取代。然后該數(shù)據(jù)可以被送入上述任何一種設(shè)備中。
因此,本發(fā)明能夠從多磁頭存儲器中讀出的已組合數(shù)據(jù)塊中檢測到錯位磁頭的存在,還能夠在已組合數(shù)據(jù)被送給主計算機(jī)之前,重新對準(zhǔn)磁頭和將不可識別的數(shù)據(jù)加以恢復(fù)。
結(jié)合附圖參閱本發(fā)明的詳細(xì)介紹,本發(fā)明的各種目的、特征、和附帶產(chǎn)生的優(yōu)點將能被更充分地理解。在圖中圖1是擁有3個磁盤并且每一磁盤對應(yīng)一個磁頭的多磁頭存儲器的框圖,其中磁頭3表示為錯位情況。
圖2是擁有多個磁道和3個磁頭的多磁頭存儲器的俯視圖,其中磁頭3被表示成錯位情況。
圖3是本發(fā)明一個實施例的高級方框圖。
圖4是本發(fā)明的一個具有暫存數(shù)據(jù)緩沖器的實施例的方框圖。
圖5是本發(fā)明的具有獨立的若干錯誤檢測裝置和一個錯誤控制機(jī)構(gòu)的實施例的方框圖。
圖6是本發(fā)明的擁有獨立的若干錯誤檢測裝置并指出數(shù)據(jù)流向的實施例的方框圖。
圖7是具有暫存數(shù)據(jù)緩沖器的一個替換實施例的方框圖。
圖8是本發(fā)明的一個實施例的操作流程圖。
圖9是本發(fā)明具有重新讀出功能的一個實施例的操作流程圖。
首先通觀本發(fā)明。
本發(fā)明是一個在多磁頭存儲器中檢測和改正錯誤的系統(tǒng)和方法,更具體地,本發(fā)明涉及多磁頭存儲器中,當(dāng)有一個或更多磁頭錯位時,用于檢測錯誤和恢復(fù)數(shù)據(jù)系統(tǒng)和方法。本發(fā)明通過下列步驟來完成檢測哪個(些)磁頭與其目標(biāo)磁道錯位,使來自未錯位磁頭的讀出讀據(jù)進(jìn)入緩沖器,微移錯位磁頭直到它與其目標(biāo)磁道對準(zhǔn)為止,使得它能讀出可識別的數(shù)據(jù),并將來自各校準(zhǔn)磁頭的可識別數(shù)據(jù)組合,送入數(shù)據(jù)緩沖器,從而產(chǎn)生一個可用于,例如,主計算機(jī)的數(shù)據(jù)塊。
總而言之,本發(fā)明在一個多磁頭存儲器中的一個或更多磁頭錯位造成已組合數(shù)據(jù)塊中檢測錯誤,并恢復(fù)來自這些磁頭的目標(biāo)磁道上的數(shù)據(jù)。已恢復(fù)的數(shù)據(jù)一般被送給主計算機(jī)。一旦數(shù)據(jù)被恢復(fù)多磁頭存儲器就能夠被替換,并且數(shù)據(jù)能被寫入一個新的多磁頭存儲器中。
另一種辦法是,主計算機(jī)接收的數(shù)據(jù)可以被重新寫入原來的多磁頭存儲器,因為該數(shù)據(jù)將被寫入相對于這些磁頭位置的存儲介質(zhì)的各存儲元上。換句話說,當(dāng)數(shù)據(jù)被重新寫給一個已從其原始位置位移了一定量的一個錯位磁頭時,重新寫入目標(biāo)磁道的位置將也從其原始磁道位置位移一個相應(yīng)的量。因此,只要在數(shù)據(jù)重新寫入后錯位的磁頭不再位移,那么該數(shù)據(jù)仍能以普通方式讀出。
另外,值得注意的是,本發(fā)明設(shè)定已組合的數(shù)據(jù)塊能夠被重新寫入原來的多磁頭存儲器,而沒有首先將它們送給主計算機(jī)。
本發(fā)明的主要概念能夠結(jié)合圖3給以最好的描述。在圖3所示的實施例和本發(fā)明設(shè)定的其它實施例中,使用擁有兩個或更多磁頭的多磁頭存儲器104來同步地讀出數(shù)據(jù)或?qū)懭霐?shù)據(jù)。還進(jìn)一步設(shè)定,當(dāng)數(shù)據(jù)從一個主設(shè)備,例如主計算機(jī)102,發(fā)送給多磁頭存儲器104時,它自動地將數(shù)據(jù)分裂(分段)成若干數(shù)據(jù)段。反之,當(dāng)數(shù)據(jù)從多磁頭存儲器104讀出時,設(shè)定多磁頭存儲器104能將數(shù)據(jù)組合還原成與主計算機(jī)102原來發(fā)送的數(shù)據(jù)完全相同的形式。
上述設(shè)定的幾種多磁頭存儲器104的例子如圖1和2所示。此種多磁頭存儲器104的更專業(yè)化實例是紐約Armonk的IBM公司的3370多磁盤DASD。然而,應(yīng)當(dāng)理解到,本發(fā)明也設(shè)定與數(shù)據(jù)分段和組合均不自動完成的多磁頭存儲器104一起工作。
在從多磁頭存儲器104讀出一個已組合數(shù)據(jù)塊正常過程期間,本發(fā)明接收一個已組合數(shù)據(jù)塊,該數(shù)據(jù)沿數(shù)據(jù)線306送給錯誤檢測器302,用于在檢測數(shù)據(jù)中因一個或多個磁頭錯位引起的錯誤。不管錯誤檢測器302是否檢測到錯誤,已組合數(shù)據(jù)塊均被自動地經(jīng)數(shù)據(jù)線310送給數(shù)據(jù)緩沖器304。在本發(fā)明的一個實施例中,這種數(shù)據(jù)塊,例如,是4K字節(jié),盡管任意長短的數(shù)據(jù)塊都可以使用。
為了圖示清楚起見,在圖3中,數(shù)據(jù)緩沖器304被分為若干段,以便指明來自多磁頭存儲器104哪一磁頭讀那一特定的數(shù)據(jù)段。例如,數(shù)據(jù)緩沖器304中含1的這些段表示已被從磁頭1讀出的數(shù)據(jù)。類似地,2表示被從磁頭2讀出的數(shù)據(jù)。當(dāng)數(shù)據(jù)的第n段已被從第n個磁頭讀出后,整個序列重新開始。實際上,數(shù)據(jù)緩沖器304表示已組合數(shù)據(jù)塊的每一段相對讀出數(shù)據(jù)磁頭的源。
當(dāng)數(shù)據(jù)經(jīng)數(shù)據(jù)線310被送給數(shù)據(jù)緩沖器304之后,錯誤檢測信號308被從錯誤檢測器302送到狀態(tài)位318。這些狀態(tài)位318被用作一種特征機(jī)構(gòu),用來指示多磁頭存儲器104中的哪些磁頭錯位。如果狀態(tài)位318指示沒有磁頭錯位,則在數(shù)據(jù)緩沖器304中的數(shù)據(jù)能夠經(jīng)數(shù)據(jù)線316被送給主計算機(jī)102。
如果狀態(tài)位指出一個或更多磁頭錯位,從多磁頭存儲器104中接收的已組合數(shù)據(jù)塊仍被送給數(shù)據(jù)緩沖器304。但除此之外,狀態(tài)位318將指出哪個磁頭錯位。例如,如果檢測到多磁頭存儲器104的磁頭2有一錯誤,則錯誤檢測器302將發(fā)出一個信號給狀態(tài)位318的狀態(tài)位S2,并將該位置成指示磁頭2錯位的狀態(tài)。
為了說明問題,繼續(xù)磁頭2錯位的例子,如果磁頭2錯位,并且狀態(tài)位S2已被置成指示錯位的狀態(tài),則存在數(shù)據(jù)緩沖器304中的已組合數(shù)據(jù)塊將不送給主計算機(jī)102。這是因為從磁頭2讀出的數(shù)據(jù)是不可識別的,而來自磁頭2的可識別數(shù)據(jù)必須首先被恢復(fù)。由于來自其它磁頭的讀入緩沖器304的數(shù)據(jù)是可識別的,所以本發(fā)明將這些可識別的數(shù)據(jù)預(yù)存在數(shù)據(jù)緩沖器304中,使得來自磁頭2的已恢復(fù)數(shù)據(jù)能夠與可識別數(shù)據(jù)相組合。
為了恢復(fù)錯位造成的不可識別數(shù)據(jù),當(dāng)狀態(tài)位318指示某一磁頭錯位后,數(shù)據(jù)恢復(fù)控制邏輯320便響應(yīng)狀態(tài)位318。這個指示信號經(jīng)控制線312發(fā)出。因此,狀態(tài)位S2被置位的事實告訴數(shù)據(jù)恢復(fù)控制邏輯320磁頭2錯位。
根據(jù)接到狀態(tài)位318指示磁頭2錯位的信號,從錯誤恢復(fù)控制邏輯320經(jīng)控制線314向多磁頭存儲器104發(fā)出控制信號,使多磁頭組件106(見圖1和2)以微小增量橫向移過目標(biāo)磁道的長度。在一個實施例中,多磁頭存儲器104中的所有磁頭都讀數(shù)據(jù),并且多磁頭存儲器104經(jīng)數(shù)據(jù)線306向錯誤檢測器302發(fā)出新的已組合數(shù)據(jù)塊。
然后,數(shù)據(jù)恢復(fù)控制邏輯320檢查狀態(tài)位S2,判斷是否來自多磁頭存儲104的磁頭2的讀數(shù)據(jù)仍是不可識別的。如果數(shù)據(jù)仍為不可識別,則數(shù)據(jù)恢復(fù)控制邏輯320將再次使多磁頭組件106以微小增量位移,而另一組合數(shù)據(jù)塊將被送給錯誤檢測器302。
在狀態(tài)位318的狀態(tài)位S2指示來自磁頭2的數(shù)據(jù)可識別即指示磁頭2已校準(zhǔn)之前,數(shù)據(jù)恢復(fù)周期將自己重復(fù)下去。在此方面,來自磁頭2的可識別數(shù)據(jù)被組合進(jìn)其在數(shù)據(jù)緩沖器316內(nèi)已組合數(shù)據(jù)塊中的相應(yīng)存儲元中。在此例中,數(shù)據(jù)緩沖器316中標(biāo)有“2”的這些數(shù)據(jù)段將被從新校準(zhǔn)的磁頭2讀出的可識別數(shù)據(jù)重寫。本發(fā)明設(shè)定這種組合能夠被數(shù)據(jù)恢復(fù)控制邏輯320控制,或者也能通過某些獨立的組合裝置來控制。在任何情況下,都應(yīng)注意,因為多磁頭組件106的增量位移將驅(qū)使原來對準(zhǔn)的磁頭讀出不可識別數(shù)據(jù),所以不允許將數(shù)據(jù)恢復(fù)周期內(nèi)讀出的任何不可識別數(shù)據(jù)重寫在數(shù)據(jù)緩沖器304的可識別數(shù)據(jù)之上,否則將造成已寫入數(shù)據(jù)緩沖器304中的可識別數(shù)據(jù)的破壞。
數(shù)據(jù)組合完成之后,數(shù)據(jù)緩沖器304中的數(shù)據(jù)能夠作為一個數(shù)據(jù)塊送給主計算機(jī)102。如果一個以上的磁頭錯位,則在數(shù)據(jù)緩沖器304中的數(shù)據(jù)被送給主計算機(jī)102之前,有多少磁頭錯位,數(shù)據(jù)恢復(fù)周期便重復(fù)多少次。
盡管在以上介紹中設(shè)定,帶有多磁頭組件106的多磁頭存儲器104中,所有磁頭都在多磁頭組件106上,因而同步運動,但應(yīng)該理解到,本發(fā)明還設(shè)定多磁頭存儲器104中的每個磁頭是可以分別控制的。在這種情況下,數(shù)據(jù)恢復(fù)控制邏輯320將只對那些已發(fā)現(xiàn)錯位的磁頭施行控制。
還應(yīng)當(dāng)理解到,本發(fā)明設(shè)定與多磁頭存儲器104一起使用,其中需要外設(shè)用以執(zhí)行分段和組合操作。此外,當(dāng)本發(fā)明的一個實施例設(shè)定本發(fā)明存在一個位于多磁頭存儲器104和主計算機(jī)102之間的中介設(shè)備,本發(fā)明還能夠集裝在已開發(fā)了錯誤檢測和數(shù)據(jù)恢復(fù)的多磁頭存儲器104之中。進(jìn)一步講,本明設(shè)定可與各種類型的讀/寫和只讀盤存儲器(包括磁盤和光盤)一起使用。
還應(yīng)該理解到,本發(fā)明考慮使用的數(shù)據(jù)緩沖器304和相應(yīng)的狀態(tài)位318,它們均大到足以容納多個已組合的數(shù)據(jù)塊,因而允許同時從多磁頭存儲器104讀出一個以上數(shù)據(jù)塊。以這種方法,可以同時對一個以上連續(xù)的已組合數(shù)據(jù)塊檢測錯誤,并送到主計算機(jī)102。
下面解釋雙緩沖器的實施例。
圖4是為完成上述恢復(fù)多磁頭存儲器中錯位磁頭數(shù)據(jù)的目的,使用雙緩沖器的本發(fā)明的詳細(xì)工作過程。為清楚起見,仍采用,例如,多磁頭存儲器104中磁頭2錯位的例子,對圖4如以說明。
參閱圖4,數(shù)據(jù)緩沖器304中的X部分表示從磁頭2讀入數(shù)據(jù)緩沖器304的數(shù)據(jù)是不可識別的。象前述圖3那樣,將狀態(tài)位318中的狀態(tài)位S2置為指示磁頭2錯位。數(shù)據(jù)恢復(fù)控制邏輯320檢測到已置位的狀態(tài)位S2,然后至少驅(qū)使磁頭2以微小增量位移,試圖使其重新對準(zhǔn)于它的目標(biāo)磁道之上,并使該磁道的數(shù)據(jù)得以恢復(fù)。
如上所述,由于所有的磁頭都由一個多磁頭組件106組裝在一起,錯位磁頭(例如磁頭2)的位移一般將造成其余磁頭變得錯位。如果從磁頭存儲器組件106讀出的全部數(shù)據(jù)在上述數(shù)據(jù)恢復(fù)時序期間,被讀入數(shù)據(jù)緩沖器304,那么先前由其余無錯位磁頭讀進(jìn)的好的可識別數(shù)據(jù)可能被破壞。
本發(fā)明解決此問題的方案之一,是只允許錯位磁頭(在此例中為磁頭2)讀出的數(shù)據(jù)被讀入數(shù)據(jù)緩沖器304。執(zhí)行本方案要求僅僅從數(shù)據(jù)線310上已組合的數(shù)據(jù)中抽出磁頭2讀出的部分。然后,來自磁頭2的數(shù)據(jù)在數(shù)據(jù)緩沖器304中被組合,存進(jìn)它們相應(yīng)的存儲單元(在此例中,即存入標(biāo)有X的存儲單元)。在恢復(fù)過程中,這種抽出和組合對每個從多磁頭存儲器104的讀出操作都需執(zhí)行,并一直執(zhí)行到狀態(tài)位318指明磁頭2對準(zhǔn)為止。
圖4所示的另一個實施例包括使用暫存狀態(tài)位406和暫存數(shù)據(jù)緩沖器402,與狀態(tài)位318指示一個或更多的多磁頭存儲器104的磁頭錯位時,暫存數(shù)據(jù)緩沖器402讀入一個已組合數(shù)據(jù)塊。因此,只是在上述數(shù)據(jù)恢復(fù)周期已開始之后,已組合數(shù)據(jù)塊才被讀入暫存數(shù)據(jù)緩沖器402。此外,此周期開始之后,錯誤檢測信號308被送給暫存狀態(tài)位406。數(shù)據(jù)恢復(fù)控制邏輯320檢測暫存狀態(tài)位406,而不是狀態(tài)位318,已判斷錯位磁頭是否已對準(zhǔn)。
當(dāng)暫存狀態(tài)位406指明磁頭2對準(zhǔn),來自磁頭2的已讀入暫存數(shù)據(jù)緩沖器402中的數(shù)據(jù)成為可識別數(shù)據(jù)后,數(shù)據(jù)恢復(fù)控制邏輯320經(jīng)控制線404發(fā)出控制信號,使來自已校準(zhǔn)磁頭2的讀入到暫存數(shù)據(jù)緩沖器402中的數(shù)據(jù)組合到數(shù)據(jù)緩沖器304的相應(yīng)段內(nèi)(即圖4中,標(biāo)有X的單元)中。這個步驟導(dǎo)致數(shù)據(jù)緩沖器304中原先由磁2讀出的數(shù)據(jù)被順序重寫。而在數(shù)據(jù)恢復(fù)周期內(nèi)被讀進(jìn)暫存數(shù)據(jù)緩沖器402中的其它數(shù)據(jù)不予考慮。
當(dāng)來自磁頭2的數(shù)據(jù)的組合完成之后,在數(shù)據(jù)緩沖器304中已組合的整個數(shù)據(jù)塊就是可識別的。這個已組合的數(shù)據(jù)塊能夠被送給主計算機(jī)102。
使用上述暫存數(shù)據(jù)緩沖器402的優(yōu)點是,在數(shù)據(jù)恢復(fù)過程中,允許數(shù)據(jù)被直接讀入暫存數(shù)據(jù)緩沖器402。這點與在數(shù)據(jù)恢復(fù)周期內(nèi),每次從多磁頭存儲器104中發(fā)出已組合數(shù)據(jù)塊時,都必須在將其組合進(jìn)數(shù)據(jù)緩沖器304之前仔細(xì)地將錯位磁頭讀出的數(shù)據(jù)與已組合的剩余數(shù)據(jù)塊內(nèi)的數(shù)據(jù)分開的情況形成對比。
使用暫存數(shù)據(jù)存儲器的另一個優(yōu)點是,允許本發(fā)明直接用暫存數(shù)據(jù)緩沖器402中的可識別數(shù)據(jù)取代數(shù)據(jù)緩沖器304中的不可識別數(shù)據(jù),而不要求當(dāng)暫存狀態(tài)位406指示錯位磁頭已校準(zhǔn)之后,多磁頭存儲器104再讀數(shù)據(jù)。換言之,如果通過錯誤檢測器302的數(shù)據(jù)未被存入,則當(dāng)錯誤檢測器302最終指示磁頭已校準(zhǔn)后,多磁頭存儲器104必須再次讀來自剛校準(zhǔn)磁頭的數(shù)據(jù)。
上述有關(guān)暫存數(shù)據(jù)緩沖器402的介紹表明,來自全部磁頭的數(shù)據(jù)(即,整個已組合數(shù)據(jù)塊),被讀入暫存數(shù)據(jù)緩沖器402,盡管在數(shù)據(jù)恢復(fù)周期內(nèi)只有來自錯位磁頭的數(shù)據(jù)受到關(guān)注。然而,應(yīng)當(dāng)理解,本發(fā)明還考慮在一個實施例中,暫存數(shù)據(jù)緩沖器402只允許來自錯位磁頭的數(shù)據(jù)被讀入。
總而言之,示于圖4的本實施例允許采用一種有效的方法,在數(shù)據(jù)被送給一種諸如主計算機(jī)102這樣的設(shè)備之前,對數(shù)據(jù)進(jìn)行恢復(fù),并改善數(shù)據(jù)緩沖器304中已組合數(shù)據(jù)塊的整體性。
下面介紹帶有錯誤檢測設(shè)計的增強(qiáng)型雙緩沖器的實施例。
圖5表示本發(fā)明的另一個實施例。參考圖5,狀態(tài)位318和暫存狀態(tài)位406分別被表示成數(shù)據(jù)緩沖器304和暫存數(shù)據(jù)緩沖器402的一部分。這樣一來,狀態(tài)位318和暫存狀態(tài)位406可由錯誤檢測器302產(chǎn)生的狀態(tài)數(shù)據(jù)來置位,并經(jīng)數(shù)據(jù)線310將該數(shù)據(jù)送至狀態(tài)位318和暫存狀態(tài)位406。在一個已組合數(shù)據(jù)塊被分別送給數(shù)據(jù)緩沖器304或暫存數(shù)據(jù)緩沖器402之后,該狀態(tài)數(shù)據(jù)被或者送給狀態(tài)位318或者送給暫存狀態(tài)位406。實際上,數(shù)據(jù)緩沖器304和暫存數(shù)據(jù)緩沖器402分別被用于存儲來自多磁頭存儲器的數(shù)據(jù)和存儲狀態(tài)位318與暫存狀態(tài)位406。
圖5還表示本發(fā)明設(shè)定使用一個以上錯誤檢測器302的設(shè)計。一個錯誤檢測器302能夠供多磁頭存儲器104中存在的每個磁頭使用,或者一個錯誤檢測器302可供任意數(shù)目的磁頭使用。無論在哪一種情形中,每個錯誤檢測器302產(chǎn)生一個錯誤檢測信號308,該號受相應(yīng)的狀態(tài)位檢測。
首先介紹采用獨立的若干錯誤檢測器的方案。使用一個以上錯誤檢測器302的優(yōu)點是,它允許將錯誤檢測的負(fù)擔(dān)分散在幾個不同的部件上。當(dāng)多磁頭存儲器104能夠以非常高的速度發(fā)送數(shù)據(jù)時,該優(yōu)點就顯得很重要。因此,一個以上錯誤檢測器302的使用,允許每個錯誤檢測器302以其被單獨使用時速度的若干分之一運行。
在使用一個以上錯誤檢測器302的場合,每一錯誤檢測器302運行需要的實際速度,由磁頭個數(shù)和使用的錯誤檢測器個數(shù)來決定。例如,如果在一個多磁頭存儲器104中有三個磁頭和三個錯誤檢測器302,三個錯誤檢測器302中的每一個將以其單獨使用時速度的三分之一運行。這個優(yōu)點可用于設(shè)計較簡易和較便宜的錯誤檢測器302。
如圖5所示,為了使用一個以上的錯誤檢測器,對于已被多磁頭存儲器104分段并被寫入其中的每一數(shù)據(jù)段需要先前已經(jīng)產(chǎn)生一個ECC。換言之,被多磁頭存儲器104的各磁頭寫入的每個已分段數(shù)據(jù)段需要有自己的ECC。做到本發(fā)明設(shè)定的這一點的辦法是,在發(fā)送數(shù)據(jù)給多磁頭存儲器104之前,將數(shù)據(jù)分成數(shù)據(jù)段,其個數(shù)和長度與多磁頭存儲器104接收到該數(shù)據(jù)時將要將其分段的數(shù)據(jù)段個數(shù)和數(shù)據(jù)段長度完全相同。然后,為每一數(shù)據(jù)段產(chǎn)生一個ECC,將數(shù)據(jù)組合,并將其送給多磁頭存儲器104存儲。
當(dāng)數(shù)據(jù)從多磁頭存儲器104讀出后,相同的產(chǎn)生ECC邏輯(例如,相同的ECC算法)能夠供本發(fā)明的錯誤檢測器302使用,反過來檢查ECC,并判斷是否有任何錯誤出現(xiàn)。這種同一ECC邏輯的雙向使用如圖6所示。用作產(chǎn)生和檢測ECC的邏輯芯片一般是現(xiàn)成的,一種典型的例子出自美國加洲塔斯汀(Tustin)的Simulex公司。
下面介紹另一種暫存緩沖器的設(shè)計。
圖7表示暫存數(shù)據(jù)緩沖器702和相應(yīng)狀態(tài)位704的一種可替換實施例。本實施例為在多磁頭存儲器104中使用的每一磁頭提供一個暫存數(shù)據(jù)緩沖器空間數(shù)據(jù)塊。這種方案允許在已恢復(fù)的數(shù)據(jù)被組合進(jìn)入數(shù)據(jù)緩沖器304之前,有一個以上的磁頭錯位的情況下,恢復(fù)數(shù)據(jù)。
圖7中的暫存數(shù)據(jù)緩沖器可通過例子給以很好的說明。如果多磁頭存儲器104中的磁頭1和磁頭3均錯位,本發(fā)明可利用上述數(shù)據(jù)恢復(fù)周期首先恢復(fù)磁頭1的數(shù)據(jù)。因此,磁頭1將以微小增量位移,直到磁頭1數(shù)據(jù)塊706在為特定磁頭指定的存儲單元(即標(biāo)1的存儲區(qū))中含有可識別數(shù)據(jù)為止。
一旦對應(yīng)于磁頭1數(shù)據(jù)塊706的狀態(tài)位指示錯位磁頭1的數(shù)據(jù)是可識別的之后,本發(fā)明開始數(shù)據(jù)恢復(fù)周期,以恢復(fù)來自錯位磁頭3的數(shù)據(jù),而不是立即將來自磁頭1數(shù)據(jù)塊706的數(shù)據(jù)與數(shù)據(jù)緩沖器304中的數(shù)據(jù)相組合。因此,本發(fā)明然后將向磁頭3數(shù)據(jù)塊710發(fā)送數(shù)據(jù),直到磁頭3的數(shù)據(jù)變成可識別數(shù)據(jù)為止。這一點由對應(yīng)于磁頭3數(shù)據(jù)塊710的暫存狀態(tài)位704來指示。
當(dāng)暫存狀態(tài)位704指示從磁頭1和磁頭3讀出的數(shù)據(jù)均可識別后,數(shù)據(jù)才被組合進(jìn)入數(shù)據(jù)緩沖器304的相應(yīng)存儲元中。因此,當(dāng)一個以上的磁頭錯位時,使用圖7所示的暫存數(shù)據(jù)緩沖器,允許本發(fā)明一次完成所有必要的數(shù)據(jù)恢復(fù),然后再一次完成所有必要的將數(shù)據(jù)組合進(jìn)入數(shù)據(jù)緩沖器304的操作。
圖7所示的暫存數(shù)據(jù)緩沖器702表明,供每個磁頭使用的數(shù)據(jù)塊擁有可供從所有磁頭讀入的數(shù)據(jù)使用的空間,還表明每個對應(yīng)的狀態(tài)位擁有針對每個磁頭的一個比特。這樣做以后,數(shù)據(jù)的每相對部分就不需要被抽出。因此,數(shù)據(jù)恢復(fù)控制邏輯320只集中控制數(shù)據(jù)和暫存數(shù)據(jù)狀態(tài)位704,此二者是相關(guān)的。在上述例子中,在磁頭1數(shù)據(jù)塊706中僅僅從磁頭1讀出的數(shù)據(jù)將是相關(guān)的,如同僅僅對應(yīng)于狀態(tài)位S1一樣。類似地,在磁頭3數(shù)據(jù)塊710中,只有從磁頭3讀出的數(shù)據(jù)是相關(guān)的,如同僅僅相應(yīng)于狀態(tài)位S3。這種方案有助于改善全部發(fā)明的速度。然而應(yīng)該理解到,本發(fā)明設(shè)定暫存緩沖器702中,只有相關(guān)的數(shù)據(jù)才能讀入。
具體實施例如下。
回過來再參考圖5,在本發(fā)明的一個實施例中,錯誤檢測器存在CMOS上。再者,數(shù)據(jù)緩沖順304和暫存數(shù)據(jù)緩沖器402使用256K字節(jié)的SRAM。還有,在本發(fā)明的一個實施例中,數(shù)據(jù)緩沖器304一次從多磁頭存儲器104的每個磁頭讀入兩個字節(jié)的數(shù)據(jù)。因此,示于圖5的代表由每個磁頭寫入的數(shù)據(jù)段的數(shù)字(即1,2,等)都表示兩字節(jié)。當(dāng)然,任何量的數(shù)據(jù)都可用于每一數(shù)據(jù)段。
應(yīng)該注意,本發(fā)明的一個實施例設(shè)定存在兩種情況,其中能夠指明“錯位”磁頭(即,產(chǎn)生不可識別數(shù)據(jù)的磁頭)。第一種情況前面已經(jīng)介紹過,其中一個磁頭沒有與其目標(biāo)磁頭對準(zhǔn)。第二種情況是因與磁頭的物理位置無關(guān)的原因讀出不可識別數(shù)據(jù)。這些原因包括在磁頭與目標(biāo)磁道之間存在灰塵顆粒。
為了判斷哪種情況導(dǎo)致所指示磁頭“錯位”,在本發(fā)明的一個實施例中,數(shù)據(jù)恢復(fù)邏輯320首先向多磁頭存儲器104發(fā)出控制信號,重讀來自被檢測到錯誤的磁頭的數(shù)據(jù)。做這一步時,磁頭不進(jìn)行增量位移。在本發(fā)明的上述實施例中指出的錯誤檢測和緩沖方案可在上述重讀期間被使用。
如果這種數(shù)據(jù)的重讀產(chǎn)生可識別數(shù)據(jù),則認(rèn)為錯位磁頭為已被校準(zhǔn)磁頭,沒有再進(jìn)行數(shù)據(jù)恢復(fù)的必要。如果它不產(chǎn)生可識別數(shù)據(jù),則數(shù)據(jù)恢復(fù)控制邏輯320向多磁頭存儲器104發(fā)出控制信號,使磁頭進(jìn)行微小增量位移,并且上述數(shù)據(jù)恢復(fù)周期開始。
如果磁頭的重讀和位移都不在數(shù)據(jù)變?yōu)榭勺R別的意義上使磁頭變?yōu)椤靶?zhǔn)”,則在本發(fā)明的一個實施例中,向主計算機(jī)給出一個已有嚴(yán)重錯誤出現(xiàn)的指示。
圖8表示本發(fā)明的操作情形。首先,將一個已組合數(shù)據(jù)塊讀入數(shù)據(jù)緩沖器304,如方框802所示。然后,檢查指示數(shù)據(jù)中是否出現(xiàn)錯誤的狀態(tài)位318,如方框806所示。如果未發(fā)現(xiàn)錯誤,將已組合數(shù)據(jù)塊送給主計算機(jī)102,如判斷方框808和804所示。將另一個已組合數(shù)據(jù)塊讀入數(shù)據(jù)緩沖器304,如方框802所示。
如果按照判斷框808時發(fā)現(xiàn)已出現(xiàn)一個錯誤,則下一步便是判斷哪個磁頭錯位,如方框810所示。一旦確定之后,錯位的磁頭便以某個微小增量位移(要么自身位移,要么與其連接的或受影響的多磁頭存儲器104中的磁頭一起位移),并且讀出來自錯位磁頭的數(shù)據(jù),如方框812所示。這一步的完成不會影響從剩余磁頭讀出的可識別數(shù)據(jù)。然后檢查狀態(tài)位,觀察數(shù)據(jù)是否含有錯誤,如方框814所示。
如果仍有錯誤,則錯位磁頭再次以某一微小增量位移,如判斷方框816所示和812所示。如果狀態(tài)位318指明錯位磁頭已校準(zhǔn),來自新校準(zhǔn)磁頭的數(shù)據(jù)被組合,進(jìn)入數(shù)據(jù)緩沖器304中已組合的數(shù)據(jù)塊,如判斷方框816和818所示。已組合數(shù)據(jù)塊然后被送給主計算機(jī),如方框820所示。
圖9表示具有讀功能的本發(fā)明的操作。這個實施例設(shè)定關(guān)于圖8討論的操作再加上包括從重讀來自一個錯位磁頭數(shù)據(jù)(如方框902所示)的幾個步驟。執(zhí)行該重讀步驟時不對錯位磁頭進(jìn)行移動。
當(dāng)來自錯位磁頭的數(shù)據(jù)被重讀之后,檢查狀態(tài)位318,觀察是否磁頭仍錯位,如方框904所示。如果沒有發(fā)現(xiàn)指示錯位磁頭存在的錯誤出現(xiàn),如方框906所示,則數(shù)據(jù)按照圖8中的方框818進(jìn)行組合。但如果判斷方框816指明已經(jīng)出現(xiàn)了一個錯誤,此外,如果錯位磁頭已重讀的重復(fù)次數(shù)少于某一設(shè)定的重讀次數(shù),那么錯位磁頭就再次被重讀,如判斷方框908和902所示。
如果錯位磁頭被重讀的次數(shù)已超過設(shè)定的次數(shù),此外當(dāng)本發(fā)明前進(jìn)到判斷方框908所指的步驟時,錯位磁頭將以微小增量位移,如圖8中方框812所示。因此,在本實施例中,圖9所示的操作步驟可被插入圖8中。
可以理解,本發(fā)明能夠在軟件實施例中執(zhí)行。在這種實施例中,各部件和步驟都能夠在完成本發(fā)明功能的軟件內(nèi)實施。任何現(xiàn)有的或今后開發(fā)的計算機(jī)軟件語言都能應(yīng)用于本發(fā)明的這種軟件實施例中。
還應(yīng)當(dāng)理解,發(fā)明不局限于上述實施例,并且上述提供的實施例的目的僅在于闡述本發(fā)明。因而本發(fā)明的范圍可以用上述附圖和文本所定義的下列權(quán)利要求來解釋。
權(quán)利要求
1.一個用于在擁有能同步地讀數(shù)據(jù)的兩個或更多磁頭的多磁頭存儲器中校準(zhǔn)錯位磁頭的系統(tǒng),其特征在于存儲從多磁頭存儲器中讀出的已組合數(shù)據(jù)塊的數(shù)據(jù)緩沖裝置;從已組合數(shù)據(jù)塊中判斷多磁頭存儲器的兩個或更多磁頭中(如果有的話)哪個磁頭錯位的錯誤檢測裝置;狀態(tài)位,響應(yīng)所述錯誤檢測裝置,用于指明兩個或更多磁頭中哪個磁頭錯位;數(shù)據(jù)恢復(fù)控制邏輯裝置,響應(yīng)所述狀態(tài)位,用于向多磁頭存儲器發(fā)送控制信號,使錯位磁頭以微小增量移動其位置并讀數(shù)據(jù),直至所述狀態(tài)位指示錯位磁頭已被校準(zhǔn)為止;和組合裝置,響應(yīng)所述狀態(tài)位,用于將從該校準(zhǔn)磁頭讀入的數(shù)據(jù)與在所述緩沖器中的已組合數(shù)據(jù)的所述數(shù)據(jù)塊進(jìn)行組合,使得存儲在所述數(shù)據(jù)緩沖器中存儲的從錯位磁頭讀入的任何數(shù)據(jù)都被從所述校準(zhǔn)磁頭讀入的數(shù)據(jù)重寫。
2.根據(jù)權(quán)利要求1的系統(tǒng),其特征在于所述數(shù)據(jù)緩沖器能存儲數(shù)個已組合數(shù)據(jù)塊,并且其中每個與其有關(guān)的數(shù)據(jù)塊擁有一個所述狀態(tài)位的對應(yīng)位置。
3.根據(jù)權(quán)利要求1的系統(tǒng),其特征在于存入所述數(shù)據(jù)緩沖器裝置中的所述組合數(shù)據(jù)塊能夠被送給主計算機(jī)和/或重寫入多磁頭存儲器。
4.根據(jù)權(quán)利要求1的系統(tǒng),其特征在于所述錯誤檢測裝置包括兩個或更多錯誤檢測器,其中已組合數(shù)據(jù)塊被在所述錯誤檢測器中平均分段。
5.根據(jù)權(quán)利要求1的系統(tǒng),其特征在于所述錯誤檢測裝置包括的錯誤檢測器的數(shù)目與多磁頭存儲器中磁頭的數(shù)目相同。
6.根據(jù)權(quán)利要求1的系統(tǒng),其特征在于所述狀態(tài)位是所述數(shù)據(jù)緩沖器的一部分。
7.根據(jù)權(quán)利要求1的系統(tǒng),其特征在于所述數(shù)據(jù)恢復(fù)控制邏輯進(jìn)一步包括重讀裝置,用于向多磁頭存儲器發(fā)出控制信號,對來自錯位磁頭的數(shù)據(jù)進(jìn)行重讀,其中所述恢復(fù)控制邏輯裝置僅當(dāng)所述狀態(tài)位指示在所述重讀裝置使用之后還存在一個錯位磁頭時,向多磁頭存儲器發(fā)出另外的控制信號,使該磁頭以微小增量位移。
8.根據(jù)權(quán)利要求1的系統(tǒng),其特征在于所述數(shù)據(jù)恢復(fù)控制邏輯裝置進(jìn)一步包括用于向多磁頭存儲器發(fā)出控制信號,僅使多磁頭存儲器中的一個磁頭以微小增量位移的裝置。
9.一個用于在擁有能夠同步讀數(shù)據(jù)的兩個或更多磁頭的多磁頭存儲器中,校準(zhǔn)錯位磁頭的系統(tǒng),其特征在于存儲從多磁頭存儲器讀出的已組合數(shù)據(jù)塊的數(shù)據(jù)緩沖裝置;從已組合數(shù)據(jù)塊中判斷多磁頭存儲器的兩個或更多磁頭中(如果有的話)哪個磁頭錯位的錯誤檢測裝置;狀態(tài)位,響應(yīng)所述錯誤檢測裝置,用于指明兩個或更多磁頭中哪個磁頭錯位;暫存狀態(tài)位,響應(yīng)所述錯誤檢測裝置,用于指明是否錯位磁頭已經(jīng)變?yōu)橐研?zhǔn)磁頭;數(shù)據(jù)恢復(fù)控制邏輯裝置,響應(yīng)所述狀態(tài)位和所述暫存狀態(tài)位,用于當(dāng)檢測到一個錯位磁頭時向多磁頭存儲器發(fā)出控制信號,使得該錯位磁頭以微小增量位移,并讀出數(shù)據(jù)直至所述暫存狀態(tài)位指示錯位磁頭已經(jīng)校準(zhǔn)為止;暫存數(shù)據(jù)緩沖器裝置,當(dāng)所述控制信號被送給所述多磁頭存儲器后,用于存儲從多磁頭存儲器讀出的已組合數(shù)據(jù)塊;和組合裝置,響應(yīng)所述暫存狀態(tài)位,用于在所述暫存數(shù)據(jù)緩沖器裝置中將校準(zhǔn)磁頭讀出的數(shù)據(jù)與所述數(shù)據(jù)緩沖器裝置中已組合的所述數(shù)據(jù)塊進(jìn)行組合,使得任何存于所述數(shù)據(jù)緩沖器裝置中從錯位磁頭讀出的數(shù)據(jù)被在所述暫存數(shù)據(jù)緩沖器裝置中的校準(zhǔn)磁頭讀出的數(shù)據(jù)重寫。
10.根據(jù)權(quán)利要求9的系統(tǒng),其特征在于所述數(shù)據(jù)緩沖器裝置能存儲多個已組合數(shù)據(jù)塊,其中每個數(shù)據(jù)塊擁有與其有關(guān)的一個所述狀態(tài)位的一個對應(yīng)位置。
11.根據(jù)權(quán)利要求9的系統(tǒng),其特征在于存儲于所述數(shù)據(jù)緩沖器裝置中的已組合數(shù)據(jù)能夠被送給主計算機(jī)和/或重寫給多磁頭存儲器。
12.根據(jù)權(quán)利要求9的系統(tǒng),其特征在于所述錯誤檢測裝置包括兩個或更多個錯誤檢測器,其中所述已組合數(shù)據(jù)塊被在所述錯誤檢測器中平均分段。
13.根據(jù)權(quán)利要求9的系統(tǒng),其特征在于所述錯誤檢測器裝置包括的錯誤檢測器的數(shù)目與多磁頭存儲器中磁頭的數(shù)目相等。
14.根據(jù)權(quán)利要求9的系統(tǒng),其中所述狀態(tài)位是所述數(shù)據(jù)緩沖器的一部分。
15.根據(jù)權(quán)利要求9的系統(tǒng),其特征在于所述數(shù)據(jù)恢復(fù)控制邏輯進(jìn)一步包括重讀裝置,用于向多磁頭存儲器發(fā)出控制信號,重讀來自錯位磁頭的數(shù)據(jù),其中僅當(dāng)所述重讀裝置使用之后,暫存狀態(tài)位指示仍存在錯位磁頭時,所述恢復(fù)控制邏輯裝置向多磁頭存儲器發(fā)出另外的控制信號,使該磁頭以微小增量位移。
16.根據(jù)權(quán)利要求9的系統(tǒng),其特征在于所述數(shù)據(jù)恢復(fù)控制邏輯裝置進(jìn)一步包括用于向多磁頭存儲器發(fā)出控制信號,僅使多磁頭存儲器中的一個磁頭以微小增量位移的裝置。
17.根據(jù)權(quán)利要求9的系統(tǒng),其特征在于只有來自錯位磁頭的數(shù)據(jù)被讀入所述的暫存數(shù)據(jù)緩沖器裝置。
18.根據(jù)權(quán)利要求9的系統(tǒng),其特征在于所述暫存器裝置能夠接收一個以上已組合數(shù)據(jù)塊,其中所述數(shù)據(jù)恢復(fù)控制邏輯裝置能夠檢測一個以上錯位磁頭的存在,并能在將數(shù)據(jù)組合進(jìn)入所述數(shù)據(jù)緩沖器裝置中的已組合數(shù)據(jù)塊中之前,對來自每一錯位磁頭的數(shù)據(jù)進(jìn)行恢復(fù)。
19.根據(jù)權(quán)利要求18的系統(tǒng),其特征在于只有來自錯位磁頭的數(shù)據(jù)被讀入所述暫存數(shù)據(jù)緩沖器。
20.根據(jù)權(quán)利要求18的系統(tǒng),其特征在于所述暫存狀態(tài)位是所述暫存數(shù)據(jù)緩沖器裝置的一部分。
21.一種用于在擁有兩個或更多的能同步讀出數(shù)據(jù)的多磁頭存儲器中校準(zhǔn)錯位磁頭的方法,其特征在于以下步驟(1)從多磁頭存儲器讀出一個已組合數(shù)據(jù)塊,并將所述的已組合數(shù)據(jù)塊送給一個數(shù)據(jù)緩沖器;(2)檢測錯位磁頭的存在,并從所述已組合數(shù)據(jù)塊中檢測多磁頭存儲器的哪一個磁頭錯位;(3)響應(yīng)步驟(2)產(chǎn)生錯誤檢測信號,指出哪個磁頭錯位;(4)響應(yīng)所述步驟(3)的錯誤檢測信號,置狀態(tài)位;(5)響應(yīng)所述步驟(4)的狀態(tài)位,向多磁頭存儲器發(fā)出控制信號,使錯位磁頭以微小增量位移,并從該錯頭中讀數(shù)據(jù);(6)重復(fù)步驟(1)-(5),直到所述狀態(tài)位指示該錯位磁頭已經(jīng)變?yōu)楸恍?zhǔn)磁頭為止;(7)將從校準(zhǔn)磁頭讀出的數(shù)據(jù)與在所述步驟(1)的數(shù)據(jù)緩沖器中已組合的所述數(shù)據(jù)塊相組合;使得原存于所述數(shù)據(jù)緩沖器裝置中的錯位磁頭讀出的數(shù)據(jù)均被校準(zhǔn)后的磁頭所重寫。
22.根據(jù)權(quán)利要求21的方法,其特征在于所述步驟(1)包括接收來自多磁頭存儲器的一個以上的已組合數(shù)據(jù)塊的步驟。
23.根據(jù)權(quán)利要求21的方法,其特征在于一個步驟(8),將所述已組合數(shù)據(jù)塊送給主設(shè)備,和/或?qū)⑺鲆呀M合數(shù)據(jù)塊重寫進(jìn)多磁頭存儲器。
24.根據(jù)權(quán)利要求21的方法,其特征在于所述步驟(2)包括使用兩個或更多錯誤檢測器的步驟,其中所述已組合數(shù)據(jù)塊在所述錯誤檢測器之間被平均分段。
25.根據(jù)權(quán)利要求21的方法,其特征在于所述步驟(5)還包括步驟向多磁頭存儲器發(fā)送控制信號以重讀來自錯位磁頭的數(shù)據(jù),和僅當(dāng)發(fā)送所述控制信號以進(jìn)行數(shù)據(jù)重讀之后所述狀態(tài)位仍指示存在錯位磁頭時,向多磁頭存儲器發(fā)送另外的控制信號,使該磁頭以微小增量位移。
26.一種用于擁有兩個或更多能同步讀數(shù)據(jù)的多磁頭存儲器中校準(zhǔn)錯位磁頭的方法,其特征在于以下步驟(1)從多磁頭存儲器中讀出一個已組合數(shù)據(jù)塊,并將所述已組合數(shù)據(jù)塊送給一個數(shù)據(jù)緩沖器;(2)檢測錯位磁頭的存在,并從所述已組合數(shù)據(jù)塊中檢測多磁頭存儲器的哪一個磁頭錯位;(3)響應(yīng)步驟(2)產(chǎn)生錯誤檢測信號,指示哪一個磁頭錯位;(4)響應(yīng)所述步驟(3)的所述錯誤檢測信號,置狀態(tài)位;(5)響應(yīng)所述步驟(4)的所述狀態(tài)位,向多磁頭存儲器發(fā)出控制信號,使該錯位磁頭以微小增量位移并從該錯位磁頭中讀出數(shù)據(jù);(6)將來自該錯位磁頭的數(shù)據(jù)送進(jìn)一個暫存數(shù)據(jù)緩沖器;(7)響應(yīng)步驟(5)產(chǎn)生錯誤檢測信號,指示哪一個磁頭錯位;(8)響應(yīng)所述步驟(7)的所述錯誤檢測信號,置狀態(tài)位;(9)重復(fù)所述步驟(5)-(8),直到所述狀態(tài)位指示錯位磁頭已被校準(zhǔn)為止;(10)在所述步驟(6)的所述暫存數(shù)據(jù)緩沖器中,將從錯位磁頭讀出的數(shù)據(jù)與在所述步驟(1)的數(shù)據(jù)緩沖器中已組合數(shù)據(jù)塊相組合,使得存在所述數(shù)據(jù)緩沖器裝置內(nèi)的錯位磁頭讀出的數(shù)據(jù)被存在所述暫存數(shù)據(jù)緩沖器中從校準(zhǔn)磁頭讀出的數(shù)據(jù)重寫。
27.根據(jù)權(quán)利要求26的方法,其特征在于所述步驟(1)包括接收來自多磁頭存儲器的一個以上的已組合數(shù)據(jù)塊的步驟。
28.根據(jù)權(quán)利要求26的方法,其特征在于一個步驟(11),將所述已組合數(shù)據(jù)塊發(fā)送給主設(shè)備,和/或?qū)⑺鲆呀M合數(shù)據(jù)塊重寫到多磁頭存儲器中。
29.根據(jù)權(quán)利要求26的方法,其特征在于所述步驟(2)包括使用兩個或更多錯誤檢測器的步驟,其中所述已組合數(shù)據(jù)塊在所述錯誤檢測器中間被平均分段。
30.根據(jù)權(quán)利要求26的方法,其特征在于所述步驟(5)還包括步驟向多磁頭存儲器發(fā)出控制信號,重讀來自錯位磁頭的數(shù)據(jù),并僅當(dāng)發(fā)送控制信號進(jìn)行重讀之后暫存狀態(tài)位仍指示存在錯位磁頭時,才向多磁頭存儲器發(fā)出另外的控制信號,使該磁頭以微小增量位移。
31.根據(jù)權(quán)利要求26的方法,其特征在于所述步驟(6)進(jìn)一步包括接收一個以上已組合數(shù)據(jù)塊的步驟,并且所述步驟(6)進(jìn)一步包括檢測一個以上錯位磁頭的存在,并在允許所述步驟(10)在所述數(shù)據(jù)緩沖器中將任何數(shù)據(jù)組合進(jìn)已組合數(shù)據(jù)塊之前,恢復(fù)來自每一個錯位磁頭的數(shù)據(jù)。
32.一種用于檢測擁有n個磁頭的多磁頭存儲器的錯位磁頭的系統(tǒng),其特征在于用于將從多磁頭存儲器讀入的已組合數(shù)據(jù)塊分成至少兩段和最多n段的分段裝置;錯誤檢測裝置,擁有至少一個和最多n個獨立錯誤檢測器,所述檢測器擁有檢測磁頭錯位的錯誤檢測邏輯,所述錯誤檢測裝置能夠指示多磁頭存儲器中哪一個磁頭錯位;組合裝置,用于組合來自所述錯誤檢測裝置的數(shù)據(jù),并將該已組合數(shù)據(jù)塊送給一個數(shù)據(jù)恢復(fù)設(shè)備。
33.根據(jù)權(quán)利要求32的系統(tǒng),其特征在于所述檢測裝置包含與多磁頭存儲器中磁頭的數(shù)目相等的錯誤檢測器。
34.根據(jù)權(quán)利要求33的系統(tǒng),其特征在于在所述錯誤檢測器中使用的相同一錯誤檢測邏輯被用于產(chǎn)生錯誤改正碼,錯誤改正碼在最初被寫進(jìn)多磁頭存儲器時與已組合數(shù)據(jù)塊存在一起。
35.一種用于在有n個磁頭的多磁頭存儲器中檢測錯位磁頭的方法,其特征在于以下步驟(1)將從多磁頭存儲器讀入的已組合數(shù)據(jù)塊分成至少兩段和最多n段;(2)檢測錯位磁頭的存在,使用至少一個和最多n個擁有檢測數(shù)據(jù)中錯誤的錯誤檢測邏輯的獨立錯誤檢測器,所述至少一個和最多n個錯誤檢測器能夠指示多磁頭存儲器中哪個磁頭錯位;(3)組合從錯誤檢測裝置接到的數(shù)據(jù),并將已組合數(shù)據(jù)送給一個數(shù)據(jù)恢復(fù)設(shè)備。
36.根據(jù)權(quán)利要求35的方法,其特征在于所述步驟(2)包括使用其數(shù)目與多磁頭存儲器中磁頭個數(shù)相等的錯誤檢測器的步驟。
37.根據(jù)權(quán)利要求35的方法,其特征在于所述步驟(2)包括使用所述錯誤檢測器中使用的相同的錯誤檢測邏輯來產(chǎn)生錯誤改正碼的步驟,錯誤改正碼在其最初被寫進(jìn)多磁頭存儲器時與已組合數(shù)據(jù)塊存在一起。
全文摘要
一種用于在多磁頭存儲器中檢測哪個磁頭有錯誤和或許為錯位的系統(tǒng)和方法,它能校準(zhǔn)該錯位,使數(shù)據(jù)得以恢復(fù),這些特征使多磁頭存儲器的被恢復(fù)數(shù)據(jù)以一種有效的方式,使多磁頭存儲器的其它未錯位磁頭讀出的數(shù)據(jù)不會遭受破壞。
文檔編號G11B21/08GK1061485SQ9110964
公開日1992年5月27日 申請日期1991年10月14日 優(yōu)先權(quán)日1990年11月14日
發(fā)明者羅伯特·L·貝利, 布蘭特·C·森特沃, 斯蒂芬·C·魯寧, 弗雷斯特·L·瓦德 申請人:國際商業(yè)機(jī)器公司