欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

陣列型記錄裝置的制作方法

文檔序號(hào):6453634閱讀:214來源:國知局
專利名稱:陣列型記錄裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)計(jì)算機(jī)存儲(chǔ)系統(tǒng)的陣列型記錄裝置,例如,是有關(guān)通過將多個(gè)磁盤裝置配置成陣列狀來改進(jìn)磁盤驅(qū)動(dòng)系統(tǒng)的性能以及可靠性。
將多個(gè)磁盤裝置做成陣列狀所構(gòu)成的磁盤系統(tǒng),已為各種文獻(xiàn)和專利所公開。其中加利福尼亞柏克萊大學(xué)發(fā)表了有關(guān)大容量化存儲(chǔ)數(shù)據(jù)的可靠性的改善方式的論文,該論文為“A Case forRedundant Arrays of InexpensiveDisks (RAID)”1988,6,1,ProcACM SIGMOD Conf,Chicago,其對數(shù)據(jù)可靠性的改善方式是從已有的密勒磁盤方式到成組交叉奇偶方式,按5個(gè)等級(jí)進(jìn)行了分類。下面對其概述如下RAID等級(jí)1通常為鏡(陰影)方式,將同一數(shù)據(jù)存儲(chǔ)到兩組磁盤裝置中。對于高可靠性要求的系統(tǒng)而言,RAID等級(jí)1是已有的、普通的,但由于冗余度大因此單位容量的成本高。
DAID等級(jí)2適用于按DRAM所使用的漢明碼形式,在冗余組的數(shù)據(jù)磁盤中,按位間隔存儲(chǔ)。由于可以做成能修正一位誤差,所以在每組(一組由大約10~25個(gè)盤構(gòu)成)的多個(gè)校驗(yàn)盤中(數(shù)據(jù)盤數(shù)為10個(gè)時(shí),所需校驗(yàn)盤數(shù)為4),寫入ECC(誤差檢驗(yàn)與校正碼)碼。該等級(jí)的冗余度稍大些。
RAID等級(jí)3以固定方式使用奇偶磁盤,將數(shù)據(jù)進(jìn)行字節(jié)交錯(cuò)后記錄在各組中的數(shù)據(jù)磁盤里。由于是按每個(gè)驅(qū)動(dòng)器的ECC判斷誤差位置,因此只需用1個(gè)奇偶磁盤就可以了,其適用于與心軸同步回轉(zhuǎn)的做高速傳送。
RAID等級(jí)4按固定方式使用奇偶磁盤,將數(shù)據(jù)進(jìn)行成組交錯(cuò)后記錄在組中的數(shù)據(jù)盤,中與等級(jí)3的差別在于交錯(cuò)單位不一樣,由于按區(qū)組單位進(jìn)行記錄,因而適合于將少量數(shù)據(jù)多次存取的情況。
RAID等級(jí)5與等級(jí)3和4不同,其不帶有固定的奇偶磁盤,而是將奇偶數(shù)據(jù)分散地記錄在所構(gòu)成的磁盤中(螺旋式記錄)為此寫時(shí)不會(huì)引起奇偶磁盤的負(fù)荷集中問題。并使10ps增加(與RAID相比,寫的比率越多越有利)。使用時(shí)性能,容量效率同時(shí)很好。
作為具有冗余性的陣列型磁盤驅(qū)動(dòng)裝置的公知例,如特開平2-236714號(hào)公報(bào)中所公開的,美國陣列技術(shù)協(xié)會(huì)的“陣列型磁盤驅(qū)動(dòng)機(jī)構(gòu)的系統(tǒng)及方法”。根劇陣列技術(shù)協(xié)會(huì)例舉的冗余等級(jí)并利用主計(jì)算機(jī)可以選擇構(gòu)成磁盤裝置的理論個(gè)數(shù)。
而有關(guān)奇偶數(shù)據(jù)的分散記錄(螺旋式記錄)在特開昭62-293355號(hào)公報(bào)所公開的美國國際商業(yè)機(jī)械協(xié)會(huì)的“數(shù)據(jù)保護(hù)機(jī)構(gòu)”中描述了該方法。
圖28所示的是上述特開平2-236714號(hào)公報(bào)中所示的已有的陣列型磁盤驅(qū)動(dòng)裝置,圖中2是作為主計(jì)算機(jī)和陣列控制器之間的緩沖器的主接口(以下稱主I/F),3是控制陣列控制器整體的微處理器,4是存儲(chǔ)器,5是產(chǎn)生冗余數(shù)據(jù)以及對數(shù)據(jù)進(jìn)行復(fù)位的EOR機(jī)構(gòu),6是連接上述主接口I/F2。微處理器3,存儲(chǔ)器4以及EOR機(jī)構(gòu)5的共用數(shù)據(jù)總線,8是通道控制器,在上述數(shù)據(jù)總線上連接著多個(gè)通道控制器,9是磁盤裝置,10是通道,磁盤裝置9經(jīng)通道10與上述通道控制器連接,13是控制多個(gè)磁盤裝置9的陣列控制器。
圖29是解釋形成RAIO冗余數(shù)據(jù)的圖,如圖29所示,用5個(gè)磁盤中的一個(gè)磁盤的數(shù)據(jù)存儲(chǔ)其它4個(gè)磁盤數(shù)據(jù)中的冗余數(shù)據(jù)(奇偶)的狀態(tài),奇偶性可以通過4個(gè)磁盤數(shù)據(jù)的異(XOR)運(yùn)算來計(jì)算,即奇偶性磁盤P中的奇偶數(shù)據(jù),是將磁盤0和磁盤1以及磁盤2和磁盤3的數(shù)據(jù)進(jìn)行XOR而得到,將這樣得到的奇偶數(shù)據(jù)作為冗余數(shù)據(jù),通過保持奇偶數(shù)據(jù)可以在例如當(dāng)磁盤0中的數(shù)據(jù)因某種障礙而不能讀取時(shí),將磁盤1和磁盤2以及磁盤3和奇偶磁盤P的數(shù)據(jù)進(jìn)行異(XOR)運(yùn)算后的數(shù)據(jù)作為磁盤0的數(shù)據(jù)進(jìn)行復(fù)原。
而且,奇偶性計(jì)算如前所述是將4個(gè)磁盤數(shù)據(jù)進(jìn)行XOR運(yùn)算而得到的,另外的方法還將已寫入數(shù)據(jù)的磁盤的原數(shù)據(jù)和目前的奇偶磁盤中所記錄的現(xiàn)存奇偶數(shù)據(jù)前移后計(jì)算新數(shù)據(jù)和老數(shù)據(jù)和現(xiàn)有奇偶數(shù)據(jù)三個(gè)數(shù)據(jù)的XOR后所得的數(shù)據(jù),作為新的奇偶性數(shù)據(jù)的情況。用圖30說明該方法。例如,需要在磁盤2中記錄新數(shù)據(jù)DN(2)時(shí),首先從磁盤2中讀出原有的數(shù)據(jù)DO(2)。同時(shí)讀出從奇偶性磁盤來的現(xiàn)有的奇偶數(shù)據(jù)DO(P),然后將DN(2)和DO(2)和DO(P)這三個(gè)數(shù)據(jù)進(jìn)行XOR計(jì)算,并將算后的數(shù)據(jù)作為新的奇偶性數(shù)據(jù)DN(P)。然后在磁盤2里記錄新數(shù)據(jù)DN(2)。最后將新的奇偶性數(shù)據(jù)DN(P)記錄到奇偶性磁盤中。
以下就如圖28所示系統(tǒng)的動(dòng)作進(jìn)行說明。圖28中,主計(jì)算機(jī)和數(shù)據(jù)的存儲(chǔ)再生都是通過主I/F2來完成的,數(shù)據(jù)存儲(chǔ)時(shí),來自主機(jī)的命令以及數(shù)據(jù)經(jīng)數(shù)據(jù)總線6一次性地被存儲(chǔ)到存儲(chǔ)器4中。當(dāng)數(shù)據(jù)再生時(shí)在存儲(chǔ)器4中所準(zhǔn)備的數(shù)據(jù)通過主I/F2被傳送到主機(jī)中。
圖31是主I/F2內(nèi)部的方框圖及其動(dòng)作流程。圖中,21是協(xié)議芯片22是微型計(jì)算機(jī)。I/F協(xié)議芯片21是將SCSI硬件化的接口芯片,微型計(jì)算機(jī)22對I/F協(xié)議芯片21接受的數(shù)據(jù)內(nèi)容進(jìn)行分析的結(jié)果輸出到下段的控制器。如流程圖所示微型計(jì)算機(jī)22進(jìn)行指令的有效性檢驗(yàn),并分析指令的內(nèi)容。進(jìn)而根據(jù)該分析的結(jié)果實(shí)現(xiàn)從邏輯地址向物理地址的變換。這樣就可以按順序進(jìn)行指令的有效性校驗(yàn)、指令的譯碼和地址的變換。由于這段時(shí)間需要例如300微秒到1毫秒,因此即使在其他硬件的性能提高的情況下,由于主I/F內(nèi)的微型計(jì)算機(jī)22的性能沒提高,因此仍然具有實(shí)質(zhì)上不可能提高傳送速度的缺點(diǎn)。
以下利用圖28、圖32說明有關(guān)RAID等級(jí)5的動(dòng)作。在存儲(chǔ)數(shù)據(jù)時(shí),微處理器3將存儲(chǔ)在存儲(chǔ)器4中的數(shù)據(jù)分割成數(shù)據(jù)塊、并確定數(shù)據(jù)寫入磁盤裝置以及冗余數(shù)據(jù)寫入磁盤裝置。對于RAID等級(jí)5由于需要用新寫入的冗余數(shù)據(jù)替代已寫入的數(shù)據(jù)塊中的原有數(shù)據(jù),因此在寫入之前,需要進(jìn)行讀取的動(dòng)作。數(shù)據(jù)傳送是通過存儲(chǔ)器和通道8之間的數(shù)據(jù)總線6來進(jìn)行的,與上述數(shù)據(jù)傳送相同步地由EOR機(jī)構(gòu)5形成冗余數(shù)據(jù)。
如圖32所示在寫入1024字節(jié)的數(shù)據(jù)時(shí),如果數(shù)據(jù)塊是按512字節(jié)進(jìn)行設(shè)定的,則可將上述1024字節(jié)分割成16和17兩塊進(jìn)行記錄,同時(shí)還可記錄奇偶性數(shù)據(jù)P。把這樣的記錄狀態(tài)叫做螺旋式記錄。
以下將對其進(jìn)行順序說明。首先如圖28所示可確定寫入數(shù)據(jù)磁盤裝置9a、9b以及冗余數(shù)據(jù)磁盤裝置9e,然后通過微處理器3的控制可起動(dòng)EOR機(jī)構(gòu)5,向數(shù)據(jù)連接磁盤裝置9a、9b以及冗余數(shù)據(jù)磁盤裝置9e的通道控制器8a 8b 8e發(fā)出讀取用于冗余數(shù)據(jù)計(jì)算的老數(shù)據(jù)的指令。當(dāng)上述數(shù)據(jù)磁盤裝置9a、9b以及冗余數(shù)據(jù)磁盤裝置9e讀取了老數(shù)據(jù)之后,根據(jù)微處理器3的指令,在數(shù)據(jù)磁盤裝置9a、9b中寫入新的數(shù)據(jù),以及在冗余磁盤裝置9e寫入由EOR機(jī)構(gòu)5所生成的替換了的冗余數(shù)據(jù)。并向主計(jì)算機(jī)報(bào)告上述數(shù)據(jù)寫入已終結(jié)。按上述方式寫入數(shù)據(jù)時(shí),需要先讀取用于生成冗余數(shù)據(jù)的老數(shù)據(jù),因此處理時(shí)間較長。
另外,如圖32所示,在把一個(gè)數(shù)據(jù)分割記錄到多個(gè)磁盤中的情況下,在存取該數(shù)據(jù)時(shí)需要訪問多個(gè)磁盤,因而性能不好。
以下就數(shù)據(jù)讀出進(jìn)行說明,主計(jì)算機(jī)給出數(shù)據(jù)讀出指令,由微處理器3計(jì)算數(shù)據(jù)塊及數(shù)據(jù)磁盤裝置中存儲(chǔ)的數(shù)據(jù)。例如如果磁盤裝置9c中存儲(chǔ)了該數(shù)據(jù),則向連接磁盤裝置9c的通道控制器8c中發(fā)出讀指令。當(dāng)磁盤裝置9c讀出數(shù)據(jù)之后,將數(shù)據(jù)傳送到存儲(chǔ)器4中。并向主計(jì)算機(jī)報(bào)告數(shù)據(jù)讀出已終結(jié)。
以下就產(chǎn)生異常時(shí),對數(shù)據(jù)的修改以及備用磁盤中數(shù)據(jù)的重新構(gòu)成進(jìn)行說明。
例如可以在上述磁盤裝置9c不能進(jìn)行數(shù)據(jù)讀出的情況下對數(shù)據(jù)進(jìn)行修復(fù)。當(dāng)磁盤裝置9c不能進(jìn)行數(shù)據(jù)讀出時(shí),由微處理器3從包含讀出該數(shù)據(jù)磁盤在內(nèi)的所有冗余組的磁盤裝置中讀出數(shù)據(jù),并由EOR機(jī)構(gòu)5將不能讀出的該數(shù)據(jù)塊的數(shù)據(jù)進(jìn)行復(fù)位。
例如,冗余組是由磁盤9a、9b、9c、9d、9e構(gòu)成時(shí),由磁盤裝置9a、9b、9d、9e讀出數(shù)據(jù)塊,而由EOR機(jī)構(gòu)5將磁盤9c的數(shù)據(jù)復(fù)位,并將數(shù)據(jù)傳送到存儲(chǔ)器4,同時(shí)向主計(jì)算機(jī)報(bào)告讀出數(shù)據(jù)結(jié)束。
如上所述,在磁盤裝置發(fā)生異常之后,在不能讀出數(shù)據(jù)時(shí),也能修復(fù)數(shù)據(jù),因而提高了數(shù)據(jù)的可靠性。
如上所述,數(shù)據(jù)的重新構(gòu)成是在磁盤裝置9e不能使用的情況下進(jìn)行的。在這種情況下由微處理器3讀出包含磁盤裝置9c中已存儲(chǔ)的數(shù)據(jù)的冗余組在內(nèi)的所有磁盤裝置中的數(shù)據(jù),而由EOR機(jī)構(gòu)5使磁盤裝置9c的數(shù)據(jù)復(fù)位,并將復(fù)位后的數(shù)據(jù)重新構(gòu)成到備用磁盤上。
例如如果冗余組是由磁盤裝置9a,9b,9c,9d,9e構(gòu)成的,則讀出來自磁盤裝置9a,9b,9d,9e的數(shù)據(jù),并由EOR機(jī)構(gòu)5將磁盤裝置9c的數(shù)據(jù)復(fù)位,并將所復(fù)位的數(shù)據(jù)寫入備用磁盤,使磁盤裝置9c的數(shù)據(jù)在備用磁盤上重新構(gòu)成,以上是用備用磁盤代替不能使用的磁盤裝置9c,這種代替處理應(yīng)在系統(tǒng)運(yùn)轉(zhuǎn)中進(jìn)行,因而在代替處理中會(huì)使系統(tǒng)的性能變壞。
由于已有的陣列型磁盤驅(qū)動(dòng)裝置是按上述方式構(gòu)成的,因此即使在通常動(dòng)作中也存在當(dāng)數(shù)據(jù)寫入時(shí),為了形成冗余數(shù)據(jù),需先進(jìn)行數(shù)據(jù)讀出,從而使處理時(shí)間延遲等問題。
而且對于磁盤裝置替代處理而言,當(dāng)用替代的備用磁盤進(jìn)行替代時(shí),存在使系統(tǒng)的性能進(jìn)一步變壞的問題。
本發(fā)明的目的就是要克服上述缺點(diǎn),得到一種改善了數(shù)據(jù)讀出和寫入時(shí)的處理時(shí)間的陣列型記錄裝置。
與本發(fā)明有關(guān)的第一種陣列型記錄裝置,使用了與已有裝置相同的讀寫回路,其中寫入回路和讀出回路是分開設(shè)置的,其具有以下部分(a)多個(gè)記錄數(shù)據(jù)的記錄載體;(b)在上述多個(gè)記錄載體上寫入數(shù)據(jù)的寫入回路;(c)與上述寫入回路不相同的回路、并從上述多個(gè)記錄載體中讀出數(shù)據(jù)的讀出回路。
與本發(fā)明有關(guān)的第二種陣列型記錄裝置,其特征是具備(a)多個(gè)記錄數(shù)據(jù)的記錄載體;(b)具有對應(yīng)于上述多個(gè)記錄載體分別配備的先進(jìn)先出緩沖器,用于對上述多個(gè)記錄載體寫入數(shù)據(jù)的數(shù)據(jù)寫入回路;(c)具有對應(yīng)于上述多個(gè)記錄載體分別配備的先進(jìn)先出緩沖器,用于從所述記錄載體中讀出數(shù)據(jù),與上述數(shù)據(jù)寫入回路獨(dú)立地操作的數(shù)據(jù)讀出回路。
與本發(fā)明有關(guān)的第三種陣列型記錄裝置,例如在接口部備有雙通道的存儲(chǔ)器,其特征是具有由該雙通道的各通道存取雙通道存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)的多個(gè)指令處理單元,并具有以下部分(a)記錄數(shù)據(jù)的多個(gè)記錄載體;(b)根據(jù)請求對上述記錄載體進(jìn)行數(shù)據(jù)讀寫的讀寫裝置;(c)用于對上述讀寫裝置提出請求,而且具有由以下部件的接口裝置;(c1)從外部裝置輸入指令的指令輸入單元;(c2)具有多個(gè)存取通道并保持來自上述指令輸入單元的輸入指令的多通道存儲(chǔ)器;(c3)用于根據(jù)上述多通道存儲(chǔ)器中所保持的指令將上述讀寫裝置中輸出的請求進(jìn)行變換處理,經(jīng)多種處理后,再分別進(jìn)行分配的多個(gè)同時(shí)存取來自多通道存儲(chǔ)器各存取通道的指令并進(jìn)行分配處理的指令處理單元。
與本發(fā)有關(guān)的第四種陣列型記錄裝置,其特征是,在通過螺旋式記錄將數(shù)據(jù)分散在多個(gè)記錄載體中進(jìn)行記錄的情況下設(shè)置了冗余數(shù)據(jù)在連續(xù)寫入數(shù)據(jù)時(shí),下一個(gè)冗余組的開頭,是以以前已寫入冗余組冗余數(shù)據(jù)的記錄載體所定方向?yàn)槠瘘c(diǎn),在連續(xù)讀出數(shù)據(jù)的情況下,沿所定的方向按順序讀出多個(gè)記錄載體,并且有以下部分
(a)記錄數(shù)據(jù)的多個(gè)記錄載體(b)寫入裝置,其將數(shù)據(jù)以及該數(shù)據(jù)的冗余數(shù)據(jù)分散記錄在上述多個(gè)記錄載體中,并在連續(xù)進(jìn)行多個(gè)數(shù)據(jù)寫入的情況下,在所定的方向上按順序地將數(shù)據(jù)寫入多個(gè)記錄載體中,同時(shí)把各數(shù)據(jù)的冗余數(shù)據(jù)周期地配置到多個(gè)記錄載體中,并從已寫入在前數(shù)據(jù)的冗余數(shù)據(jù)的記錄載體開始,寫入下一個(gè)數(shù)據(jù);(c)讀出裝置,其在將上述寫入裝置連續(xù)寫入的多個(gè)數(shù)據(jù)進(jìn)行連續(xù)地讀出的情況下,當(dāng)從一個(gè)冗余組讀取數(shù)據(jù)時(shí),應(yīng)忽略從該冗余組讀出冗余數(shù)據(jù),而是從具有該冗余數(shù)據(jù)的記錄載體開始通過按順序在所定的方向上讀出多個(gè)記錄載體的數(shù)據(jù),來讀出下一個(gè)數(shù)據(jù)。
與本發(fā)明有關(guān)的第五種陣列型記錄裝置,其特征在于通過先進(jìn)先出緩沖器(FIFO),在讀出記錄載體上所記錄的數(shù)據(jù)時(shí),先進(jìn)先出緩沖器在讀出數(shù)據(jù)的同時(shí)生成修正數(shù)據(jù),并且有以下部分(a)將數(shù)據(jù)以及冗余數(shù)據(jù)進(jìn)行分散記錄的多個(gè)記錄載體;(b)具有以下部件的、讀出上述記錄載體記錄的上述數(shù)據(jù)的讀出裝置;(b1)分別對應(yīng)于上述多個(gè)記錄載體所設(shè)置的、輸入記錄載體中所記錄的數(shù)據(jù)的先進(jìn)先出緩沖器;(b2)通過上述先進(jìn)先出緩沖器,讀出記錄載體中所記錄的數(shù)據(jù)的讀出控制回路;(b3)通過上述讀出控制回路,讀出來自先進(jìn)先出緩沖器的數(shù)據(jù)時(shí),產(chǎn)生用于修正所讀出的數(shù)據(jù)的修正數(shù)據(jù)生成回路。
與本發(fā)明有關(guān)的第六種陣列型記錄裝置,特征是當(dāng)通過先入先出緩沖器(FIFO)在記錄載體上寫數(shù)據(jù)時(shí),同時(shí)生成寫入數(shù)據(jù)的冗余數(shù)據(jù),并具有以下部分(a)將數(shù)據(jù)以及其冗余數(shù)據(jù)分散地進(jìn)行記錄多的個(gè)記錄載體;(b)具有以下部件且將數(shù)據(jù)寫入記錄載體中的寫入裝置;(b1)分別對應(yīng)于上述多個(gè)記錄載體所設(shè)置的并在各記錄載體中進(jìn)行記錄的先進(jìn)先出緩沖器;(b2)通過上述先進(jìn)先出緩沖器,向記錄載體中寫入數(shù)據(jù)的寫入控制回路;(b3)由上述寫入控制回路通過先進(jìn)先出緩沖器向記錄載體寫數(shù)據(jù)時(shí),生成寫入數(shù)據(jù)的冗余數(shù)據(jù)的冗余數(shù)據(jù)生成回路。
與本發(fā)明有關(guān)的第七種陣列型記錄裝置,其特征在于在數(shù)據(jù)讀出回路中具有把所讀出的數(shù)據(jù)向?qū)懭牖芈穫魉偷膫魉突芈?,在寫入?shù)據(jù)的寫入回路中,用來自傳送回路的數(shù)據(jù),生成冗余數(shù)據(jù),并具有以下部分(a)將數(shù)據(jù)以及冗余數(shù)據(jù)進(jìn)行分散記錄的多個(gè)記錄載體;(b)讀出上述記錄載體中所記錄數(shù)據(jù)的讀出裝置,其具有以下部分(b1)向分別對應(yīng)于上述多個(gè)記錄載體設(shè)置的各記錄載體輸入所記錄的數(shù)據(jù)的先進(jìn)先出緩沖器;(b2)通過上述先進(jìn)先出緩沖器,讀出記錄載體中記錄的數(shù)據(jù)和其冗余數(shù)據(jù)的讀出控制回路;(b3)利用上述讀出控制回路,在從先進(jìn)先出緩沖器讀出數(shù)據(jù)時(shí),傳送所讀出的數(shù)據(jù)的傳送回路;
(c)在上述記錄載體中寫入數(shù)據(jù)的寫入裝置,其具有以下部分(c1)對應(yīng)于上述多個(gè)記錄載體分別設(shè)置的、對各載體進(jìn)行記錄的先進(jìn)先出緩沖器;(c2)通過上述先進(jìn)先出緩沖器,在記錄載體中寫入數(shù)據(jù)的寫入控制回路;(c3)利用上述寫入控制回路通過先進(jìn)先出該沖器向記錄載體寫入數(shù)據(jù)時(shí),根據(jù)上述傳送回路所傳送的數(shù)據(jù)和寫入數(shù)據(jù)生成冗余數(shù)據(jù)的冗余數(shù)據(jù)生成回路。
與本發(fā)明有關(guān)的第八種陣列型記錄裝置,其特征在于,具有先進(jìn)先出緩沖器(FIFO),和利用該先進(jìn)先出緩沖器,將先入先出緩沖器中所寄存的數(shù)據(jù)進(jìn)行任意次傳送的輸出裝置,并且有以下部分(a)記錄數(shù)據(jù)的多個(gè)記錄載體;(b)對應(yīng)于上述記錄載體設(shè)置的先進(jìn)先出緩沖器;(c)通過上述先進(jìn)先出緩沖器,對記錄載體進(jìn)行數(shù)據(jù)讀寫的讀寫裝置;(d)利用上述讀寫裝置,在從先進(jìn)先出緩沖器輸出數(shù)據(jù)的同時(shí),持續(xù)保持該輸出數(shù)據(jù),并可以再次從先進(jìn)先出緩沖器輸出數(shù)據(jù)的輸出裝置。
與本發(fā)明有關(guān)的第九種陣列型記錄裝置,與已有的陣列型記錄裝置中所對應(yīng)的多個(gè)記錄載體只帶一個(gè)高速緩沖存儲(chǔ)器的情況相反,本發(fā)明的特征在于對應(yīng)于多個(gè)記錄載體,分別設(shè)置高速緩沖存儲(chǔ)器,并且有以下部分
(a)記錄數(shù)據(jù)的多個(gè)記錄載體;(b)對應(yīng)于上述記錄載體設(shè)置的、對記錄載體上所讀寫的數(shù)據(jù)進(jìn)行暫時(shí)保持的高速緩沖存儲(chǔ)器;(c)利用上述高速緩沖存儲(chǔ)器,對記錄載體進(jìn)行數(shù)據(jù)讀寫的讀寫裝置。
與本發(fā)明有關(guān)的第十種陣列型記錄裝置,其特征在于對任意個(gè)記錄裝置的處理終結(jié)報(bào)告進(jìn)行組合,并使裝置例如產(chǎn)生中斷,和根據(jù)該中斷進(jìn)行任務(wù)起動(dòng),其具有以下部分(a)記錄數(shù)據(jù)的多個(gè)記錄載體;(b)向上述多個(gè)記錄載體中的任意個(gè)記錄載體中輸出存取請求的多個(gè)任務(wù)裝置;(c)利用上述任務(wù)裝置,報(bào)告用于存取的各記錄載體已完成存取的報(bào)告裝置;(d)通過對上述報(bào)告裝置的報(bào)告進(jìn)行組合,從上述多個(gè)任務(wù)裝置中,識(shí)別對應(yīng)的任務(wù)裝置后,起動(dòng)該任務(wù)的任務(wù)起動(dòng)裝置。
在第1發(fā)明中,寫入數(shù)據(jù)的寫入回路和讀出數(shù)據(jù)的讀出回路分別是用不同的回路構(gòu)成的。因此通過并行地進(jìn)行寫入動(dòng)作和讀出動(dòng)作,來提高了陣列型記錄裝置的處理性能。
在第2發(fā)明中,由于分別對應(yīng)于各記錄載體設(shè)置了先進(jìn)先出緩沖器,利用該專用的先進(jìn)先出緩沖器進(jìn)行相應(yīng)于各記錄載體的數(shù)據(jù)處理,從而能實(shí)現(xiàn)高速處理。
在第3發(fā)明中,在接口部配置了多通道存儲(chǔ)器,因此可同時(shí)訪問與多個(gè)通道存儲(chǔ)器對應(yīng)的多個(gè)指令處理單元,這與已有的按時(shí)序并行地進(jìn)行處理的方式相比,可使接口部的處理高速進(jìn)行。
第4發(fā)明中,由寫入裝置寫入的數(shù)據(jù),即螺旋式記錄的數(shù)據(jù)是按螺旋狀配置的,在讀出裝置讀出該數(shù)據(jù)時(shí),這種按螺旋狀所配置了的螺旋式記錄數(shù)據(jù),可以順次地連續(xù)讀出。即寫入裝置為了寫入下一個(gè)冗余組,而通過讀出裝置從與帶常有前一冗余組冗余數(shù)據(jù)的記錄載體相同的記錄載體所寫入的數(shù)據(jù)中讀出新的冗余組數(shù)據(jù)時(shí),是從具有前一冗余組冗余數(shù)據(jù)的記錄載體中開始讀的。因此,通過預(yù)先跳讀或忽略前一個(gè)冗余數(shù)據(jù),來讀具有下一個(gè)冗余組的冗余數(shù)據(jù)的記錄載體并沿所定的方向不斷讀出多個(gè)記錄載體就可以連續(xù)地進(jìn)行數(shù)據(jù)讀出。
第5發(fā)明中,如果在某個(gè)記錄載體上發(fā)生誤差,并想修正該記錄載體上所記錄的數(shù)據(jù)時(shí),需要從進(jìn)行正常動(dòng)作的記錄載體中,讀出數(shù)據(jù),并使其構(gòu)成修正數(shù)據(jù)。在本發(fā)明中,是將從正常記錄載體讀出的數(shù)據(jù)記錄到輸入輸出緩沖器中。然后在讀出數(shù)據(jù)的過程中,將最后傳送的并與從先進(jìn)先出緩沖器中讀出的數(shù)據(jù)傳送時(shí)鐘脈沖相同步的數(shù)據(jù),作為讀出的數(shù)據(jù)的修正數(shù)據(jù),即,修正數(shù)據(jù)生成回路在讀出由控制回路把從記錄載體來的數(shù)據(jù)讀出到先進(jìn)先出緩沖器中時(shí),與該讀出同步生成修正數(shù)據(jù),從記錄載體讀出數(shù)據(jù)的時(shí)間,就是生成修復(fù)數(shù)據(jù)的時(shí)間,從而可以省略已有的在讀出所有的數(shù)據(jù)之后再生成修正數(shù)據(jù)的時(shí)間,并且可以高速地實(shí)現(xiàn)修正數(shù)據(jù)的生成處理。
第6發(fā)明中,在記錄載體上寫入數(shù)據(jù)時(shí)生成冗余數(shù)據(jù)后再進(jìn)行寫入,寫入控制回路在記錄載體上寫數(shù)據(jù)時(shí),冗余數(shù)據(jù)生成回路在該寫入數(shù)據(jù)的整個(gè)過程中與最后被傳送到先進(jìn)先出緩沖器的寫入數(shù)據(jù)的傳送時(shí)鐘脈沖同步,而生成寫入數(shù)據(jù)的冗余數(shù)據(jù)。這樣冗余數(shù)據(jù)生成回路在寫入控制回路寫入數(shù)據(jù)的同時(shí),形成冗余數(shù)據(jù),因此相對于已有的從寫入數(shù)據(jù)開始到生成冗余數(shù)據(jù)所特殊需要的時(shí)間而言,在本發(fā)明通過把寫入數(shù)據(jù)寫入到記錄載體的同時(shí),就可以生成冗余數(shù)據(jù),因此可以節(jié)省生成冗余數(shù)據(jù)的時(shí)間。
第7發(fā)明中,改善了在記錄載體上寫入數(shù)據(jù)的情況下,把老數(shù)據(jù)一次讀取之后,再進(jìn)行新的冗余數(shù)據(jù)的生成的過程,其將讀出控制回路讀出的數(shù)據(jù)和冗余數(shù)據(jù),傳送到寫入控制回路的傳送回路,利用該傳送回路在傳送數(shù)據(jù)的同時(shí),使用新寫入的數(shù)據(jù)來生成新的冗余數(shù)據(jù),因此就不需要像已有的那樣由所讀出的老數(shù)據(jù)和寫入的新數(shù)據(jù)來生成冗余數(shù)據(jù)所要求的特別的時(shí)間,所以可以縮短冗余數(shù)據(jù)生成的時(shí)間。
第8發(fā)明中,輸出裝置可以從先進(jìn)先出緩沖器進(jìn)行任意次的數(shù)據(jù)輸出,例如在出現(xiàn)寫入錯(cuò)誤或讀出錯(cuò)誤時(shí),利用輸出裝置可再次將先進(jìn)先出緩沖器里的數(shù)據(jù)進(jìn)行傳送,因此在寫入動(dòng)作中就能實(shí)行重寫,而在讀出動(dòng)作中就可以進(jìn)行讀出數(shù)據(jù)的再傳送。
第9發(fā)明中,對應(yīng)于多個(gè)記錄載體設(shè)置了高速緩沖存儲(chǔ)器,使數(shù)據(jù)的存取能高速進(jìn)行,同時(shí)由于高速緩沖器是被分別設(shè)置在記錄載體上的,所以只限于相應(yīng)于高速使用的記錄載體,而在其它的記錄載體上不需要使用高速,因此在多個(gè)記錄載體使用高速緩沖器的情況下,不必進(jìn)行排他處理。
第10發(fā)明中,設(shè)置有報(bào)告裝置,通過將該報(bào)告裝置的報(bào)告進(jìn)行組合,可對向記錄載體輸出的處理請求的任務(wù)進(jìn)行識(shí)別,并起動(dòng)該被識(shí)別了的任務(wù),因此根據(jù)處理請求而動(dòng)作的記錄載體在完成其所有處理的時(shí)間點(diǎn)上,可以自動(dòng)地起動(dòng)所期望的任務(wù)。
附圖的簡要說明

圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的方塊圖。
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的接口單元的方塊3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的另一個(gè)接口單元的實(shí)施例的圖。
圖4根據(jù)本發(fā)明一個(gè)實(shí)施例的自修復(fù)單元圖。
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的RAID單元的方塊6是根據(jù)本發(fā)明一個(gè)實(shí)施例的HDD控制單元和磁盤裝置的方塊圖。
圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的螺旋式數(shù)據(jù)陣列圖。
圖8是根據(jù)本發(fā)明一個(gè)實(shí)施例的另一種螺旋式數(shù)據(jù)陣列圖。
圖9是根據(jù)本發(fā)明一個(gè)實(shí)施例的讀單元的方塊圖。
圖10是根據(jù)本發(fā)明一個(gè)實(shí)施例的異回路的電路圖。
圖11是根據(jù)本發(fā)明一個(gè)實(shí)施例的時(shí)間圖。
圖12是根據(jù)本發(fā)明一個(gè)實(shí)施例的寫單元的方塊圖。
圖13是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于說明動(dòng)作的說明圖。
圖14是用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例的動(dòng)作的示圖。
圖15是用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例的動(dòng)作的說明16用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例的動(dòng)作的說明圖。
圖17是用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例動(dòng)作和說明圖。
圖18是用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例動(dòng)作的說明圖。
圖19是用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例動(dòng)作的說明圖。
圖20是用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例動(dòng)作的說明圖。
圖21是用于說明根據(jù)本發(fā)明的一個(gè)實(shí)施例動(dòng)作的說明圖。
圖22是用于說明根據(jù)本發(fā)明的一個(gè)實(shí)施例動(dòng)作的說明圖。
圖23是用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例的動(dòng)作的說明圖。
圖24是用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例的動(dòng)作的說明圖。
圖25是用于說明根據(jù)本發(fā)明一個(gè)實(shí)施例動(dòng)作的說明圖。
圖26是根據(jù)本發(fā)明的一個(gè)實(shí)施例的中斷回路圖。
圖27是用于說明根據(jù)本發(fā)明的一個(gè)實(shí)施例的中斷向量的圖。
圖28是已有的陣列型磁盤裝置圖。
圖29是用于說明陣列型磁盤裝置的動(dòng)作的說明圖。
圖30是用于說明陣列型磁盤裝置的動(dòng)作的說明圖。
圖31是用于說明已有接口單元?jiǎng)幼鞯恼f明圖。
圖32是已有的螺旋式數(shù)據(jù)陣列圖。
符號(hào)說明100接口單元 160 控制總線 170 數(shù)據(jù)總線200自修復(fù)單元 300 RAID單元 340 中斷回路400 讀單元、410 FIFO 420 異回路,500 寫單元 510 FIFO 520 異回路600 控制回路700 HDD控制單元800 磁盤裝置實(shí)施例1圖1所示的是有關(guān)本發(fā)明的陣列型記錄裝置的一個(gè)實(shí)施例。
圖中,100是接口單元,200是自修復(fù)單元,300是RAID單元,400是RAID單元300內(nèi)部的讀出單元,500是同一RAID單元300內(nèi)部的寫單元,600是用于對讀單元400和寫單元500以及RAID300的整體進(jìn)行控制的控制回路。700是與RAID單元300相連接的磁盤裝置的控制單元(HDD控制單元)。800是與HDD控制單元700相連接的磁盤裝置。
下面利用圖2以及圖3來說明接口單元100。
圖2中101是SCSI接口,110是控制該SCSI接口的SCSI芯片,120是分析由SCSI芯片110輸入的協(xié)議的微處理機(jī)SCSIMPU,130是進(jìn)行直接存儲(chǔ)器存取(DMA)傳送的DMA芯片,140是有兩個(gè)存取通道的雙端口隨機(jī)存取存儲(chǔ)器(RAM),150是具有0.5到兆字節(jié)的緩沖器,160是與SCSI芯片110和SCSIMPU120和雙端口RAM140相連接的控制總線,170是與SCSI芯片110和DMA芯片130以及雙端口RAM140和緩沖器150相連接的數(shù)據(jù)總線。
雙端口RAM140帶有兩個(gè)存取通道,在本列中,與控制總線160和數(shù)據(jù)總線170通過各自的通道進(jìn)行連接。通過SCSI接口101在芯片SCSI110上所輸入的處理請求由控制總線160和數(shù)據(jù)總線170分別進(jìn)行處理,SCSI芯片110將處理請示求一次寄存到雙端口RAM140中,在該雙端口RAM140中所寄存的處理請求,可以通過SCSIMPU120和DMA芯片130進(jìn)行存取。SCSIMPU120例如把寄存在雙端口RAM中的指令群(CDB指令盤117リブミヨニ塊)通過控制總線160從雙端口DMA中讀出,并對該指令的有效性進(jìn)行校驗(yàn)同時(shí)進(jìn)行指令的譯碼,另一方面,SCSIMPU120在進(jìn)行指令的有效性的校驗(yàn)和指令的譯碼期間,為了得到所需要的地址,而控制DMA芯片130進(jìn)行例如從邏輯地址向物理地址的變換。
這樣該接口單元100的特征在于分別具有控制總線和數(shù)據(jù)總線,而且在雙端口RAM140中一次性地寄存指令群,并且在存取來自各通道的各程序的同時(shí),可并行地進(jìn)行指令分析、必要的變換等。
另外,將緩沖器150用於傳送那些傳送長度很長的數(shù)據(jù)或用于在讀出來自磁盤裝置的數(shù)據(jù)之后,對其進(jìn)行修正并再次寫入到磁盤裝置中的所謂的讀改寫動(dòng)作。
而且SCSI芯片110以及DMA芯片130可以通過與外部接口連接的RAIO裝置300來進(jìn)行故障排除,并可以對主計(jì)算機(jī)的診斷系統(tǒng)作出響應(yīng)。
以下,圖3是表示接口裝置100的另一個(gè)例子。
圖3中,110是SCSI芯片,120是微處理機(jī),121是指令校驗(yàn)回路,122是邏輯物理地址變換器,140是雙端口RAM。
在本例中,SCSI芯片110將SCSI接口101傳送的指令群(CDB)寄存到雙端口RAM140中。微處理機(jī)120和邏輯物理變換器122和指令校驗(yàn)回路121對雙端口RAM140可以同時(shí)進(jìn)行訪問,因此用指令校驗(yàn)回路121可以對雙端口RAM140指令群(CDB)的指令有效性進(jìn)行校驗(yàn)。同時(shí)由微處理機(jī)120進(jìn)行指令譯碼。再由邏輯物理地址變換器122將輸入的邏輯地址變成物理地址。指令校驗(yàn)回路121也可由硬件構(gòu)成,或者可以由與微處理機(jī)120不同的微處理機(jī)構(gòu)成。同樣邏輯物理地址變換器122也可以是由專用的硬件構(gòu)成,或者用和微處理機(jī)120不一樣的微處理機(jī)進(jìn)行處理。
這樣,將由接口單元100進(jìn)行的處理分成三部分后進(jìn)行系列處理,可以減少接口單元100的內(nèi)務(wù)操作,從而可以使陣列型記錄裝置的處理速度提高。
以下用圖4表示圖1中所示的自修正單元200的構(gòu)成。
圖中,210是記錄存儲(chǔ)器,220是用于保持日期,時(shí)間等的壓制電池,230是用于控制自修正單元的MPU,240為進(jìn)行選擇操作的面板。
在操作面板240上,設(shè)置了就緒發(fā)光二極管(LED)、故障LEO等各種顯示裝置,同時(shí)還設(shè)置了修正用的軟件或診斷用的軟件?;騻溆幸栽诰€方式連接且用于修正診斷系統(tǒng)的通信用機(jī)構(gòu)。該自修正單元200內(nèi)設(shè)有圖中未示的實(shí)時(shí)時(shí)鐘,同時(shí)還具有用于保持日期、時(shí)刻等的壓制電池220,在保持日期、時(shí)刻的同時(shí)還可以把RAIO單元300的動(dòng)作狀態(tài)采集到記錄存儲(chǔ)器210中。MPU230,通常用于監(jiān)視RAID單元300的動(dòng)作,并將該記錄數(shù)據(jù)采集到記錄存儲(chǔ)器中,而且MPU根據(jù)操作面板240所設(shè)置的診斷軟件,對RAID單元300進(jìn)行診斷。當(dāng)磁盤裝置中產(chǎn)生故障,而用替代磁盤進(jìn)行替代的情況下,修正操作就變得有必要了,MPU230根據(jù)操作面板240上的修正軟件的指示,在接口裝置100受理處理請求的同時(shí)對替代磁盤進(jìn)行數(shù)據(jù)修正操作。通常對替代磁盤的修正操作是從正常動(dòng)作的其它磁盤裝置開始到最后將數(shù)據(jù)全部讀出,再進(jìn)行向替代磁盤寫入修正數(shù)據(jù)的動(dòng)作。MPU230按通常那樣,在接口單元110從主計(jì)算機(jī)等上位裝置接受處理請求一段時(shí)間后,再實(shí)行全面讀出動(dòng)作。
以下,圖5所示的是圖1中的RAID300的詳細(xì)構(gòu)成。
圖中,310是作為RAID單元300核心的門陣列,400是在門陣列310內(nèi)部設(shè)置的讀單元,500是在同一門陣列310中設(shè)置的寫單元,600是控制回路。而410是在讀單元400內(nèi)部設(shè)置的FIFO,420是為生成冗余數(shù)據(jù)等而設(shè)置的異回路。450是連接數(shù)據(jù)總線170和FIFO420的開關(guān)。而510是設(shè)置在寫單元500的FIFO,520是為生成冗余數(shù)據(jù)等使用的異回路。320是雙端口RAM,其存儲(chǔ)圖4中所示的自修正單元200的MPU230的控制信息,321是用于存儲(chǔ)來自前述接口單元100的控制總線160的控制信息的雙端口RAM,330是在雙端口RAM320和330進(jìn)行數(shù)據(jù)存取后對接口單元100和自修正單元200進(jìn)行聯(lián)系通信的MPU。340是接受對磁盤裝置訪問結(jié)束的報(bào)告,并產(chǎn)生中斷的中斷回路。350是用于保持MPU330的處理請求的疊式存儲(chǔ)器。360是相對磁盤裝置分別設(shè)置的雙端口RAM。370是用于對從磁盤裝置側(cè)的雙端口RAM360來的信息進(jìn)行查詢的查詢寄存器。
以下說明有關(guān)動(dòng)作,RAID單元300具有作為其核心的門陣列310,在該門陣列310的內(nèi)部分別各自設(shè)有讀出單元400和寫單元500。讀單元400是用于讀出從多個(gè)磁盤裝置來的數(shù)據(jù)的讀出回路,在其內(nèi)部相應(yīng)于各磁盤裝置可設(shè)置記錄讀出數(shù)據(jù)的FIFO410。同樣,在寫單元500的內(nèi)部分別對應(yīng)于磁盤可設(shè)置用于在磁盤裝置中寫入數(shù)據(jù)的FIFO510。該讀出單元400和寫單元500的FIFO通過開關(guān)450,可選擇性地與來自接口100的數(shù)據(jù)總線170相連接。
下面,將把這些讀出單元和寫入單元的動(dòng)作分成讀出情況和寫入情況進(jìn)行說明。
當(dāng)從接口裝置100讀出經(jīng)控制總線160傳來的數(shù)據(jù)指令時(shí),將讀出的請求送到控制回路(也叫控制邏輯)600中。同樣,將相同的請求記錄到雙端口RAM321的內(nèi)部??刂七壿?00使讀出單元400動(dòng)作。并且當(dāng)MPU330得到雙端口RAM321中所記錄的信息后,對該讀出請求進(jìn)行判斷,并在與記錄有相關(guān)數(shù)據(jù)的磁盤裝置相對應(yīng)的雙端RAM360中寫入信息。查詢寄存器370,其通過受理來自磁盤裝置側(cè)的中斷處理進(jìn)行查詢。利用MPU330控制與寫入信息的雙端口RAM相對應(yīng)的磁盤裝置根據(jù)RAM中的信息將數(shù)據(jù)經(jīng)數(shù)據(jù)總線380傳送到與讀出單元400相對應(yīng)的FIFO410中。控制邏輯600利用開關(guān)切換把先傳送數(shù)據(jù)的磁盤裝置的FIFO轉(zhuǎn)換成準(zhǔn)備就緒的狀態(tài)。然后在讀取FIFO中的相關(guān)數(shù)據(jù)后,利用數(shù)據(jù)總線170將數(shù)據(jù)傳送到接口單元100中。
一方面,當(dāng)主計(jì)算機(jī)等提出將數(shù)據(jù)寫入接口裝置中的請求時(shí),經(jīng)控制總線160把寫入請求傳到控制邏輯600及雙端口RAM321中??刂七壿?00利用數(shù)據(jù)總線170,從與應(yīng)該寫入該數(shù)據(jù)的磁盤裝置相對應(yīng)的FIFO得到數(shù)據(jù)。MPU330根據(jù)雙端口RMA321中的寫入請求,判定相應(yīng)的磁盤裝置,并在相關(guān)的雙端口RAM中寫入寫入請求到來的信息。磁盤裝置通過查詢寄存器在得知自身的磁盤裝置中有寫入請求時(shí),利用總線380從對應(yīng)于自己磁盤裝置的FIFO410取出數(shù)據(jù)進(jìn)行記錄。
下面說明控制邏輯600。控制邏輯600根據(jù)經(jīng)過控制總線160且來自接口單元和主計(jì)算機(jī)等的請求,控制讀出以及寫入單元。特別是在訪問讀出單元和寫入單元的FIFO時(shí),應(yīng)設(shè)定訪問模型和模式。訪問模型例如可設(shè)置從第1到第19的19種的訪問模型(這里,將不詳述訪問模型),而作為模式則設(shè)定了塊讀出,塊寫入,單讀,單寫,修正寫入5種模式,可選擇其中的任一個(gè)模式。
雙端口RAM321經(jīng)控制總線160順序地記錄來自接口單元100的磁盤存取請求。而且當(dāng)雙端口RAM321從MPU330接到中止這些請求的信息后,作出記錄請求結(jié)束的報(bào)告,并等待由接口裝置100經(jīng)控制總線160傳送的分配任務(wù)。例如,當(dāng)通過接口單元100提出讀出請求時(shí),F(xiàn)IFO410中已準(zhǔn)備了該讀出數(shù)據(jù)。在從RAID單元300相對于接口單元100變成可以傳送數(shù)據(jù)的狀態(tài)時(shí),利用該雙端口RAM321將數(shù)據(jù)已準(zhǔn)備完畢的信息報(bào)告給接口單元100,而當(dāng)接口單元100中已有寫入請求時(shí),在寫入單元500和控制邏輯600已有準(zhǔn)備的情況下,可以用雙端口RAM321,把經(jīng)數(shù)據(jù)總線170傳送的應(yīng)該寫入數(shù)據(jù)的請求報(bào)告給利用雙端口RAM321的接口裝置100。
或者,在變更讀出的數(shù)據(jù)后,進(jìn)行再寫的讀改寫入處理時(shí),通過雙端口RAM321向接口裝置100報(bào)告已對接口裝置100進(jìn)行了修改寫入。
以下將利用圖6說明圖1所示的HDD控制單元700以及磁盤裝置800的構(gòu)成。
圖6中,700是HDD控制單元,710是控制HDD控制單元700的MPU,720是HDD控制單元700用SCSI訪問磁盤裝置時(shí)用的SCSI芯片,730是暫時(shí)記錄數(shù)據(jù)的高速緩沖存儲(chǔ)器,而800是200兆位2.5英寸磁盤裝置,或1千兆位,3.5英寸磁盤裝置等的磁盤裝置。
如圖所示的HDD控制單元700,是由5個(gè)控制單元組成,在每個(gè)控制單元中都具有MPU710,SCSI芯片720、高速緩沖存儲(chǔ)器730,每個(gè)控制單元都做成連接有磁盤裝置800的結(jié)構(gòu)??刂茊卧痛疟P裝置的接口在本例中使用的是SCSI,而作為其他的接口例子也可使用IED(相互服務(wù)數(shù)據(jù)交換)或PCMCIA等接口。本例所的是用一個(gè)控制單元連接兩個(gè)磁盤,也可以用一個(gè)控制單元連接3個(gè)或4個(gè)磁盤裝置。
MPU710在磁盤裝置800和前述RAID裝置300之間用字符串命令進(jìn)行數(shù)據(jù)傳送,MPU710可以專用于數(shù)據(jù)傳送。而高速緩沖存儲(chǔ)器730使用CAM可實(shí)現(xiàn)超高速緩沖存儲(chǔ)器檢索。進(jìn)而對應(yīng)于控制單元分別設(shè)置了超高速緩沖存儲(chǔ)器,因此可以進(jìn)行并行的超高速緩沖器存儲(chǔ)檢索,從而可以實(shí)現(xiàn)高速存取。已有的是只在一處具有超高速緩沖存儲(chǔ)器,而這個(gè)超高速緩沖芯片器是由多個(gè)控制單元(多個(gè)磁盤裝置)共用,因此需要對數(shù)據(jù)控制單元(磁盤裝置)所用的高速緩沖存儲(chǔ)器進(jìn)行管理,而對應(yīng)于各控制單元(磁盤裝置)分別設(shè)置高速緩沖存儲(chǔ)器時(shí),則不再需要對高速緩沖存儲(chǔ)器進(jìn)行排他處理。
以下通過磁盤裝置的數(shù)據(jù)配置說明圖5所示的讀出單元以及寫入單元的讀和寫動(dòng)作。圖7是查詢數(shù)據(jù)的陣列圖。在圖32中說明的已有技術(shù)實(shí)例中,對已有的螺旋數(shù)據(jù)陣列的排列情況進(jìn)行了說明,而圖7所示的是螺旋式數(shù)據(jù)陣列的情況,該螺旋數(shù)據(jù)陣列有利于連續(xù)地傳送長的數(shù)據(jù)長度,而且這種數(shù)據(jù)陣列改進(jìn)了已有的螺旋式數(shù)據(jù)陣列。
如圖32所示,按已有螺旋式數(shù)據(jù)陣列在連續(xù)寫入數(shù)據(jù)時(shí),是從圖中的左向右方寫入數(shù)據(jù)。即在按數(shù)據(jù)塊0、1、2、3的順次寫入的同時(shí),也寫入奇偶性。將一個(gè)冗余組寫入后,再寫入下一個(gè)冗余組數(shù)據(jù),所以下一個(gè)冗余組就從4開始,以后來的下一個(gè)冗余數(shù)據(jù)就按5、6、7的順序號(hào)寫入。這樣冗余數(shù)據(jù)就按從左上方向右下方傾斜地移位后被記錄,同時(shí)前面的數(shù)據(jù)被記錄在左側(cè),而后面的數(shù)據(jù)就順序地被記錄在右方。
而與此相反,所謂螺旋式數(shù)據(jù)陣列在如圖7所示寫入或讀出從0到24的數(shù)據(jù)塊時(shí),可以按從磁盤裝置0(HDD0)到磁盤裝置4(HDD4)的順序,按序號(hào)進(jìn)行讀寫排列。在讀出數(shù)據(jù)塊0,1,2,3,4時(shí),可以按HDD0,1,2,3,4的順序讀出,同時(shí)在讀出數(shù)據(jù)塊5,6,7,8,9時(shí),最好再次按序號(hào)順序讀出HDD0,1,2,3,4,同樣在讀出數(shù)據(jù)塊10,11,12,13,14時(shí)最好按序號(hào)HDD0,1,2,3,4的順序讀出。但是,在讀出圖示的數(shù)據(jù)塊3時(shí),從HDD4中會(huì)同時(shí)讀出冗余數(shù)據(jù)P,因此需要對數(shù)據(jù)P進(jìn)行空讀或省略,在最后讀出的冗余數(shù)據(jù)P所在冗余組中的數(shù)據(jù)的同時(shí),通過這樣的空讀或省略,只要按磁盤裝置的順序進(jìn)行螺旋狀或龍卷狀的讀取,就可以得到連續(xù)的數(shù)據(jù)。
所謂的螺旋數(shù)據(jù)陣列,是這樣構(gòu)成的在寫入單元500進(jìn)行寫入時(shí),在多個(gè)磁盤裝置上循環(huán)地設(shè)置冗余數(shù)據(jù)P的同時(shí),從已寫入前面一個(gè)冗余組的冗余數(shù)據(jù)的磁盤開始,寫入下一個(gè)冗余組的的開頭。而在讀出單元根據(jù)該螺旋狀數(shù)據(jù)陣列讀出數(shù)據(jù)的情況下,在讀出一個(gè)冗余組最后的數(shù)據(jù)時(shí),同時(shí)也讀出該冗余組的冗余數(shù)據(jù),然后再將其省略,再從具有前一冗余組的冗余數(shù)據(jù)的磁盤裝置中讀出下一個(gè)冗余組前端數(shù)據(jù)。
下面利用圖8說明圖7中所示的螺旋狀數(shù)據(jù)陣列的另一個(gè)例子。
圖7中所表示的是由一個(gè)數(shù)據(jù)塊構(gòu)成冗余組的情況,其表示螺旋線的深度為1的情況,而圖8則表示螺旋線的深度取為4的情況。所說的螺旋線的深度為4是指連續(xù)地讀寫一個(gè)磁盤裝置的連續(xù)4個(gè)邏輯地址(數(shù)據(jù)塊)。因此圖8中所示的將0,1,2,3數(shù)據(jù)塊記錄在HDD0中,而將數(shù)據(jù)塊4,5,6,7記錄到HDD1中,同樣將數(shù)據(jù)塊8,9,10,11,記錄到HDD2中。這樣在將數(shù)據(jù)塊0至14記錄到磁盤裝置中的同時(shí),冗余數(shù)據(jù)P同樣地也生成螺旋線深度為4的冗余數(shù)據(jù),并被記錄到HDD4中。圖8中未示出但在記錄下一個(gè)冗余組時(shí),按圖7所示,冗余數(shù)據(jù)P被記錄到HDD3中,而在記錄再下一個(gè)冗余組時(shí),就變成了冗余數(shù)據(jù)P被記錄到HDD2中,冗余數(shù)據(jù)P如圖7所示被循環(huán)記錄。
用圖8所示的狀態(tài),說明訪問邏輯地址2到5(數(shù)據(jù)塊2-5)的情況,對從邏輯地址2到5(數(shù)據(jù)塊2到5)進(jìn)行讀出的情況下,讀出HDD0和HDD1的數(shù)據(jù),并將數(shù)據(jù)傳送到門陣列310的讀出單元的FIFO中。當(dāng)從讀出單元400的FIFO410向接口單元100傳送數(shù)據(jù)時(shí),舍去邏輯地址0和1的數(shù)據(jù),而傳送所殘留下的邏輯地址2和3的數(shù)據(jù)。同樣把從HDD1讀取的邏輯地址4到7的數(shù)據(jù)中的4和5的數(shù)據(jù)傳送到接口單元100中,而通過不向接口單元100傳送邏輯地址6和7的數(shù)據(jù)來將其舍棄。
下面對邏輯地址2到5的數(shù)據(jù)寫入情況進(jìn)行說明,同樣從HDD0和HDD1中讀出邏輯地址0到3以及4到7的數(shù)據(jù)之后,將其展示在FIFO上。將由接口單元100傳送來的寫入數(shù)據(jù)移位后重合在其上。即在該時(shí)間點(diǎn),對位于FIFO中的邏輯地址2,3,4,5的數(shù)據(jù)通過寫數(shù)據(jù)的方式進(jìn)行改寫。然后將FIFO的數(shù)據(jù)寫入到HDD0和HDD1中。即將邏輯地址0到3的數(shù)據(jù)寫入到HDD0中,而邏輯地址4到7的數(shù)據(jù)被寫入到HDD1。
下面利用圖9對讀出單元400進(jìn)行詳細(xì)說明。圖9中,410是數(shù)據(jù)先進(jìn)先出FIFO,420是生成冗余數(shù)據(jù)的異回路,430是在磁盤裝置側(cè)來的總線380和FIFO410之間進(jìn)行連接及切斷的開關(guān),440是用于將從異回路420輸出的冗余數(shù)據(jù)等連接到FIFO的開關(guān)。450是用于將FIFO410和接口單元100的數(shù)據(jù)總線170進(jìn)行連接的開關(guān)。460是用于將FIFO410連接到異回路420上的開關(guān)。900和910是傳送異回路420的運(yùn)算結(jié)果的總線。600是控制回路。
控制回路600根據(jù)存取模型及模式對開關(guān)430,440,450,460進(jìn)行切換以執(zhí)行讀出動(dòng)作。并對寫入FIFO410中的數(shù)據(jù)脈沖進(jìn)行監(jiān)視。而且供給用于從FIFO讀出數(shù)據(jù)的時(shí)鐘脈沖。而且控制回路600在內(nèi)部具有定序器,定序器將圖7所示的那樣的螺旋狀數(shù)據(jù)陣列按螺旋狀圖表進(jìn)行存儲(chǔ),并參照該螺旋狀圖表確定用于進(jìn)行讀寫的磁盤裝置。螺旋狀圖表如圖8所示還存儲(chǔ)有關(guān)螺旋線的深度,控制回路600參照螺旋線的深度來進(jìn)行動(dòng)作。
還可通過超過變更圖7和圖8所示的螺旋線狀而用其它形式的數(shù)據(jù)陣列來進(jìn)行續(xù)寫動(dòng)作。例如圖7、圖8所示的情況,是對應(yīng)于RAID等級(jí)5的例子,而也可以不妨象圖32那樣對應(yīng)于已有的RAID等級(jí)5的一般的螺旋式數(shù)據(jù)陣列?;蛘咭部梢园磁cRAID等級(jí)4相對應(yīng)的陣列進(jìn)行存儲(chǔ)。
下面用圖9說明有關(guān)讀出的動(dòng)作。
首先對連續(xù)讀出如圖7所示陣列中的數(shù)據(jù)的情況進(jìn)行說明。
在連續(xù)讀出數(shù)據(jù)時(shí),從HDD0讀出的數(shù)據(jù)被輸入到FIFO410a中。而由HDD1讀出的數(shù)據(jù)塊1的數(shù)據(jù)可讀取到FIFO410b中。同樣從HDD2以及HDD3來的數(shù)據(jù)被讀出到FIFO410C和410d中。在讀出FIFO410d中的數(shù)據(jù)時(shí),來自HDD4的冗余數(shù)據(jù)P被輸入到FIFO410e中??刂苹芈?00在從FIFO410a至410d中讀出數(shù)據(jù)的過程中,通過順序切換開關(guān)450,將數(shù)據(jù)塊0到3的數(shù)據(jù)傳送到數(shù)據(jù)總線170上。然后數(shù)據(jù)塊4的數(shù)據(jù)從HDD4被讀到FIFO410e中。同樣數(shù)據(jù)塊5到7的數(shù)據(jù)被讀到FIFO410到410c中。在FIFO410d中的數(shù)據(jù)被讀出時(shí),來自HDD3的冗余數(shù)據(jù)P被讀到FIFO410d中,這樣一來,當(dāng)?shù)诙稳哂嘟M被讀出到FIFO410時(shí),控制回路600通過再次切換開關(guān),將數(shù)據(jù)塊4到7的數(shù)據(jù)順序地傳送到數(shù)據(jù)總線170上??梢允÷员蛔x到FIFO410d中的冗余數(shù)據(jù)。
下面,對異回路的動(dòng)作進(jìn)行說明。
例如當(dāng)從HDD0讀出的數(shù)據(jù)不合適而不能進(jìn)行正常讀出時(shí),通過讀出HDD1到HDD4的數(shù)據(jù),可以恢復(fù)HDD0的數(shù)據(jù)。在這種情況下,可讀出與FIFO410b至410e,相對應(yīng)的HDD0因故障而產(chǎn)生的數(shù)據(jù)所屬的冗余組數(shù)據(jù)。同時(shí)將從FIFO410b-410e中讀出的數(shù)據(jù),經(jīng)開關(guān)460后輸入到異回路420。
圖10是表示異回路420的詳細(xì)示圖。
將FIFO410a到410e的輸出輸入到5個(gè)與門回路然后由異元件對該5個(gè)信號(hào)進(jìn)行異運(yùn)算。在本例中,由于將HDD1到HDD4的數(shù)據(jù)輸入到FIFO410到410c中,對應(yīng)于HDD0的開關(guān)460被斷開,而相應(yīng)的其余的HDD1到HDD4則與開關(guān)460接通,從而將數(shù)據(jù)輸入到異回路420。異回路420將HDD1到HDD4的數(shù)據(jù)進(jìn)行異運(yùn)算并將結(jié)果輸出。該輸出被輸出到傳送總線910??刂苹芈?00通過接通對應(yīng)于HDD0的開關(guān)440,在FIFO410a中產(chǎn)生修復(fù)數(shù)據(jù)。而HDD1到HDD4所對應(yīng)的開關(guān)440,保持原來的斷開狀態(tài)。這樣在從FIFO中讀出HDD1到HDD4的同時(shí),異回路420在各字節(jié)單位中產(chǎn)生修復(fù)數(shù)據(jù),在FIFO410中寫入時(shí),修復(fù)數(shù)據(jù)與HDD1到HDD4被傳送的讀出數(shù)據(jù)的傳送塊同步形成在FIFO410a中,這樣,當(dāng)如已有技術(shù)那樣,HDD1到HDD4的數(shù)據(jù)一次被存儲(chǔ)器讀取后,可以減少利用這些數(shù)據(jù)生成修復(fù)數(shù)據(jù)的生成時(shí)間。
圖11所示的是生成修復(fù)數(shù)據(jù)時(shí)的時(shí)間關(guān)系圖。
圖中,T表示經(jīng)過的時(shí)間,在讀取數(shù)據(jù)時(shí),首先利用讀出命令查找磁盤裝置,然后讀出圖示中的時(shí)間X。通過圖9所示的異回路420,將HDD1到HDD4中的讀出時(shí)間取為X,則修復(fù)HDD0的時(shí)間就僅需要圖示的時(shí)間Y,該時(shí)間X的終止時(shí)間點(diǎn)和時(shí)間點(diǎn)和時(shí)間Y的終止時(shí)間點(diǎn)的差就是異回420工作所需要的理想時(shí)間,即元件動(dòng)作所延遲的時(shí)間。
以下利用圖12詳細(xì)說明寫入單元的結(jié)構(gòu)。
圖12中,510是先進(jìn)先出FIFO,520是異回路,530是用于連接接口單元100的數(shù)據(jù)總線170和FIFO510的開關(guān),540是用于連接異回路520和FIFO510的開關(guān),550是將FIFO510和磁盤裝置側(cè)的總線380相連接的開關(guān)。560用于連接FIFO510和異回路520的開關(guān)。900是將圖9中所示的來自寫入單元異回路420的輸出進(jìn)行傳送的傳送總線。
下面對圖12所示的寫入單元的動(dòng)作進(jìn)行說明。
在連續(xù)寫入傳送長度較長的數(shù)據(jù)時(shí),螺旋式圖表中所存儲(chǔ)的是如圖7所示的螺旋線狀數(shù)據(jù)陣列。控制回路600參照螺旋式圖表,按照圖7所示的陣列連續(xù)地寫入數(shù)據(jù)。即控制回路600參照螺旋線圖表,將數(shù)據(jù)塊0到3的數(shù)據(jù)從FIFO510a傳送到510d。異回路520輸入從FIFO510a到510d所傳送來的數(shù)據(jù),并在該異回路進(jìn)行運(yùn)算。異回路520具有如圖10所示的回路結(jié)構(gòu),從異回路520來的輸出,將輸出到FIFO510e。因此在FIFO510e上就可以生成被寫入到HDD0到HDD3的數(shù)據(jù)的冗余數(shù)據(jù)。該冗余數(shù)據(jù)是與FIFO510a到510d中被最后傳送的寫入數(shù)據(jù)的傳送塊相同步生成的。在FIFO510e中生成冗余數(shù)據(jù)的時(shí)間理想的是從FIFO510a到510d傳送最后數(shù)據(jù)的時(shí)間開始使導(dǎo)回路520的動(dòng)作延遲的延遲時(shí)間。因此按已有的那樣,在存儲(chǔ)器中一次存儲(chǔ)寫入數(shù)據(jù)后,就可以減少用該數(shù)據(jù)進(jìn)行異運(yùn)算以及求冗余數(shù)據(jù)的時(shí)間。這樣在FIFO510a到510e的數(shù)據(jù)被準(zhǔn)備后,當(dāng)控制回路600使開關(guān)550接通時(shí),通過連接FIFO510和磁盤裝置側(cè)的總線380,就可以將FIFO中的數(shù)據(jù)記錄到各自對應(yīng)的磁盤裝置中。
下面對有關(guān)不是連續(xù)寫入數(shù)據(jù)的情況而是在某一個(gè)數(shù)據(jù)塊中寫入數(shù)據(jù)情況下的動(dòng)作進(jìn)行說明。例如,當(dāng)相對HDD0寫入時(shí),有必要讀出HDD0以前已寫入的老數(shù)據(jù)OD和它的冗余組的冗余數(shù)據(jù)OP。如果假定該冗余數(shù)據(jù)被記錄在HDD4時(shí),為了在HDD0中寫入數(shù)據(jù),而將HDD0和HDD4中的老數(shù)據(jù)OD和老冗余數(shù)據(jù)OP一次讀取,有必要按照這些老的數(shù)據(jù)OD和老的冗余數(shù)據(jù)OP以及新寫入的數(shù)據(jù)寫出新的冗余數(shù)據(jù)。而讀取老數(shù)據(jù)OD和老冗余數(shù)據(jù)OP時(shí),可以利用圖9所示的讀出單元來進(jìn)行,所讀出的數(shù)據(jù)再由FIFO410a和FIFO410e讀出。然后將這些被讀出的數(shù)據(jù)傳送到異回路420,在異回路420中對老數(shù)據(jù)OD和老冗余數(shù)據(jù)進(jìn)行異運(yùn)算,并將其結(jié)果送到傳輸總線900,被傳送的數(shù)據(jù)經(jīng)開關(guān)560被輸入到寫入單元的異回路520。
一方面,在寫入單元500中寫入的數(shù)據(jù)經(jīng)數(shù)據(jù)總線170被輸入到FIFO510a,F(xiàn)IFO510a所輸入的數(shù)據(jù)被傳送到異回路520。異回路520將從傳輸總線900傳送來的OD和OP的異運(yùn)算信號(hào)和在FIFO510a中新寫入的數(shù)據(jù)進(jìn)行異運(yùn)算并輸出,該異回路的輸出數(shù)據(jù)經(jīng)開關(guān)540寫入到FIFO510e中,這樣在FIFO510a準(zhǔn)備新的寫入數(shù)據(jù)的同時(shí),在FIFO510e中就可以同時(shí)生成新的冗余數(shù)據(jù)??刂苹芈?00控制開關(guān)550,并通過將FIFO510a和FIFO510e連接到磁盤裝置的總線380上,而在磁盤裝置中進(jìn)行數(shù)據(jù)記錄。這樣通過所具有的讀出單元的異回路420和寫入單元的異回路520,對已有的一次讀取的數(shù)據(jù)和新數(shù)據(jù)進(jìn)行異運(yùn)算來計(jì)算冗余數(shù)據(jù),根據(jù)本實(shí)施例,新的冗余數(shù)據(jù)幾乎可以在傳送寫數(shù)據(jù)的同時(shí)產(chǎn)生,因而可以減少所說的已有異運(yùn)算所需的特別時(shí)間。
下面利用圖13~圖25,對前述的讀出單元和寫單元的動(dòng)作按照各自的模式分別進(jìn)行說明。
圖13,圖9和圖12所示的是讀單元400和寫單元500位于磁盤裝置之間的構(gòu)成模式。圖中,使用的各記號(hào)與圖9以及圖12所表示的相同,但525是記錄從異回路520輸出的冗余數(shù)據(jù)的奇偶發(fā)生器FIFO(PGENFIFO)。
下面利用圖14-圖16說明從磁盤裝量中讀出數(shù)據(jù)時(shí)的動(dòng)作。
對如圖14表示的從HDD2、3、4中讀出數(shù)據(jù)塊2、3、4的數(shù)據(jù)的情況進(jìn)行說明。該讀出動(dòng)作如圖15所示,首先從該磁盤HDD2、3、4中將數(shù)據(jù)讀到RDFIFO2#到4#中,這三個(gè)磁盤的存取可并行進(jìn)行。但作為進(jìn)行這些動(dòng)作的初始條件RDFIFO2#到4#應(yīng)是空的,并且以寫地址已被復(fù)位為條件。然后如果RDFIFO中數(shù)據(jù)塊2到4的數(shù)據(jù)已聚齊,則如圖16所示順序號(hào)讀出RDFIFO2#到4#的數(shù)據(jù),并按序號(hào)順序向數(shù)據(jù)總線進(jìn)行數(shù)據(jù)傳送。
下面利用圖17到圖20對相對于1個(gè)數(shù)據(jù)塊寫入數(shù)據(jù)的動(dòng)作進(jìn)行說明。
首先,當(dāng)如圖17所示將數(shù)據(jù)寫入到HDD1的數(shù)據(jù)塊1時(shí),如圖19所示將新寫入的數(shù)據(jù)輸送到寫FIFO1#和PGENFIFO525中。并且同時(shí)從HDD1和HDD5(HDD用于記錄冗余數(shù)據(jù))中把該數(shù)據(jù)讀到RDFIPO1#和5#中。
進(jìn)而如圖20所示,由RDFIFO1#和5#所讀出的數(shù)據(jù)經(jīng)異回路410輸入到異回路520。在輸入的同時(shí),通過把從帶有新的寫入數(shù)據(jù)的PGENFIFO525中來的數(shù)據(jù),輸出到回路520,就可以在異回路520的輸出端,就可得到老的奇偶性數(shù)據(jù)和新寫入的數(shù)據(jù)的異輸出。該輸出由WRTFIFO5#(寫FIFO)保持。然后作出最后處理,將在WRTFIFO1#狀態(tài)的新寫入的數(shù)據(jù)寫入到HDD1中的同時(shí)將WRTFIFO5#的數(shù)據(jù)作為冗余數(shù)據(jù)寫入到HDD5。
下面用圖21到圖25對將一個(gè)冗余組寫入到磁盤裝置中情況下的成組寫入的動(dòng)作進(jìn)行說明。
圖21用以說明將與磁盤裝置的數(shù)據(jù)塊1到4相應(yīng)的數(shù)據(jù)進(jìn)行記錄的情況。
首先,如圖23所示,將寫入的新數(shù)據(jù)傳送到寫FIFO1#中。同樣如圖24所示將新寫入的數(shù)據(jù)傳送給寫FIFO2#。對寫FIFO3#和4#進(jìn)行同樣的操作。每當(dāng)異回路520順序地將數(shù)據(jù)輸入FIFO中時(shí)就在FIFO中形成新的冗余數(shù)據(jù)。即在向?qū)慒IFO1#傳送數(shù)據(jù)時(shí),相同數(shù)據(jù)也被傳送到PGENFIFO525中,接著在向?qū)慒IFO傳送下一個(gè)數(shù)據(jù)的同時(shí)該數(shù)據(jù)和已存在PGENFIFO525中的數(shù)據(jù)取異后再次被記錄到PGENFIFO525中。當(dāng)這種從在HDD1中寫入數(shù)據(jù)到在HDD4中寫入數(shù)據(jù)的動(dòng)作重復(fù)進(jìn)行4次后,如圖25所示,把FIFO的數(shù)據(jù)寫進(jìn)各自的磁盤裝置中。
下面說明FIFO的功能。
FIFO是將數(shù)據(jù)以先進(jìn)先出的方式進(jìn)行暫時(shí)寄存用的。因此通常按先進(jìn)先出的方式所輸出的數(shù)據(jù)不會(huì)殘存在FIFO中,對本例而言在FIFO收到將一次輸入的數(shù)據(jù)消除的指令之前,其內(nèi)容一直保存在FIFO中。為了保持FIFO的數(shù)據(jù),例如,通常先進(jìn)先出的數(shù)據(jù)并不是邊移位邊輸出,而是通過設(shè)置計(jì)數(shù)器并增加計(jì)數(shù)器的計(jì)數(shù)而順序地將計(jì)數(shù)器所記的數(shù)據(jù)輸出來完成FIFO的職能。或者和已有技術(shù)一樣通過把FIFO的數(shù)據(jù)進(jìn)行移位再將數(shù)據(jù)輸出,并把FIFO輸出的數(shù)據(jù)再次輸入到FIFO,由此使FIFO的數(shù)據(jù)進(jìn)行周期循環(huán)。這樣就可以通過不抹去FIFO的數(shù)據(jù)而是通過殘留而將FIFO的數(shù)據(jù)進(jìn)行再傳送。
例如,寫入數(shù)據(jù)時(shí),如果磁盤裝置側(cè)產(chǎn)生某種故障,使FIFO輸出的數(shù)據(jù)丟失,則由于FIFO保存著以前的數(shù)據(jù),所以就不必再次接受主計(jì)算機(jī)等部分來的數(shù)據(jù),只需將FIFO中所保存的數(shù)據(jù)傳送給磁盤裝置,就可以將丟失的數(shù)據(jù)恢復(fù)。即可以使寫動(dòng)作馬上重復(fù)進(jìn)行??紤]到有關(guān)數(shù)據(jù)讀出的情況,如果在把FIFO的數(shù)據(jù)向接口單元輸出之后,再讀取在接口單元等處產(chǎn)生的障妨,則當(dāng)再讀出時(shí)由于FIFO中殘留著相同的內(nèi)容,因此可以省略再次從磁盤裝置讀出的動(dòng)作,而只需將FIFO中所存在的數(shù)據(jù)再次向接口單元輸出就可以了。因此具有使讀出動(dòng)作立刻重復(fù)的效果。
下面利用圖26說明圖5中所示的中斷回路340的結(jié)構(gòu)。
圖26中,340是用于檢測多個(gè)磁盤裝置的動(dòng)作結(jié)束并使該多個(gè)磁盤裝置動(dòng)作處理程序起動(dòng)的中斷回路,341是發(fā)送中斷向量編號(hào)的中斷向量編號(hào)發(fā)送回路,342是生成中斷向量編號(hào)的變換器,343是測到多個(gè)磁盤裝置的動(dòng)作結(jié)果后產(chǎn)生中斷信號(hào)的中斷發(fā)生回路。而345是“與”元件,346是“或”元件,344是可將來自MPU330的程序值進(jìn)行置位的寄存器。
下面將說明有關(guān)動(dòng)作。
MPU330在接到從接口單元送來的處理請求時(shí),應(yīng)判定該處理要求應(yīng)使用哪個(gè)磁盤裝置,并控制與判定的磁盤裝置相應(yīng)的動(dòng)作,同時(shí)設(shè)置對應(yīng)于寄存器344的值。例如當(dāng)處理請求是HDD0和HDD4存取時(shí)如圖中的寄存器344所示。在相應(yīng)于HDD0和HDD4的字節(jié)置“0”,而其余的字節(jié)則置“1”。磁盤裝置800以及HDD控制裝量700在該處理結(jié)束時(shí),相對中斷回路340進(jìn)行完結(jié)報(bào)告。在本例中當(dāng)HDD0處理完成時(shí),以及HDD4處理完成時(shí)要進(jìn)行完結(jié)報(bào)告。HDD0和HDD4做完結(jié)束報(bào)告時(shí)。中斷發(fā)生回路343,通過或回路346對寄存器344的值和完結(jié)報(bào)告進(jìn)行運(yùn)算,并使或回路的輸出變?yōu)椤?”。然后“與”回路345就接通了。變換器342檢測已成接通狀態(tài)的中斷發(fā)生回路后,變換中斷向量的編號(hào),并將其送到中斷向量編號(hào)發(fā)生回路341中。中斷向量編號(hào)發(fā)生回路341將中斷向量編號(hào)送至MPU330中,MPU330根據(jù)與圖27所示的各個(gè)向量編號(hào)對應(yīng)的地址轉(zhuǎn)移,就可以起動(dòng)完成請求的處理程序。例如當(dāng)發(fā)送向量編號(hào)0時(shí),MPU330就可以起動(dòng)為地址100準(zhǔn)備任務(wù)O所用的處理程序。
在本例中所示的是具有5個(gè)中斷發(fā)生回路343的情況,MPU330將5個(gè)處理請求保存在堆棧350里就可以進(jìn)行處理。即分別對應(yīng)于5個(gè)處理請求,通過分別將中斷發(fā)生回路343的寄存器344進(jìn)行置位,在HDD控制單元進(jìn)行處理總結(jié)報(bào)告的時(shí)間點(diǎn)上,使中斷發(fā)生回路343動(dòng)作,中斷向量編號(hào)發(fā)送回路將與處理請求對應(yīng)的向量編號(hào)送至MPU中發(fā)送,堆棧350可以自動(dòng)地進(jìn)行與處理請求的任務(wù)相應(yīng)的起動(dòng)。在將任意多個(gè)HDD的終結(jié)報(bào)告進(jìn)行組合的條件下,中斷回路340具有任意個(gè)中斷向量編號(hào)發(fā)生回路,通過該向量編號(hào)可以起動(dòng)相應(yīng)的任務(wù)。得到對多個(gè)磁盤進(jìn)行訪問的動(dòng)作結(jié)束時(shí)在處理完所希望的磁盤裝置的時(shí)間點(diǎn)上,起動(dòng)對所期待的任務(wù)進(jìn)行自動(dòng)識(shí)別。
MPU330進(jìn)行程序變更,并根據(jù)中斷向量編號(hào)來起動(dòng)程序和對程序組合(フ“ロケ”ラマプル) 進(jìn)行變更,因此可以構(gòu)成柔性很好的中斷回路340。而與動(dòng)作將要結(jié)束的磁盤裝置的編號(hào)、個(gè)數(shù)或處理要求相對應(yīng)的起動(dòng)任務(wù)編號(hào)程序的變更系統(tǒng)也都是柔性很好的結(jié)構(gòu)。
實(shí)施例2在上述實(shí)施例1中,所示的是有5個(gè)磁盤裝置的情況,而也可以不受該個(gè)數(shù)的限制而采用不同的個(gè)數(shù)。上述實(shí)施例中所示的是HDD控制裝置連接有一個(gè)或2個(gè)磁盤裝置的情況,但HDD控制裝置上所連接的磁盤裝置的個(gè)數(shù)并不受此限制。
實(shí)施例3在上述實(shí)施例1中所示的是使用雙端口的情況,除雙端口RAM之外如果有帶有存取通道的存儲(chǔ)器的話,也可以用帶多個(gè)端口的其它的存儲(chǔ)器來代替雙端口RAM。
實(shí)施例4在上述實(shí)施例1中,所示的是用磁盤裝置構(gòu)成陣列型記錄裝置的情況,除磁盤裝置之外也可以使用光盤裝置,CDROM裝置,半導(dǎo)體盤存儲(chǔ)器(SSD)來構(gòu)成陣列型記錄裝置?;蛘咴诓幌抻谠?個(gè)系統(tǒng)中所使用的記錄裝置是同一種類的記錄裝置的情況下,也可以使用將光盤裝置和磁盤裝置等混用的系統(tǒng)。
本發(fā)明具有以下效果;減少了讀寫處理的總開銷,而且可以得到高性能的陣列型記錄裝置。特別是縮短了冗余數(shù)據(jù)生成動(dòng)作的時(shí)間并且使其簡單化。進(jìn)而縮短了修復(fù)數(shù)據(jù)的時(shí)間并使其簡化。而且在連續(xù)地控制數(shù)據(jù)的同時(shí),不需進(jìn)行存儲(chǔ)器傳送以及數(shù)據(jù)處理的動(dòng)作。而且在多塊寫入時(shí)可以減少奇偶性寫入動(dòng)作的次數(shù)。進(jìn)而可以立即進(jìn)行讀寫動(dòng)作的重復(fù)。
權(quán)利要求
1.一種陣列型記錄裝置,其特征在于,包括以下部分(a)多個(gè)記錄數(shù)據(jù)的記錄載體;(b)向上述多個(gè)記錄載中寫入數(shù)據(jù)的寫入裝置;(c)和與上述寫入回路不同的回路,其是從上述多個(gè)記錄載體中讀出數(shù)據(jù)的讀出回路。
2.一種陣列型記錄裝置,其特征在于,包括以下部分(a)多個(gè)記錄數(shù)據(jù)的記錄載體;(b)根據(jù)請求對上述記錄載體讀寫數(shù)據(jù)的讀寫裝置;(c)用于對上述讀寫裝置提出請求且具有以下部分的接口裝置;(c1)從外部裝置輸入指令的指令輸入部件;(c2)具有多個(gè)存取端口并保持從上述指令輸入部件來的輸入指令的多端口存儲(chǔ)器;(c3)根據(jù)上述多端口存儲(chǔ)器中所保存的指令,將用于對上述讀寫裝置輸出請求的處理,分成若干個(gè)處理后,再分別進(jìn)行分配和把來自多端口存儲(chǔ)器的各存取端口的指令進(jìn)行存取分配處理的多個(gè)指令處理部件。
3.一種陣列型的記錄裝置,其特征在于,包括以下部分,(a)多個(gè)記錄數(shù)據(jù)的記錄載體;(b)當(dāng)將數(shù)據(jù)以及數(shù)據(jù)的冗余數(shù)據(jù)分散記錄到上述多個(gè)記錄載體中,并連續(xù)寫入多個(gè)數(shù)據(jù)時(shí),在多個(gè)記錄載體中按所定的方向順序地寫入數(shù)據(jù)的同時(shí),循環(huán)地將各數(shù)據(jù)的冗余數(shù)據(jù)設(shè)置在多個(gè)記錄載體中,并從已寫入前面數(shù)據(jù)的冗余數(shù)據(jù)的記錄載體中開始,寫入后面數(shù)據(jù)的寫入裝置。(c)在連續(xù)地讀出由上述寫入裝置所寫入的多個(gè)連續(xù)數(shù)據(jù)的情況下,當(dāng)從一個(gè)冗余組讀出數(shù)據(jù)時(shí),將所讀出的該冗余組的冗余數(shù)據(jù)忽略,同時(shí)從讀出該冗余數(shù)據(jù)的記錄載體開始,通過順序地按所定方向讀出多個(gè)記錄載體的數(shù)據(jù),來讀出下面數(shù)據(jù)的讀出裝置。
4.一種陣列型記錄裝置,其特征在于,包括以下部分,(a)記錄數(shù)據(jù)的多個(gè)記錄載體;(b)對應(yīng)于上述記錄載體所設(shè)置的,暫時(shí)保存記錄載體已讀寫的數(shù)據(jù)的超高速緩沖存儲(chǔ)器;(c)利用上述超高速緩沖存儲(chǔ)器,對記錄載體進(jìn)行數(shù)據(jù)讀寫的讀寫裝置。
5.一種陣列型記錄裝置,其特征在于,包括以下部分,(a)記錄數(shù)據(jù)的多個(gè)記錄載體;(b)向上述多個(gè)記錄載體中任意個(gè)載體輸出存取請求的多個(gè)任務(wù)裝置;(c)報(bào)告由上述任務(wù)裝置存取的各記錄載體的存取已結(jié)束的報(bào)告裝置;(d)對上述報(bào)告裝置的報(bào)告進(jìn)行組合,并從上述多個(gè)任務(wù)裝置中識(shí)別對應(yīng)的任務(wù)裝置,并起動(dòng)該任務(wù)的任務(wù)起動(dòng)裝置。
全文摘要
在控制陣列型磁盤裝置的RAID單元的內(nèi)部分別設(shè)置有讀單元和寫單元。當(dāng)從磁盤裝置讀出數(shù)據(jù)時(shí),控制回路使用讀單元并通過HDD控制裝置來讀出數(shù)據(jù)。而在寫入數(shù)據(jù)時(shí),使用寫單元將數(shù)據(jù)寫到磁盤裝置中,由于讀單元和寫單元是分開設(shè)置的,因此提高了處理的性能,并使陣列型磁盤裝置的讀寫動(dòng)作能高速進(jìn)行。
文檔編號(hào)G06F11/10GK1264119SQ0010119
公開日2000年8月23日 申請日期2000年1月25日 優(yōu)先權(quán)日1992年10月6日
發(fā)明者水野正博, 小倉史郎, 伊藤一彥 申請人:三菱電機(jī)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
连平县| 青岛市| 大理市| 迭部县| 乐东| 临沂市| 峨边| 邛崃市| 广东省| 西宁市| 达孜县| 北海市| 庆云县| 和静县| 安丘市| 巴青县| 永济市| 雷山县| 朝阳市| 高要市| 瑞昌市| 和顺县| 昌吉市| 东安县| 利津县| 南丰县| 铜陵市| 乌兰察布市| 攀枝花市| 罗源县| 陵水| 承德市| 吉林省| 阿巴嘎旗| 晋宁县| 德江县| 阿坝县| 仙桃市| 廊坊市| 镇江市| 平南县|