專利名稱:容錯式磁盤陣列控制器的制作方法
技術領域:
本發(fā)明為一種可容錯式磁盤陣列控制器,特別是應用在磁盤陣列架構上,一種通過PCI EXPRESS Advanced Switch以多點廣播(multicast)方式以同步更新鏡像數(shù)據(jù)以保持高速緩存的一致性的容錯式磁盤陣列控制器。
背景技術:
所謂的磁盤陣列簡單的說,是將數(shù)顆硬盤以特定的技術串連在一起成一個虛擬的大硬盤,可將數(shù)據(jù)切割成許多區(qū)塊,當讀取或寫入數(shù)據(jù)時以并行的方式對多顆硬盤同時進行存取動作,當硬盤顆數(shù)愈多時,愈能增加存取速度。其實磁盤陣列也就是使用數(shù)個較便宜、容量較小的硬盤(HDD)組合成為一個單一的高容量儲存設備,并能夠加快存取速度及容忍故障(FAULT TOLERANCE)。
而所謂的磁盤陣列控制器(RAID Controller)即在于控制磁盤陣列的寫入與讀取動作,由于磁盤陣列控制器是對多顆硬盤進行讀取與寫入的動作,所以傳統(tǒng)的容錯式磁盤陣列控制器(如圖1所示),通常由二磁盤陣列控制器50、60所組成,其中一磁盤陣列控制器為主磁盤陣列控制器50,而另一磁盤陣列控制器則為副磁盤陣列控制器60,通過主磁盤陣列控制器50接收主機41的命令或數(shù)據(jù)對磁盤陣列42進行讀取與寫入動作,而副磁盤陣列控制器60則在主磁盤陣列控制器50故障時接手繼續(xù)執(zhí)行工作,從而達到REDUNDANT的目的。
REDUNDANT的目的是使用副磁盤陣列控制器60來存放多余(REDUNDANCY)數(shù)據(jù),用來當主磁盤陣列控制器50損壞時能重建數(shù)據(jù),磁盤陣列控制器容忍故障的意思是當其中一個磁盤陣列控制器發(fā)生問題時,另一個磁盤陣列控制器仍然可以提供服務,并能夠重建REDUNDANCY數(shù)據(jù)以應付下次的損壞。
而傳統(tǒng)磁盤陣列控制器通過REDUNDANT達到故障容忍的方法,是主磁盤陣列控制器50的內置控制器52通過主機接口51接收主機41的命令或數(shù)據(jù)進行處理并暫存在其高速緩存53內,而副磁盤陣列控制器60則通過其主機接口61連接至主磁盤陣列控制器50的主機接口51或是兩磁盤陣列控制器50、60內部相連接的總線(圖中未示)對主磁盤陣列控制器50進行錯誤偵測并將主磁盤陣列控制器50的高速緩存53所儲存的數(shù)據(jù)鏡像至其本身的高速緩存62,一旦主磁盤陣列控制器發(fā)生故障,便可立即接手工作。
然而,無論是二主機接口51、61或內部總線間的信號往來,由于已知技術的限制均是采取單點傳輸(master-to-slave)的傳送方式,此種傳送方式使得主磁盤陣列控制器50的內置控制器52在儲存數(shù)據(jù)至高速緩存53時,無法同步儲存到副磁盤陣列控制器60的高速緩存62,須分兩步驟進行存取,也就是兩個高速緩存53、62的數(shù)據(jù)更新是存在有一時間差,主磁盤陣列控制器50的工作處理狀況也無法與副磁盤陣列控制器60同步更新,一旦主磁盤陣列控制器50發(fā)生故障由副磁盤陣列控制器60接手時,很容易發(fā)生原本主磁盤陣列控制器50正在處理而未完成的工作,副磁盤陣列控制器60即判斷已處理完成而繼續(xù)執(zhí)行下一個工作,從而造成數(shù)據(jù)的錯誤,失真。
發(fā)明內容
本發(fā)明的主要目的在于提供一種容錯式磁盤陣列控制器,通過多點廣播的技術使主磁盤陣列控制器及副磁盤陣列控制器的命令或數(shù)據(jù)可同步更新。
為達上述目的,本發(fā)明的容錯式磁盤陣列控制器,是分別連接有至少一主機及一磁盤陣列,用以接收主機的命令或數(shù)據(jù)對磁盤陣列進行讀取與寫入動作,且容錯式磁盤陣列控制器是由二相連接的磁盤陣列控制器所組成,并選定其一磁盤陣列控制器作為主磁盤陣列控制器,而另一個磁盤陣列控制器則作為副磁盤陣列控制器,在正常作動時通過主磁盤陣列控制器接收主機的命令或數(shù)據(jù)對磁盤陣列進行讀取與寫入動作,并將命令與數(shù)據(jù)同步鏡像至副磁盤陣列控制器,而副磁盤陣列控制器則不斷對主磁盤陣列控制器進行錯誤偵測,一旦主磁盤陣列控制器發(fā)生故障或錯誤時,副磁盤陣列控制器即自動接手主磁盤陣列控制器所執(zhí)行的工作。
而磁盤陣列控制器則包括有一主機接口、一先進交換傳輸模塊、一內置控制器、一高速緩存及一磁盤陣列驅動接口所組成,且各元件是利用PCI EXPRESSAdvanced Switch總線相連接,使各元件間可進行命令或數(shù)據(jù)的多點廣播。
則主機所輸出的命令或數(shù)據(jù)是傳輸至主磁盤陣列控制器的內置控制器進行處理,并同步鏡像至副磁盤陣列控制器的內置控制器進行隊列,待主磁盤陣列控制器的內置控制器處理完主機的命令或數(shù)據(jù)并輸出一響應信號至主機時,在同步鏡像至副磁盤陣列控制器的內置控制器將隊列的命令或數(shù)據(jù)刪除;同理,主磁盤陣列控制器的內置控制器輸出至磁盤陣列驅動接口的命令或數(shù)據(jù)也經先進交換傳輸模塊鏡像至副磁盤陣列控制器的磁盤陣列驅動接口進行隊列,待主磁盤陣列控制器的磁盤陣列驅動接口工作完成并輸出一響應信號至內置控制器時,在同步鏡像至副磁盤陣列控制器的磁盤陣列驅動接口將隊列的命令或數(shù)據(jù)刪除。
同時,副磁盤陣列控制器的先進交換傳輸模塊是不斷輸出一錯誤偵測信號至主磁盤陣列控制器的先進交換傳輸模塊,當偵測到主磁盤陣列控制器發(fā)生故障或錯誤時,由于副磁盤陣列控制器內的內置控制器及磁盤陣列驅動接口所隊列的命令及數(shù)據(jù)是與主磁盤陣列控制器同步更新,故副磁盤陣列控制器可立即接手主磁盤陣列控制器所執(zhí)行的工作并保持數(shù)據(jù)寫入的連貫性。
圖1為先前技術所揭露的磁盤陣列控制器的電路方塊示意圖;圖2為本發(fā)明所揭露的磁盤陣列控制器的電路方塊示意圖。
具體實施例方式
如圖2所示,為本發(fā)明的電路方塊示意圖。此容錯式磁盤陣列控制器10,是分別連接有至少一主機11及一磁盤陣列12,用以接收主機11的命令或數(shù)據(jù)對磁盤陣列12進行讀取與寫入動作。
此磁盤陣列12,是包括有若干個硬盤(HDD)所組成,用以將數(shù)據(jù)切割成許多區(qū)塊分別儲存在各個硬盤內,當進行讀取或寫入數(shù)據(jù)時以并行的方式對多顆硬盤同時進行存取動作。
而此容錯式磁盤陣列控制器10,則包括有二相連接的磁盤陣列控制器(RAIDController)20、30,并選定一個磁盤陣列控制器作為主磁盤陣列控制器20,而另一個磁盤陣列控制器則作為副磁盤陣列控制器30。在正常作動時,通過主磁盤陣列控制器20接收主機11的命令或數(shù)據(jù)對磁盤陣列12進行讀取與寫入動作,并將命令與數(shù)據(jù)同步鏡像(mirror)至副磁盤陣列控制器30,而副磁盤陣列控制器30則對主磁盤陣列控制器20進行錯誤偵測(Heartbeat Detection),一旦主磁盤陣列控制器20發(fā)生故障或錯誤時,副磁盤陣列控制器30即自動接手主磁盤陣列控制器20所執(zhí)行的工作,從而達到故障復原(failover)的目的。
而此主磁盤陣列控制器20則包括有一主機接口21、一先進交換傳輸模塊22、一內置控制器23、一高速緩存24及一磁盤陣列驅動接口25所組成。
此主機接口21,是連接至主機11,用以接收主機11所傳送的命令或數(shù)據(jù)后輸出。
此先進交換傳輸模塊(advanced switch)22,是以PCI EXPRESS AS總線連接至主機接口21,用以接收主機接口21所傳送的命令或數(shù)據(jù)后輸出,并將輸入的命令及數(shù)據(jù)鏡像(mirror)至副磁盤陣列控制器30。
此內置控制器23,是以PCI EXPRESS AS總線連接至先進交換傳輸模塊22,用以處理及執(zhí)行輸入的命令或數(shù)據(jù)。
此高速緩存(cache memory)24,是連接至內置控制器23,用以儲存頻繁存取的命令或數(shù)據(jù),以提高讀取與寫入的效率。
此磁盤陣列驅動接口25,是以PCI EXPRESS AS總線連接至先進交換傳輸模塊22,用以接收先進交換傳輸模塊22所傳送的命令或數(shù)據(jù),予以轉換為磁盤陣列的規(guī)格后輸出。
而副磁盤陣列控制器30也包括有一主機接口31、一先進交換傳輸模塊32、一內置控制器33、一高速緩存34及一磁盤陣列驅動接口35所組成。
此主機接口31,是連接至主機11,用以接收主機11所傳送的命令或數(shù)據(jù)后輸出。
此先進交換傳輸模塊32,是以PCI EXPRESS AS總線分別連接至主機接口31及主磁盤陣列控制器20的先進交換傳輸模塊22,用以接收主機接口31所傳送的命令或數(shù)據(jù)后輸出,并輸出一錯誤偵測信號(heartbeat)至主磁盤陣列控制器20的先進交換傳輸模塊22,當偵測到主磁盤陣列控制器20發(fā)生故障或錯誤時,副磁盤陣列控制器30即自動接手主磁盤陣列控制器20所執(zhí)行的工作。
此內置控制器33,是以PCI EXPRESS AS總線連接至先進交換傳輸模塊32,用以處理及執(zhí)行輸入的命令或數(shù)據(jù)。
此高速緩存(cache memory)34,是連接至內置控制器33,用以儲存頻繁存取的命令或數(shù)據(jù),以提高讀取與寫入的效率。
此磁盤陣列驅動接口35,是以PCI EXPRESS AS總線連接至先進交換傳輸模塊32,用以接收先進交換傳輸模塊32所傳送的命令或數(shù)據(jù),予以轉換為磁盤陣列的規(guī)格后輸出。
上述利用PCI EXPRESS AS總線的連接方式,是使各元件間可進行命令或數(shù)據(jù)的多點廣播(MLITICAST),其它可進行點對點(POINT-TO-POINT)傳輸?shù)目偩€亦為本發(fā)明的實施范圍。
此外,主磁盤陣列控制器20的磁盤陣列驅動接口25及副磁盤陣列控制器30的磁盤陣列驅動接口35均連接有一多工器13,此多工器13則連接至磁盤陣列12,通過此多工器13以決定磁盤陣列12接收命令及數(shù)據(jù)的路徑。
因此,主機11輸出命令或數(shù)據(jù)至容錯式磁盤陣列控制器10時,若主磁盤陣列控制器20工作正常,即由主磁盤陣列控制器20的主機接口21接收命令或數(shù)據(jù)后,再傳輸至先進交換傳輸模塊22,而先進交換傳輸模塊22在接收到主機接口21所傳送的命令或數(shù)據(jù)后,即將命令及數(shù)據(jù)傳輸至內置控制器23進行處理,并同步將命令及數(shù)據(jù)鏡像(mirror)至副磁盤陣列控制器30的先進交換傳輸模塊32,而副磁盤陣列控制器30的先進交換傳輸模塊32在接收到鏡像的命令或數(shù)據(jù)后,即將命令或數(shù)據(jù)傳輸至副磁盤陣列控制器30的內置控制器33進行隊列(QUEUE)。
待主磁盤陣列控制器20的內置控制器23處理完主機11的命令或數(shù)據(jù)后,即輸出一響應信號經先進交換傳輸模塊22及主機接口21至主機11,同時通過先進交換傳輸模塊22將響應信號鏡像傳輸至副磁盤陣列控制器30的先進交換傳輸模塊32,然后再傳輸至副磁盤陣列控制器30的內置控制器33,則內置控制器33即可將隊列的命令或數(shù)據(jù)刪除。
此外,主磁盤陣列控制器20的內置控制器23輸出至磁盤陣列12至命令或數(shù)據(jù),是經先進交換傳輸模塊22傳輸至磁盤陣列驅動接口25進行處理,并同步將命令及數(shù)據(jù)經先進交換傳輸模塊22鏡像(mirror)至副磁盤陣列控制器30的先進交換傳輸模塊32,而副磁盤陣列控制器30的先進交換傳輸模塊32在接收到鏡像的命令或數(shù)據(jù)后,即將命令或數(shù)據(jù)傳輸至副磁盤陣列控制器30的磁盤陣列驅動接口35進行隊列(QUEUE)。
待主磁盤陣列控制器20的磁盤陣列驅動接口25將命令或數(shù)據(jù)轉換為磁盤陣列的規(guī)格輸出至磁盤陣列12后,即輸出一響應信號經先進交換傳輸模塊22至內置控制器23,同時通過先進交換傳輸模塊22將響應信號鏡像傳輸至副磁盤陣列控制器30的先進交換傳輸模塊32,然后再傳輸至副磁盤陣列控制器30的磁盤陣列驅動接口35,則磁盤陣列驅動接口35即可將隊列的命令或數(shù)據(jù)刪除。
在此同時,副磁盤陣列控制器30的先進交換傳輸模塊32是不斷輸出一錯誤偵測信號(heartbeat)至主磁盤陣列控制器20的先進交換傳輸模塊22,當偵測到主磁盤陣列控制器20發(fā)生故障或錯誤時,由于副磁盤陣列控制器30內的內置控制器33及磁盤陣列驅動接口35所隊列的命令及數(shù)據(jù)是與主磁盤陣列控制器20同步更新,故副磁盤陣列控制器30可立即接手主磁盤陣列控制器20所執(zhí)行的工作并保持數(shù)據(jù)寫入的連貫性。
權利要求
1.一種容錯式磁盤陣列控制器,是分別連接有至少一主機及一磁盤陣列,用以接收主機的命令或數(shù)據(jù)對磁盤陣列進行讀取與寫入動作,且該容錯式磁盤陣列控制器是由二相連接的磁盤陣列控制器(RAID Controller)所組成,并選定其一磁盤陣列控制器作為主磁盤陣列控制器,而另一磁盤陣列控制器作為副磁盤陣列控制器,通過該主磁盤陣列控制器接收該主機的命令或數(shù)據(jù)對該磁盤陣列進行讀取與寫入動作,而該副磁盤陣列控制器則在該主磁盤陣列控制器故障時接手繼續(xù)執(zhí)行工作,其特征在于,該磁盤陣列控制器包括有一主機接口,是通過一網絡連接至該主機,用以接收該主機所傳送的命令或數(shù)據(jù)后輸出;一先進交換傳輸模塊,是連接至該主機接口,用以接收該主機接口所傳送的命令或數(shù)據(jù)后輸出,并將輸入的命令及數(shù)據(jù)以多點廣播(multicast)至該副磁盤陣列控制器;一內置控制器,是連接至該先進交換傳輸模塊,用以處理及執(zhí)行輸入的命令或數(shù)據(jù);一高速緩存,是連接至該內置控制器,用以儲存頻繁存取的命令或數(shù)據(jù);以及一磁盤陣列驅動接口,是分別連接至該先進交換傳輸模塊及該磁盤陣列,用以接收該先進交換傳輸模塊所傳送的命令或數(shù)據(jù),予以轉換為磁盤陣列的規(guī)格后輸出至該磁盤陣列。
2.如權利要求1所述的容錯式磁盤陣列控制器,其特征在于,該先進交換傳輸模塊是以PCI EXPRESS AS總線連接至該主機接口。
3.如權利要求1所述的容錯式磁盤陣列控制器,其特征在于,該內置控制器是以PCI EXPRESS AS總線連接至該先進交換傳輸模塊。
4.如權利要求1所述的容錯式磁盤陣列控制器,其特征在于,該磁盤陣列驅動接口是以PCI EXPRESS AS總線連接至該先進交換傳輸模塊。
5.如權利要求1所述的容錯式磁盤陣列控制器,其特征在于,該副磁盤陣列控制器的先進交換傳輸模塊是以PCI EXPRESS AS總線連接至該主磁盤陣列控制器的先進交換傳輸模塊。
6.如權利要求1所述的容錯式磁盤陣列控制器,其特征在于,該二磁盤陣列驅動接口及該磁盤陣列間是連接有一多任務器,并通過該多任務器以決定該磁盤陣列接收命令及數(shù)據(jù)的路徑。
7.如權利要求1所述的容錯式磁盤陣列控制器,其特征在于,該副磁盤陣列控制器的先進交換傳輸模塊是不斷輸出一錯誤偵測信號(heartbeat)至該主磁盤陣列控制器的先進交換傳輸模塊,偵測該主磁盤陣列控制器是否發(fā)生故障或錯誤,并從而立即接手該主磁盤陣列控制器所執(zhí)行的工作。
全文摘要
一種容錯式磁盤陣列控制器,是利用PCIEXPRESS Advanced Switch技術中的多點廣播網絡(multicast)傳輸技術,將命令或數(shù)據(jù)進行多點廣播,使主磁盤陣列控制器所接收及處理的命令或數(shù)據(jù)可同步鏡像至副磁盤陣列控制器,此外,副磁盤陣列控制器是不斷對主磁盤陣列控制器進行錯誤偵測,一旦偵測到主磁盤陣列控制器故障或錯誤時,副磁盤陣列控制器即立即接手主磁盤陣列控制器所執(zhí)行的工作并保持數(shù)據(jù)寫入的連貫性。
文檔編號H04L12/54GK1722074SQ200410028098
公開日2006年1月18日 申請日期2004年7月16日 優(yōu)先權日2004年7月16日
發(fā)明者呂理邦, 吳聲彥 申請人:佛山市順德區(qū)順達電腦廠有限公司, 神達電腦股份有限公司