專利名稱::多同位儲存系統(tǒng)中更新實體儲存裝置控制程序的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種儲存虛擬化系統(tǒng)中更新實體儲存裝置控制程序的方法,特別是涉及一種實體儲存裝置的控制程序更新的方法,以及用此方法的儲存虛擬化控制器及其系統(tǒng)。
背景技術(shù):
:先前技術(shù)的相關(guān)數(shù)據(jù),請參考美國專利No.7032218、No.6907504、No.6728833、No.6816950、No.6820211及美國7>開專利No.20050033933。由以上先前技術(shù)可知在傳統(tǒng)儲存虛擬化系統(tǒng)中,硬碟在更新控制程序時,系統(tǒng)會進(jìn)入降級^t式(degradedmode),該系統(tǒng)在降級坤莫式且不中斷來自主機(jī)端的讀寫請求情況下,一次僅能更新一個硬碟的控制程序;儲存虛擬化系統(tǒng)通常具有許多個硬碟,若該系統(tǒng)中全部的硬碟皆欲更新控制程序時,將耗費(fèi)系統(tǒng)相當(dāng)長的時間,且該系統(tǒng)長時間處于降級模式,造成整體效能不佳的現(xiàn)象,并增加數(shù)據(jù)遺失的風(fēng)險。此外,在部分先前技術(shù)中,系將要更新控制程序的硬碟中全部的數(shù)據(jù)復(fù)制至另一代理硬碟后才進(jìn)行更新,并在控制程序更新完成后,再將代理硬碟中全部的數(shù)據(jù)復(fù)制回更新完成的石更碟,非常地耗時且效能不佳。再者,由于現(xiàn)有習(xí)知的技術(shù)在進(jìn)行完成更新控制程序后執(zhí)行磁碟機(jī)重建時,無法進(jìn)行存取,大幅降低了系統(tǒng)的效能。另外,傳統(tǒng)的儲存虛擬化系統(tǒng)在更新該實體儲存裝置控制程序的程序中,若該系統(tǒng)僅具有單一同位數(shù)據(jù)用來檢核使用者數(shù)據(jù),當(dāng)發(fā)生其他的實體儲存裝置毀損(Fail)時,會使該系統(tǒng)部分的數(shù)據(jù)遺失,無法重建回來,造成不可4免回的災(zāi)害。綜觀上述說明,傳統(tǒng)的儲存虛擬化系統(tǒng)在更新其實體儲存裝置的控制程序時,有更新過程時間長、整體效率不佳、數(shù)據(jù)遺失的風(fēng)險高等缺點(diǎn),且該實體儲存裝置更新控制程序的過程中,若該系統(tǒng)僅具有檢核使用者數(shù)據(jù)的一同位數(shù)據(jù),當(dāng)發(fā)生實體儲存裝置毀損時,會造成系統(tǒng)數(shù)據(jù)遺失的重大災(zāi)害。由此可見,上述現(xiàn)有的儲存虛擬化系統(tǒng)在更新其實體儲存裝置的控制程序方法在方法及使用上,顯然仍存在有不便與缺陷,而亟待加以進(jìn)一步改進(jìn)。為了解決上述存在的問題,相關(guān)廠商莫不費(fèi)盡心思來謀求解決之道,但長久以來一直未見適用的設(shè)計被發(fā)展完成,而一般方法及產(chǎn)品又沒有適切的方法及結(jié)構(gòu)能夠解決上述問題,此顯然是相關(guān)業(yè)者急欲解決的問題。因此如何能創(chuàng)設(shè)一種新的多同位儲存系統(tǒng)中更新實體儲存裝置控制程序的方法,實屬當(dāng)前重要研發(fā)課題之一,亦成為當(dāng)前業(yè)界極需改進(jìn)的目標(biāo)。
發(fā)明內(nèi)容本發(fā)明的目的在于,在一具有一或多個用來檢核使用者數(shù)據(jù)的同位數(shù)據(jù)的儲存虛擬化系統(tǒng)中提供一種更新實體儲存裝置的控制程序的方法及其系統(tǒng),以提升儲存虛擬化系統(tǒng)的效能。本發(fā)明的目的及解決其技術(shù)問題是采用以下技術(shù)方案來實現(xiàn)的。依據(jù)本發(fā)明提出的一種在儲存虛擬化系統(tǒng)中更新實體儲存裝置的控制程序的方法,該方法包含以下的步驟在同一數(shù)據(jù)儲存帶中提供多個同位數(shù)據(jù)儲存塊;選定欲更新控制程序之一或多個實體儲存裝置;使該被選定的實體儲存裝置進(jìn)入一離線狀態(tài);以及更新該被選定的實體儲存裝置內(nèi)的控制程序,其中在該更新控制程序完成前,若需對該實體儲存裝置發(fā)出一寫入請求時,則將該寫入請求所對應(yīng)的未變動數(shù)據(jù)區(qū)段注記為一變動數(shù)據(jù)區(qū)段。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)一步實現(xiàn)。前述的方法,其中當(dāng)該被選定的實體儲存裝置于控制程序更新期間中,若需對該實體儲存裝置的數(shù)據(jù)區(qū)段讀取時,則利用其冗余數(shù)據(jù)算出讀取數(shù)據(jù)并送出。前述的方法,其中當(dāng)該被選定的實體儲存裝置于控制程序更新期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則該變動數(shù)據(jù)區(qū)段的注記維持不變。前述的方法,其更進(jìn)一步的步驟包括該被選定的實體儲存裝置在完成更新控制程序后執(zhí)行部分重建。前述的方法,其中所述的部分重建包含以下的步驟a.選取一變動數(shù)據(jù)區(qū)段,利用其冗余數(shù)據(jù)算出該變動數(shù)據(jù)區(qū)段的新數(shù)據(jù),并把該變動數(shù)據(jù)區(qū)段以新數(shù)據(jù)寫覆且取消該變動數(shù)據(jù)區(qū)段的注記;以及b.重復(fù)執(zhí)行步驟a,直到該實體儲存裝置中無任何變動數(shù)據(jù)區(qū)段為止。前述的方法,其中當(dāng)該被選定的實體儲存裝置于部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段讀取時,則利用其冗余數(shù)據(jù)算出讀取數(shù)據(jù)并送出。前述的方法,其中當(dāng)該被選定的實體儲存裝置于部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則直接將該變動數(shù)據(jù)區(qū)段以寫入請求相對應(yīng)的寫入數(shù)據(jù)寫覆且取消該變動數(shù)據(jù)區(qū)段的注記。前述的方法,其中被選定的實體儲存裝置于部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則該變動數(shù)據(jù)區(qū)段的注記維持不10變。前述的方法,其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,該被選定的實體儲存裝置仍可繼續(xù)執(zhí)行控制程序更新或部分重建,不會發(fā)生該系統(tǒng)數(shù)據(jù)遺失的情形。前述的方法,其中所述的儲存虛擬化系統(tǒng)的組態(tài)設(shè)定為具有多個同位實體儲存裝置時,當(dāng)一實體儲存裝置正在執(zhí)行控制程序更新或部分重建時,若另一實體儲存裝置失效時,則該實體儲存裝置仍可繼續(xù)執(zhí)行控制程序更新或部分重建,不會發(fā)生該系統(tǒng)數(shù)據(jù)遺失的情形。前述的方法,其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱?,直到該被選定的實體儲存裝置完成部分重建為止。前述的方法,其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)大于該同位實體儲存裝置的數(shù)目時,則該被選定的實體儲存裝置上的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)被標(biāo)記為錯誤數(shù)據(jù)。前述的方法,其中當(dāng)發(fā)生有實體儲存裝置毀損且該發(fā)生毀損的實體儲存裝置是正在執(zhí)行控制程序更新或部分重建,若該實體儲存裝置上有變動數(shù)據(jù)區(qū)段時,則取消該變動數(shù)據(jù)區(qū)段的注記。前述的方法,其中若該變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài)時,則將對該實體儲存裝置發(fā)出的寫入請求的相對應(yīng)數(shù)據(jù)儲存于一存儲器內(nèi)而為一連結(jié)數(shù)據(jù)。前述的方法,其中當(dāng)該被選定的實體儲存裝置在控制程序更新期間中,若需對該實體儲存裝置的數(shù)據(jù)區(qū)段讀取時,則利用其冗余數(shù)據(jù)算出讀取數(shù)據(jù)并送出。前述的方法,其中當(dāng)該被選定的實體儲存裝置在控制程序更新期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段讀取時,則將該變動數(shù)據(jù)區(qū)段的連結(jié)數(shù)據(jù)直接送出。前述的方法,其中當(dāng)該被選定的實體儲存裝置在控制程序更新期間中,若需對該實體儲存裝置的未變動數(shù)據(jù)區(qū)段寫入時,則注記該未變動數(shù)據(jù)區(qū)段為一變動數(shù)據(jù)區(qū)段及儲存該寫入請求相對應(yīng)的寫入數(shù)據(jù)為一連結(jié)數(shù)據(jù)。前述的方法,其中當(dāng)該被選定的實體儲存裝置在控制程序更新期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則該變動數(shù)據(jù)區(qū)段的注記維持不變及以寫入請求相對應(yīng)的寫入數(shù)據(jù)將該變動數(shù)據(jù)區(qū)段原先的連結(jié)數(shù)據(jù)直接寫覆。前述的方法,其更進(jìn)一步的步驟包括該凈皮選定的實體儲存裝置在完成更新控制程序后執(zhí)行部分重建。前述的方法,其中所述的部分重建包含以下的步驟a.選取一變動數(shù)據(jù)區(qū)段,復(fù)制該變動數(shù)據(jù)區(qū)段的連結(jié)數(shù)據(jù)至該變動數(shù)據(jù)區(qū)段上并取消該變動數(shù)據(jù)區(qū)段的注記;以及b.重復(fù)執(zhí)行步驟a,直到該實體儲存裝置中無任何變動數(shù)據(jù)區(qū)段為止。前述的方法,其中當(dāng)該被選定的實體儲存裝置在部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段讀取時,則將該變動數(shù)據(jù)區(qū)段的連結(jié)數(shù)據(jù)直接送出。前述的方法,其中當(dāng)該被選定的實體儲存裝置在部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則直接將該變動數(shù)據(jù)區(qū)段以寫入請求相對應(yīng)的寫入數(shù)據(jù)寫覆且取消該變動數(shù)據(jù)區(qū)段的注記。前述的方法,其中當(dāng)該被選定的實體儲存裝置在部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則該變動數(shù)據(jù)區(qū)段的注記維直^寫覆。'匚、"、'"'二、-''-''、,、"前述的方法,其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,不會發(fā)生系統(tǒng)數(shù)據(jù)遺失,該被選定的實體儲存裝置則繼續(xù)執(zhí)行控制程序更新或部分重建,直到該被選定的實體儲存裝置完成部分重建為止。前述的方法,其中所述的儲存虛擬化系統(tǒng)的組態(tài)設(shè)定為具有多個同位實體儲存裝置時,當(dāng)一實體儲存裝置正在執(zhí)行控制程序更新時,若另一實體儲存裝置失效時,則該實體儲存裝置仍可繼續(xù)執(zhí)行控制程序更新,不會發(fā)生該系統(tǒng)數(shù)據(jù)遺失的情形。前述的方法,其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱?,直到該被選定的實體儲存裝置完成部分重建為止。前述的方法,其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損數(shù)目與正在更新控制程序的實體儲存裝置的數(shù)目的總和大于該同位實體儲存裝置的數(shù)目,若需對該正在更新控制程序的實體儲存裝置內(nèi)的未變動數(shù)據(jù)區(qū)段讀取時,則暫不回復(fù)該讀取請求,直到該正在更新控制程序的實體儲存裝置完成控制程序的更新后,再利用冗余數(shù)據(jù)算出讀取數(shù)據(jù)并送出。前述的方法,其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)大于該同位實體儲存裝置的數(shù)目時,則復(fù)制該變動數(shù)據(jù)區(qū)段的連結(jié)數(shù)據(jù)至該變動數(shù)據(jù)區(qū)段上。前述的方法,其中當(dāng)發(fā)生有實體儲存裝置毀損且該發(fā)生毀損的實體儲存裝置是正在執(zhí)行控制程序更新或部分重建,若該實體儲存裝置上有變動數(shù)據(jù)區(qū)段時,則取消該變動數(shù)據(jù)區(qū)段的注記。前述的方法,其中所述的儲存虛擬化系統(tǒng)包含多個實體儲存裝置、一第一及第二存儲裝置,其中該每一實體儲存裝置包含多個數(shù)據(jù)區(qū)段及一可程序化的控制程序,且該第一存儲裝置用來儲存變動數(shù)據(jù)區(qū)段的注記及該第二存儲裝置用來〗諸存該注記的連結(jié)數(shù)據(jù)。前述的方法,其中所述的第一及第二存儲裝置位于》茲碟陣列控制器的存儲器中。前述的方法,其中所述的第一、第二存儲裝置是一動態(tài)隨機(jī)存取存儲器或一非易失性儲存裝置。前述的方法,其中所述的非易失性儲存裝置是一硬式磁碟機(jī)或固態(tài)磁碟機(jī),或是一具有電池或超級電容供應(yīng)電源的動態(tài)隨沖踏取存儲器。前述的方法,其中所述的儲存虛擬化系統(tǒng)包含多個實體儲存裝置,其中該每一實體儲存裝置包含多個數(shù)據(jù)區(qū)段及一可程序化的控制程序。前述的方法,其中所述的數(shù)據(jù)區(qū)段的大小是一實體儲存裝置的一磁區(qū)、一快取存儲器、或一邏輯區(qū)塊的大小。前述的方法,其中若該儲存虛擬化系統(tǒng)具有N個同位實體儲存裝置,其中N為自然數(shù),在不中斷主機(jī)單元對實體儲存裝置的讀、寫請求情況下,該系統(tǒng)可同時執(zhí)行N個實體儲存裝置的控制程序的更新。本發(fā)明的目的及解決其技術(shù)問題還采用以下技術(shù)方案來實現(xiàn)。依據(jù)本發(fā)明提出的一種可在儲存虛擬化系統(tǒng)中更新實體儲存裝置內(nèi)的控制程序的儲存虛擬化控制器,該儲存虛擬化控制器包含有一中央處理電路;一主機(jī)端輸入輸出裝置連結(jié)控制器,用以連接于該中央處理電路及至少一主機(jī),用來接收來自主機(jī)的IO請求;以及一裝置端輸入輸出裝置連結(jié)控制器,用以連接于該中央處理電路及多個實體儲存裝置,用來回應(yīng)于接收自該主機(jī)的IO請求而對所述實體儲存裝置執(zhí)行IO操作;其中所述實體儲存裝置設(shè)置有至少一數(shù)據(jù)儲存帶,且在同一數(shù)據(jù)儲存帶中提供多個同位數(shù)據(jù)儲存塊,且其中,該中央處理電路執(zhí)行以下的步驟以更新該實體儲存裝置內(nèi)的控制程序選定欲更新控制程序之一或多個實體儲存裝置;使該被選定的實體儲存裝置進(jìn)入一離線狀態(tài);更新該被選定的實體儲存裝置內(nèi)的控制程序,其中在該更新控制程序完成前,若需對該實體儲存裝置發(fā)出一寫入請求時,則將該寫入請求所對應(yīng)的未變動數(shù)據(jù)區(qū)段注記為一變動數(shù)據(jù)區(qū)段。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)一步實現(xiàn)。前述的儲存虛擬化控制器,其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,則繼續(xù)執(zhí)行該被選定的實體儲存裝置的控制程序更新或部分重建,直到該被選定的實體儲存裝置完成部分重建為止。前述的儲存虛擬化控制器,其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱螅钡皆摫贿x定的實體儲存裝置完成部分重建為止。前述的儲存虛擬化控制器,其中若該儲存虛擬化系統(tǒng)具有N個同位實體儲存裝置,其中N為自然數(shù),在不中斷主機(jī)單元對實體儲存裝置的讀、寫請求情況下,該系統(tǒng)可同時執(zhí)行N個實體儲存裝置的控制程序的更新。前述的儲存虛擬化控制器,其中所述的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài),當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,不會發(fā)生系統(tǒng)數(shù)據(jù)遺失,該被選定的實體儲存裝置則繼續(xù)執(zhí)行控制程序更新或部分重建,直到該被選定的實體儲存裝置完成部分重建為止。前述的儲存虛擬化控制器,其中所述的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài),當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱?,直到該被選定的實體儲存裝置完成部分重建為止。本發(fā)明的目的及解決其技術(shù)問題另外再采用以下技術(shù)方案來實現(xiàn)。依據(jù)本發(fā)明提出的一種可更新實體儲存裝置內(nèi)的控制程序的儲存虛擬化系統(tǒng),該系統(tǒng)包含一主機(jī),用來發(fā)出I0請求;一儲存虛擬化控制器,該儲存虛擬化控制器耦接于該主機(jī)且用于執(zhí)行10操作以回應(yīng)于該10請求;以及多個實體儲存裝置,所述實體儲存裝置耦接于該儲存虛擬化控制器,用來提供該儲存虛擬化電腦系統(tǒng)儲存空間;其中所述實體儲存裝置設(shè)置有至少一數(shù)據(jù)儲存帶,且在同一數(shù)據(jù)儲存帶中提供多個同位數(shù)據(jù)儲存塊,且其中,該儲存虛擬化控制器執(zhí)行以下的步驟以更新該實體儲存裝置內(nèi)的控制程序選定欲更新控制程序的一或多個實體儲存裝置;使該被選定的實體儲存裝置進(jìn)入一離線狀態(tài);更新該被選定的實體儲存裝置內(nèi)的控制程序,其中在該更新控制程序完成前,若需對該實體儲存裝置發(fā)出一寫入請求時,則將該寫入請求所對應(yīng)的未變動數(shù)據(jù)區(qū)段注記為一變動數(shù)據(jù)區(qū)段。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)一步實現(xiàn)。前述的儲存虛擬化系統(tǒng),其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,則繼續(xù)執(zhí)行該被選定的實體儲存裝置的控制程序更新或部分重建,直到該被選定的實體儲存裝置完成部分重建為止。前述的儲存虛擬化系統(tǒng),其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱?,直到該被選定的實體儲存裝置完成部分重建為止。前述的儲存虛擬化系統(tǒng),其中若該儲存虛擬化系統(tǒng)具有N個同位實體儲存裝置,其中N為自然數(shù),在不中斷主機(jī)單元對實體儲存裝置的讀、寫請求情況下,該系統(tǒng)可同時執(zhí)行N個實體儲存裝置的控制程序的更新。前述的儲存虛擬化系統(tǒng),其中所述的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài),當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,不會發(fā)生系統(tǒng)數(shù)據(jù)遺失,該被選定的實體儲存裝置則繼續(xù)執(zhí)行控制程序更新或部分重建,直到該^皮選定的實體儲存裝置完成部分重建為止。前述的儲存虛擬化系統(tǒng),其中所述的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài),當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱?,直到該被選定的實體儲存裝置完成部分重建為止。本發(fā)明與現(xiàn)有技術(shù)相比具有明顯的優(yōu)點(diǎn)和有益效果。借由上述技術(shù)方案,本發(fā)明多同位儲存系統(tǒng)中更新實體儲存裝置控制程序的方法至少具有下列優(yōu)點(diǎn)及有益效果本發(fā)明在一具有一或多個用來檢核使用者數(shù)據(jù)的同位數(shù)據(jù)的儲存虛擬化系統(tǒng)中提供一種更新實體儲存裝置的控制程序的方法及其系統(tǒng),以提升儲存虛擬化系統(tǒng)的效能。綜上所述,本發(fā)明揭露一種在具有多個同位數(shù)據(jù)的儲存虛擬化系統(tǒng)中更新實體儲存裝置的控制程序的方法,該方法包含以下的步驟在同一數(shù)據(jù)儲存帶中提供多個同位數(shù)據(jù)儲存塊;選定欲更新控制程序的一或多個實體儲存裝置;使該被選定的實體儲存裝置進(jìn)入一離線狀態(tài);更新該^皮選定的實體儲存裝置內(nèi)的控制程序,其中在該更新控制程序完成前,若需對該實體儲存裝置發(fā)出一寫入請求時,則將該寫入請求中所對應(yīng)的未變動數(shù)據(jù)區(qū)段注記為一變動數(shù)據(jù)區(qū)段。本發(fā)明亦揭露有用此方法的儲存虛擬化控制器及其系統(tǒng)。本發(fā)明在技術(shù)上有顯著的進(jìn)步,具有明顯的積極效果,誠為一新穎、進(jìn)步、實用的新設(shè)計。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉較佳實施例,并配附圖,詳細(xì)說明如下。圖1是儲存虛擬化系統(tǒng)中主機(jī)單元、磁碟陣列控制器及實體儲存裝置陣列間的連結(jié)關(guān)系的方塊圖。圖2A是實體儲存裝置陣列與各PSD上所儲存的數(shù)據(jù)間的關(guān)系的示意圖。圖2B是數(shù)據(jù)儲存帶與各PSD上數(shù)據(jù)的關(guān)系的示意圖。圖3是本發(fā)明中PSD更新控制程序的概略流程圖。圖4是本發(fā)明中的一實施例的流程圖。圖5至圖8是本發(fā)明的實施例中PSD的控制程序更新模式A的詳細(xì)流程圖。圖9至圖12是本發(fā)明的實施例中PSD的控制程序更新4莫式B的詳細(xì)流程圖。10:主機(jī)單元150:》漆碟陣列控制器100:實體儲存裝置陣列110:實體儲存裝置112:控制程序160:主^L端輸入輸出裝置連結(jié)控制器170:中央處理電路175:芯片組/同位引擎176:中央處理器177:唯讀存儲器(ROM)178:非易失性存儲器(NVRAM)180:存儲器(Memory)181:第一存儲器182:第二存儲器具體實施例方式為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實施例,對依據(jù)本發(fā)明提出的多同位儲存系統(tǒng)中更新實體儲存裝置控制程序的方法其具體實施方式、方法、步驟、結(jié)構(gòu)、特征及其功效,詳細(xì)i兌明如后。有關(guān)本發(fā)明的前述及其他技術(shù)內(nèi)容、特點(diǎn)及功效,在以下配合參考圖式的較佳實施例的詳細(xì)說明中將可清楚呈現(xiàn)。通過具體實施方式的說明,當(dāng)可對本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效得一更加深入且具體u的了解,然而所附圖式僅是提供參考與說明之用,并非用來對本發(fā)明加以限制。儲存虛擬化技術(shù)儲存虛擬化(Storagevirtua1ization)^支術(shù)已凈皮廣泛地應(yīng)用于數(shù)字儲存系統(tǒng)中,可藉由組合數(shù)個實體儲存裝置(PhysicalStorageDevice,筒稱PSD),來組成一個邏輯儲存單元以供主機(jī)單元(HostEntity)進(jìn)行存取,例如一個邏輯磁碟(LogicalDiskDrive,LD)。儲存虛擬化技術(shù)的主要應(yīng)用是將數(shù)個較小的實體儲存裝置進(jìn)行組合,組合后產(chǎn)生一個容量較大、錯誤容許率較高且效能較高的邏輯儲存裝置。當(dāng)該儲存虛擬化系統(tǒng)中的一實體儲存裝置發(fā)生毀損(Fail)時,在更換新實體儲存裝置后,該毀損的實體儲存裝置上原先的儲存數(shù)據(jù)可由其他實體儲存裝置上所儲存的使用者數(shù)據(jù)(userdata)及同位數(shù)據(jù)(paritydata)進(jìn)行重建(rebuild),而將該毀損的實體儲存裝置上原先所儲存的數(shù)據(jù)重新產(chǎn)生(regenerate)并儲存到新實體儲存裝置上。圖1是依據(jù)本發(fā)明的一實施例的一儲存虛擬化系統(tǒng),該儲存虛擬化系統(tǒng)1包括一;茲石萊陣列控制器(RAIDcontroller,RedundantArrayofIndependentDisksController)150耦接至一主機(jī)單元IO及一實體儲存裝置陣列(PSDArray)100耦接至該石蓉碟陣列控制器150上。該主才幾單元10可為一主機(jī)電腦,如一服務(wù)器系統(tǒng)、工作站、個人電腦系統(tǒng)等。另外,上述儲存虛擬化系統(tǒng)1也可以為包括內(nèi)建(built-in)—》茲;萊陣列控制卡(RAIDCard)及一實體儲存裝置陣列100的一主機(jī)電腦,如儲存服務(wù)器(storageserver)。一儲存虛才以4t4空制器(storagevirtualizationcontroller,SVC)的主要目的是將實體儲存媒體的各區(qū)段的組合映射(map)形成一主機(jī)系統(tǒng)可見的邏輯々某體單元。由該主機(jī)系統(tǒng)發(fā)出的輸入輸出請求(IOrequest)在被儲存虛擬化控制器接收之后會先被剖析并解譯,且相關(guān)的操作及數(shù)據(jù)會被儲存虛擬化控制器編譯成實體儲存裝置的輸入輸出請求,并對實體儲存裝置發(fā)出所述輸入輸出請求。這個過程可以是間接地,例如運(yùn)用快取、延遲(如回寫(write-back))、預(yù)期(anticipate)(先讀(read-ahead))、群集(group)等操作來加強(qiáng)效能及其他的操作特性,因而一主機(jī)輸入輸出請求并不一定是以一對一的方式直接對應(yīng)于實體儲存裝置輸入輸出請求。因此,一個來自主機(jī)單元的讀取請求(readrequest)或?qū)懭胝埱?writerequest)可能對應(yīng)(correspond)至一個或多個實體儲存裝置的讀取或?qū)懭胝埱?,且多個來自主機(jī)單元的讀取或?qū)懭胝埱笠部赡軐?yīng)至一個實體儲存裝置的讀取或?qū)懭胝埱?;因而,一個實體儲存裝置的讀取或?qū)懭胝埱罂赡軐?yīng)至來自主機(jī)單元的一個或多個讀取或?qū)懭胝埱?,且多個實體儲存裝置的讀取或?qū)懭胝埱笠部赡軐?yīng)至來自主機(jī)單元的一個讀取或?qū)懭胝埱蟆R罁?jù)本發(fā)明的一實施例,該》茲碟陣列控制器150可為一儲存虛擬化控制器,可對該實體儲存裝置陣列100中的多個實體儲存裝置IIO執(zhí)行儲存虛擬化程序,而將該多個實體儲存裝置110映射成為一或多個在該主機(jī)單元10上呈現(xiàn)的邏輯磁^^幾(logicaldisk,LD),該邏輯》茲^L可祐^見劃成多個邏輯區(qū)塊(logicalblock)來儲存數(shù)據(jù)。依據(jù)本發(fā)明的一實施例,該磁碟陣列控制器150包括一主機(jī)端輸入輸17出(10)裝置連結(jié)控制器(host-side10deviceinterconnectcontroller)160、中央處理電路(centralprocessingcircuitry,CPC)170、存儲器(memory)180、裝置端輸入專餘出裝置連結(jié)控制器(device-side10deviceinterconnectcontroller)190等。該主才幾端輸入輸出裝置連結(jié)控制器160連接該主機(jī)單元10與中央處理電路170,用來作為該磁碟陣列控制器150及主機(jī)單元10間的介面及緩沖。主機(jī)端輸入輸出裝置連結(jié)控制器160是用來接收自該主機(jī)單元10所傳來的10請求和相關(guān)數(shù)據(jù),并且將其映射(mapping)及/或傳送(transfer)至中央處理電路170。該中央處理電路170包括有CPU芯片組/同位引擎175、中央處理器(CPU)176、唯讀存儲器(readonlymemory,ROM)177、非易失性存卡者器(Non-VolatileRAM,NVRAM)178等電路。依據(jù)本發(fā)明的一實施例,該CPU芯片組/同位引擎175接收來自主才幾單元10的寫入數(shù)據(jù),經(jīng)該CPU芯片組/同位引擎175處理后產(chǎn)生一或多個同位數(shù)據(jù),再將該寫入數(shù)據(jù)及該一或多個同位數(shù)據(jù)寫至所述PSD110中。若該同位數(shù)據(jù)為多個時,該多個同位數(shù)據(jù)以不同的演算方式所求得。另外,當(dāng)該實體儲存裝置陣列100中的PSD110發(fā)生毀損時,可在該毀損的PSD被更換后,通過該CPU芯片組/同位引擎175,利用該實體儲存裝置陣列100中其他PSD上的使用者數(shù)據(jù)及所述同位數(shù)據(jù),執(zhí)行同位運(yùn)算(paritycomputation),以重新產(chǎn)生(regenerate)該毀損PSD上原先的數(shù)據(jù),并將運(yùn)算結(jié)果儲存至新PSD中。非易失性存儲器(NVRAM)178用來儲存該實體儲存裝置陣列100的IO操作執(zhí)行狀態(tài)的相關(guān)數(shù)據(jù),以作為在IO操作尚未完成前發(fā)生不正常電源關(guān)閉后、電源又回復(fù)時4僉IH吏用。存儲器180可為動態(tài)隨機(jī)存取存儲器(dynamicrandomaccessmemory,D謹(jǐn))或非易失性存儲器,可用來儲存系統(tǒng)啟動及控制程序,以及其他暫存的數(shù)據(jù)。依據(jù)本發(fā)明的一實施例,存儲器180又可包括第一存儲器181用以儲存一判別數(shù)據(jù)(determinationdata),以及第二存儲器182用以儲存上述判別數(shù)據(jù)所連結(jié)的數(shù)據(jù)(連結(jié)數(shù)據(jù),linkeddata)。該判別數(shù)據(jù)與連結(jié)數(shù)據(jù)將于后文中說明。依據(jù)本發(fā)明的另一實施例,該第一存儲器181及第二存儲器182可以皆為動態(tài)隨機(jī)存取存儲器,或皆為非易失性存儲器,或一者為動態(tài)隨機(jī)存取存儲器、一者可為非易失性存儲器的組合。上述所提及的非易失性存儲器可為快閃存儲器(flashmemory)、電子抹除式可程序唯讀存儲器(electricallyerasableprogrammableread—onlymemory,EEPROM)、磁阻式隨才/^取存儲器(magneticrandomaccessmemory,MR馬、鐵電存儲器(ferroelectricRAM,FRAM)等。該非易失性存儲器甚至可以為一具有電池或一超級電容(supercapacitor)或是其^也備用電源來供應(yīng)電力的動態(tài)隨機(jī)存取存儲器、或是當(dāng)電源關(guān)閉時還能保存數(shù)據(jù)一段時間的其他儲存媒體。依據(jù)本發(fā)明的一實施例,該裝置端輸入輸出裝置連結(jié)控制器190連接于該中央處理電路170與該實體儲存裝置陣列100之間,作為此二者間的介面與緩沖,用以將該中央處理電路170處理后的數(shù)據(jù)寫入該實體儲存裝置陣列100中,或是自該實體儲存裝置陣列100中讀取數(shù)據(jù)至該中央處理電路170中。依據(jù)本發(fā)明的一實施例,該實體儲存裝置陣列100包含多個實體儲存裝置110,可為石更式/P茲石^^(HDD)或固態(tài)J茲石萊(SSD)、或光石萊才幾(opticaldiscdrive)、或,光碟機(jī)(digitalversatilediscdrive,DVDdrive)等,作為該儲存虛擬化系統(tǒng)1儲存數(shù)據(jù)使用。所述實體儲存裝置110內(nèi)包含一非易失性存儲器及一或多個記錄媒體。該非易失性存儲器內(nèi)儲存一控制程序(controlprogram)112,作為所述實體儲存裝置110的相關(guān)10控制。該控制程序112為一可程序化的程序碼(code),故該控制程序112可通過所述實體儲存裝置110的10介面將所述實體儲存裝置IIO新的控制程序112寫入,而將原先的控制程序112覆蓋。實體儲存裝置110的所述記錄媒體可規(guī)劃成作為儲存數(shù)據(jù)使用的多個數(shù)據(jù)區(qū)段(datasegment),而該數(shù)據(jù)區(qū)段的大小是可變動。上述當(dāng)主機(jī)單元IO欲寫入數(shù)據(jù)至實體儲存裝置陣列100時,會先將數(shù)據(jù)暫存于存儲器180中,再將存儲器180中的數(shù)據(jù)儲存到PSD110中,其數(shù)據(jù)傳遞路徑依序為主機(jī)單元IO、主機(jī)端輸入輸出裝置連結(jié)控制器160、中央處理電路170、存儲器180、中央處理電路170、裝置端輸入輸出裝置連結(jié)控制器190、實體儲存裝置陣列100。當(dāng)主機(jī)單元IO欲自實體儲存裝置陣列IOO讀取數(shù)據(jù)時,該實體儲存裝置陣列IOO會先將數(shù)據(jù)暫存于存儲器180中,再將存儲器180中的數(shù)據(jù)送到主機(jī)單元10,其數(shù)據(jù)傳遞路徑依序為實體儲存裝置陣列100、裝置端輸入輸出裝置連結(jié)控制器190、中央處理電路170、存儲器180、中央處理電路170、主機(jī)端輸入輸出裝置連結(jié)控制器160、主機(jī)單元IO。本發(fā)明所述的儲存虛擬化系統(tǒng),包含檢驗使用者數(shù)據(jù)用的至少一同位數(shù)據(jù)、一存儲裝置、至少一磁碟陣列控制器及多個實體儲存裝置,其中該每一實體儲存裝置包含多個數(shù)據(jù)區(qū)段及一可程序化的控制程序。依椐本發(fā)明的一實施例,圖2A是圖1中實體儲存裝置陣列100的方塊圖。在本實施例中,該實體儲存裝置為硬盤驅(qū)動器(HDD)。圖2A的實體儲存裝置陣列100中包括了6部HDD110,但在實際的應(yīng)用中,并未受限于此數(shù)目。在HDD1至HDD6中,每一HDD包含了多個數(shù)據(jù)儲存塊(datachunk,或簡稱chunk),例如HDD1內(nèi)的Dl、D5…D(4N-3)或HDD2內(nèi)的D2、D6…D(4N-2)或HDD3內(nèi)的D3、D7…D(4N-1)或HDD4內(nèi)的D4、P2…D(4N)或HDD5內(nèi)的Pl、Q2...PN或HDD6內(nèi)的Q1、D8…QN等,皆稱為一數(shù)據(jù)儲存塊。其中該每一數(shù)據(jù)儲存塊具有一編號,且該每一HDD110內(nèi)編號相同的數(shù)據(jù)儲存塊的數(shù)據(jù)則可組合成一筆包含多個使用者數(shù)據(jù)儲存塊及二個同位數(shù)據(jù)儲存塊的數(shù)據(jù)儲存帶(datastripe,或筒稱stripe)。圖2A中數(shù)據(jù)儲存帶1(stripel)由Dl、D2、D3、D4、Pl與Ql等編號皆為No.1的數(shù)據(jù)儲存塊所組成,其中Dl、D2、D3與D4為使用者數(shù)據(jù)儲存塊,Pl與Ql為同位數(shù)據(jù)儲存塊;數(shù)據(jù)儲存帶2(stripe2)由編號皆為No.2的D5、D6、D7、P2、Q2與D8等數(shù)據(jù)儲存塊所組成,其中D5、D6、D7與D8為使用者數(shù)據(jù)儲存塊,P2與Q2為同位數(shù)據(jù)儲存塊。依此類推,數(shù)據(jù)儲存帶N由編號皆為No.N的D(4N-3)、D(4N-2)、D(4N-1)、D(4N)、PN與QN等數(shù)據(jù)儲存塊所組成,其中D(4N-3)、D(4N-2)、D(4N-1)與D(4N)為使用者數(shù)據(jù)儲存塊,PN與QN為同位數(shù)據(jù)儲存塊。由此可知,該實體儲存裝置陣列100的數(shù)據(jù)即是由N個數(shù)據(jù)儲存帶的數(shù)據(jù)所組成。所述同位數(shù)據(jù)儲存塊可平均分布于HDD1至HDD6中,或是將所述同位數(shù)據(jù)儲存塊儲存于HDD1至HDD6其中的2個同位硬碟(parityHDD)中(圖未示)。該同位數(shù)據(jù)儲存塊Pl可由使用者數(shù)據(jù)儲存塊Dl、D2、D3與D4執(zhí)行一同位運(yùn)算求得;該另一同位數(shù)據(jù)儲存塊Ql可由使用者數(shù)據(jù)儲存塊Dl、D2、D3與D4執(zhí)行不同于Pl的另一同位運(yùn)算求得。Dl的數(shù)據(jù)也可由D2、D3、D4與P1或由D2、D3、D4與Ql分別執(zhí)4亍不同的同位運(yùn)算計算求得。由此可知,該同一數(shù)據(jù)儲存帶中的其中一數(shù)據(jù)儲存塊的數(shù)據(jù)(不限于使用者數(shù)據(jù)儲存塊或同位數(shù)據(jù)儲存塊)皆可由該數(shù)據(jù)儲存帶中與該數(shù)據(jù)儲存塊編號相同的其他HDD上的數(shù)據(jù)儲存塊的數(shù)據(jù)經(jīng)同位運(yùn)算求得。同一數(shù)據(jù)儲存帶的所有數(shù)據(jù)儲存塊的數(shù)據(jù)稱之為冗余數(shù)據(jù)(redundantdata),故可知當(dāng)Dl、D2、D3與D4有數(shù)據(jù)儲存塊無法讀出時,該無法讀出的數(shù)據(jù)儲存塊可由同一數(shù)據(jù)儲存帶中的其他冗余數(shù)據(jù)利用同位運(yùn)算算出。雖然圖2A中僅有P與Q二種同位數(shù)據(jù)儲存塊,但在實際應(yīng)用中,并不受限于此凄t目,可為3種或超過3種不同的同位數(shù)據(jù)儲存塊。在HDD1至HDD6中,每一HDD包含了多個數(shù)據(jù)區(qū)段用以儲存數(shù)據(jù),其中該每一數(shù)據(jù)區(qū)段具有一編號且可設(shè)定該數(shù)據(jù)區(qū)段空間的大小。依照設(shè)定的差異,該數(shù)據(jù)區(qū)段的大小,可為一磁區(qū)(sector)的大小、一邏輯區(qū)塊(logicalblock)的大小、一快^#儲器(cachebuffer)的大小、一數(shù)據(jù)儲存塊的大小或其他的大小。在圖2A的例子中,該數(shù)據(jù)區(qū)^:的大小為一個數(shù)據(jù)儲存塊的大小,但是在圖2B的例子中,一個數(shù)據(jù)儲存塊中包了含多個數(shù)據(jù)區(qū)段,例如D1數(shù)據(jù)儲存塊中包含了數(shù)據(jù)區(qū)段D1-1、D1-2、Dl-3、D1-4,此時一個使用者數(shù)據(jù)儲存塊中包含了多個使用者數(shù)據(jù)區(qū)段(userdatasegment)且一個同位數(shù)據(jù)儲存塊包含了多個同位數(shù)據(jù)區(qū)段(paritydatasegment)。當(dāng)一數(shù)據(jù)區(qū)段的數(shù)據(jù)無法讀出時,可利用同一數(shù)據(jù)儲存帶中該數(shù)據(jù)區(qū)^炎的其他冗余數(shù)據(jù)區(qū)^:(redundantdatasegment)(包含使用者翁:據(jù)區(qū)段及同位數(shù)據(jù)區(qū)段)經(jīng)同位運(yùn)算算出。該f茲碟陣列控制器150可接收來自主機(jī)單元10的讀取或?qū)懭胝埱?,該讀取或?qū)懭胝埱笙鄬?yīng)于HDD上的數(shù)據(jù),可能僅包含一數(shù)據(jù)儲存塊中的一小部分?jǐn)?shù)據(jù),也可能包括一個數(shù)據(jù)儲存塊以上的數(shù)據(jù)。圖3是本發(fā)明的概略流程圖。圖3中,該磁碟陣列控制器于該儲存虛擬化系統(tǒng)中,同時執(zhí)行一或多個PSD控制程序的更新,其中包含了該一或多個PSD于更新控制程序或執(zhí)行部分重建(partialrebuilding)期間,該磁碟陣列控制器若需要對該一或多個PSD發(fā)出讀取/寫入請求(Read/WriteRequest,或以R/WRequest來表示)時的處理程序;其中更包含了該一或多個PSD更新控制程序或執(zhí)行部分重建期間,若發(fā)生PSD毀損的情形時的處理程序。在本發(fā)明中,所謂部分重建(partialrebuilding)程序,是指在PSD的控制程序更新完成后,/^碟陣列控制器針對該P(yáng)SD的變動數(shù)據(jù)區(qū)段的部分執(zhí)行數(shù)據(jù)更新。所謂變動數(shù)據(jù)區(qū)段(modifieddatasegment),是表示一數(shù)據(jù)區(qū)段的數(shù)據(jù)因為寫入請求而需要被更新,但卻因為該P(yáng)SD正在進(jìn)行控制程序更新而無法對該數(shù)據(jù)區(qū)段進(jìn)行數(shù)據(jù)更新,而在目前的狀態(tài)下其中數(shù)據(jù)為不正確的舊數(shù)據(jù);未被注記為變動數(shù)據(jù)區(qū)段的數(shù)據(jù)區(qū)段則稱為未變動數(shù)據(jù)區(qū)段(unmodifieddatasegment)。部分重建中的數(shù)據(jù)更新,可以是利用同一數(shù)據(jù)儲存帶的使用者數(shù)據(jù)及同位數(shù)據(jù)執(zhí)行同位運(yùn)算來針對變動數(shù)據(jù)區(qū)段重新產(chǎn)生正確的使用者數(shù)據(jù)并加以更新,也可以是利用該變動數(shù)據(jù)區(qū)段所連結(jié)的連結(jié)數(shù)據(jù)(linkeddata)來將舊數(shù)據(jù)更新為正確的使用者數(shù)據(jù)。連結(jié)數(shù)據(jù)將于下文說另作說明。該P(yáng)SD更新控制程序的流程開始于圖3中的步驟300。步驟310中,該儲存虛擬化系統(tǒng)中的i茲碟陣列控制器(以下筒稱為控制器)150偵測該系統(tǒng)中的同位PSD(parityPSD)的數(shù)目及PSD控制程序更新模式的指定。此處所謂的同位PSD的數(shù)目是指在一個數(shù)據(jù)儲存帶中所包含的同位數(shù)據(jù)儲存塊(paritydatachunk)的數(shù)目。該同位PSD的數(shù)目等于0(沒有同位PSD)的狀況不在本發(fā)明討論的范圍內(nèi)。根據(jù)本發(fā)明的實施例,該儲存虛擬化系統(tǒng)的硬體配置中,該同位PSD數(shù)目是一個或多個。該P(yáng)SD控制程序的更新模式可為PSD控制程序更新模式A或是PSD控制程序更新模式B。當(dāng)PSD在更新控制程序的期間中,若控制器需要對該P(yáng)SD發(fā)出寫入請求時,因該P(yáng)SD此時無法寫入數(shù)據(jù),故該控制器會先將該寫入請求所對應(yīng)的該P(yáng)SD的數(shù)據(jù)區(qū)段記錄為一判別數(shù)據(jù)(determinationdata)用來判別一PSD數(shù)據(jù)區(qū)段是否為變動數(shù)據(jù)區(qū)段,該記錄表示該P(yáng)SD在更新控制程序的期間,該P(yáng)SD上該數(shù)據(jù)區(qū)段的數(shù)據(jù)已發(fā)生異動,而須伺PSD更新控制程序的程序完畢后,再將發(fā)生有數(shù)據(jù)異動的數(shù)據(jù)區(qū)段更改成正確數(shù)據(jù)。若僅記錄發(fā)生數(shù)據(jù)變動PSD的數(shù)據(jù)區(qū)段于判別數(shù)據(jù)中,但并不儲存該寫入請求相對應(yīng)于該P(yáng)SD的寫入數(shù)據(jù)(即連結(jié)數(shù)據(jù))時,則為PSD控制程序更新模式A;若除了記錄發(fā)生數(shù)據(jù)變動PSD的數(shù)據(jù)區(qū)段外,并同時儲存連結(jié)數(shù)據(jù),且利用判別數(shù)據(jù)與的連結(jié)時,則為PSD控制程序更新模式B。因為該寫入請求相對應(yīng)于該P(yáng)SD的寫入數(shù)據(jù)與變動數(shù)據(jù)區(qū)段是利用判別數(shù)據(jù)連結(jié)在一起,故該寫入請求相對應(yīng)于該P(yáng)SD的寫入數(shù)據(jù)稱為連結(jié)數(shù)據(jù),此時該被注記為變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài)。該判別數(shù)據(jù),可為一變動數(shù)據(jù)區(qū)#炎表(modifieddatasegmenttable)、或是一P車歹'j(array)或——鏈結(jié)串歹'j(linklist)或其他不同形態(tài)的數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)。依據(jù)本發(fā)明的一實施例,該判別數(shù)據(jù)及連結(jié)數(shù)據(jù)可以儲存在存儲器180的第一存儲器181及第二存儲器182中。依據(jù)本發(fā)明的另一實施例,該判別數(shù)據(jù)及連結(jié)數(shù)據(jù)也可以儲存在存儲器180以外的其他存儲器,甚至是儲存在該磁碟陣列控制器的外的存儲器。所述存儲器也是一硬碟裝置(HardDiskDrive)或是當(dāng)電源關(guān)閉時還能保存數(shù)據(jù)一段時間的其他儲存媒體。上述硬碟裝置可包含一般具有馬達(dá)裝置的硬碟或是固態(tài);茲碟(solidstatedisk,SSD)。該判別數(shù)據(jù)也可以是M儲存于各個PSD當(dāng)中,例如各PSD的保留空間(reservedspace)中,甚至是儲存于各個數(shù)據(jù)區(qū)段中。在本發(fā)明下述的實施例中,主要是以變動數(shù)據(jù)區(qū)段表作為該判別數(shù)據(jù)的一實施例來說明本發(fā)明。其中,變動數(shù)據(jù)區(qū)段表是用來記錄變動數(shù)據(jù)區(qū)段的編號,以判別一PSD數(shù)據(jù)區(qū)段是否為變動數(shù)據(jù)區(qū)段。步驟320中,該控制器選定n個PSD離線(off-line),并執(zhí)行該n個PSD的控制程序更新。依據(jù)本發(fā)明的一實施例,當(dāng)該系統(tǒng)中無任何PSD發(fā)生毀損時,該(等)被選定更新控制程序的PSD數(shù)目n不大于同位PSD的數(shù)目m,其中,n與m的關(guān)系為1《n《m,m及n為正整數(shù)。依據(jù)本發(fā)明的另一實施例,若該系統(tǒng)中有f個PSD發(fā)生毀損時,則n的最大值只能被限制在m-f。其中,該n、f與m的關(guān)系為1<n《m-f,m、n及f均為正整數(shù)。步驟330中,該(等)PSD在更新控制程序期間,若控制器需對該(等)PSD發(fā)出一讀取/寫入請求時,該控制器的處理程序。當(dāng)控制器收到來自主機(jī)單元對實體儲存裝置的一或多個讀取/寫入請求,會由控制器發(fā)出相對應(yīng)的一或多個實體儲存裝置讀取/寫入請求。當(dāng)該(等)更新控制程序的PSD在更新控制程序期間,若該控制器需對該(等)PSD發(fā)出相對應(yīng)的一或多個PSD讀取/寫入請求時,該控制器并不會對該(等)更新控制程序的PSD發(fā)出讀取/寫入請求,但該控制器在此期間中對該(等)PSD的讀取/寫入請求的處理程序?qū)淖?。步驟340中,該(等)PSD在更新控制程序期間,若發(fā)生PSD毀損時,該控制器的處理程序。由于同位PSD數(shù)目及更新模式的不同,該儲存虛擬化22系統(tǒng)所能承受PSD發(fā)生毀損的數(shù)目也會不同,該控制器會根據(jù)當(dāng)時的情況執(zhí)行相對應(yīng)的程序。步驟320、330與340的步驟中,該3個步驟是以虛線框起并以Ml表示,該M1中的3個步驟在圖3中的流程圖中雖然有先后之別,但在實際執(zhí)行時,該Ml中的3個步驟可為同時執(zhí)行的。步驟350中,該(等)PSD完成控制程序的更新。當(dāng)執(zhí)行更新控制程序的PSD為兩個或兩個以上時,其中該每一PSD執(zhí)行控制程序更新的程序是獨(dú)立的,可為多個PSD同時執(zhí)^f亍或多個PSD在不同時間執(zhí)^f亍。步驟360中,該(等)PSD完成控制程序的更新后,該控制器對于該(等)PSD是否需執(zhí)行部分重建的判斷及該(等)PSD部分重建的執(zhí)行程序。若該(等)PSD更新控制程序期間,該控制器需要對該(等)PSD發(fā)出寫入請求以改變該(等)PSD上的數(shù)據(jù)時(例如因為該控制器收到一或多個來自主沖幾單元對該(等)PSD的寫入請求時),則必須在更新控制程序完成后在該(等)PSD上執(zhí)行部分重建程序。步驟370中,該(等)PSD執(zhí)行部分重建期間,若該控制器需要對該(等)PSD發(fā)出讀取/寫入請求時的處理程序。在該控制器執(zhí)行該(等)PSD的部分重建期間,若該控制器需要對該(等)PSD發(fā)出讀取/寫入請求時,會改變其讀取/寫入請求的處理程序,而該控制器并不一定會對該(等)更新控制程序的PSD發(fā)出讀取/寫入請求;在部分重建期間,該控制器對該(等)PSD上未變動數(shù)據(jù)區(qū)段可直接發(fā)出讀取或?qū)懭胝埱?,但對?等)PSD上變動數(shù)據(jù)區(qū)段則有不同的處理方式。步驟380中,該(等)PSD在部分重建期間若發(fā)生PSD毀損時,該控制器的處理程序。由于同位PSD的數(shù)目及更新模式的不同,該儲存虛擬化系統(tǒng)所能承受PSD發(fā)生毀損的數(shù)目也會不同,該控制器會根據(jù)當(dāng)時的情況執(zhí)行相對的程序。步驟360、370與380的步驟中,該3個步驟是以虛線框起并以M2表示,該M2中的3個步驟在流程圖中雖然有先后之別,但在實際執(zhí)行時,該M2中的3個步驟可為同時執(zhí)行的。步驟390中,是該控制器完成對該(等)PSD的部分重建程序。所述PSD部分重建的時間因所述PSD控制程序更新期間所需要對該(等)PSD發(fā)出寫入請求的數(shù)目的不同而有差異,先完成部分重建的PSD可以先恢復(fù)連線。步驟400中,該控制器將該(等)完成部分重建程序的PSD重新恢復(fù)連線,該(等)PSD更新控制程序流程結(jié)束于圖3的步驟410。若其他的PSD也需更新控制程序時,則重新回到步驟300。圖4是圖3中該控制器執(zhí)行PSD控制程序更新的程序,該P(yáng)SD控制程序更新程序開始于步驟420。步驟430中,該控制器150偵測該儲存虛擬化系統(tǒng)中同位PSD的數(shù)目m是否等于0。若是,則表示該系統(tǒng)中并無同位PSD,該控制器150在該(等)PSD更新控制程序期間,若控制器150需對該(等)PSD發(fā)出讀取請求時,無法將該(等)PSD的數(shù)據(jù)讀出,此時該控制器150將無法回應(yīng)主機(jī)單元的讀取請求。所以,故該儲存虛擬化系統(tǒng)連線(on-line)時無法在無同位PSD的情形下執(zhí)行該(等)PSD控制程序的更新,故經(jīng)步驟430判斷后,直接跳至步驟470中,結(jié)束本流程。若否,則該控制器150偵測該儲存虛擬化系統(tǒng)中具有m個(m》l)同位PSD,則執(zhí)行步驟440。步驟440中,該控制器150判斷PSD變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是否為一具有連結(jié)數(shù)據(jù)的狀態(tài)。若否,則該控制器150執(zhí)行執(zhí)行步驟450中的PSD控制程序更新模式A,其不在變動數(shù)據(jù)區(qū)段連結(jié)一寫入請求相對應(yīng)的寫入數(shù)據(jù)(即連結(jié)數(shù)據(jù));若是,則該控制器150執(zhí)行執(zhí)行步驟460中的PSD控制程序更新模式B,其是于變動數(shù)據(jù)區(qū)段連結(jié)一寫入請求相對應(yīng)的寫入數(shù)據(jù)(連結(jié)數(shù)據(jù))。依據(jù)本發(fā)明的一實施例,該P(yáng)SD控制程序更新模式A及該P(yáng)SD控制程序更新模式B的選定可根據(jù)當(dāng)時NVRAM中所剩余的存儲空間來決定。依據(jù)本發(fā)明的一實施例,所剩余的存儲空間較大者,可執(zhí)行PSD控制程序更新模式B,反之,則執(zhí)行PSD控制程序更新模式A。該控制器150執(zhí)行PSD控制程序更新的流程結(jié)束于圖4的步驟470。圖5至圖8是PSD控制程序更新模式A的詳細(xì)流程。該P(yáng)SD控制程序更新模式A開始于圖5中步驟500。步驟510中,控制器150選定實體儲存裝置陣列100中n個等待更新控制程序的PSD110,以執(zhí)行PSD的控制程序112的更新。依據(jù)本發(fā)明的一實施例,當(dāng)該系統(tǒng)中無任何PSD發(fā)生毀損時,該(等)被選定更新控制程序的PSD數(shù)目n不大于同位PSD的數(shù)目m,該n與m的關(guān)系為1《n《m。依據(jù)本發(fā)明的另一實施例,若該系統(tǒng)中有f個PSD發(fā)生毀損時,則n的最大值只能被限制在m-f。其中,該n、f與m的關(guān)系為1《n《m-f,m、n及f均為正整數(shù)。該n個PSD110的選定可由該儲存虛擬化系統(tǒng)管理人員決定,或由一程序來安排該n個PSD控制程序更新的執(zhí)行。若該儲存虛擬化系統(tǒng)中具有m個同位PSD,本發(fā)明最多可同時進(jìn)行m個PSD的控制程序更新,相較于只有一個同位PSD的儲存虛擬化系統(tǒng),該儲存虛擬化系統(tǒng)最多可以將更新PSD控制程序的時間減少為原來的m分之一,因而該儲存虛擬化系統(tǒng)整體的執(zhí)行效率可以明顯地提升;若該系統(tǒng)所擁有的同位PSD數(shù)目愈多,本發(fā)明的效益越明顯。在PSD控制程序更新模式A中,該控制器150是針對每一個被選定等待更新控制程序的PSD執(zhí)行一系列的程序,包含圖5至圖8中的步驟520至步驟650。每一個PSD是依照當(dāng)時的實際狀態(tài),分別執(zhí)4亍所述程序系列中各自的程序。亦即,每一個PSD所執(zhí)行的程序系列是相互獨(dú)立的,可以同時執(zhí)行(平行處理)或先后分別來執(zhí)行。步驟520中,該控制器150將該被選定等待更新控制程序112的PSD110設(shè)定為離線狀態(tài)。在本發(fā)明中,該離線狀態(tài)是指該P(yáng)SD110自開始執(zhí)行控制程序更新至部分重建完成并恢復(fù)連線前的一段時間。另外,當(dāng)該實體儲存裝置陣列100中任何的PSDIIO發(fā)生毀損時,該發(fā)生毀損的PSD110將無法受到該控制器150來管控,因而該發(fā)生毀損的PSD110也^f見為離線狀態(tài)。該實體儲存裝置陣列100的多個PSD110中,哪些PSD已經(jīng)完成控制程序的更新及該P(yáng)SD的連線/離線狀態(tài)等相關(guān)資訊可被記錄在控制器150中的非易失性存儲器178內(nèi)(例如鐵電存儲器,F(xiàn)RAM)、或是其他實體儲存裝置、或是不因電源中斷而消失所儲存的數(shù)據(jù)的其他儲存媒體內(nèi),以使得該P(yáng)SD的連線/離線記錄可以一直^皮保存。藉此,當(dāng)變動數(shù)據(jù)區(qū)段表因電池電力耗盡或毀損而遺失時,伺電源恢復(fù)后,該控制器150,能依此連線/離線記錄直接對該P(yáng)SD進(jìn)行全部的數(shù)據(jù)重建。步驟530中,該控制器150執(zhí)行該凈皮選定的PSD110控制程序112的更新。由于該儲存虛擬化系統(tǒng)中,可能同時包含一或多種不同傳輸介面的PSD,i口串歹'j先進(jìn)4支術(shù)接取'(serialadvancedtechnologyattached,SATA)、串列附接小型電腦系統(tǒng)介面(serialattachedSCSI,SAS)或光纖通道介面(fibrechannel,FC)等不同傳輸介面的PSD,故各種不同傳輸介面、廠牌的PSD有其相對應(yīng)的PSD控制程序。故該控制器150依照各PSD110的傳輸介面、廠牌與型號,選擇相對應(yīng)的控制程序碼(controlprogramcodes)并載入。此等控制程序碼112可通過主機(jī)單元IO,先將該控制程序碼載入(load)至控制器150中,再由控制器150將該控制程序碼寫入PSD110的NVRAM內(nèi)。該P(yáng)SD110控制程序更新的時間與該P(yáng)SD的特性而有差異,時間約為數(shù)十秒至數(shù)分鐘之間。上述步驟510、520及530等3個步驟,即圖3步驟320中的詳細(xì)流程。當(dāng)該控制器150收到來自主機(jī)單元10對該P(yáng)SD的寫入請求時,該控制器150會需要對該寫入請求的數(shù)據(jù)進(jìn)行運(yùn)算以產(chǎn)生新的同位數(shù)據(jù),來取代原先的同位數(shù)據(jù)。當(dāng)來自主機(jī)單元的寫入或讀取請求需針對該離線進(jìn)行控制程序更新的PSD110來存取數(shù)據(jù)時,則執(zhí)行圖6中步驟540。圖6為接續(xù)圖5的流程圖。步驟540中,該控制器150偵測該P(yáng)SD110在更新控制程序期間,該儲存虛擬化系統(tǒng)中是否有新發(fā)生PSD毀損的情況。若否,則執(zhí)行步驟550;若是,則執(zhí)行步驟541。在本發(fā)明中,當(dāng)發(fā)生PSD毀損的情況時,該控制器150會記錄該發(fā)生毀損的PSD。此處所指的新發(fā)生PSD毀損的情況是指有PSD毀損的情況發(fā)生,但該控制器150尚未記錄該發(fā)生毀損的PSD;若曾經(jīng)有PSD毀損的情況發(fā)生且該控制器150已經(jīng)記錄該發(fā)25生毀損的PSD時,則不視為有新發(fā)生PSD毀損的情況發(fā)生。步驟541中,該控制器150判斷發(fā)生毀損的PSD是否為該正在更新控制程序的PSD。若是,則跳至步驟650結(jié)束該P(yáng)SD控制程序更新模式A;若否,則執(zhí)行步驟542。在執(zhí)行步驟541判斷的同時,該發(fā)生毀損的PSD的相關(guān)數(shù)據(jù)將會被該控制器150記錄下來且若變動數(shù)據(jù)區(qū)段表內(nèi)記錄有該發(fā)生毀損PSD的變動數(shù)據(jù)區(qū)段編號時,則該控制器150會將該變動數(shù)據(jù)區(qū)賴滾內(nèi)該P(yáng)SD所有的數(shù)據(jù)區(qū)段編號刪除。步驟542中,該控制器150判斷該系統(tǒng)中PSD離線的總數(shù)是否超過同位PSD的數(shù)目m。若是,則執(zhí)行步驟544;若否,則執(zhí)行步驟540。依據(jù)本發(fā)明的實施例,若系統(tǒng)的同位PSD的數(shù)目為m個,且在控制程序更新模式A下,在更新PSD控制程序或執(zhí)行部分重建期間,系統(tǒng)允許該實體儲存裝置陣列100中PSD離線的總數(shù)為m個。該發(fā)生毀損的PSD包括正在更新控制程序且發(fā)生毀損的PSD、正在執(zhí)行部分重建且發(fā)生毀損的PSD、及因為其他原因而發(fā)生毀損的PSD。本發(fā)明中所謂離線的PSD除了發(fā)生毀損的PSD的外也包括正在更新控制程序的PSD及正在執(zhí)行部分重建的PSD。若發(fā)生PSD離線的總數(shù)超過m,正在執(zhí)行控制程序更新的該P(yáng)SD110上的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)無法通過與該變動數(shù)據(jù)區(qū)段編號相同的其他PSD上的數(shù)據(jù)區(qū)^a的數(shù)據(jù)來部分重建該變動數(shù)據(jù)區(qū)段的數(shù)據(jù),造成該儲存虛擬化系統(tǒng)發(fā)生部分?jǐn)?shù)據(jù)遺失,無法再繼續(xù)正常運(yùn)作;若PSD離線的總數(shù)不大于m,則系統(tǒng)可繼續(xù)運(yùn)作。步驟542中,依據(jù)本發(fā)明的一實施例,該發(fā)生毀損PSD的數(shù)目、離線執(zhí)行控制程序更新PSD的數(shù)目及離線執(zhí)行部分重建PSD的數(shù)目總和小于或等于該同位PSD的數(shù)目m時,該控制器150可繼續(xù)接收來自主機(jī)單元的10請求,該系統(tǒng)并不會遺失數(shù)據(jù),其他程序可繼續(xù)執(zhí)行,故直接跳回步驟540。依據(jù)本發(fā)明的另一實施例,該發(fā)生毀損PSD的數(shù)目、離線進(jìn)行控制程序更新PSD的數(shù)目及離線執(zhí)行部分重建PSD的數(shù)目總和等于該同位PSD的數(shù)目m,該系統(tǒng)在其可承受PSD發(fā)生毀損的臨界點(diǎn),該系統(tǒng)雖然不會發(fā)生數(shù)據(jù)遺失,但為了P爭低系統(tǒng)風(fēng)險,該控制器150會暫停接收來自主機(jī)單元的10請求,而在等到該P(yáng)SD執(zhí)行至步驟640完成后,才會恢復(fù)接收來自主機(jī)單元的IO請求及再接受執(zhí)行其他PSD控制程序的更新。上述步驟542中,若以一個具有2個同位PSD的RAID6的儲存虛擬化系統(tǒng)為例,當(dāng)該系統(tǒng)中1個PSD執(zhí)行控制程序的更新時,該系統(tǒng)還可承受l個其他PSD發(fā)生毀損,不會造成部分?jǐn)?shù)據(jù)遺失的情形;在更換新PSD后,該毀損PSD上原先的數(shù)據(jù)可利用同位運(yùn)算再重建(rebuild)回來。若該系統(tǒng)在已有1個PSD執(zhí)行控制程序的更新時,另有2個或2個以上的PSD發(fā)生毀損,則系統(tǒng)會產(chǎn)生部分?jǐn)?shù)據(jù)遺失的情形。步驟544中,因為有PSD發(fā)生毀損,而4吏得該儲存虛擬化系統(tǒng)中PSD的離線總數(shù)超出該儲存虛擬化系統(tǒng)所能承受PSD離線總數(shù)的最大上限,造成該儲存虛擬化系統(tǒng)部分?jǐn)?shù)據(jù)遺失,無法再繼續(xù)正常運(yùn)作,故依據(jù)本發(fā)明的一實施例,該控制器150停止接受來自主機(jī)單元10的IO請求,此時該正在執(zhí)行PSD更新控制程序程序的PSD可繼續(xù)執(zhí)行控制程序更新至更新完成且不必執(zhí)行部分重建程序。該控制器150會將該P(yáng)SD內(nèi)變動數(shù)據(jù)區(qū)段上的數(shù)據(jù),標(biāo)記為4晉誤數(shù)據(jù)(markedasbaddata);若變動數(shù)據(jù)區(qū)段表內(nèi)有記錄該P(yáng)SD的變動數(shù)據(jù)區(qū)l殳編號(modifieddatasegmentnumber)時,則該控制器150會將該變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD所有的數(shù)據(jù)區(qū)段編號刪除。步驟544執(zhí)行完畢后,即跳回步至驟540,經(jīng)過步驟540至步驟570的程序后,該P(yáng)SD110重新恢復(fù)連線(步驟640)并結(jié)束PSD控制程序更新模式A的程序(步驟650)。上述該P(yáng)SD內(nèi)的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)因發(fā)生毀損PSD的數(shù)據(jù)遺失,已經(jīng)無法通過部分重建恢復(fù)至一正確的數(shù)據(jù),該P(yáng)SD110中變動數(shù)據(jù)區(qū)l殳的數(shù)據(jù)并非正確的數(shù)據(jù),故依據(jù)本發(fā)明的一實施例,該控制器150將該P(yáng)SD110中變動數(shù)據(jù)區(qū)段的數(shù)據(jù),標(biāo)記為錯誤數(shù)據(jù),若以后再有欲對該P(yáng)SD標(biāo)記為錯誤數(shù)據(jù)的數(shù)據(jù)區(qū)段來存取數(shù)據(jù)時,該控制器150會對主機(jī)單元回應(yīng)此數(shù)據(jù)區(qū)段為錯誤數(shù)據(jù)。依據(jù)本發(fā)明的另一實施例,當(dāng)一數(shù)據(jù)區(qū)段被標(biāo)示為錯誤數(shù)據(jù)后,若該數(shù)據(jù)區(qū)段于其他外部的儲存虛擬化系統(tǒng)中還有另一備份數(shù)據(jù),則可由主機(jī)端讀取該M數(shù)據(jù)重新寫入而更正該錯誤數(shù)據(jù)。步驟550中,該控制器150判斷于該P(yáng)SDIIO控制程序更新完成前期間,是否需對該P(yáng)SD110發(fā)出讀取/寫入請求。若是,則執(zhí)行步驟552;若否,則執(zhí)行步驟560。步驟552中,該控制器150判斷需要對該P(yáng)SD110發(fā)出的讀取/寫入請求是否為一讀取請求。若是,則執(zhí)行步驟554;若否,則表示需要對該P(yáng)SD110發(fā)出的讀取/寫入請求是一寫入請求,則執(zhí)行步驟556。步驟554中,該控制器150需要對該P(yáng)SD110發(fā)出的讀取/寫入請求為一讀取請求,且該讀取請求所對應(yīng)的數(shù)據(jù)儲存于該正在執(zhí)行控制程序更新的PSD110其中的數(shù)據(jù)區(qū)段內(nèi),由于此時該P(yáng)SD110離線正在執(zhí)行控制程序的更新,無論該數(shù)據(jù)區(qū)段為未變動數(shù)據(jù)區(qū)段或變動數(shù)據(jù)區(qū)段,都無法自該P(yáng)SD110中讀取數(shù)據(jù),而其他非正在執(zhí)行更新控制程序及部分重建的PSD110則可正常讀取數(shù)據(jù)。該控制器150利用其他PSD上具有相同數(shù)據(jù)區(qū)段編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)(含同位數(shù)據(jù))執(zhí)行同位運(yùn)算來重新產(chǎn)生該P(yáng)SDllO上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)(此又稱利用冗余數(shù)據(jù)算出),并將運(yùn)算結(jié)果送出。步驟554執(zhí)行完畢后,便跳回至步驟540。步驟556中,該控制器150判斷該寫入請求對應(yīng)的該P(yáng)SD110上的數(shù)據(jù)區(qū)段是否為一變動數(shù)據(jù)區(qū)段。該變動數(shù)據(jù)區(qū)段的判斷檢查變動數(shù)據(jù)區(qū)段表內(nèi)是否有記錄該P(yáng)SD的該變動數(shù)據(jù)區(qū)段編號。若否,則執(zhí)行步驟558。若是,則代表其為一變動數(shù)據(jù)區(qū)段,表示該編號的數(shù)據(jù)區(qū)段內(nèi)的數(shù)據(jù)是一變動數(shù)據(jù),此時雖然無法直接將該數(shù)據(jù)區(qū)段相對應(yīng)的寫入數(shù)據(jù)寫入該數(shù)據(jù)區(qū)段內(nèi),但由于該數(shù)據(jù)區(qū)段的編號之前已經(jīng)被記錄于變動數(shù)據(jù)區(qū)段表內(nèi),故不需將該P(yáng)SD110的該數(shù)據(jù)區(qū)^:編號再記錄一次,而讓原有記錄維持不變,便直接跳回步驟540。步驟558中,因該寫入請求所對應(yīng)的該P(yáng)SD110的數(shù)據(jù)區(qū)段原是一未變動數(shù)據(jù)區(qū)段,故該控制器150將該寫入請求所對應(yīng)的該P(yáng)SD110的數(shù)據(jù)區(qū)段編號,記錄于變動數(shù)據(jù)區(qū)段表內(nèi),表示該P(yáng)SD110上該數(shù)據(jù)區(qū)段編號的數(shù)據(jù)需要被更新,目前的狀態(tài)下不可被讀出使用。步驟558執(zhí)行完畢后,便再度跳回步驟540中。步驟556及558中,該控制器150會對該寫入請求的數(shù)據(jù)進(jìn)4t運(yùn)算以產(chǎn)生新的同位數(shù)據(jù),來取代原先的同位數(shù)據(jù)。故當(dāng)一變動數(shù)據(jù)區(qū)段表中記錄有其中一數(shù)據(jù)區(qū)段編號時,表示該數(shù)據(jù)區(qū)段所對應(yīng)的同位數(shù)據(jù)區(qū)段已經(jīng)產(chǎn)生改變,由于該數(shù)據(jù)區(qū)段此時無法直接寫入,僅先做一記錄,伺該P(yáng)SD110執(zhí)行部分重建程序時,再依此記錄,重建該數(shù)據(jù)區(qū)段的數(shù)據(jù)。步驟560中,該控制器150判斷該P(yáng)SD110是否完成控制程序的更新。若是,則執(zhí)行步驟570;若否,則跳回執(zhí)行步驟540。在該P(yáng)SD110更新控制程序期間,該控制器150會在步驟540至步驟560間反復(fù)執(zhí)行,直到該P(yáng)SDIIO完成控制程序的更新。當(dāng)該P(yáng)SDIIO在控制程序更新期間,若該控制器150需要對該P(yáng)SD110發(fā)出寫入請求時,則表示該P(yáng)SD110中部分?jǐn)?shù)據(jù)區(qū)段需要被更改,所述數(shù)據(jù)區(qū)段內(nèi)儲存不正確的數(shù)據(jù)(變動數(shù)據(jù)),故需對該需要被更改的數(shù)據(jù)區(qū)段執(zhí)行部分重建,以恢復(fù)成正確的數(shù)據(jù)。該P(yáng)SD110的部分重建時機(jī),等待該P(yáng)SD110完成控制程序的更新之后。步驟570中,該控制器150判斷變動數(shù)據(jù)區(qū)段表內(nèi)是否有記錄著該P(yáng)SD110的任何數(shù)據(jù)區(qū)段編號。若否,則表示該P(yáng)SD110在執(zhí)行控制程序更新期間,該控制器150并不需要對該P(yáng)SD110發(fā)出寫入請求,故變動數(shù)據(jù)區(qū)段表內(nèi)并未記錄該P(yáng)SD110的任何數(shù)據(jù)區(qū)段編號,則執(zhí)行圖8中步驟640;若是,則表示該P(yáng)SD110在執(zhí)行控制程序更新期間,該控制器150需要對該P(yáng)SD110發(fā)出寫入請求,該P(yáng)SD110上的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)需要被更新,故需對變動數(shù)據(jù)區(qū)段表內(nèi)有該P(yáng)SD110數(shù)據(jù)區(qū)段編號記錄的變動數(shù)據(jù)區(qū)段執(zhí)行部分重建,則執(zhí)行圖7中步驟580。在該P(yáng)SD110已完成控制程序的更薪后、尚未完成其部分重建前,此時該P(yáng)SD110雖尚未恢復(fù)連線,但該控制器150對于該P(yáng)SD中的未變動數(shù)28據(jù)區(qū)段,仍可直接發(fā)出讀取或?qū)懭胝埱?,以?zhí)行對該P(yáng)SD110的讀取或?qū)懭氤绦?,故可增進(jìn)系統(tǒng)的效能。當(dāng)來自主機(jī)單元的寫入或讀取請求需針對該離線進(jìn)行部分重建程序的PSD110來存取數(shù)據(jù)時,則執(zhí)行圖7中步驟580。圖7為接續(xù)圖6的流程圖。步驟580中,該控制器150偵測該P(yáng)SD110在執(zhí)行部分重建期間,該儲存虛擬化系統(tǒng)中是否有新發(fā)生PSD毀損的情況。若否,則執(zhí)行步驟590;若是,則執(zhí)行步驟581。步驟581中,該控制器150判斷發(fā)生PSD毀損的PSD是否為該正在執(zhí)行部分重建的PSD。若是,則跳至步驟650結(jié)束該P(yáng)SD控制程序更新模式A;若否,則執(zhí)行步驟582。在執(zhí)行步驟581判斷的同時,該發(fā)生PSD毀損的PSD的相關(guān)數(shù)據(jù)將會凈皮該控制器150記錄下來且若變動數(shù)據(jù)區(qū)段表內(nèi)記錄有該發(fā)生毀損PSD的變動數(shù)據(jù)區(qū)^:編號時,則該控制器150會將該變動數(shù)據(jù)區(qū)段表內(nèi)的該P(yáng)SD所有的數(shù)據(jù)區(qū)段編號刪除。步驟582中,該控制器150判斷該系統(tǒng)中PSD離線的總數(shù)是否超過同位PSD的數(shù)目m。若是,則執(zhí)行步驟584;若否,則執(zhí)行步驟580。依據(jù)本發(fā)明的一實施例,若該發(fā)生毀損PSD的數(shù)目、離線執(zhí)行控制程序更新PSD的數(shù)目及離線執(zhí)行部分重建PSD的數(shù)目總和小于或等于該同位PSD的數(shù)目m時,該控制器150可繼續(xù)接收來自主機(jī)單元的10請求,故直接跳回步驟580。依據(jù)本發(fā)明的另一實施例,若該發(fā)生毀損PSD的數(shù)目、離線執(zhí)行控制程序更新PSD的數(shù)目及離線執(zhí)行部分重建PSD的數(shù)目總和等于該同位PSD的數(shù)目m,該系統(tǒng)在其可承受PSD發(fā)生毀損的臨界點(diǎn),該系統(tǒng)雖然不會發(fā)生數(shù)據(jù)遺失,但為了降低系統(tǒng)風(fēng)險,該控制器150會暫停接收來自主機(jī)單元的IO請求,而在等到該P(yáng)SD執(zhí)行至步驟640完成后,才會恢復(fù)接收來自主機(jī)單元的10請求及再接受執(zhí)行其他PSD控制程序的更新。上述步驟582中,若以一個具有2個同位PSD的RAID6的儲存虛擬化系統(tǒng)為例,當(dāng)該系統(tǒng)中1個PSD執(zhí)行部分重建時,該系統(tǒng)還可承受另l個PSD發(fā)生毀損或執(zhí)行部分重建,不會造成部分?jǐn)?shù)據(jù)遺失的情形。若該系統(tǒng)在已有1個PSD執(zhí)行部分重建時,另有2個或2個以上的PSD發(fā)生毀損,則系統(tǒng)會產(chǎn)生部分?jǐn)?shù)據(jù)遺失的情形。若該系統(tǒng)在已有1個PSD執(zhí)行部分重建時,另有1個PSD執(zhí)行控制程序的更新時,又若另有1個PSD發(fā)生毀損,則系統(tǒng)會產(chǎn)生部分?jǐn)?shù)據(jù)遺失的情形。步驟584中,因為有PSD發(fā)生毀損,而使得該儲存虛擬化系統(tǒng)中PSD的離線總數(shù)已經(jīng)超出該儲存虛擬化系統(tǒng)所能承受PSD離線總數(shù)的最大上限,造成該儲存虛擬化系統(tǒng)部分?jǐn)?shù)據(jù)遺失,無法再繼續(xù)正常運(yùn)作,故依據(jù)本發(fā)明的一實施例,該控制器150停止接受來自主機(jī)單元10的IO請求,此時該正在執(zhí)行PSD部分重建程序的PSD僅需將該P(yáng)SD目前正在執(zhí)行的變動數(shù)據(jù)區(qū)段執(zhí)行完畢,其他的變動數(shù)據(jù)區(qū)段則不必執(zhí)行部分重建程序。該控制器150會將該P(yáng)SD內(nèi)變動數(shù)據(jù)區(qū)段上的數(shù)據(jù),標(biāo)記為錯誤數(shù)據(jù);若變動數(shù)據(jù)區(qū)段表內(nèi)有記錄該P(yáng)SD的變動數(shù)據(jù)區(qū)段編號時,則會將該變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD所有的數(shù)據(jù)區(qū)段編號刪除。依據(jù)本發(fā)明的另一實施例,當(dāng)一數(shù)據(jù)區(qū)段被標(biāo)示為錯誤數(shù)據(jù)后,若該數(shù)據(jù)區(qū)段于其他外部的儲存虛擬化系統(tǒng)中還有另一備份數(shù)據(jù),則可由主機(jī)端讀取該M數(shù)據(jù)重新寫入而更正該4普誤數(shù)據(jù)。步驟584執(zhí)行完畢后,即跳回至步驟580,經(jīng)過步驟580至步驟620的程序后,該P(yáng)SD11Q重新恢復(fù)連線(步驟640)并結(jié)束PSD控制程序更新模式A的程序(步驟650)。步驟590中,該控制器150判斷于該P(yáng)SD110部分重建完成前期間,是否需對該P(yáng)SD110發(fā)出讀取/寫入請求。若是,則執(zhí)行步驟592;若否,則執(zhí)行步驟610。步驟592中,該控制器150判斷需要對該P(yáng)SD110發(fā)出的讀取/寫入請求所對應(yīng)的數(shù)據(jù)區(qū)段是否為一變動數(shù)據(jù)區(qū)段。若否,則執(zhí)行步驟594;若是,則執(zhí)行步驟596。步驟594中,表示變動數(shù)據(jù)區(qū)段表內(nèi)并無記錄該P(yáng)SDIIO的數(shù)據(jù)區(qū)段編號,代表該P(yáng)SDIIO上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)在該P(yáng)SDIIO更新控制程序期間不需要被更改,或是該編號的數(shù)據(jù)區(qū)段已經(jīng)完成部分重建程序;亦即,該編號的數(shù)據(jù)區(qū)段是一未變動數(shù)據(jù)區(qū)段,所以該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段可被直接讀取或?qū)懭?,故該控制?50可直接對該P(yáng)SD110發(fā)出讀取/寫入請求,以將該讀取或?qū)懭胝埱笙鄬?yīng)于該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)直接讀取或?qū)懭?。在?zhí)行該P(yáng)SD110的部分重建程序時,該控制器150對于未變動數(shù)據(jù)區(qū)^a不必等到該P(yáng)SD110恢復(fù)連線即可對該P(yáng)SD110上的未變動數(shù)據(jù)區(qū)段發(fā)出讀取或?qū)懭胝埱?,以直接?zhí)行對該P(yáng)SD110讀取或?qū)懭氤绦颍士稍鲞M(jìn)該系統(tǒng)的效能。步驟594執(zhí)行完畢后,即跳回步驟580。步驟596中,該控制器150判斷需要對該P(yáng)SD110發(fā)出的讀取/寫入請求是否為一讀取請求。若是,則執(zhí)行步驟600;若否,則表示需要對該P(yáng)SD110發(fā)出的讀取/寫入請求是一寫入請求,執(zhí)行步驟598。步驟598中,該控制器150需要對該P(yáng)SD110發(fā)出的讀取/寫入請求為一寫入請求,且該寫入請求所對應(yīng)的該P(yáng)SD110上的數(shù)據(jù)區(qū)段是一變動數(shù)據(jù)區(qū)段,依據(jù)本發(fā)明的第一實施例,由于該P(yáng)SD110上的該數(shù)據(jù)區(qū)段的編號已經(jīng)被記錄于變動數(shù)據(jù)區(qū)段表內(nèi),故不需將該P(yáng)SD110的該數(shù)據(jù)區(qū)段編號再記錄一次,所以可直接跳至步驟580。步驟598中,依據(jù)本發(fā)明的第二實施例,該控制器150利用該寫入請求所對應(yīng)的該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段的寫入數(shù)據(jù)而將該P(yáng)SD110上該變動數(shù)據(jù)區(qū)段內(nèi)原先的數(shù)據(jù)直接寫覆,并將變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD的該數(shù)據(jù)區(qū)段編號刪除,如此可節(jié)省對該編號數(shù)據(jù)區(qū)段的部分重建時間。步驟598執(zhí)行完畢后,跳回至步驟580。步驟600中,該控制器150需要對該P(yáng)SD110發(fā)出的讀取/寫入請求為一讀取請求,且該讀取請求所對應(yīng)的數(shù)據(jù)儲存于該正在執(zhí)行部分重建的PSD110的變動數(shù)據(jù)區(qū)段內(nèi),由于該P(yáng)SD110上的該變動數(shù)據(jù)區(qū)段的數(shù)據(jù)不正確而需要被更新且尚未完成該變動數(shù)據(jù)區(qū)段的部分重建程序,故該變動數(shù)據(jù)區(qū)段不可被直接讀取,而其他并非正在執(zhí)行部分重建及更新控制程序的PSD110則可正常讀取。該控制器150是利用其他PSD上具有相同數(shù)據(jù)區(qū)段編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)(含同位數(shù)據(jù))執(zhí)行同位運(yùn)算來重新產(chǎn)生該P(yáng)SDIIO上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù),并將運(yùn)算結(jié)果送出。步驟600執(zhí)行完畢后,便跳回至步驟580中。步驟610中,該控制器150判斷該P(yáng)SD110上該正在執(zhí)行部分重建的數(shù)據(jù)區(qū)段是否重建完成。若是,則執(zhí)行步驟620;若否,則跳回執(zhí)行步驟580。由于該控制器150在該P(yáng)SD110更新控制程序期間,可能需要對該P(yáng)SD110上的多個數(shù)據(jù)區(qū)段發(fā)出寫入請求,造成該P(yáng)SD110上的多個數(shù)據(jù)區(qū)段為變動數(shù)據(jù)區(qū)段,而該P(yáng)SD110上所有的變動數(shù)據(jù)區(qū)段都需執(zhí)行部分重建程序。步驟620中,該控制器150判斷該P(yáng)SD110上所有的變動數(shù)據(jù)區(qū)段是否均已完成部分重建,即判斷該變動數(shù)據(jù)區(qū)段表內(nèi)是否已無該P(yáng)SD110的任何數(shù)據(jù)區(qū)段編號記錄。若是,則執(zhí)行圖8中的步驟640;若否,則執(zhí)行步驟630。步驟630中,該控制器150根據(jù)變動數(shù)據(jù)區(qū)段表內(nèi)的編號記錄執(zhí)行該P(yáng)SD110的部分重建程序,以重建該P(yáng)SD110上變動數(shù)據(jù)區(qū)段的數(shù)據(jù)。在執(zhí)行部分重建時,該控制器150會根據(jù)變動數(shù)據(jù)區(qū)段表內(nèi)的記錄,先選擇該P(yáng)SDIIO上的一數(shù)據(jù)區(qū)段編號,再利用其他PSD上具有相同編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)(含同位數(shù)據(jù)),執(zhí)行同位運(yùn)算來重新產(chǎn)生該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù),并將重新產(chǎn)生的數(shù)據(jù)寫回該P(yáng)SD上該編號的數(shù)據(jù)區(qū)段內(nèi),最后該控制器150再將變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD110的該數(shù)據(jù)區(qū)段編號刪除,完成該P(yáng)SD110上一個變動數(shù)據(jù)區(qū)段的部分重建程序。在該P(yáng)SD110部分重建的期間,該控制器150會在步驟580至步驟630間重復(fù)執(zhí)行,直到變動數(shù)據(jù)區(qū)段表中該P(yáng)SD110所有的數(shù)據(jù)區(qū)段編號皆被刪除為止。圖8步驟640中,該控制器150將該P(yáng)SD110重新設(shè)定為連線(on-line)狀態(tài),再度進(jìn)入正常工作模式。當(dāng)然,該控制器150恢復(fù)成正常地對該P(yáng)SD110發(fā)出讀取/寫入請求,同時并將該P(yáng)SD110的連/離線記錄由離線狀態(tài)更改為連線狀態(tài)。步驟640執(zhí)行完畢后,則進(jìn)入步驟650結(jié)束PSD的控制程序更新模式A。若還有其他的PSD110需更新控制程序,則重新執(zhí)行步驟500。圖9至圖12是PSD控制程序更新模式B的詳細(xì)流程。該P(yáng)SD控制程序更新模式B開始于圖9中步驟700。步驟710中,控制器150選定實體儲存裝置陣列100中n個等待更新控制程序的PSD110,以執(zhí)行PSD110的控制程序112的更新。依據(jù)本發(fā)明的一實施例,當(dāng)該系統(tǒng)中無任何PSD發(fā)生毀損時,該(等)被選定更新控制程序的PSD數(shù)目n不大于同位PSD的數(shù)目m,該n與m的關(guān)系為1《n《m。依據(jù)本發(fā)明的另一實施例,若該系統(tǒng)中有f個PSD發(fā)生毀損時,則n的最大值只能被限制在m-f。其中,該n、f與m的關(guān)系為1《n《m-f,m、n及f均為正整數(shù)。在PSD控制程序更新模式B中,該控制器150是針對每一個被選定等待更新控制程序的PSD執(zhí)行一系列的程序,該流程組包含圖9至圖12中的步驟720至步驟850。每一個PSD依照當(dāng)時的實際狀態(tài),分別執(zhí)行所述程序系列中各自的程序。亦即,每一個PSD所執(zhí)行的程序系列是相互獨(dú)立的,可以同時執(zhí)行(平行處理)或先后分別來執(zhí)行。步驟720中,該控制器150將該;故選定等4寺更新控制程序112的PSD110設(shè)定為離線狀態(tài)。本步驟內(nèi)容請參考步驟520的相關(guān)說明。步驟730中,該控制器150執(zhí)行該被選定的PSD110控制程序PSD112的更新。本步驟內(nèi)容請參考步驟530的相關(guān)說明。上述步驟710、720及730等3個步驟,即圖3步驟320中的詳細(xì)流程。當(dāng)該控制器150收到來自主機(jī)單元10對該P(yáng)SD的寫入請求時,該控制器150會需要對該寫入請求的數(shù)據(jù)進(jìn)行運(yùn)算以產(chǎn)生新的同位數(shù)據(jù),來取代原先的同位數(shù)據(jù)。當(dāng)來自主機(jī)單元的寫入或讀取請求需針對該離線進(jìn)行控制程序更新的PSDIIO來存取數(shù)據(jù)時,則執(zhí)行圖10中步驟740。圖10為接續(xù)圖9的流程圖。步驟740中,該控制器150偵測該P(yáng)SD110在更新控制程序期間,該儲存虛擬化系統(tǒng)中是否有新發(fā)生PSD毀損的情況。若否,則執(zhí)行步驟750;若是,則執(zhí)行步驟741。關(guān)于新發(fā)生PSD毀損的情況,請參考步驟540的相關(guān)說明。步驟741中,該控制器150判斷發(fā)生PSD毀損的PSD是否為正在更新控制程序的該P(yáng)SD。若是,則執(zhí)行步驟850結(jié)束該P(yáng)SD控制程序更新沖莫式B;若否,則執(zhí)行步驟742。在執(zhí)行步驟741判斷的同時,該發(fā)生PSD毀損的PSD的相關(guān)數(shù)據(jù)將會被該控制器150記錄下來且若變動數(shù)據(jù)區(qū)段表內(nèi)記錄有該發(fā)生毀損PSD的變動數(shù)據(jù)區(qū)段編號時,則該控制器150會將該變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD所有的數(shù)據(jù)區(qū)段編號刪除。步驟742中,該控制器150判斷該系統(tǒng)中PSD毀損的總數(shù)是否超過同位PSD的數(shù)目m。若是,則執(zhí)行步驟744;若否,則執(zhí)行步驟740。依據(jù)本發(fā)明的實施例,若系統(tǒng)的同位PSD的數(shù)目為m個,且在控制程序更新模式B下,在更新PSD控制程序或執(zhí)行部分重建期間,系統(tǒng)允許該實體儲存裝置陣列100中PSD毀損的總數(shù)為m個,而并非離線的總數(shù)為m個,其原因在于若當(dāng)控制器150需要對該P(yáng)SD110發(fā)出寫入請求時,除了在變動數(shù)據(jù)區(qū)段表內(nèi)記錄該寫入請求相對應(yīng)該P(yáng)SD110的數(shù)據(jù)區(qū)段編號之外,同時需在第二存儲器182內(nèi)儲存該寫入請求相對應(yīng)該P(yáng)SD110的寫入數(shù)據(jù),其中該變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD的數(shù)據(jù)區(qū)段編號連結(jié)儲存于第二存儲器182中的寫入數(shù)據(jù)(連結(jié)數(shù)據(jù))。此時該P(yáng)SD110雖然為離線狀態(tài),但由于該變動數(shù)據(jù)區(qū)段具有連結(jié)數(shù)據(jù),在更新PSD控制程序期間,若該控制器150需對該P(yáng)SD110中變動數(shù)據(jù)區(qū)段發(fā)出讀取請求時,則不需通過重新產(chǎn)生讀取數(shù)據(jù)來讀取,可藉由讀取該變動數(shù)據(jù)區(qū)段的連結(jié)數(shù)據(jù)來完成;若該控制器150需對該P(yáng)SD110中變動數(shù)據(jù)區(qū)段發(fā)出寫入請求時,則利用該寫入請求對應(yīng)于該變動數(shù)據(jù)區(qū)段的寫入數(shù)據(jù),將該變動數(shù)據(jù)區(qū)段原先所連結(jié)的連結(jié)數(shù)據(jù)直接寫覆。故PSD控制程序更新模式B較PSD控制程序更新模式A具有更大的容錯能力。若發(fā)生PSD毀損的總數(shù)超過m時,造成該儲存虛擬化系統(tǒng)發(fā)生部分?jǐn)?shù)據(jù)遺失,無法再繼續(xù)正常運(yùn)作;若PSD毀損的總數(shù)不大于m,則系統(tǒng)可繼續(xù)運(yùn)作。步驟742中,依據(jù)本發(fā)明的一實施例,若發(fā)生毀損的PSD數(shù)目總和小于或等于該同位PSD的數(shù)目m時,該控制器150可繼續(xù)接收來自主機(jī)單元的IO請求,該系統(tǒng)并不會遺失數(shù)據(jù),其他程序可繼續(xù)進(jìn)行,故直接跳回步驟740。步驟742中,依據(jù)本發(fā)明的另一實施例,若該發(fā)生毀損的PSD的數(shù)目總和等于該同位PSD的數(shù)目m,該系統(tǒng)在其可承受PSD發(fā)生毀損的臨界點(diǎn),該系統(tǒng)雖然不會發(fā)生數(shù)據(jù)遺失,但為了降低系統(tǒng)風(fēng)險,該控制器150會暫停接收來自主機(jī)單元的10請求,而在等到該P(yáng)SD執(zhí)行至步驟840完成后,才會恢復(fù)接收來自主機(jī)單元的10請求及再接受執(zhí)行其他PSD控制程序的更新。上述步驟742中,若以一個具有2個同位PSD的RAID6的儲存虛擬化系統(tǒng)為例,當(dāng)該系統(tǒng)在執(zhí)行控制程序的更新時,該系統(tǒng)還可承受另外2個PSD發(fā)生毀損,不會造成部分?jǐn)?shù)據(jù)遺失的情形;在更換新PSD后,該毀損PSD原先的數(shù)據(jù)可再重建(rebuild)回來。若該系統(tǒng)有中3個或3個以上的PSD發(fā)生毀損時,則系統(tǒng)會產(chǎn)生部分?jǐn)?shù)據(jù)遺失的情形。步驟744中,因為有PSD發(fā)生毀損,而使得該儲存虛擬化系統(tǒng)中PSD的毀損總數(shù)超出該儲存虛擬化系統(tǒng)所能承受PSD毀損總數(shù)的最大上限,造成該儲存虛擬化系統(tǒng)部分?jǐn)?shù)據(jù)遺失,無法再繼續(xù)正常運(yùn)作,故依據(jù)本發(fā)明的實施例,該控制器150停止接受來自主機(jī)單元10的10請求,此時該正在執(zhí)行控制程序更新程序的PSD可以繼續(xù)執(zhí)行控制程序更新至其更新完成,同時也可以執(zhí)行部分重建至其完成。由于該P(yáng)SD的變動數(shù)據(jù)區(qū)段有連結(jié)數(shù)據(jù),當(dāng)該P(yáng)SD執(zhí)行部分重建程序時,可以復(fù)制該連結(jié)數(shù)據(jù)至相對的變動數(shù)據(jù)區(qū)段上,以執(zhí)行該P(yáng)SD的該變動數(shù)據(jù)區(qū)段的部分重建程序。此外,因為該P(yáng)SD的變動數(shù)據(jù)區(qū)段可以被部分重建,所以該控制器150不會將該P(yáng)SD的變動數(shù)據(jù)區(qū)段標(biāo)示為錯誤數(shù)據(jù);若變動數(shù)據(jù)區(qū)段表內(nèi)有記錄該P(yáng)SD的變動數(shù)據(jù)區(qū)段編號時,該控制器150此時不會將該變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD所有的數(shù)據(jù)區(qū)段編號刪除。必須注意的是雖然該P(yáng)SD可以繼續(xù)執(zhí)行控制程序更新與部分重建,但此時系統(tǒng)已經(jīng)發(fā)生數(shù)據(jù)毀損,在該控制器150使該P(yáng)SD重新恢復(fù)連線后,該系統(tǒng)不會立即再接受其他PSD更新控制程序。步驟744執(zhí)行完后,便跳回至步驟740,經(jīng)過步驟740至步驟830的判斷及/或執(zhí)行后,該P(yáng)SD110重新恢復(fù)連線(步驟840)并結(jié)束該P(yáng)SD控制程序更新模式B的程序(步驟850)。步驟750中,該控制器150判斷于該P(yáng)SD110控制程序更新完成前期間,是否需對該P(yáng)SD110發(fā)出讀取/寫入請求。若是,則執(zhí)行步驟751;若否,則執(zhí)行步驟760。步驟751中,該控制器150判斷需要對該P(yáng)SD110發(fā)出的讀取/寫入請求是否為一讀取請求。若是,則執(zhí)行步驟752;若否,則表示需要對該P(yáng)SD110發(fā)出的讀取/寫入請求是一寫入請求,則執(zhí)行步驟756。步驟752中,該控制器150判斷所有正在更新控制程序的PSD及發(fā)生毀損的PSD的總數(shù)是否大于m。若是時,該控制器150若收到主機(jī)單元對該正在更新控制程序的PSD的未變動數(shù)據(jù)區(qū)^R的讀取請求時,并無法重新產(chǎn)生該未變動數(shù)據(jù)區(qū)段的讀取數(shù)據(jù),也無法立即回應(yīng)主機(jī)單元,故執(zhí)行步驟753B;若否,則執(zhí)行步驟753A。步驟753A中,該控制器150判斷該讀取請求相對應(yīng)于該P(yáng)SD的數(shù)據(jù)區(qū)段是否為一變動數(shù)據(jù)區(qū)革爻,若是,則執(zhí)行步驟755A;若否,則執(zhí)行步驟754A。步驟754A中,該控制器150需要對該P(yáng)SD110發(fā)出的讀取/寫入請求為一讀取請求,且該讀取請求所對應(yīng)的數(shù)據(jù)儲存于該正在執(zhí)行控制程序更新的PSD110的未變動數(shù)據(jù)區(qū)^殳內(nèi),由于此時該P(yáng)SD110離線正在執(zhí)行控制程序的更新,無法直接自該P(yáng)SD110中讀取數(shù)據(jù),而其他并非正在執(zhí)行控制程序更新的PSD110及其他正在執(zhí)行部分重建的PSD110則可正常讀取數(shù)據(jù)。該控制器150利用其他PSD上具有相同數(shù)據(jù)區(qū)段編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)(含同位數(shù)據(jù))執(zhí)行同位運(yùn)算來重新產(chǎn)生該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù),并將運(yùn)算結(jié)果送出。步驟754A執(zhí)行完畢后,便跳回至步驟740。步驟755A中,該控制器150需要對該P(yáng)SD110發(fā)出的讀取/寫入請求為一讀取請求,且該讀取請求所對應(yīng)的數(shù)據(jù)是儲存于該正在執(zhí)行控制程序更新的PSD110的變動數(shù)據(jù)區(qū)段內(nèi),該控制器150將變動數(shù)據(jù)區(qū)段所連結(jié)的連結(jié)數(shù)據(jù)直接送出。步驟755A執(zhí)行完畢后,便跳回至步驟740。步驟753B中,該控制器150判斷該讀取請求相對應(yīng)于該P(yáng)SD110的數(shù)據(jù)區(qū)段是否為一變動數(shù)據(jù)區(qū)段,若是,則執(zhí)行步驟755A;若否,則執(zhí)行步驟757。步驟757中,該控制器150先暫?;貞?yīng)主機(jī)單元該讀取請求,直到該正在更新控制程序的PSD110更新完成。在所有正在更新控制程序的PSD及發(fā)生毀損的PSD的總數(shù)大于m的情況下,對于該正在更新控制程序的PSD110而言,此時若該控制器150收到主機(jī)單元對該P(yáng)SD110的未變動數(shù)據(jù)區(qū)段的讀取請求時,該控制器150無法通過其他PSD上具有相同數(shù)據(jù)區(qū)段編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)(含同位數(shù)據(jù))來重新產(chǎn)生該未變動數(shù)據(jù)區(qū)段上的數(shù)據(jù),故該控制器150會先暫?;貞?yīng)主才幾單元該讀取請求,直到該P(yáng)SD110更新控制程序完成為止。步驟757執(zhí)行完畢,則執(zhí)行步驟754B。步驟754B中,該控制器150將該讀取請求所對應(yīng)該P(yáng)SD110的數(shù)據(jù)區(qū)段內(nèi)的數(shù)據(jù)直接送出。由于此時已經(jīng)完成控制程序更新,且該讀取請求所對應(yīng)該P(yáng)SD110的數(shù)據(jù)區(qū)段為未變動數(shù)據(jù)區(qū)段,故該控制器150可以將該P(yáng)SD110的該數(shù)據(jù)區(qū)段內(nèi)的數(shù)據(jù)直接送出。步驟754B執(zhí)行完畢后,便跳至步驟770。上述步驟754B中,由于該P(yáng)SD110已經(jīng)完成控制程序更新,故不再跳回步驟740的判斷程序中。當(dāng)該P(yáng)SD110未完成控制程序更新時,會在步驟740至步驟760間反復(fù)執(zhí)行,直到該P(yáng)SD110完成控制程序的更新。步驟756中,該控制器150判斷該寫入請求所對應(yīng)該P(yáng)SD110上的數(shù)據(jù)區(qū)段是否為一變動數(shù)據(jù)區(qū)段。若是,則執(zhí)行步驟759;若否,則執(zhí)行步驟758。步驟758中,該寫入請求所對應(yīng)的該P(yáng)SD110的數(shù)據(jù)區(qū),殳是一未變動數(shù)據(jù)區(qū)段。該控制器150將該寫入請求所對應(yīng)的該P(yáng)SD110的數(shù)據(jù)區(qū)段編號,記錄于變動數(shù)據(jù)區(qū)段表內(nèi),表示該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)需要#1更改,目前的狀態(tài)下不可被讀出使用;該控制器150除了在變動數(shù)據(jù)區(qū)段表內(nèi)記錄該P(yáng)SD110的數(shù)據(jù)區(qū)段編號之外,同時并在第二存儲器182中儲存該寫入請求所對應(yīng)的該P(yáng)SDIIO上該編號數(shù)據(jù)區(qū)段的寫入數(shù)據(jù)。步驟758執(zhí)行完畢后,便再度跳回步驟740中。步驟759中,該寫入請求所對應(yīng)的該P(yáng)SD110的數(shù)據(jù)區(qū)段是一變動數(shù)據(jù)區(qū)段。由于該數(shù)據(jù)區(qū)段編號已經(jīng)被記錄于變動數(shù)據(jù)區(qū)段表內(nèi),故不需將該P(yáng)SD110的該數(shù)據(jù)區(qū)段編號再記錄一次,但該數(shù)據(jù)區(qū)段編號原先所連結(jié)的連結(jié)數(shù)據(jù)則需以該寫入請求所對應(yīng)該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段的寫入數(shù)據(jù)寫覆。步驟759執(zhí)行完畢,便跳至步驟740。步驟758及759中,當(dāng)一變動數(shù)據(jù)區(qū)段表中記錄有其中一數(shù)據(jù)區(qū)段編35號,則在執(zhí)行部分重建程序時,會依此記錄重建該數(shù)據(jù)區(qū)段的數(shù)據(jù)。步驟760中,該控制器150判斷該P(yáng)SDIIO是否完成控制程序的更新。若是,則執(zhí)行步驟770;若否,則跳回執(zhí)行步驟740。在該P(yáng)SD110更新控制程序的期間,該控制器150會在步驟740至步驟760間反復(fù)執(zhí)行,直到該P(yáng)SDIIO完成控制程序的更新。步驟770中,該控制器150判斷變動數(shù)據(jù)區(qū)段表內(nèi)是否有記錄著該P(yáng)SD110的任何數(shù)據(jù)區(qū)段編號。若否,則表示該P(yáng)SD110在執(zhí)行控制程序更新期間,該控制器150并不需要對該P(yáng)SDIIO發(fā)出寫入請求,故變動數(shù)據(jù)區(qū)段表內(nèi)并未記錄該P(yáng)SD110的任何數(shù)據(jù)區(qū)段編號,則執(zhí)行圖12中步驟840;若是,則表示該P(yáng)SD110在執(zhí)行控制程序更新期間,該控制器150需要對該P(yáng)SDIIO發(fā)出寫入請求,該P(yáng)SD110上的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)需要被更新,故需對變動數(shù)據(jù)區(qū)段表內(nèi)有該P(yáng)SD110數(shù)據(jù)區(qū)段編號記錄的變動數(shù)據(jù)區(qū)段執(zhí)行部分重建,則執(zhí)行圖11中步驟780。在該P(yáng)SD110已完成控制程序的更新后,尚未完成部分重建前,此時該P(yáng)SD110雖尚未恢復(fù)連線,但該控制器150對于該P(yáng)SD中的未變動數(shù)據(jù)區(qū)段,仍可直接發(fā)出讀取或?qū)懭胝埱?,以?zhí)行對該P(yáng)SD110的該讀取或?qū)懭氤绦颍士稍鲞M(jìn)系統(tǒng)的效能。當(dāng)來自主機(jī)單元的寫入或讀取請求需針對該離線進(jìn)行部分重建程序的PSDIIO來存取數(shù)據(jù)時,則執(zhí)行圖11中步驟780。圖ll為接續(xù)圖IO的流程圖。步驟780中,系該控制器150偵測該P(yáng)SD110在執(zhí)行部分重建期間,該儲存虛擬化系統(tǒng)中是否有新發(fā)生PSD毀損的情況。若否,則執(zhí)行步驟790;若是,則執(zhí)行步驟781。步驟781中,該控制器150判斷發(fā)生PSD毀損的PSD是否為該正在執(zhí)行部分重建的PSD。若是,則跳至步驟850結(jié)束該P(yáng)SD控制程序更新模式B;若否,則執(zhí)行步驟782。在執(zhí)行步驟781判斷的同時,該發(fā)生PSD毀損的PSD的相關(guān)數(shù)據(jù)將會被記錄下來且若變動數(shù)據(jù)區(qū)段表內(nèi)記錄有該發(fā)生毀損PSD的變動數(shù)據(jù)區(qū)段編號時,則該變動數(shù)據(jù)區(qū)段表內(nèi)的該P(yáng)SD所有的數(shù)據(jù)區(qū)段編號將會被刪除。步驟782中,該控制器150判斷該系統(tǒng)中PSD毀損的總數(shù)是否超過同位PSD的數(shù)目m。若是,則執(zhí)行步驟784;若否,則執(zhí)行步驟780。依據(jù)本發(fā)明的一實施例,若該發(fā)生毀損的PSD數(shù)目總和小于或等于該同位PSD的數(shù)目m時,該控制器150可繼續(xù)接收來自主機(jī)單元的IO請求,故直接跳回步驟780。依據(jù)本發(fā)明的另一實施例,若該發(fā)生毀損的PSD的數(shù)目總和等于該同位PSD的數(shù)目m,該系統(tǒng)在其可承受PSD發(fā)生毀損的臨界點(diǎn),該系統(tǒng)雖然不會發(fā)生數(shù)據(jù)遺失,但為了降低系統(tǒng)風(fēng)險,該控制器150會暫停接收來自主機(jī)單元的10請求,而在等到該P(yáng)SD執(zhí)行至步驟840完成后,才會恢復(fù)接收來自主機(jī)單元的10請求及再接受執(zhí)行其他PSD控制程序的更新。上述步驟782中,若以一個具有2個同位PSD的RAID6的4諸存虛擬化系統(tǒng)為例,當(dāng)該系統(tǒng)在執(zhí)行部分重建時,該系統(tǒng)還可承受另外2個PSD發(fā)生毀損,不會造成部分?jǐn)?shù)據(jù)遺失的情形;在更換新PSD后,該毀損PSD原先的數(shù)據(jù)可再重建(rebuild)回來。若該系統(tǒng)有中3個或3個以上的PSD發(fā)生毀損時,則系統(tǒng)會產(chǎn)生部分?jǐn)?shù)據(jù)遺失的情形。步驟784中,因為有PSD發(fā)生毀損而使得該儲存虛擬化系統(tǒng)中PSD的毀損總數(shù)已經(jīng)超出該儲存虛擬化系統(tǒng)所能承受PSD發(fā)生毀損的最大上限,造成該儲存虛擬化系統(tǒng)部分?jǐn)?shù)據(jù)遺失,無法再繼續(xù)正常運(yùn)作,故依據(jù)本發(fā)明的實施例,該控制器150停止接受來自主機(jī)單元10的IO請求,此時該正在執(zhí)刊_PSD部分重建程序的PSD110,可以繼續(xù)執(zhí)4亍至該P(yáng)SD110所有的部分重建至重建完成。由于該P(yáng)SD110的變動數(shù)據(jù)區(qū)段連結(jié)有連結(jié)數(shù)據(jù),當(dāng)該P(yáng)SD執(zhí)行部分重建程序時,可以復(fù)制該連結(jié)數(shù)據(jù)至相對的變動數(shù)據(jù)區(qū)段上,以執(zhí)行該P(yáng)SD的該變動數(shù)據(jù)區(qū)段的部分重建程序。此外,因為該P(yáng)SD的變動數(shù)據(jù)區(qū)段可以被重建,所以該控制器150不會將該P(yáng)SD的變動數(shù)據(jù)區(qū)段標(biāo)示為錯誤數(shù)據(jù);同時,若變動數(shù)據(jù)區(qū)段表內(nèi)有記錄該P(yáng)SD的變動數(shù)據(jù)區(qū)段編號時,該控制器150此時也不會將該變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD所有的數(shù)據(jù)區(qū)段編號刪除。必須注意的是雖然該P(yáng)SD可以繼續(xù)執(zhí)行部分重建程序,但此時系統(tǒng)已經(jīng)發(fā)生數(shù)據(jù)毀損,在該控制器150使該P(yáng)SD重新恢復(fù)連線后,該系統(tǒng)不會立即再接受其他PSD更新控制程序。步驟784執(zhí)行完后,便跳回至步驟780,經(jīng)過步驟780至步驟830的判斷及/或執(zhí)行后,該P(yáng)SD110重新恢復(fù)連線(步驟84G)并結(jié)束該P(yáng)SD控制程序更新模式B的程序(步驟850)。步驟790中,該控制器150判斷于該P(yáng)SD110部分重建完成前期間,是否需對該P(yáng)SD110發(fā)出讀取/寫入請求。若是,則執(zhí)行步驟792;若否,則執(zhí)行步驟810。步驟792中,該控制器150判斷需要對該P(yáng)SD110發(fā)出的讀取/寫入請求所對應(yīng)的數(shù)據(jù)區(qū)段是否為一變動數(shù)據(jù)區(qū)段。若否,則執(zhí)4亍步驟794;若是,則執(zhí)行步驟796。步驟794中,表示變動數(shù)據(jù)區(qū)段表內(nèi)并無記錄該P(yáng)SD110的數(shù)據(jù)區(qū)段編號,代表該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)在該P(yáng)SD110更新控制程序期間不需要被更改,或是該編號的數(shù)據(jù)區(qū)段已經(jīng)完成部分重建程序;亦即,該編號的數(shù)據(jù)區(qū)段是一未變動數(shù)據(jù)區(qū)段,所以該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段可直接被讀取或?qū)懭?,故該控制?50可直接對該P(yáng)SD110發(fā)出讀取/寫入請求,以將該讀取或?qū)懭胝埱笙鄬?yīng)于該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)直接讀取或?qū)懭?。在?zhí)行該P(yáng)SD110的部分重建程序時,該控制器150對于未變動數(shù)據(jù)區(qū)^R不必等到該P(yáng)SD110恢復(fù)連線即可對該P(yáng)SD110上的未變動數(shù)據(jù)區(qū)段發(fā)出讀取或?qū)懭胝埱?,以直接?zhí)行對該P(yáng)SD110讀取或?qū)懭氤绦颍士稍鲞M(jìn)該系統(tǒng)的效能。步驟794執(zhí)行完畢后,即跳回步驟780。步驟796中,該控制器150判斷需要對該P(yáng)SD110發(fā)出的讀取/寫入請求是否為一讀取請求。若是,則執(zhí)行步驟800;若否,則表示需要對該P(yáng)SD110發(fā)出的讀取/寫入請求是一寫入請求,則執(zhí)行步驟798。步驟798中,該控制器150需要對該P(yáng)SD110發(fā)出的讀取/寫入請求為一寫入請求,且該寫入請求所對應(yīng)的該P(yáng)SD110上的數(shù)據(jù)區(qū)#爻是一變動數(shù)據(jù)區(qū)段,依據(jù)本發(fā)明的第一實施例,由于該P(yáng)SD110上的該數(shù)據(jù)區(qū)段的編號已經(jīng)被記錄于變動數(shù)據(jù)區(qū)段表內(nèi),故不需將該P(yáng)SD110的該數(shù)據(jù)區(qū)段編號再記錄一次,但該編號的數(shù)據(jù)區(qū)段原先所連結(jié)的連結(jié)數(shù)據(jù)則需以寫入請求所對應(yīng)的該P(yáng)SD110上該編號的數(shù)據(jù)區(qū)段的寫入數(shù)據(jù)寫覆,步驟798執(zhí)行完畢后,跳回至步驟780。步驟798中,依據(jù)本發(fā)明的第二實施例,需要對該P(yáng)SD110發(fā)出的讀取/寫入請求為一寫入請求,且該寫入請求所對應(yīng)的該P(yáng)SD110的數(shù)據(jù)區(qū)段編號的數(shù)據(jù)是一變動數(shù)據(jù),該控制器150利用該寫入請求所對應(yīng)的該P(yáng)SD110上該編號的該變動數(shù)據(jù)區(qū)段的寫入數(shù)據(jù)而將該P(yáng)SD110上該變動數(shù)據(jù)區(qū)段內(nèi)原先的數(shù)據(jù)直接寫覆,并將變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD110的該數(shù)據(jù)區(qū)段編號刪除,如此可節(jié)省對該編號數(shù)據(jù)區(qū)段的部分重建時間。步驟798執(zhí)行完畢后,跳回至步驟780。步驟800中,該控制器150需要對該P(yáng)SD110發(fā)出的讀取/寫入請求是一讀取請求,且該讀取請求所對應(yīng)的數(shù)據(jù)儲存于該正在執(zhí)行部分重建的PSDIIO的變動數(shù)據(jù)區(qū)段內(nèi),由于該P(yáng)SDIIO上該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)不正確需要被更改且尚未完成該編號的數(shù)據(jù)區(qū)段的部分重建程序,該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)并非一正確的數(shù)據(jù),故該編號的數(shù)據(jù)區(qū)段的數(shù)據(jù)不可直接被讀取,該控制器150將該編號的數(shù)據(jù)區(qū)段所連結(jié)的連結(jié)數(shù)據(jù)直接送出。步驟800執(zhí)行完畢后,便再度跳回至步驟780中。步驟810中,該控制器150判斷該P(yáng)SD110上正在執(zhí)行部分重建的數(shù)據(jù)區(qū)段是否重建完成。若是,則執(zhí)行步驟820;若否,則跳回執(zhí)行步驟780。由于該控制器150在該P(yáng)SD110更新控制程序期間,可能需要對該P(yáng)SD110上的多個數(shù)據(jù)區(qū)段發(fā)出寫入請求,造成該P(yáng)SD110上的多個數(shù)據(jù)區(qū)段為變動數(shù)據(jù)區(qū)段,故該P(yáng)SD110上所有的變動數(shù)據(jù)區(qū)段都需執(zhí)行部分重建程序。在步驟820中,該控制器150判斷該P(yáng)SD110上所有的變動數(shù)據(jù)區(qū)段是否均已完成部分重建,即判斷該變動數(shù)據(jù)區(qū)段表內(nèi)是否已無該P(yáng)SD110的任何數(shù)據(jù)區(qū)段編號記錄。若是,則執(zhí)行圖12中的步驟840;若否,則執(zhí)38行步驟830。步驟830中,該控制器150根據(jù)變動數(shù)據(jù)區(qū)段表內(nèi)的編號記錄執(zhí)行該P(yáng)SDIIO的部分重建程序,以重建該P(yáng)SDIIO上變動數(shù)據(jù)區(qū)段的數(shù)據(jù)。該控制器150根據(jù)變動數(shù)據(jù)區(qū)^爻表內(nèi)的記錄,先選擇該P(yáng)SDIIO上的一數(shù)據(jù)區(qū)段編號,將該變動數(shù)據(jù)區(qū)段表內(nèi)該數(shù)據(jù)區(qū)段編號所連結(jié)的連結(jié)數(shù)據(jù)復(fù)制回該編號的數(shù)據(jù)區(qū)段內(nèi),最后該控制器150再將變動數(shù)據(jù)區(qū)段表內(nèi)該P(yáng)SD110的該數(shù)據(jù)區(qū)段編號刪除,完成該P(yáng)SD110上一個變動數(shù)據(jù)區(qū)段的部分重建程序。在該P(yáng)SD110部分重建的期間,該控制器150會在步驟780至步驟830間重復(fù)執(zhí)行,直到變動數(shù)據(jù)區(qū)段表中該P(yáng)SD110所有的數(shù)據(jù)區(qū)段編號皆被刪除為止。圖12步驟840中,該控制器150將該P(yáng)SD110重新設(shè)定為連線(on-1ine)狀態(tài),再度進(jìn)入正常工作^f莫式。當(dāng)然,該控制器150恢復(fù)成正常地對該P(yáng)SD110發(fā)出讀取/寫入請求,同時并將該P(yáng)SD110的連/離線記錄由離線狀態(tài)更改為連線狀態(tài)。步驟840執(zhí)行完畢后,則進(jìn)入步驟850結(jié)束PSD的控制程序更新模式B。若還有其他的PSD110需更新控制程序,則重新執(zhí)4亍步驟700。上述PSD控制程序更新模式A或PSD控制程序更新模式B中,雖然該變動數(shù)據(jù)區(qū)段是以記錄該數(shù)據(jù)區(qū)段編號的方式來處理及判別,但在實際操作上,并不僅限于記錄該數(shù)據(jù)區(qū)段編號的方式,只要是能夠?qū)⒆儎訑?shù)據(jù)區(qū)段加以注記而能判別該數(shù)據(jù)區(qū)段為變動數(shù)據(jù)區(qū)段即可。例如記錄每一數(shù)據(jù)區(qū)段的屬性,而變動數(shù)據(jù)區(qū)段與一般數(shù)據(jù)區(qū)段分別具有不同的屬性,如True/False或是1/0等表示方式,可清楚地分辨出變動數(shù)據(jù)區(qū)段與一般數(shù)據(jù)區(qū)段。依據(jù)本發(fā)明的又一實施例,提供一種于儲存虛擬化系統(tǒng)中更新實體儲存裝置的控制程序的方法,該方法包含以下的步驟于同一數(shù)據(jù)儲存帶中提供多個用來檢核使用者數(shù)據(jù)的同位數(shù)據(jù)儲存塊;選定欲更新控制程序的一或多個實體儲存裝置;令該被選定的實體儲存裝置進(jìn)入一離線狀態(tài);以及,更新該被選定的實體儲存裝置內(nèi)的控制程序,其中在該更新控制程序完成前,若需要對該實體儲存裝置發(fā)出一寫入請求時,則將該實體儲存裝置上相對應(yīng)的數(shù)據(jù)區(qū)段注記為一變動數(shù)據(jù)區(qū)段。藉此,該儲存虛擬化系統(tǒng)中可同時更新多個實體儲存裝置的控制程序;或是,該儲存虛擬化系統(tǒng)中可在有實體儲存裝置發(fā)生毀損的同時,仍可進(jìn)行實體儲存裝置的控制程序更新,因而加速了實體儲存裝置的控制程序的更新,并改善系統(tǒng)的效能。例如,當(dāng)一數(shù)據(jù)儲存帶中具有兩個同位數(shù)據(jù)儲存塊時,可以同時進(jìn)行兩個實體儲存裝置的控制程序更新;或是,當(dāng)有一個實體儲存裝置發(fā)生毀損的同時,仍然可以同時進(jìn)行另一個實體儲存裝置的控制程序更新。又如,當(dāng)一數(shù)據(jù)儲存帶中具有三個同位數(shù)據(jù)儲存塊時,可以同時進(jìn)行三個實體儲存裝置的控制程序更新;或是,當(dāng)有二個實體儲存裝置發(fā)生毀損的同時,仍然可以同時進(jìn)行另一個實體儲存裝置的控制程序更新;或是,當(dāng)有一個實體儲存裝置發(fā)生毀損的同時,仍然可以同時進(jìn)行另外兩個實體儲存裝置的控制程序更新。再者,依據(jù)本發(fā)明的進(jìn)一步的實施例,在同一數(shù)據(jù)儲存帶中提供多個用來檢核使用者數(shù)據(jù)的同位數(shù)據(jù)儲存塊的情況下,在該更新該被選定的實體儲存裝置內(nèi)的控制程序步驟之后,更進(jìn)一步包含以下的步驟該被選定的實體儲存裝置在完成更新控制程序后執(zhí)行部分重建程序,其中在該部分重建程序完成前,若需要對該賣體儲存裝置上未變動數(shù)據(jù)區(qū)段的發(fā)出讀取或?qū)懭胝埱髸r,直接對該未變動數(shù)據(jù)區(qū)段發(fā)出讀取或?qū)懭胝埱蠖恍璧鹊剿械淖儎訑?shù)據(jù)區(qū)段完成部分重建后才發(fā)出讀取或?qū)懭胝埱?。以上所述,僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容作出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何筒單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。權(quán)利要求1.一種在儲存虛擬化系統(tǒng)中更新實體儲存裝置的控制程序的方法,其特征在于該方法包含以下的步驟在同一數(shù)據(jù)儲存帶中提供多個同位數(shù)據(jù)儲存塊;選定欲更新控制程序之一或多個實體儲存裝置;使該被選定的實體儲存裝置進(jìn)入一離線狀態(tài);以及更新該被選定的實體儲存裝置內(nèi)的控制程序,其中在該更新控制程序完成前,若需對該實體儲存裝置發(fā)出一寫入請求時,則將該寫入請求所對應(yīng)的未變動數(shù)據(jù)區(qū)段注記為一變動數(shù)據(jù)區(qū)段。2.根據(jù)權(quán)利要求1所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置于控制程序更新期間中,若需對該實體儲存裝置的數(shù)據(jù)區(qū)段讀取時,則利用其冗余數(shù)據(jù)算出讀取數(shù)據(jù)并送出。3.根據(jù)權(quán)利要求1所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置于控制程序更新期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則該變動數(shù)據(jù)區(qū)^:的注記維持不變。4.根據(jù)權(quán)利要求1所述的方法,其特征在于其更進(jìn)一步的步驟包括該被選定的實體儲存裝置在完成更新控制程序后執(zhí)行部分重建。5.根據(jù)權(quán)利要求4所述的方法,其特征在于其中所述的部分重建包含以下的步驟a.選取一變動數(shù)據(jù)區(qū)段,利用其冗余數(shù)據(jù)算出該變動數(shù)據(jù)區(qū)段的新數(shù)據(jù),并把該變動數(shù)據(jù)區(qū)段以新數(shù)據(jù)寫覆且取消該變動數(shù)據(jù)區(qū)段的注記;以及b.重復(fù)執(zhí)行步驟a,直到該實體儲存裝置中無任何變動數(shù)據(jù)區(qū)段為止。6.根據(jù)權(quán)利要求4所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置于部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段讀取時,則利用其冗余數(shù)據(jù)算出讀取數(shù)據(jù)并送出。7.根據(jù)權(quán)利要求4所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置于部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則直接將該變動數(shù)據(jù)區(qū)段以寫入請求相對應(yīng)的寫入數(shù)據(jù)寫覆且取消該變動數(shù)據(jù)區(qū)段的注記。.8.根據(jù)權(quán)利要求4所述的方法,其特征在于其中被選定的實體儲存裝置于部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則該變動數(shù)據(jù)區(qū)段的注記維持不變。9.根據(jù)權(quán)利要求4所述的方法,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,該被選定的實體儲存裝置仍可繼續(xù)執(zhí)行控制程序更新或部分重建,不會發(fā)生該系統(tǒng)數(shù)據(jù)遺失的情形。10.根據(jù)權(quán)利要求9所述的方法,其特征在于其中所述的儲存虛擬化系統(tǒng)的組態(tài)設(shè)定為具有多個同位實體儲存裝置時,當(dāng)一實體儲存裝置正在執(zhí)行控制程序更新或部分重建時,若另一實體儲存裝置失效時,則該實體儲存裝置仍可繼續(xù)執(zhí)行控制程序更新或部分重建,不會發(fā)生該系統(tǒng)數(shù)據(jù)遺失的情形。11.根據(jù)權(quán)利要求4所述的方法,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱?,直到該被選定的實體儲存裝置完成部分重建為止。12.根據(jù)權(quán)利要求4所述的方法,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)大于該同位實體儲存裝置的數(shù)目時,則該被選定的實體儲存裝置上的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)被標(biāo)記為錯誤數(shù)據(jù)。13.根據(jù)權(quán)利要求4所述的方法,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該發(fā)生毀損的實體儲存裝置是正在執(zhí)行控制程序更新或部分重建,若該實體儲存裝置上有變動數(shù)據(jù)區(qū)段時,則取消該變動數(shù)據(jù)區(qū)段的注記。14.根據(jù)權(quán)利要求1所述的方法,其特征在于其中若該變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài)時,則將對該實體儲存裝置發(fā)出的寫入請求的相對應(yīng)數(shù)據(jù)儲存于一存儲器內(nèi)而為一連結(jié)數(shù)據(jù)。15.根據(jù)權(quán)利要求14所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置在控制程序更新期間中,若需對該實體儲存裝置的數(shù)據(jù)區(qū)段讀取時,則利用其冗余數(shù)據(jù)算出讀取數(shù)據(jù)并送出。16.根據(jù)權(quán)利要求14所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置在控制程序更新期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段讀取時,則將該變動數(shù)據(jù)區(qū)段的連結(jié)數(shù)據(jù)直接送出。17.根據(jù)權(quán)利要求14所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置在控制程序更新期間中,若需對該實體儲存裝置的未變動凄t據(jù)區(qū)段寫入時,則注記該未變動數(shù)據(jù)區(qū)段為一變動數(shù)據(jù)區(qū)段及儲存該寫入請求相對應(yīng)的寫入數(shù)據(jù)為一連結(jié)數(shù)據(jù)。18.根據(jù)權(quán)利要求14所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置在控制程序更新期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則該變動數(shù)據(jù)區(qū)段的注記維持不變及以寫入請求相對應(yīng)的寫入數(shù)據(jù)將該變動數(shù)據(jù)區(qū)段原先的連結(jié)數(shù)據(jù)直接寫覆。19.根據(jù)權(quán)利要求14所述的方法,其特征在于其更進(jìn)一步的步驟包括該被選定的實體儲存裝置在完成更新控制程序后執(zhí)行部分重建。20.根據(jù)權(quán)利要求19所述的方法,其特征在于其中所述的部分重建包含以下的步驟a.選取一變動數(shù)據(jù)區(qū)段,復(fù)制該變動數(shù)據(jù)區(qū)段的連結(jié)數(shù)據(jù)至該變動數(shù)據(jù)區(qū)段上并取消該變動數(shù)據(jù)區(qū)段的注記;以及b.重復(fù)執(zhí)行步驟a,直到該實體儲存裝置中無任何變動數(shù)據(jù)區(qū)段為止。21.根據(jù)權(quán)利要求19所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置在部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段讀取時,則將該變動數(shù)據(jù)區(qū)段的連結(jié)數(shù)據(jù)直接送出。22.根據(jù)權(quán)利要求19所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置在部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則直接將該變動數(shù)據(jù)區(qū)段以寫入請求相對應(yīng)的寫入數(shù)據(jù)寫覆且取消該變動數(shù)據(jù)區(qū)段的注記。23.根據(jù)權(quán)利要求19所述的方法,其特征在于其中當(dāng)該被選定的實體儲存裝置在部分重建期間中,若需對該實體儲存裝置的變動數(shù)據(jù)區(qū)段寫入時,則該變動數(shù)據(jù)區(qū)段的注記維持不變及以寫入請求相對應(yīng)的寫入數(shù)據(jù)將該變動數(shù)據(jù)區(qū)段原先的連結(jié)數(shù)據(jù)直接寫覆。24.根據(jù)權(quán)利要求19所述的方法,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,不會發(fā)生系統(tǒng)數(shù)據(jù)遺失,該被選定的實體儲存裝置則繼續(xù)執(zhí)行控制程序更新或部分重建,直到該被選定的實體儲存裝置完成部分重建為止。25.才艮據(jù)權(quán)利要求24所述的方法,其特征在于其中所述的儲存虛擬化系統(tǒng)的組態(tài)設(shè)定為具有多個同位實體儲存裝置時,當(dāng)一實體儲存裝置正在執(zhí)4亍控制程序更新時,若另一實體儲存裝置失效時,則該實體儲存裝置仍可繼續(xù)執(zhí)行控制程序更新,不會發(fā)生該系統(tǒng)數(shù)據(jù)遺失的情形。26.根據(jù)權(quán)利要求19所述的方法,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱?,直到該被選定的實體儲存裝置完成部分重建為止。27.根據(jù)權(quán)利要求19所述的方法,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損數(shù)目與正在更新控制程序的實體儲存裝置的數(shù)目的總和大于該同位實體儲存裝置的數(shù)目,若需對該正在更新控制程序的實體儲存裝置內(nèi)的未變動數(shù)據(jù)區(qū)段讀取時,則暫不回復(fù)該讀取請求,直到該正在更新控制程序的實體儲存裝置完成控制程序的更新后,再利用冗余數(shù)據(jù)算出讀取數(shù)據(jù)并送出。28.根據(jù)權(quán)利要求19所述的方法,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)大于該同位實體儲存裝置的數(shù)目時,則復(fù)帝據(jù)變動數(shù)據(jù)區(qū)段的連結(jié)數(shù)據(jù)至該變動數(shù)據(jù)區(qū)段上。29.根據(jù)權(quán)利要求19所述的方法,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該發(fā)生毀損的實體儲存裝置是正在執(zhí)行控制程序更新或部分重建,若該實體儲存裝置上有變動數(shù)據(jù)區(qū)段時,則取消該變動數(shù)據(jù)區(qū)段的注記。30.根據(jù)權(quán)利要求1或14所述的方法,其特征在于其中所述的儲存虛擬化系統(tǒng)包含多個實體儲存裝置、一第一及第二存儲裝置,其中該每一實體儲存裝置包含多個數(shù)據(jù)區(qū)段及一可程序化的控制程序,且該第一存儲裝置用來儲存變動數(shù)據(jù)區(qū)段的注記及該第二存儲裝置用來儲存該注記的連結(jié)數(shù)據(jù)。31.根據(jù)權(quán)利要求30所述的方法,其特征在于其中所述的第一及第二存儲裝置位于磁碟陣列控制器的存儲器中。32.根據(jù)權(quán)利要求31所述的方法,其特征在于其中所述的第一、第二存儲裝置是一動態(tài)隨枳斗取存儲器或一非易失性儲存裝置。33.根據(jù)權(quán)利要求32所述的方法,其特征在于其中所述的非易失性儲存裝置是一硬式磁碟機(jī)或固態(tài)磁碟機(jī),或是一具有電池或超級電容供應(yīng)電源的動態(tài)隨^^取存儲器。34.根據(jù)權(quán)利要求1或14所述的方法,其特征在于其中所述的儲存虛擬化系統(tǒng)包含多個實體儲存裝置,其中該每一實體儲存裝置包含多個數(shù)據(jù)區(qū)段及一可程序化的控制程序。35.根據(jù)權(quán)利要求34所述的方法,其特征在于其中所述的數(shù)據(jù)區(qū)段的大小是一實體儲存裝置的一磁區(qū)、一快取存儲器、或一邏輯區(qū)塊的大小。36.根據(jù)權(quán)利要求1或14所述的方法,其特征在于其中若該儲存虛擬化系統(tǒng)具有N個同位實體儲存裝置,其中N為自然數(shù),在不中斷主機(jī)單元對實體儲存裝置的讀、寫請求情況下,該系統(tǒng)可同時執(zhí)行N個實體儲存裝置的控制程序的更新。37.—種可在儲存虛擬化系統(tǒng)中更新實體儲存裝置內(nèi)的控制程序的儲存虛擬化控制器,其特征在于該儲存虛擬化控制器包含有一中央處理電路;一主機(jī)端輸入輸出裝置連結(jié)控制器,用以連接于該中央處理電路及至少一主;f幾,用來接收來自主;f幾的10請求;以及一裝置端輸入輸出裝置連結(jié)控制器,用以連接于該中央處理電路及多個實體儲存裝置,用來回應(yīng)于接收自該主機(jī)的10請求而對所述實體儲存裝置執(zhí)行IO操作;其中所述實體儲存裝置設(shè)置有至少一數(shù)據(jù)儲存帶,且在同一數(shù)據(jù)儲存帶中提供多個同位數(shù)據(jù)儲存塊,且其中,該中央處理電路執(zhí)行以下的步驟以更新該實體儲存裝置內(nèi)的控制程序選定欲更新控制程序之一或多個實體儲存裝置;使該被選定的實體儲存裝置進(jìn)入一離線狀態(tài);更新該被選定的實體儲存裝置內(nèi)的控制程序,其中在該更新控制程序完成前,若需對該實體儲存裝置發(fā)出一寫入請求時,則將該寫入請求所對應(yīng)的未變動數(shù)據(jù)區(qū)段注記為一變動數(shù)據(jù)區(qū)段。38.根據(jù)權(quán)利要求37所述的儲存虛擬化控制器,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,則繼續(xù)執(zhí)行該被選定的實體儲存裝置的控制程序更新或部分重建,直到該被選定的實體儲存裝置完成部分重建為止。39.根據(jù)權(quán)利要求37所述的儲存虛擬化控制器,其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱?,直到該被選定的實體儲存裝置完成部分重建為止。40.根據(jù)權(quán)利要求37所述的儲存虛擬化控制器,其特征在于其中若該儲存虛擬化系統(tǒng)具有N個同位實體儲存裝置,其中N為自然數(shù),在不中斷主機(jī)單元對實體儲存裝置的讀、寫請求情況下,該系統(tǒng)可同時執(zhí)行N個實體儲存裝置的控制程序的更新。41.根據(jù)權(quán)利要求37所述的儲存虛擬化控制器,其特征在于其中所述的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài),當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,不會發(fā)生系統(tǒng)數(shù)據(jù)遺失,該被選定的實體儲存裝置則繼續(xù)執(zhí)行控制程序更新或部分重建,直到該被選定的實體儲存裝置完成部分重建為止。42.根據(jù)權(quán)利要求37所述的儲存虛擬化控制器,其特征在于其中所述的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài),當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱?,直到?:選定的實體儲存裝置完成部分重建為止。43.—種可更新實體儲存裝置內(nèi)的控制程序的儲存虛擬化系統(tǒng),其特征在于該儲存虛擬化系統(tǒng)包含一主才幾,用來發(fā)出IO請求;一儲存虛擬化控制器,該儲存虛擬化控制器耦接于該主機(jī)且用于執(zhí)行10操作以回應(yīng)于該10請求;以及多個實體儲存裝置,所述實體儲存裝置耦接于該儲存虛擬化控制器,用來提供該儲存虛擬化電腦系統(tǒng)儲存空間;其中所述實體儲存裝置設(shè)置有至少一數(shù)據(jù)儲存帶,且在同一數(shù)據(jù)儲存帶中提供多個同位數(shù)據(jù)儲存塊,且其中,該儲存虛擬化控制器執(zhí)行以下的步驟以更新該實體儲存裝置內(nèi)的控制程序選定欲更新控制程序的一或多個實體儲存裝置;使該被選定的實體儲存裝置進(jìn)入一離線狀態(tài);更新該被選定的實體儲存裝置內(nèi)的控制程序,其中在該更新控制程序完成前,若需對該實體儲存裝置發(fā)出一寫入請求時,則將該寫入請求所對應(yīng)的未變動數(shù)據(jù)區(qū)段注記為一變動數(shù)據(jù)區(qū)段。44.根據(jù)權(quán)利要求43所述的儲存虛擬化系統(tǒng),其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,則繼續(xù)執(zhí)行該被選定的實體儲存裝置的控制程序更新或部分重建,直到該被選定的實體儲存裝置完成部分重建為止。45.根據(jù)權(quán)利要求43所述的儲存虛擬化系統(tǒng),其特征在于其中當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的離線總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱螅钡皆摫贿x定的實體儲存裝置完成部分重建為止。46.根據(jù)權(quán)利要求43所述的儲存虛擬化系統(tǒng),其特征在于其中若該儲存虛擬化系統(tǒng)具有N個同位實體儲存裝置,其中N為自然數(shù),在不中斷主機(jī)單元對實體儲存裝置的讀、寫請求情況下,該系統(tǒng)可同時執(zhí)行N個實體儲存裝置的控制程序的更新。47.根據(jù)權(quán)利要求43所述的儲存虛擬化系統(tǒng),其特征在于其中所述的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài),當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)小于或等于該同位實體儲存裝置的數(shù)目時,不會發(fā)生系統(tǒng)數(shù)據(jù)遺失,該被選定的實體儲存裝置則繼續(xù)執(zhí)行控制程序更新或部分重建,直到該被選定的實體儲存裝置完成部分重建為止。48.根據(jù)權(quán)利要求43所述的儲存虛擬化系統(tǒng),其特征在于其中所述的變動數(shù)據(jù)區(qū)段的數(shù)據(jù)連結(jié)狀態(tài)是一具有連結(jié)數(shù)據(jù)的狀態(tài),當(dāng)發(fā)生有實體儲存裝置毀損且該儲存虛擬化系統(tǒng)中實體儲存裝置的毀損總數(shù)等于該同位實體儲存裝置的數(shù)目時,則暫停接受實體儲存裝置的讀取或?qū)懭胝埱螅钡皆摫贿x定的實體儲存裝置完成部分重建為止。全文摘要本發(fā)明是關(guān)于一種在具多同位數(shù)據(jù)的儲存虛擬化系統(tǒng)中更新實體儲存裝置的控制程序的方法,該方法包含以下的步驟在同一數(shù)據(jù)儲存帶中提供多個同位數(shù)據(jù)儲存塊;選定欲更新控制程序之一或多個實體儲存裝置;使該被選定的實體儲存裝置進(jìn)入一離線狀態(tài);更新該被選定的實體儲存裝置內(nèi)的控制程序,其中在該更新控制程序完成前,若需對該實體儲存裝置發(fā)出一寫入請求時,則將該寫入請求中所對應(yīng)的未變動數(shù)據(jù)區(qū)段注記為一變動數(shù)據(jù)區(qū)段。本發(fā)明亦揭露有用此方法的儲存虛擬化控制器及其系統(tǒng)。文檔編號G06F3/06GK101604251SQ200910143069公開日2009年12月16日申請日期2009年5月26日優(yōu)先權(quán)日2008年6月12日發(fā)明者洪清海申請人:普安科技股份有限公司