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