專利名稱::高可用性以及低容量的動態(tài)存儲區(qū)域分配的制作方法
技術領域:
:本發(fā)明一般涉及計算機存儲系統(tǒng),更具體地,涉及計算機存儲系統(tǒng)中的動態(tài)存儲區(qū)域分酉己(thin-provisioning)。
背景技術:
:動態(tài)存儲區(qū)域分配(thin-provisioning)是一種適用于大規(guī)P漠集中的計算機盤存儲系統(tǒng)、存儲區(qū)域網(wǎng)(SAN)及存儲虛擬系統(tǒng)的機制?;陔S需和即時,動態(tài)存儲區(qū)域分配允許空間被容易地分配給服務器。術語動態(tài)存儲區(qū)域分配用于與傳統(tǒng)配置(fatprovisioning)形成對比,傳統(tǒng)配置指在存儲陣列上的傳統(tǒng)的分配方法,在該存儲陣列上,存儲容量的大存儲池(largepool)被分配給單個應用程序(application),但是保留未使用的部分。在存儲整合環(huán)境中(其中許多應用共享訪問相同的存儲陣列),動態(tài)存儲區(qū)域分配允許管理員保留單獨的空閑空間緩沖池以對所有應用程序的數(shù)據(jù)增長需求提供服務。通過動態(tài)存儲區(qū)域分配,能夠自動增加存儲容量使用效率,而沒有沉重的管理費用。各組織能夠預先購買更少的存儲容量,能夠根據(jù)實際的業(yè)務使用推遲存儲容量升級,并且能夠節(jié)省與維持不使用的硬盤容量運轉相關的運行費用。存儲整合環(huán)境能夠提供過度配置(over-allocation)或過度預訂(over-subscription)。過度配置或過度預訂是允許對服務器應用程序分配比在存儲陣列本身上物理地保留的存儲容量更多的存儲容量。這允許應用存儲容量的增長和減少的靈活性,而不必須準確地預測容量將增長或減少多少。當應用程序實際寫入數(shù)據(jù)時(而不是最初分配存儲容量時)才提供陣列上的物理存儲容量。在2006年10月31日向Kano提出的美國專利No.7,130,960中揭示了一種通過動態(tài)存儲區(qū)域分配來減少數(shù)據(jù)存儲容量的浪費的方法,將其全部并入本文作為參照。動態(tài)存儲區(qū)域分配通過防止將存儲容量分配給未被寫入的數(shù)據(jù)區(qū)來減少存儲容量的浪費。另一方面,高可用性是系統(tǒng)設計規(guī)程(protocol)及確保在特定的^r測取樣間隔時間過程中某種程度的運行連續(xù)性相關的工具??捎眯灾赣脩羯鐓^(qū)(usercommunity)訪問系統(tǒng)(無論是提交新的工作、更新或改變現(xiàn)有的工作,還是收集先前的工作的結果)的能力。如果用戶無法訪問系統(tǒng),則說明系統(tǒng)不可用。增加可用性的一種方法是具有同步的復制系統(tǒng),日本專利2007-072538中揭示了該方法。該技術包括在兩個或更多個存儲子系統(tǒng)中的數(shù)據(jù)復制系統(tǒng)、一個或多個外部存儲子系統(tǒng)以及I/O服務器中的路徑改變功能。當一個存儲子系統(tǒng)由于意外的故障(例如,由于I/0路徑斷開或設備出錯)而停止工作時,I/O服務器將I/O路徑改變到其它的存儲子系統(tǒng)。對于存儲系統(tǒng),動態(tài)存儲區(qū)域分配和高可用性都是良好的特性。然而,該兩種方法具有互相沖突的方面。
發(fā)明內容本發(fā)明提供充分地解決一個或多個上述及其它問題的方法和系統(tǒng),這些問題與用于計算機存儲系統(tǒng)中的動態(tài)存儲區(qū)域分配的傳統(tǒng)技術相關。本發(fā)明的各方面提供用于提供高可用性并減少存儲系統(tǒng)的容量要求的方法和設備。根據(jù)本發(fā)明的一個方面,一種存儲系統(tǒng)包括主計算機、兩個或更多個存儲子系統(tǒng)及一個或更多個外部存儲子系統(tǒng)。存儲子系統(tǒng)可以被參照作為第一存儲子系統(tǒng)。主計算機被耦合到兩個或更多個存儲系統(tǒng)上并能夠改變存儲子系統(tǒng)之間的1/0路徑。兩個或更多個存儲子系統(tǒng)能夠訪問外部存儲巻并將外部存儲巻作為它們自己的存儲容量。這些存儲子系統(tǒng)包括動態(tài)存儲區(qū)域分配功能。動態(tài)存儲區(qū)域分配功能能夠使用外部存儲巻作為容量池的部件。當接收到來自其它存儲子系統(tǒng)的請求時,動態(tài)存儲區(qū)域分配功能還能夠排除容量池區(qū)被分配。存儲子系統(tǒng)互相通信并且當存儲子系統(tǒng)接收到寫I/O時,存儲子系統(tǒng)能夠將寫I/O互相復制。根據(jù)本發(fā)明的一個方面,提供一種計算機化的數(shù)據(jù)存儲系統(tǒng),該系統(tǒng)包括至少一個外部巻、包括第一存儲子系統(tǒng)和第二存儲子系統(tǒng)的兩個或更多個存儲13子系統(tǒng),第一存儲子系統(tǒng)包括第一虛擬巻,第二存儲子系統(tǒng)包括第二虛擬巻,第一虛擬巻和第二虛擬巻形成對。在本發(fā)明的系統(tǒng)中,第一虛擬巻和第二虛擬巻是動態(tài)存儲區(qū)域分配巻;第一虛擬巻可使用來從與第一虛擬巻相關聯(lián)的第一容量池中分配容量;第二虛擬巻可用于從與第二虛擬巻相關聯(lián)的第二容量池中分配容量;該容量包括至少一個外部巻;該至少一個外部巻由第一容量池和第二容量池共享;該至少一個外部巻、所述第一存儲子系統(tǒng)或所述第二存儲子系統(tǒng)存儲至少一個動態(tài)存儲區(qū)域分配信息表;基于動態(tài)存儲區(qū)域分配的分配處理的執(zhí)行,如果第一存儲子系統(tǒng)已經(jīng)從所共享的至少一個外部巻中分配了容量,則第二存儲子系統(tǒng)可用來參照分配信息并建立虛擬巻地址和容量池地址之間的關系。根據(jù)本發(fā)明的另一個方面,提供一種計算機化的數(shù)據(jù)存儲系統(tǒng),該系統(tǒng)包括外部存儲巻,耦合到一起并耦合到外部存儲巻的兩個或更多個存儲子系統(tǒng),每一個存儲子系統(tǒng)包括高速緩沖存儲區(qū),每一個存儲子系統(tǒng)包括至少一個虛擬巻和至少一個容量池,從至少一個容量池的存儲部件中分配至少一個虛擬巻,該至少一個容量池包括至少一部分外部存儲巻。響應于數(shù)據(jù)訪問請求,將至少一個容量池的存儲部件分配給虛擬巻。本發(fā)明的存儲系統(tǒng)還包括耦合到兩個或更多個存儲子系統(tǒng)并可用于在兩個或更多個存儲子系統(tǒng)之間切換輸入/輸出的主計算機?;诮邮盏絻蓚€或更多個存儲子系統(tǒng)中的第一存儲子系統(tǒng)發(fā)出的數(shù)據(jù)寫請求,第一存儲子系統(tǒng)被配置來至少對兩個或更多個存儲子系統(tǒng)中的第二存儲子系統(tǒng)提供已接收的數(shù)據(jù)寫請求,并且基于接收到來自第一存儲子系統(tǒng)的請求,第二存儲子系統(tǒng)可用于防止至少一個容量池的至少一個存儲部件被分配給第二存儲子系統(tǒng)的至少一個虛擬巻。根據(jù)本發(fā)明的又一方面,提供一種使用耦合到兩個或更多個存儲子系統(tǒng)的數(shù)據(jù)存儲的主計算機執(zhí)行的方法,兩個或更多個存儲子系統(tǒng)被耦合到一起并耦合到外部存儲巻,每一個存儲子系統(tǒng)包括高速緩沖存儲區(qū),每一個存儲子系統(tǒng)包括至少一個虛擬巻和至少一個容量池,從至少一個容量池分配至少一個虛擬巻。至少一個容量池包括至少一部分外部存儲巻。至少一個虛擬巻是動態(tài)存儲區(qū)域分配巻。本發(fā)明的方法包括將兩個或更多個存儲子系統(tǒng)的第一存儲子系統(tǒng)的第一虛擬巻與兩個或更多個存儲子系統(tǒng)的第二存儲子系統(tǒng)的第二虛擬巻配對為主巻和從巻;及基于接收到來自第一存儲子系統(tǒng)的請求,防止第二存儲子系統(tǒng)的至少一個容量池的至少一個存儲部件被分配給第二虛擬巻。根據(jù)本發(fā)明的另一方面,提供一種包括一個或多個序列的指令的計算機可讀介質,當由一個或多個處理器執(zhí)行該指令時,使一個或多個處理器執(zhí)行使用耦合到兩個或更多個存儲子系統(tǒng)的數(shù)據(jù)存儲的主計算機執(zhí)行的方法。兩個或更多個存儲子系統(tǒng)被耦合到一起并耦合到外部存儲巻。每一個存儲子系統(tǒng)包括高速緩沖存儲區(qū)、至少一個虛擬巻和至少一個容量池。從至少一個容量池中分配至少一個虛擬巻。該至少一個容量池包括至少一部分外部存儲巻。在每一個存儲子系統(tǒng)中,至少一個虛擬巻是動態(tài)存儲區(qū)域分配巻。本發(fā)明的方法包括將兩個或更多個存儲子系統(tǒng)的第一存儲子系統(tǒng)的第一虛擬巻與兩個或更多個存儲子系統(tǒng)的第二存儲子系統(tǒng)的第二虛擬巻配對為主巻和從巻;及基于接收到來自第一存儲子系統(tǒng)的請求,防止第二存儲子系統(tǒng)的至少一個容量池的至少一個存儲部件被分配給第二虛擬巻。在下面的描述中部分地闡明與本發(fā)明相關的其它方面,并且該其它方面部分地將從該描述中顯而易見的,或通過本發(fā)明的實施可獲知的。通過部件和各種部件的結合及在下面的具體描述和所附權利要求中特定指出的方面,可以實現(xiàn)并獲得本發(fā)明的各方面。應該理解,前面及下面的描述僅是示例與解釋,并不意于以任何形式來限制主張的發(fā)明及其申請。并入本文并構成說明書的一部分的附圖舉例說明本發(fā)明的實施例,并且與說明書一起用于解釋和說明本發(fā)明的技術的原理。特定地圖1說明根據(jù)本發(fā)明的各方面的存儲系統(tǒng)。圖2說明根據(jù)本發(fā)明的各方面的存儲系統(tǒng)的主計算機的示例性存儲器。圖3說明根據(jù)本發(fā)明的各方面的示例性巻管理表。圖4和圖5示出用于根據(jù)本發(fā)明的各方面的存儲子系統(tǒng)的存儲控制器的存儲器的示例性結構。圖6、7、8、9、10、11、12、13、14、15、16、17及18根據(jù)本發(fā)明的各方面更詳細地示出圖4和圖5的程序和表格。15圖19示出根據(jù)本發(fā)明的各方面的容量池組塊、容量池頁及硬盤高速緩沖存儲器之間的關系。圖20說明根據(jù)本發(fā)明的各方面的虛擬巻頁、虛擬巻槽及虛擬巻之間的關系。圖21說明根據(jù)本發(fā)明各方面的容量池管理表、容量池部件管理表、容量池組塊管理表、RAID組管理表及容量池組塊之間的關系。圖22說明根據(jù)本發(fā)明的各方面的虛擬巻、虛擬巻頁、虛擬巻管理表、虛擬巻頁管理表、容量池管理表、容量池組塊、容量池頁及容量池部件管理表之間的關系。圖23說明根據(jù)本發(fā)明各方面的虛擬巻、虛擬巻頁、容量池組塊、容量池頁及容量池頁管理表之間的關系。圖24說明根據(jù)本發(fā)明各方面的高速緩沖存儲器槽、高速緩沖存儲器管理表和磁盤槽之間的關系。圖25說明根據(jù)本發(fā)明的各方面的兩個存儲子系統(tǒng)的虛擬巻和對管理表之間的關系。圖26說明根據(jù)本發(fā)明各方面的虛擬巻、RAID組和外部巻之間的關系。圖27說明根據(jù)本發(fā)明的各方面的執(zhí)行巻操作等待程序的示例性方法。圖28說明根據(jù)本發(fā)明的各方面執(zhí)行對生成程序的示例性方法。圖29說明根據(jù)本發(fā)明各方面的執(zhí)行對刪除程序的示例性方法。圖30說明根據(jù)本發(fā)明各方面的執(zhí)行槽操作程序的示例性方法。圖31說明根據(jù)本發(fā)明各方面的執(zhí)行寫1/0操作程序的示例性方法。圖32說明根據(jù)本發(fā)明各方面的執(zhí)行讀I/O操作程序的示例性方法。圖33A和圖33B示出根據(jù)本發(fā)明各方面的執(zhí)行容量池頁分配程序的示例性方法。圖34說明根據(jù)本發(fā)明各方面的執(zhí)行高速緩沖存儲器升級程序的示例性方法。圖35說明根據(jù)本發(fā)明各方面的執(zhí)行硬盤刷新程序的示例性方法。圖36、圖37及圖38示出根據(jù)本發(fā)明各方面的執(zhí)行高速緩沖存儲器降級程序的示例性方法。圖39說明根據(jù)本發(fā)明各方面的執(zhí)行容量池回收程序的示例性方法。圖40說明根據(jù)本發(fā)明各方面的執(zhí)行容量池組塊解除(release)程序的示例性方法。圖41提供根據(jù)本發(fā)明各方面的對主巻寫I/O的時序。圖42提供根據(jù)本發(fā)明各方面的對從巻寫I/O的時序。圖43提供根據(jù)本發(fā)明各方面的從主巻對外部巻降級的時序。圖44提供根據(jù)本發(fā)明各方面的從從巻對外部巻降級的時序。圖45說明根據(jù)本發(fā)明的各方面的存儲系統(tǒng)。圖46說明根據(jù)本發(fā)明的其它方面的另一容量池管理程序的示例性結構。圖47A和圖47B示出根據(jù)本發(fā)明的其它方面的執(zhí)行容量池頁分配的示例性方法。圖48說明根據(jù)本發(fā)明的其它方面的外部存儲子系統(tǒng)。圖49說明根據(jù)本發(fā)明其它方面的外部存儲子系統(tǒng)的存儲器的示例性結構。圖50說明存儲控制器的存儲器中存儲的容量池管理程序圖51說明根據(jù)本發(fā)明其它方面的虛擬巻頁管理表的示例性結構。圖55是說明可以執(zhí)行本發(fā)明的系統(tǒng)的計算機平臺的示例性實施例。具體實施例方式在下面的具體描述中,將參考所附附圖,其中用相同的參考標記指明相同的功能部件。通過說明而非限定,上述附圖示出才艮據(jù)本發(fā)明的原理的特定實施例和實施方式。這些實施方式被充分詳細的描述以使本領域技術人員能夠實施本發(fā)明,并且將會理解,可以使用其它實施方式,并且不脫離本發(fā)明的范圍和宗義,可以進行各種部件的結構改變和/或替換。因此,不能限制性的解釋下面的詳細描述。此外,可以以在通用計算機上運行的軟件的形式、特定硬件的形式或軟件和硬件結合的形式來實現(xiàn)所描述的本發(fā)明的各種實施例。當將包括動態(tài)存儲區(qū)域分配和高可用性的兩種技術相結合以用于減少存儲空間的浪費并快速和容易的訪問存儲巻的雙重目的時,某些問題出現(xiàn)。例如,如果結合該兩種技術,則需要兩倍的存儲容量。這是由于頁管理表(pagemanagementtable)沒有被存儲子系統(tǒng)共享的事實。因此,存在兩個存儲子系統(tǒng)的頁管理表對兩個不同的存儲子系統(tǒng)的動態(tài)存儲區(qū)域分配巻進行分配并分配相同的容量池區(qū)的問題。如果該兩個存儲子系統(tǒng)試圖對相同的空間進行I/O操作時,這就引起了沖突。另外,如果在存儲子系統(tǒng)之間共享頁管理表來防止上述沖突,則存儲子系統(tǒng)之間的通信或鎖定沖突引起延時。在圖1、2、3、4、5到18中示出并描述根據(jù)本發(fā)明的各方面的存儲系統(tǒng)的構成。圖l說明根據(jù)本發(fā)明的各方面的存儲系統(tǒng)。圖1中示出的存儲系統(tǒng)包括兩個或更多個存儲子系統(tǒng)100、400,主計算機300,以及外部巻621。存儲系統(tǒng)還可以包括一個或更多個存儲網(wǎng)絡200,500??梢灾苯踊蛲ㄟ^未示出的網(wǎng)絡將存儲子系統(tǒng)100,400耦合在一起??梢灾苯踊蛲ㄟ^存儲網(wǎng)絡200將主計算機耦合到存儲子系統(tǒng)100,400。可以直接或通過存儲網(wǎng)絡500將外部巻621耦合到存儲子系統(tǒng)100,400。主計算機300包括CPU301、存儲器302及拖拽式存儲接口(towstorageinterface)303s。CPU301用于執(zhí)行在存儲器302中存儲的程序和表格。通過存儲網(wǎng)絡200將存儲接口302耦合到存儲子系統(tǒng)IOO上的主接口114。存儲子系統(tǒng)100包括存儲控制器110、磁盤單元120及管理終端130。存儲控制器110包括用于運行在存儲器112中存儲的程序和表格的CPU111,用于存儲程序、表格及數(shù)據(jù)的存儲器112,用于將存儲控制器耦合到磁盤單元的磁盤接口(該接口可以是SCSII/F)116,用于通過存儲網(wǎng)絡200將存儲控制器耦合到主計算機300的存儲接口303的主接口(該接口可以是光纖通道I/F)115,用于將存儲控制器耦合到管理終端130的存儲控制接口133的管理終端接口(該接口可以是NICI/F)114,用于將存儲控制器耦合到其它存儲子系統(tǒng)400上的存儲控制器接口417的存儲控制器接口(該接口可以是光纖通道I/F)117,以及用于通過存儲網(wǎng)絡500將存儲控制器110耦合到外部巻621的外部存儲控制器接口(該接口可以是光纖通道I/F)118。主接口115接收到來自主計算機300的I/O請求并通知CPU111。管理終端接口114接收到來自管理終端130的巻、/磁盤及容量池操作請求并通知CPU111。磁盤單元120包括例如硬盤驅動器(HDD)121等磁盤。管理終端130包括用于管理由管理終端執(zhí)行的處理的CPU131,存儲器132,用于將管理終端耦合到存儲控制器110上的接口114并用于將巻、磁盤及容量池操作發(fā)送到存儲控制器110的存儲控制器接口(該接口可以是NIC)133,以及例如鍵盤、鼠標或監(jiān)視器等用戶接口134。存儲子系統(tǒng)400包括存儲控制器410、磁盤單元420以及管理終端430。這些部件具有與對于存儲子系統(tǒng)IOO描述的這些部件相似的構成。在本段的剩余部分描述存儲子系統(tǒng)400的部件。存儲控制器410包括用于運行在存儲器412中存儲的程序和表格的CPU411,用于存儲程序、表格及數(shù)據(jù)的存儲器412,用于將存儲控制器耦合到磁盤單元的磁盤接口(該接口可以是SCSII/F)416,用于通過存儲網(wǎng)絡200將存儲控制器耦合到主計算機300的存儲接口303的主接口(該接口可以是光纖通道I/F)415,用于將存儲控制器耦合到管理終端430的存儲控制接口433的管理終端接口(該接口可以是NICI/F)414,用于將存儲控制器耦合到其它存儲子系統(tǒng)400上的存儲控制器接口417的存儲控制器接口(該接口可以是光纖通道I/F)417,以及用于通過存儲網(wǎng)絡500將存儲控制器410耦合到外部巻621的外部存儲控制器接口(該接口可以是光纖通道I/F)418。主接口415接收到來自主計算機300的I/O請求并通知CPU411。管理終端接口414接收到來自管理終端430的巻、磁盤及容量池操作請求并通知CPU411。磁盤單元420包括例如磁盤驅動器(HDD)421等磁盤。管理終端430包括用于管理由管理終端執(zhí)行的處理的CPU431,存儲器432,用于將管理終端耦合到存儲控制器410上的接口414并用于將巻、^茲盤及容量池操作發(fā)送到存儲控制器410的存儲控制器接口(該接口可以是NIC)433,以及例如鍵盤、鼠標或監(jiān)視器等用戶接口434。圖2說明用于根據(jù)本發(fā)明的各方面的存儲系統(tǒng)的主計算機的示例性存儲器。圖2的主計算機300的存儲器302包括巻管理表302-11。圖3說明根據(jù)本發(fā)明的各方面的示例性巻管理表。巻管理表包括用于將信息巻配對的兩個主巻信息欄302-11-01、302-11-02,其可以被擇一地選擇使用以假設一個巻故障時通過改變從一個巻到另一個巻的路徑來幫助挽救數(shù)據(jù)。通過該種在形成存儲系統(tǒng)的存儲子系統(tǒng)上的存儲巻的配對,提供了提高數(shù)據(jù)可用性的存儲冗余。圖4和圖5示出用于根據(jù)本發(fā)明的各方面的存儲子系統(tǒng)的存儲控制器的存儲器的示例性結構。圖6、7、8、9、10、11、12、13、14、15、16、17及18根據(jù)本發(fā)明的各方面更詳細地示出圖4的程序和表格。圖4可以與存儲子系統(tǒng)100的存儲器112對應,圖5可以于存儲子系統(tǒng)400的存儲器412對應。這些存儲器也可以屬于圖1的存儲子系統(tǒng)100、400。示出被存儲在存儲器112、412中的一系列程序和表格。由于兩個存儲器112、114相似,下面僅更詳細地描述圖4。存儲控制器的存儲器112中存儲的程序包括巻操作程序112-02。如圖6所示,巻操作程序包括巻操作等待程序112-02-1,對(pair)生成程序112-02-2以及對(pair)解除程序112-02-3。巻操作等待程序112-02-1是系統(tǒng)駐留程序,當CPU111接收到"對(pair)生成"或"對(pair)解除"請求時執(zhí)行該程序。對生成程序112-02-2建立存儲子系統(tǒng)100的存儲巻和存儲子系統(tǒng)400之間的巻重復(duplication)的關系,當CPU111接收到"對生成"請求時執(zhí)行該程序。由巻才喿作等待程序112-02-1來調用對生成程序112-02-2。對解除程序112-02-3被巻操作等待程序112-02-1調用并解除存在于存儲子系統(tǒng)100的存儲巻和存儲子系統(tǒng)400之間的巻重復的關系。當CPUlll接收到"對解除"請求時執(zhí)行對解除程序112-02-3。存儲控制器的存儲器112中存儲的程序還包括I/0操作程序112-04。如圖7所示,I/O操作程序112-04包括寫I/O操作程序112-04-1及讀I/O操作程序112-04-2。寫I/O操作程序112-04-1是系統(tǒng)駐留程序,該程序將I/0數(shù)據(jù)從主計算機300傳輸?shù)礁咚倬彌_存儲區(qū)112-20,當CPU111接收到寫1/0請求時執(zhí)行該程序。讀I/0操作程序112-04-2也是系統(tǒng)駐留程序,該程序將I/0數(shù)據(jù)從高速緩沖存儲區(qū)112-20傳輸?shù)街饔嬎銠C300,當CPU111接收到讀1/0請求時執(zhí)行該程序。存儲控制器的存儲器112中存儲的程序還包括磁盤訪問程序112-05。如圖8所示,磁盤訪問程序112-05包括磁盤刷新程序112-05-1、高速緩沖存儲器升級程序112-05-2及高速緩沖存儲器降級程序112-05-3。^茲盤刷新程序112-05-1是系統(tǒng)駐留程序,該程序搜索臟的(dirty)高速緩沖存儲器數(shù)據(jù)并對磁盤刷新該數(shù)據(jù),當CPU111的負荷低時執(zhí)行該程序。高速緩沖存儲器升級程序112-05-2將數(shù)據(jù)從磁盤121傳輸?shù)礁咚倬彌_存儲區(qū)112-05-20,當CPU111需要訪問磁盤121中的數(shù)據(jù)時執(zhí)行該程序。高速緩沖存儲器降級程序112-05-3從高速緩沖存儲區(qū)傳輸數(shù)據(jù),當》茲盤刷新程序112-05-1對》茲盤121刷新臟的(dirty)高速緩沖存儲器數(shù)據(jù)時執(zhí)行該程序。存儲控制器的存儲器112中存儲的程序還包括容量池管理程序112-08。如圖9所示,容量池管理112-08包括容量池頁分配程序112-08-1、容量池回收程序112-08-2及容量池擴充(extension)程序112-08-3。容量池頁分配程序112-08-1接收到來自容量池的新的容量池頁和容量池組塊并將請求發(fā)送到其它存儲子系統(tǒng)以排除不受限制(arbitrary)的組塊。容量池回收程序112-08-2是系統(tǒng)駐留程序,該程序執(zhí)行來自容量池的回收,當CPU111的負荷低時執(zhí)行該程序。容量池擴充(extension)程序112-08-3是系統(tǒng)駐留程序,當CPU111接收到"容量池擴充"請求時執(zhí)行該程序,并且該程序將特定的RAID組或外部巻621添加到特定的容量池。存儲控制器的存儲器112中存儲的程序還包括槽才喿作程序112-09。如圖19所示,在來自其他存儲子系統(tǒng)的請求之后該程序運行來將槽121-3鎖定或解鎖。存儲控制器的存儲器112中存儲的表格包括RAID組管理表112-11。如圖10所示,RAID組管理表112-11包括RAID組號碼112-11-1欄(該欄示出在存儲控制器110、410中的每一個RAID組的ID),RAID等級和RAID組織112匿11畫02欄,HDD號碼112-11-03,HDD容量112-11-04,以及共享存儲子系統(tǒng)的列表112-11-05。在RAID等級欄112-11-02,作為條目的號碼"10"表示"鏡象和條帶化(striping)",號碼"5"表示"奇偶條帶化",號碼"6"表示"雙奇偶條帶化",條目"EXT"表示使用外部巻621,條目"N/A"表示RAID組不存在。在HDD號碼112-11-03欄,如果RAID等級信息112-11-02是"10"、"5"或"6",則表示磁盤121,424的ID列表被安排在RAID組,RAID組21的容量包括磁盤121,421。在該表的最后一欄示出通過RAID組配對的存儲子系統(tǒng)。存儲控制器的存儲器112中存儲的表格還包括虛擬巻管理表112-12。如圖11所示,虛擬巻管理表112-12包括巻號碼或ID欄112-12-01、巻容量欄112-12-02、容量池號碼欄112-12-03以及正在被使用的當前組塊欄112-12-05。巻欄112-12-01包括存儲控制器110、410中的每一個虛擬巻的ID。巻容量欄112-12-02包括相應的虛擬巻的存儲容量。容量池號碼欄112-12-03與虛擬巻有關并且分配容量以存儲來自該容量池數(shù)據(jù)。虛擬巻從RAID組的組塊或外部巻獲得其容量池頁。在正在被使用的當前組塊欄112-12-05中示出虛擬巻當前正在使用的組塊。該欄示出RAID組以及當前用于各種數(shù)據(jù)存儲操作的組塊的組塊號碼。存儲控制器的存儲器112中存儲的表格還包括虛擬巻頁管理表112-13。如圖12所示,虛擬巻頁管理表112-13包括^提供虛擬巻140中的虛擬巻頁140-1的ID的虛擬巻頁地址112-13-01欄、相關的RAID組號碼112-13-02以及容量池頁地址112-13-03。RAID組號碼112-13-02包括所分配的容量池頁(其包括外部巻621),并且該欄中的條目N/A表示虛擬巻頁不分配容量池頁。容量池頁地址112-13-03包括相關的容量池頁的開始邏輯地址。存儲控制器的存儲器112中存儲的表格還包括容量池管理表112-14。如圖13所示,容量池管理表112-14包括容量池號碼112-14-01、RAID組列表112-14-02以及空閑容量信息112-14-03。容量池號碼112-14-01包括存儲控制器110、410中的容量池的ID。RAID組列表112-14-02包括容量池中的RAID組的列表。條目N/A表示容量池不存在??臻e容量信息112-14-03示出容量池中的總的空閑區(qū)的容量。存儲控制器的存儲器112中存儲的表格還包括容量池部件管理表112-15。如圖14所示,容量池部件管理表112-15包括示出RAID組號碼的順序欄112-15-01、容量池號碼112-15-02、空閑組塊隊列索引112-15-03、已使用的組塊隊列索引112-15-04及排除的組塊隊列索引112-15-05。RAID組號碼的順序欄112-15-01示出存儲控制器110、410中的RAID組的ID。容量池號碼112-15-02示出該RAID組所屬的容量池的ID??臻e組塊隊列索引112-15-03包括空閑組塊隊列索引的號碼。已使用的組塊隊列索引112-15-04包括已使用的組塊隊列索引的號碼。排除的組塊隊列索引112-15-05示出所忽略的組塊隊列索引的號碼。RAID組以隊列的方式來管理空閑組塊、被使用的組塊及忽略的組塊。存儲控制器的存儲器112中存儲的表格還包括容量池組塊管理表112-16。如圖15所示,容量池組塊管理表112-16包括以下各欄容量池組塊號碼112-16-01、虛擬巻號碼112-16-02、已使用容量112-16-03、已刪除容量112-16-04以及下一個組塊指針112-16-05。容量池組塊號碼112-16-01包括RAID組中的容量池組塊的ID。虛擬巻號碼112-16-02包括使用容量池組塊的虛擬巻號碼。已使用容量112-16-03包括容量池組塊的總的使用容量。當虛擬巻從容量池組塊獲得容量池頁時,該參數(shù)增大容量池頁大小。已刪除容量112-16-04包括從容量池組塊總的刪除的容量。當虛擬巻通過巻格式化或虛擬巻頁再分配來解除容量池頁時,該參數(shù)增大容量池頁大小。下一個組塊指針112-16-05包括其它容量池組塊的指針。容量池組塊具有隊列結構??臻e的組塊隊列索引112-15-03和已使用的組塊隊列索引112-15-04是圖14示出的隊列的索引。存儲控制器的存儲器112中存儲的表格還包括容量池頁管理表112-17。如圖16所示,容量池頁管理表112-17包括示出容量池組塊中的容量池頁的偏移值的容量池頁索引112-17-01和示出參照容量池頁的虛擬巻頁的虛擬巻頁號碼112-17-02。在該欄中,條目"null"表示該頁被刪除或沒有;f皮分配。存儲控制器的存儲器112中存儲的表格還包括對(pair)管理表112-19。如圖17所示,對管理表112-19包括示出巻號碼112-19-01、被配對的子系統(tǒng)號碼112-19-02及被配對的巻號碼112-19-03。巻號碼信息112-19-01示出存儲控制器110、410中的虛擬巻的ID。被配對的子系統(tǒng)信息112-19-02示出被配對的巻所屬的存儲子系統(tǒng)的ID。被配對的巻號碼112-19-03示出在被配對的虛擬巻自己的存儲子系統(tǒng)中被配對的巻的ID。對狀態(tài)信息112-19-04以主(master)、從(slave)或N/A示出在對(pair)中巻的作用。主表示巻能夠從外部巻操作動態(tài)存儲區(qū)域分配容量分配。從表示當分配應該發(fā)生時巻詢問主。如果主已經(jīng)從外部巻分配了容量池頁,則從使虛擬巻頁與前述外部巻的容量池頁相聯(lián)系。條目N/A表示巻與其它虛擬巻不具有任何關系。'23存儲控制器的存儲器112中存儲的表格還包括高速緩沖存儲器管理表112-18。如圖18所示,高速緩沖存儲器管理表112-18包括用于包括高速緩沖存儲器槽號碼112-18-01、^磁盤號碼或邏輯單元號碼(LUN)112-18-02、石茲盤地址或邏輯塊地址(LBA)112-18-03、下一個槽指針112-18-04、鎖定狀態(tài)112-18-05、隊列的種類112-18-11以及隊列索引指針112-18-12的欄。高速緩沖存儲器槽號碼112-18-01包括高速緩沖存儲區(qū)112-20中的高速緩沖存儲器槽的ID,高速緩沖存儲區(qū)112-20包括多個高速緩沖存儲器槽。如圖20所示,磁盤號碼112-18-02包括磁盤121或虛擬巻140的號碼,其中高速緩沖存儲器槽存儲數(shù)據(jù)。磁盤號碼112-18-02能夠識別與高速緩沖存儲器槽號碼相應的磁盤121或虛擬巻140。磁盤地址112-18-03包括高速緩沖存儲器在其中存儲數(shù)據(jù)的磁盤的地址。高速緩沖存儲器槽具有隊列結構,下一個槽指針112-18-04包括下一個高速緩沖存儲器槽號碼。條目"null"表示隊列的末尾。在鎖定狀態(tài)112-18-05欄,條目"lock"表示槽被鎖定。條目"解鎖(unlock)"表示槽未被鎖定。當狀態(tài)是"鎖定(lock)"時,通過"鎖定",CPU111、411無法重寫并且CPU111、411等待直到狀態(tài)變?yōu)?解鎖"。隊列信息112-18-11的種類示出高速緩沖存儲器槽隊列的種類。在該欄,條目"空閑"表示具有未被使用的高速緩沖存儲器槽的隊列,條目"干凈(clean)"表示具有存儲與磁盤槽相同的數(shù)據(jù)的高速緩沖存儲器槽的隊列,條目"臟(dirty)"表示具有存儲與磁盤槽中的數(shù)據(jù)不同的數(shù)據(jù)的高速緩沖存儲器槽的隊列,因此,存儲控制器110將來需要將高速緩沖存儲器槽數(shù)據(jù)刷新到磁盤槽。隊列索引指針112-18-12包括高速緩沖存儲器槽隊列的索引。存儲控制器的存儲器112、412還包括高速緩沖存儲器112-20。高速緩沖存儲器112-20包括由高速緩沖存儲器管理表112-18管理的高速緩沖存儲器槽的號碼112-20-1。圖19示出高速緩沖存儲器槽。圖17到24示出并描述根據(jù)本發(fā)明的各方面的存儲系統(tǒng)的邏輯結構。在圖19到24中,實線表示通過指針參照的目標,虛線表示通過計算參照的目標。圖19說明根據(jù)本發(fā)明的各實施例的容量池組塊、容量池頁及》茲盤高速緩沖存儲器之間的關系。磁盤單元120中的每一個磁盤121被劃分為多個磁盤槽121-3。,容量池組塊121-1包括以RAID組配置的多個磁盤槽121-3。容量池組塊121-1可以包括零個或多個容量池頁121-2。容量池組塊121-1的大小是固定的。容量池頁121-2可以包括一個或多個,茲盤槽121-3。容量池頁121-2的大小也是固定的。條帶塊RAID中的每一個磁盤槽131-3的大小是固定的并且與圖24中示出的高速緩沖存儲器槽112-20-1的大小相同。磁盤槽包括主數(shù)據(jù)或奇偶數(shù)據(jù)。圖20說明根據(jù)本發(fā)明的各方面的虛擬巻頁、虛擬巻槽及虛擬巻之間的關系。虛擬巻140從容量池分配容量,通過I/O操作主計算機300可以訪問虛擬巻140。虛擬巻包括虛擬巻槽140-2。一個或多個虛擬巻槽形成虛擬巻頁140-1。虛擬巻槽140-2具有與高速緩沖存儲器槽112-20-1或i茲盤槽121-3相同的容量。圖21說明根據(jù)本發(fā)明各實施例的容量池管理表、容量池部件管理表、容量池組塊管理表、RAID組管理表及容量池組塊之間的關系。容量池管理表112-14、容量池部件管理表112-15、容量池組塊管理表112-16、RAID組管理表112-11及容量池組塊121-1之間的關系被示出。如所示出的,容量池管理表112-14根據(jù)RAID組列表112-14-02參照容量池部件管理表112-15。容量池部件管理表112-15根據(jù)容量池號碼112-15-02參照容量池管理表112-14。容量池部件管理表112-15根據(jù)空閑組塊隊列112-15-03、已使用的組塊隊列112-15-04及忽略的組塊隊列112-15-05來參照容量池組塊管理表112-16。容量池部件管理表112-15和RAID組管理表112-11之間的關系是固定的。容量池組塊121-1和容量池組塊管理表112-16之間的關系也是固定的。在用于將一個組塊指向另一個組塊的容量池組塊管理表112-16內使用已刪除的組塊隊列112-16-04。圖22說明根據(jù)本發(fā)明的各方面的虛擬巻、虛擬巻頁、虛擬巻管理表、虛擬巻頁管理表、容量池管理表、容量池組塊、容量池頁及容量池部件管理表之間的關系。虛擬巻管理表112-12根據(jù)容量池號碼信息112-12-03參照容量池管理表112-14。虛擬巻管理表112-12根據(jù)當前組塊信息112-12-05參照已分配的容量池組塊121-1。容量池管理表112-14根據(jù)RAID組列表112-14-02參照磁盤或外部巻621上的RAID組。虛擬巻頁管理表112-13根據(jù)容量池頁地址112-13-03和容量池頁大小參照容量池頁121-2。虛擬巻140和虛擬巻管理表112-12之間的關系是固定的。虛擬巻管理表112-12和虛擬巻頁管理表112-13之間的關系是固定的。虛擬巻頁140-1和虛擬巻頁管理表112-13之間的關系是固定的。圖23說明根據(jù)本發(fā)明各方面的虛擬巻、虛擬巻頁、容量池組塊、容量池頁及容量池頁管理表之間的關系。虛擬巻140、虛擬巻頁140-1、容量池組塊121-1、容量池頁121-2及容量池頁管理表112-17之間的關系被示出。容量池組塊管理表112-16根據(jù)虛擬巻號碼112-16-02參照虛擬巻140。容量池頁管理表112-17根據(jù)虛擬巻頁號碼112-17-02參照虛擬巻頁140-1。容量池組塊121-1和量池組塊管理表112-16之間的關系是固定的。根據(jù)容量池頁管理表的條目將容量池頁管理表112-17和容量池頁121-2相聯(lián)系是可能的。圖24說明根據(jù)本發(fā)明各方面的高速緩沖存儲器槽、高速緩沖存儲器管理表和磁盤槽之間的關系。高速緩沖存儲器槽112-20-1、高速緩沖存儲器管理表112-18和磁盤槽121-3之間的關系被示出。高速緩沖存儲器管理表112-18根據(jù)磁盤號碼112-18-02和磁盤地址112-18-03參照磁盤槽121-3。高速緩沖存儲器管理表112-18和高速緩沖存儲器槽112-20-1之間的關系是固定的。圖25說明根據(jù)本發(fā)明的各實施例的兩個存儲子系統(tǒng)的虛擬巻和對管理表之間的關系。根據(jù)對管理表112-19來建立屬于一個存儲子系統(tǒng)100的虛擬巻140和在兩個存儲子系統(tǒng)IOO、400之一上的虛擬巻之間的關系。對管理表112-19根據(jù)每一個子系統(tǒng)的對管理表112-19的被配對的子系統(tǒng)112-19-02和配對的巻112-19-03欄中的值來將一個存儲子系統(tǒng)100的虛擬巻140與另一個存儲子系統(tǒng)400的虛擬巻140相聯(lián)系。圖26說明根據(jù)本發(fā)明各方面的虛擬巻、RAID組和外部巻之間的關系。虛擬巻140、RAID組和外部巻621之間的關系被示出。通過將存儲子系統(tǒng)100的一個虛擬巻140和存儲子系統(tǒng)400的一個虛擬巻140相聯(lián)系來建立一種類型的配對。在另一種類型的配對中,存儲子系統(tǒng)IOO的虛擬巻頁140-1參照屬于外部巻621或相同子系統(tǒng)100的》茲盤121的容量池頁121-2。存儲子系統(tǒng)400的虛擬巻頁140-1參照屬于外部巻621或相同存儲子系統(tǒng)400的磁盤121的容量池頁121-2。由存儲子系統(tǒng)100、400的被配對的虛擬巻140共享外部巻621的相同的容量池頁121-1。因此,可以在存儲子系統(tǒng)和每一個存儲子系統(tǒng)的虛擬巻之間對虛擬巻140配對。但是,每一個存儲子系統(tǒng)的虛擬巻僅與相同的存儲子系統(tǒng)的磁盤配對。圖27到38示出由存儲子系統(tǒng)100的CPU111或存儲子系統(tǒng)400的CPU411執(zhí)行的方法的流程圖。雖然關于存儲子系統(tǒng)100的CPU111說明下面的特性,但是這些特性同樣適用于存儲子系統(tǒng)400。圖27說明根據(jù)本發(fā)明的各方面的執(zhí)行巻操作等待程序的示例性方法。在圖27的流程圖中示出圖6的執(zhí)行巻操作等待程序112-02-1的一種示例性方法。該方法開始于112-02-1-0。在112-02-1-1,該方法確定CPU是否已經(jīng)接收到巻操作請求。如果CPU已經(jīng)接收到巻操作請求,則該方法前進到步驟112-02-1-2。如果CPU111沒有接收到該請求,則該方法重復該確定步驟112-02-1-1。在112-02-1-2,該方法確定接收到的請求是否是"對生成"請求。如果已經(jīng)接收到"對生成"請求,則該方法調用對生成程序112-02-1-2并在112-02-1-3執(zhí)行該程序。在步驟112-02-1-3之后,該方法返回到步驟112-02-1-1以等待下一個請求。如果接收到的請求不是"對生成"請求,則然后在112-02-1-4,該方法確定所接收到的消息是否是"對刪除"消息。如果在CPUlll接收到"對刪除"請求,則該方法前進到步驟112-02-1-5。在112-02-1-5,CPU111調用對刪除程序112-02-3以破壞在兩個或多個存儲子系統(tǒng)之間的現(xiàn)有的虛擬巻配對。如果沒有接收到"對刪除,,請求,則該方法返回到步驟112-02-1-1。同樣,在步驟112-02-1-5之后,該方法返回到步驟112-02-1-1。圖28說明根據(jù)本發(fā)明的各方面執(zhí)行對生成程序的示例性方法。在圖28的流程圖中示出執(zhí)行圖6的對生成程序112-02-2的一個示例性方法??梢杂扇我淮鎯ψ酉到y(tǒng)的CPU執(zhí)行該方法。該方法開始于112-02-2-0。在112-02-2-1,該方法確定指定的虛擬巻140是否已經(jīng)與其它巻配對。如果圖17的被配對的子系統(tǒng)信息112-19-02、被配對的巻號碼112-19-03及對狀態(tài)信息112-19-04被設置為"N/A",則虛擬巻還沒有被配對。如果對于該巻來說對存在,則該方法確定在112-02-2-11錯誤發(fā)生。如果對不存在,則該方法前進到步驟112-02-2-2,在112-02-2-2檢查指定的虛擬巻140的狀態(tài)。這里,該方法確定指定巻的需要的狀態(tài)是否是主。如果該狀態(tài)被確定為主,則該方法前進到112-02-2-3,在112-02-2-3,對其它存儲子系統(tǒng)發(fā)送"對生成"請求。在112-02-2-3,將"對生成"請求消息發(fā)送到其它存儲子系統(tǒng)以請求與主狀態(tài)的指定的巻建立配對關系。在112-02-2-4,該方法等待CPU以接收返回的消息。在112-02-2-5,檢查返回的消息。如果消息是"ok",則配對信息已經(jīng)被成功設置并且該方法前進到步驟112-02-2-6。在112-02-2-6,該方法根據(jù)對管理表112-19中的信息設置指定的虛擬巻140的信息,對管理表112-19包括被配對的自系統(tǒng)信息反饋112-19-02、;陂配對的巻號碼信息112-19-03及指定的虛擬巻的主或從狀態(tài)112-19-04。然后該方法前進到步驟112-02-2-7,在步驟112-02-2-7,"完成(done)"消息被發(fā)送到"對生成"請求的發(fā)出者。通常由主計算機300、管理終端130或管理終端430發(fā)出"對生成"請求。在112-02-2-10,對生成程序112-02-2結束。如果在112-02-2-2指定虛擬巻的狀態(tài)沒有被確定為主,則該狀態(tài)為從,并且該方法前進到112-02-2-8。在112-02-2-8,該方法根據(jù)在對管理表112-19中關于指定的虛擬巻140的信息(例如被配對的子系統(tǒng)信息112-19-02、被配對的巻號碼信息112-19-03及狀態(tài)112-19-04)來設置指定的虛擬巻140及其對之間的配對關系。在112-02-2-9,CPU將"OK"消息發(fā)送到"對生成"請求的發(fā)出者。"對生成"請求的發(fā)出者可以是包括"主,,巻的其它存儲子系統(tǒng)。該步驟之后,在112-02-2-10對生成程序112-02-2結束。圖29說明根據(jù)本發(fā)明各方面的執(zhí)行對刪除程序的示例性方法。在圖29的流程圖中示出執(zhí)行圖6的對刪除程序112-02-3的一個示例性方法。可由任一存儲子系統(tǒng)的CPU執(zhí)行該方法。該方法開始于112-02-3-0。在112-02-3-1,該方法確定指定的虛擬巻是否已經(jīng)以主/從關于與其它巻配對。如果圖17的被配對的子系統(tǒng)信息112-19-02、被配對的巻號碼112-19-03及對狀態(tài)信息112-19-04被設置為"N/A",則虛擬巻還沒有被配對。如果對于該巻來說對不存在,則由于不存在要刪除的對,因此該方法確定在112-02-3-11錯誤已經(jīng)發(fā)生。如果對存在,則該方法前進到步28驟112-02-3-2,在112-02-3-2檢查指定的虛擬巻140的狀態(tài)。這里,該方法確定指定巻的需要的狀態(tài)是否是主。如果該狀態(tài)被確定為主,則該方法前進到112-02-3-3,在112-02-2-3,對其它存儲子系統(tǒng)發(fā)送"對刪除"請求以請求解除指定的巻及其從巻之間的配對關系。在112-02-3-4,該方法等待CPU以接收返回的消息。在112-02-3-5,檢查返回的消息。如果消息是"ok",則配對信息已經(jīng)被成功移除,并且該方法前進到步驟112-02-3-6。在112-02-3-6,該方法從對管理表112-19中移除關于對的信息,對管理表112-19包括被配對的自系統(tǒng)信息反饋112-19-02、被配對的巻號碼信息112-19-03及指定的虛擬巻的主或>^人狀態(tài)112-19-04。然后該方法前進到步驟112-02-3-7,在步驟112-02-3-7,"完成(done)"消息^J^送到"對刪除"請求的發(fā)出者。通常由主計算機300、管理終端130或管理終端430發(fā)出"對刪除,,請求。在112-02-3-10,對刪除程序112-02-2結束。如果在112-02-3-2指定虛擬巻的狀態(tài)沒有^皮確定為主,則該狀態(tài)為從,并且該方法前進到112-02-3-8。在112-02-3-8,該方法從對管理表112-19中移除指定的虛擬巻140及其對之間的配對關系。該步驟包括從對管理表112-19中移除被配對的子系統(tǒng)信息112-19-02、被配對的巻號碼信息112-19-03及狀態(tài)112-19-04。在112-02-3-9,CPU將"OK"消息發(fā)送到"對刪除"請求的發(fā)出者。"對刪除"請求的發(fā)出者可以是包括"主,,巻的其它存儲子系統(tǒng)。該步驟之后,在112-02-3-10對刪除程序112-02-3結束。圖30說明根據(jù)本發(fā)明各方面的執(zhí)行槽操作程序的示例性方法。在圖30的流程圖中示出執(zhí)行圖4和圖5的槽搮:作程序112-09的一個示例性方法。與圖26和27示出的方法相同,可由任一存儲子系統(tǒng)的CPU執(zhí)行該方法。該方法開始于112-09-0。在112-09-1,該方法確定槽操作請求是否已經(jīng)被接收到。如果已經(jīng)接收到該請求,則該方法前進到步驟112-09-2。如果CPU111沒有接收到該請求,則該方法重復該步驟112-09-1。在步驟112-09-2,該方法確定所請求的操作的類型。如果CPU111已經(jīng)接收到"槽鎖定"請求,則該方法前進到步驟112-09-3。如果CPUlll沒有接收到"槽鎖定"請求,則該方法前進到步驟112-09-4。在112-09-3,該方法通過將"鎖定"狀態(tài)寫入高速緩沖存儲器管理表112-18中的鎖定狀態(tài)欄112-18-05來試圖鎖定槽。但是,如果狀態(tài)已經(jīng)祐:設置為"鎖定",則無法完成該步驟。當狀態(tài)是"鎖定"時,CPU111等待直到狀態(tài)變?yōu)?解鎖"。在CPU結束寫"鎖定"狀態(tài)之后,該方法前進到步驟112-09-6,在步驟112-09-6將確認發(fā)送到請求發(fā)出者。該步驟之后,在112-09-7槽操作程序結束。在112-09-4,該方法檢查已接收到的操作請求來確定"槽解鎖"請求是否已經(jīng)被接收到。如果該請求不是"槽解鎖"請求,則該方法返回到112-09-1來檢查下一個請求。如果該請求是"槽解鎖"請求,則該方法前進到112-09-5。在112-09-5,該方法將"解鎖"狀態(tài)寫入高速緩沖存儲器管理表112-18中的鎖定狀態(tài)欄112-18-05。在將"解鎖"狀態(tài)寫入該表完成之后,該方法前進到步驟112-09-6,在步驟112-09-6,確認被返回到請求發(fā)送者,在112-09-7槽操作程序結束。圖31說明根據(jù)本發(fā)明各方面的執(zhí)行寫1/0操作程序的示例性方法。在圖31的流程圖中示出執(zhí)行圖7的寫1/0操作程序112-04-1的一個示例性方法??捎扇我淮鎯ψ酉到y(tǒng)的CPU執(zhí)行該方法。該方法開始于112-04-1-0。在112-04-1-1,該方法#:查所*接收到的請求是否是寫1/0請求。如果寫1/0請求沒有被接收到,則該方法重復步驟112-04-1-1。如果寫I/O請求被接收到,則該方法前進到步驟112-04-1-2。在112-04-1-2,該方法4僉查以確定發(fā)送寫1/O請求的發(fā)起者。主計算機300或存儲子系統(tǒng)100、400之一可以發(fā)送該請求。如果該請求是由主計算機300發(fā)送的,則該方法前進到112-04-1-5。如果該請求是由其它存儲子系統(tǒng)發(fā)送的,則該方法前進到112-04-1-3。如果該請求是由存儲子系統(tǒng)之一發(fā)送的,則在112-04-1-3,該方法通過參照對狀態(tài)信息來檢查該存儲子系統(tǒng)的狀態(tài)。如果該狀態(tài)是"主"或"N/A",則該方法前進到步驟112-04-1-5。如果該狀態(tài)是"從",則該方法前進到步驟112-04-1-4。在112-04-1-4,該方法復制并發(fā)送寫I/O到在其它存儲子系統(tǒng)中是從的被配對的虛擬巻。通過參照圖17中所示的對管理表112-19中的被配對的巻子系統(tǒng)欄112-19-02及被配對的巻號碼112-19-03來確定寫I/O目標。然后,該方法前進到步驟112-04-1-5。如果該請求的發(fā)起者是主計算機300或具有主虛擬巻狀態(tài)的存儲子系統(tǒng)之一,則該方法直接到達112-04-1-5。如果該請求的發(fā)起者是具有從虛擬巻狀態(tài)的存儲子系統(tǒng)之一,則該方法在達到112-04-1-5之前經(jīng)過112-04-1-4。在112-04-1-5,該方法搜索高速緩沖存儲器管理表112-18以尋找與用于I/0寫數(shù)據(jù)的虛擬巻相關的高速緩沖存儲器槽112-20-1。這些高速緩沖存儲器槽被鏈接到"空閑"、"干凈"或"贓"隊列。如果CPU找到空閑的高速緩沖存儲器槽112-20-1,則然后該方法前進到步驟112-04-1-7。如果CPU沒有找到空閑的高速緩沖存儲器槽112-20-1,則該方法前進到步驟112-04-1-6。在112-04-1-6,該方法獲得被鏈接到在圖18和24中示出的高速緩沖存儲器管理表112-18的"空閑"隊列的高速緩沖存儲器槽112-20-1,然后該方法前進到步驟112-04-1-7。在112-04-1-7,該方法通過將"鎖定"狀態(tài)寫到被鏈接到所選擇的槽的鎖定狀態(tài)欄112-1-8-05來試圖鎖定該槽。當狀態(tài)是"鎖定"時,CPU無法重寫該槽,并等待直到狀態(tài)變?yōu)?解鎖"。在寫"鎖定"狀態(tài)結束之后,CPU前進到步驟112-04-1-8。在112-04-1-8,該方法將寫I/O數(shù)據(jù)從主計算機300或從其它存儲子系統(tǒng)傳送到高速緩沖存儲器槽112-20-1。在112-04-1-9,該方法將"解鎖"狀態(tài)寫入鎖定狀態(tài)欄112-18-05。在CPU完成寫"解鎖"之后,該方法前進到112-04-1-10。在112-04-1-10,該方法可以檢查一次或多次來確定發(fā)送寫1/0請求的發(fā)起者??蛇x擇地,該信息可以被保存并對于CPU是可用的。如果主計算機300發(fā)送了該請求,則該方法返回到112-04-1-1。如果存儲子系統(tǒng)之一發(fā)送了該請求,則該方法前進到112-04-1-11。在112-04-1-11,該方法通過參照圖17所示的對管理表112-19的對狀態(tài)欄來檢查其數(shù)據(jù)將被寫入高速緩沖存儲器槽的虛擬巻的狀態(tài)。如果狀態(tài)被ik置為"從"或"N/A",則該方法返回到步驟112-04-1-1。如果狀態(tài)是"主",則該方法前進到112-04-1-12。在112-04-1-12,該方法將寫I/O復制并發(fā)送到的其它存儲子系統(tǒng)中的被配對的虛擬巻(其應該是從巻)。該方法通過參照對管理表格112-19的被配對的巻子系統(tǒng)欄112-19-02和被配對的巻號碼欄112-19-03來尋找寫I/O目標。然后,該方法返回到112-04-1-1。圖32說明根據(jù)本發(fā)明各方面的執(zhí)行讀1/CM喿作程序的示例性方法。在圖32的流程圖中示出執(zhí)行圖7的讀I/O操作程序112-04-2的一個示例性方法??捎扇我淮鎯ψ酉到y(tǒng)的CPU執(zhí)行該方法。該方法開始于112-04-2-0。在112-04-2-1,該方法確定是否已經(jīng)接收到的讀I/0請求。如果讀請求沒有被接收到,則該方法重復步驟112-04-2-1。如果讀請求被z接收到,則該方法前進到步驟112-04-2-2。在112-04-2-2,該方法搜索鏈接到"干凈,,或"贓"隊列的高速緩沖存儲器管理表112-18以尋找該I/O請求的高速緩沖存儲器槽112-18-1。如果CPU找到相應頂?shù)母咚倬彌_存儲器槽112-18-1,則然后該方法前進到步驟112-04-2-6。如果CPU沒有找到相應的高速緩沖存儲器槽,則然后該方法前進到步驟112-04-2-3。在112-04-2-3,該方法尋找鏈接到高速緩沖存儲器管理表112-18的"空閑"隊列的高速緩沖存儲器槽112-20-1并前進到步驟112-04-2-4。在112-04-2-4,CPU搜索虛擬巻頁管理表112-13并尋找虛擬巻頁參照的容量池頁121-2。然后該方法前進到步驟112-04-2-5。在112-04-2-5,CPU調用高速緩沖存儲器升級程序112-05-2以將數(shù)據(jù)從磁盤槽121-3傳送到圖24所示的高速緩沖存儲器槽112-20-1。在112-04-2-5之后,該方法前進到112-04-2-6。在112-04-2-6,CPU111試圖將"鎖定"狀態(tài)寫入鏈接到所選擇的槽的鎖定狀態(tài)欄112-18-05。當該狀態(tài)是"鎖定"時,CPU111和CPU411不能重寫該槽并等待知道該狀態(tài)變?yōu)?解鎖"。在結束寫"鎖定"之后,該方法前進到步驟112-04-2-7。在112-04-2-7,CPU111將讀I/O數(shù)據(jù)從高速緩沖存儲器槽112-20-1傳送到主計算機300并前進到112-04-2-8。在112-04-2-8,CPU改變該槽的狀態(tài)以通過將"解鎖"狀態(tài)寫入鎖定狀態(tài)欄112-18-05來解鎖。在該方法解鎖該槽之后,返回112-04-2-1來等待下一個讀I/O操作。圖33A和圖33B示出根據(jù)本發(fā)明各方面的執(zhí)行容量池頁分配程序的示例性方法。在圖33A和圖33B的流程圖中示出執(zhí)行圖9的容量池頁分配程序112-08-1的一個示例性方法??捎扇我淮鎯ψ酉到y(tǒng)的CPU執(zhí)行該方法,該方法用于執(zhí)行容量池頁分配。該方法開始于112-08-1-0。在112-08-1-1,該方法通過參照對管理表112-19中的對狀態(tài)欄112-19-04來檢查虛擬巻140的狀態(tài)。如果該狀態(tài)是"主"或"N/A",則該方法前進到步驟112-08-1-5。如果該狀態(tài)是"從",則該方法前進到步驟112-08-1-2。在112-08-1-2,該方法發(fā)送請求到主巻所屬的存儲子系統(tǒng),該主巻尋找被參照的容量池頁。該方法通過參照對管理表112-19中的被配對的巻子系統(tǒng)欄112-19-02及被配對的巻號碼112-19-03確定存儲子系統(tǒng)。同樣地,該方法獲得關于虛擬巻頁和容量池頁之間的關系的信息。然后,該方法前進到112-08-1-3。在112-08-1-3,該方法通過參照圖IO的RAID組管理表中的RAID等級欄112-11-02來檢查該頁的源。如果在該表中,RAID等級的狀態(tài)被表示為"EXT",則該頁屬于外部巻,該方法前進到步驟112-08-1-5。否則,對于RAID等級欄中的其它條目,該頁屬于內部巻,該方法前進到步驟112-08-1-4。在112-08-1-4,該方法根據(jù)在虛擬巻頁管理表112-13和容量池頁管理表112-17中提供的信息來設置虛擬巻頁和容量池頁之間的關系。該步驟之后,該方法結束,在112-08-1-12,容量池管理程序112-08-1的CPU的執(zhí)行停止。如果參照頁的存儲子系統(tǒng)的狀態(tài)被確定為"主"或"N/A",則該方法前進到步驟112-08-1-5。在112-08-1-5,該方法確定外部巻是否與使用RAID組中的信息的容量池組塊和由圖11的虛擬巻管理表112-12的容量池欄112-12-05當前使用的容量池組塊有關。如果當前組塊欄112-12-05的條目是"N/A",則該方法前進到步驟112-08-1-7。如果當前組塊欄112-12-05具有除了"N/A"的條目,則該方法前進到步璩112-08-1-6。在112-08-1-6,該方法檢查前述容量池頁中的空閑頁大小。如果在組塊中發(fā)現(xiàn)空閑頁,則該方法前進到步驟112-08-1-8。如果在組塊中沒有發(fā)現(xiàn)空閑頁,則該方法前進到步驟112-08-1-7。在112-08-1-7,該方法通過移動并將當前組塊欄112-12-05參照的容量池頁管理表112-17和在圖16的容量池部件管理表112-15中使用的組塊隊列索引112-15-04相關系來解除舊的容量池組塊。然后,該方法前進到步驟112-08-1-8。在112-08-1-8,該方法將容量池部件管理表112-15的空閑組塊隊列索引112-15-03正在參照的容量池頁管理表112-17連接到當前的組塊欄112-12-05。然后,該方法前進到步驟112-08-1-9。在112-08-1-9,該方法通過讀取RAID組管理表112-11的RAID等級欄112-11-02來檢查新的容量池組塊是否屬于例如外部巻621等共享的外部巻。如果RAID等級欄中的狀態(tài)沒有被標為"EXT",則該方法前進到步驟112-08-1-11。如果RAID等級欄中的狀態(tài)是"EXT",則該方法前進到步驟112-08-1-10。在112-08-1-10,該方法將"組塊解除"請求消息發(fā)送到其它存儲子系統(tǒng),這些子系統(tǒng)共享用于新的容量池組塊的相同的外部巻。可以通過廣播發(fā)送該請求消息。在112-08-1-10之后,如果RAID等級欄中的狀態(tài)沒有被標為"EXT",則該方法前進到步驟112-08-1-11。在112-08-1-11,該方法通過設置圖12的虛擬巻頁管理表112-13和圖17的容量池頁管理表112-17的虛擬巻頁和容量池頁之間的關系來將最近獲得的容量池頁分配給虛擬巻頁。該步驟之后,在112-08-1-12,該方法和容量池管理程序112-08-1的執(zhí)行結束。圖34說明根據(jù)本發(fā)明各方面的執(zhí)行高速緩沖存儲器升級程序的示例性方法。在圖34的流程圖中示出執(zhí)行圖8的高速緩沖存儲器升級程序112-05-2的一個示例性方法。可由任一存儲子系統(tǒng)的CPU執(zhí)行該方法。該方法開始于112-05-2-0。高速緩沖存儲器升級方法可以包括由CPU執(zhí)行的高速緩沖存儲器升級程序112-05-2。在112-05-2-1,該方法如圖24所示將槽數(shù)據(jù)從磁盤槽121-3傳送到高速緩沖存儲器槽112-20-1。在112-05-2-2,高速緩沖存儲器升級程序。圖35說明根據(jù)本發(fā)明各方面的執(zhí)行磁盤刷新程序的示例性方法。在圖35的流程圖中示出執(zhí)行圖8的磁盤刷新程序112-05-1的一個示例性方法??捎扇我淮鎯ψ酉到y(tǒng)的CPU執(zhí)行該方法。該方法開始于112-05-1-0。磁盤刷新方法可以包括由CPU執(zhí)行的磁盤刷新程序112-05-1。在112-05-1-1,該方法搜索用于高速緩沖存儲器槽的高速緩沖存儲器管理表112-18的"臟,,隊列。如果找到該槽,則該方法獲得是臟隊列槽的臟隊列的第一個槽,并且該方法前進到112畫05-l國2。在112-05-1-2,該方法調用高速緩沖存儲器降級程序112-05-3并將臟的高速緩沖存儲器槽降級。該步驟之后,該方法返回到步驟112-05-1-1,在112-05-1-1繼續(xù)搜索臟的高速緩沖存儲器槽。同樣,如果在112-05-1-1沒有找到臟的高速緩沖存儲器槽,則該方法返回到112-05-1-1的相同步驟以繼續(xù)尋找該槽。34圖36、圖37及圖38示出根據(jù)本發(fā)明各方面的執(zhí)行高速緩沖存儲器降級程序的示例性方法。在圖34A、34B及34C的流程圖中示出執(zhí)行圖8的高速緩沖存儲器降級程序112-05-3的一個示例性方法??捎扇我淮鎯ψ酉到y(tǒng)的CPU執(zhí)行該方法。該方法開始于112-05-3-0。可以通過由CPU執(zhí)行高速緩沖存儲器降級程序112-05-3來執(zhí)行示出的該方法。在112-05-3-1,該方法通過參照圖17的對管理表112-19的狀態(tài)欄112-19-04來檢查虛擬巻140的狀態(tài)。如果該狀態(tài)是"主"或"N/A",則該方法前進到圖37的步驟112-08-3-8。如果該狀態(tài)是"從",則該方法前進到步驟112-05-3-2。在112-05-3-2,該方法檢查有關于包括要被降級的槽的虛擬巻頁的容量池分配的狀態(tài)。該方法從圖12的虛擬巻頁管理表112-13中讀取相關的RAID組號碼112-13-02及容量池頁地址112-13-03。如果該參數(shù)不是"N/A",則該方法前進到步驟112-05-3-5。如果該參數(shù)是"N/A",則該方法前進到步驟112-05-3-3。在112-05-3-3,該方法調用容量池頁分配程序112-08-1以將新的容量池頁分配給該槽,并且該方法前進到步驟112-05-3-4。在112-05-3-4,該方法將"0"數(shù)據(jù)填充到最近分配的頁的槽以將該頁格式化。該頁的凈皮寫入的區(qū)沒有被重寫。然后該方法前進到112-05-3-5。在112-05-3-5,該方法試圖將"鎖定"狀態(tài)寫入與選擇的槽相關的鎖定狀態(tài)欄112-18-05。從而鎖定該槽。當該狀態(tài)是"鎖定"時,CPU不能在該槽重寫數(shù)據(jù)并等待直到該狀態(tài)變?yōu)?解鎖"。在該方法完成寫"鎖定"狀態(tài)之后,該方法前進到步驟112-05-3-6。在112-05-3-6,該方法將槽數(shù)據(jù)從高速緩沖存儲器槽121-20-1傳送到磁盤槽121-3,并且該方法前進到步驟112-05-3-7。在112-05-3-7,該方法將"解鎖"狀態(tài)寫入鎖定狀態(tài)欄112-18-05。在寫入"解鎖"完成之后,在112-05-3-30高速緩沖存儲器降級程序結束。如果該巻的狀態(tài)是從,則該方法從112-05-3-1前進到112-05-3-8,在112-05-3-8該方法檢查關于包括該槽的虛擬巻頁的容量池分配的狀態(tài)。該方法讀取虛擬巻頁管理表112-13中的相關的RAID組號碼112-13-02及容量池頁地址112-13-03。如果該參數(shù)是"N/A",則該方法前進到步驟112-05-3-20。如果該參數(shù)不是"N/A",則存在與該虛擬巻中的槽相關的容量池頁,并且該方法前進到步驟112-05-3-10。在112-05-3-10,該方法確定在主巻的存儲子系統(tǒng)中的容量池頁的分配狀態(tài)。這里,該方法通過參照圖17的對管理表112-19的被配對巻子系統(tǒng)欄112-19-02和被配對的巻號碼欄112-19-03欄來確定存儲子系統(tǒng),并且該方法獲得虛擬巻頁和容量池頁之間的關系。然后該方法前進到112-05-3-11。在112-05-3-11該方法通過從虛擬巻管理表中讀取相關的RAID組號碼112-13-02和容量池頁地址112-13-03來檢查包括該槽的虛擬巻頁的容量池分配的狀態(tài)。如果該參數(shù)是"N/A",則不存在已分配給主槽的容量池頁,并且該方法前進到步驟112-05-3-12。在112-05-3-12,該方法休眠合適長度的時間以等待完成主的分配,然后該方法返回步驟112-05-3-10。如果該參數(shù)不是"N/A",則存在已分配給主槽的容量池頁,并且該方法前進到步驟112-05-3-13。在112-05-3-13,該方法根據(jù)虛擬巻頁管理表112-13和容量池頁管理表112-17中的信息來設置虛擬巻頁和主巻的容量池頁之間的關系。然后,該方法前進到步驟112-05-3-20。在112-05-3-20,該方法將"槽鎖定"消息發(fā)送到主巻的存儲子系統(tǒng)。在該方法接收到消息已經(jīng)被接收到的確認之后,該方法前進到步驟112-05-3-21。在112-05-3-21,該方法詢問關于主巻的槽狀態(tài)。在該方法4^收到應答之后,該方法前進到步驟112-05-3-22。在112-05-3-22,該方法檢查主巻的槽狀態(tài)。如果該狀態(tài)是"臟",則該方法前進到步驟112-05-3-23。如果該狀態(tài)不是"臟",則該方法前進到步驟112-05-3-27。在112-05-3-23,該方法試圖通過將"鎖定"狀態(tài)寫入與高速緩沖存儲器管理表中的所選擇的槽相關的鎖定狀態(tài)欄112-18-05來鎖定該槽。當該狀態(tài)是"鎖定"時,CPU不能通過另一個"鎖定"命令重寫該槽。在CPU已經(jīng)完成寫入"鎖定"狀態(tài)之后,該方法前進到步驟112-05-3-24。在112-05-3-24,該方法將從的槽狀態(tài)改變?yōu)?干凈,,,并且該方法前進到步驟112-05-3-25。在112-05-3-25,該方法將"解鎖"狀態(tài)寫入高速緩沖存儲器管理表中的鎖定狀態(tài)欄112-18-05,并且該方法前進到步驟112-05-3-26。在112-05-3-26,該方法將"槽解鎖"消息發(fā)送到主巻的存儲子.系統(tǒng)。在該方法接收到確認之后,在112-05-3-30,該方法結束高速緩沖存儲器降級程序112-05-3。如果主槽狀態(tài)是"臟",則在112-05-3-27該方法試圖將"鎖定"狀態(tài)寫入與所選擇的槽相關的鎖定狀態(tài)欄112-18-05。當該狀態(tài)是"鎖定"時,CPU不能通過另一個"鎖定"命令重寫該狀態(tài),并且CPU等待直到該狀態(tài)變?yōu)?解鎖"。在完成寫入"鎖定"狀態(tài)之后,CPU前進到步驟112-05-3-28。在112-05-3-28,該方法將槽數(shù)據(jù)從高速緩沖存儲器槽112-20-1傳送到磁盤槽121-3。在完成該傳送之后,該方法將高速緩沖存儲器槽112-20-1與圖18的高速緩沖存儲器管理表112-18中的隊列索引指針112-18-12的"干凈"隊列相關聯(lián)。然后,該方法前進到步驟112-05-3-26,在將解鎖請求發(fā)送到主巻的存儲子系統(tǒng)之后,在112-05-3-30該方法結束。圖39說明根據(jù)本發(fā)明各方面的執(zhí)行容量池回收程序的示例性方法。在圖39的流程圖中示出執(zhí)行圖9的容量池回收程序112-08-2的一個示例性方法??捎扇我淮鎯ψ酉到y(tǒng)的CPU執(zhí)行該方法。該方法開始于112-08-2-0。在112-08-2-1,該方法搜索容量池組塊管理表112-16來尋找與由容量池部件管理表112-15索引的被使用的組塊隊列相關的組塊。該方法參照已刪除的容量欄112-16-04并檢查與該組塊相應的值是否大于0,從而該方法將該組塊當作"部分被刪除的組塊"。如果該方法沒有找到"部分被刪除的組塊",則該方法重復步驟112-08-2-1。如果該方法找到部分被刪除的組塊,則該方法前進到步驟112-08-2-2。在112-08-2-2,該方法訪問與由容量池部件管理表112-15索引的"空閑組塊"隊列相關的容量池組塊管理表112-16以分配新的容量池組塊121-1替代部分被刪除的組塊。然后,該方法前進到步驟112-08-2-3。在112-08-2-3,該方法使指針清零以在步驟112-08-2-4和步驟112-08-2-7之間重復。為了使指針清零,該方法將指針A設置到當前分配的組塊的第一個槽并將指針B設置到最近分配的組塊的第一個槽。然后,該方法前進到步-驟112-08-2-4。在步驟112-08-2-4,該方法確定槽是否處于組塊的已刪除的頁。為了進行該確定,該方法讀取容量池頁管理表112-17、從容量池頁索引112-17-1來計算頁的偏移量并檢查虛擬巻頁號碼112-17-02。如果虛擬巻頁號碼112-17-02是"空",則該方法前進到112-08-2-6。如果虛擬巻頁號碼112-17-02不是"空",則該方法前進到112-08-2-5。在112-08-2-5,該方法將數(shù)據(jù)從由指針A指示的槽復制到由指針B指示的槽。該方法使指針B前進到最近分配的組塊的下一37個槽。然后該方法前進到步驟112-08-2-6。在112-08-2-6,該方法斥企查指針A。如果指針A已經(jīng)到達當前組塊的最后一個槽,則該方法前進到步驟112-08-2-8。如果指針A還沒有到達當前組塊的最后一個槽,則該方法前進到步驟112-08-2-7。在112-08-2-7,該方法使指針A前進到當前組塊的下一個槽。然后該方法返回到步驟112-08-2-4以檢查下一個槽。如果在112-08-2-6指針A已經(jīng)到達組塊的底端,則該方法前進到112-08-2-8。在112-08-2-8,該方法存儲已被復制到容量池頁管理表112-17的槽的虛擬巻頁140-1地址,并改變虛擬巻頁管理表以包括最近復制的容量池頁121-1地址和大小。然后,該方法前進到步驟112-08-2-9。在112-08-2-9,該方法將當前組塊(該組塊是已被找到的部分被刪除的組塊)設置到由容量池部件管理表112-15索引的"空閑組塊"隊列。然后,該方法返回到步驟112-08-2-1。圖40說明根據(jù)本發(fā)明各方面的執(zhí)行容量池組塊解除程序的示例性方法。在圖40的流程圖中示出執(zhí)行圖9的容量池組塊解除程序112-08-3的一個示例性方法??捎扇我淮鎯ψ酉到y(tǒng)的CPU執(zhí)行該方法。該方法開始于112-08-3-0。在112-08-3-1,該方法檢查是否已經(jīng)接收到"組塊解除"操作請求。如果沒有收到該請求,則該方法重復步驟112-08-3-1。如果已經(jīng)收到該種請求,則該方法前進到步驟112-08-3-2。在112-08-3-2,該方法搜索用于虛擬巻的容量池組塊管理表112-16,該虛擬巻與由容量池部件管理表112-15索引的"空閑組塊"隊列相關。該方法將從容量池組塊管理表112-16獲得的目標虛擬巻從"空閑組塊"隊列發(fā)送到4皮排除的組塊"隊列并前進到步驟112-08-3-3。在112-08-3-3,該方法對來自存儲子系統(tǒng)的"解除組塊"操作請求返回確認。然后,該方法返回步驟112-08-3-1。圖41、圖42圖43及圖44示出對主和從巻的寫I/O和降級操作的時序。在這些圖中,存儲子系統(tǒng)100的虛擬巻140在"主"狀態(tài)下工作并被參考為140m,存儲子系統(tǒng)400的虛擬巻140在"從"狀態(tài)下工作并被參考為140s。在這些圖中,圖1的系統(tǒng)被簡化以示出主計算機300、存儲子系統(tǒng)100(400)及外部巻621。作為140m和140s示出主和從虛擬巻。除了如S1-1所示出的步驟之外,相似地,在緊挨著箭頭的圓圈中的號碼也示出正在執(zhí)行的操作的時序。圖41提供根據(jù)本發(fā)明的各方面的對主巻寫I/O的時序。圖41示出的時序相應于寫1/0操作程序112-04-1。在Sl-l,主計算機300發(fā)送寫I/O請求和將要寫入虛擬巻140m的數(shù)據(jù)。存儲子系統(tǒng)100將寫I/O數(shù)據(jù)存儲到它的高速緩沖存儲器槽中。當該操作進行時,存儲子系統(tǒng)100鎖定該槽。在Sl-2,在將寫I/O數(shù)據(jù)存儲到存儲子系統(tǒng)100的高速緩沖存儲區(qū)之后,存儲子系統(tǒng)100復制該寫I/O請求以及將要被寫入存儲子系統(tǒng)400的虛擬巻140s的關聯(lián)數(shù)據(jù)。存儲子系統(tǒng)400將寫I/O數(shù)據(jù)存儲到它的高速緩沖存儲器槽中。當該操作進行時,存儲子系統(tǒng)400鎖定該槽。在Sl-3,在將寫I/0數(shù)據(jù)存儲到存儲子系統(tǒng)400的高速緩沖存儲區(qū)之后,存儲子系統(tǒng)400向存儲子系統(tǒng)100返回確認消息。在S1-4,在接收到來自存儲子系統(tǒng)400的前述確認之后,存儲子系統(tǒng)100將該確認返回到主計算才幾300。圖42提供根據(jù)本發(fā)明的各方面的對從巻寫I/O的時序。圖42示出的時序也相應于寫1/0操作程序112-04-1。在S2-l,主計算機300將寫1/0請求和相關的數(shù)據(jù)發(fā)送到虛擬巻140s。在S2-2,存儲子系統(tǒng)400將接收到的寫1/0請求和相關數(shù)據(jù)復制并發(fā)送到虛擬巻140m。存儲子系統(tǒng)100將寫I/0數(shù)據(jù)存儲到它的高速緩沖存儲器槽中。當該操作進行時,存儲子系統(tǒng)IOO鎖定該槽。在S2-3,在將寫1/0數(shù)據(jù)存儲到存儲子系統(tǒng)IOO的高速緩沖存儲器槽之后,存儲子系統(tǒng)100向存儲子系統(tǒng)400返回確認消息。在存儲子系統(tǒng)400接收到前述確認之后,存儲子系統(tǒng)400將寫1/0數(shù)據(jù)存儲到它的高速緩沖存儲器槽中。當該操作進行時,存儲子系統(tǒng)IOO鎖定該槽。在S2-4,在將寫I/O數(shù)據(jù)存儲到存儲子系統(tǒng)400的高速緩沖存儲器槽之后,存儲子系統(tǒng)400將確認返回到主計算機300。圖43提供根據(jù)本發(fā)明的各方面的從主巻對外部巻降級的時序。圖43示出的時序相應于高速緩沖存儲器降級程序112-05-3。在S3-1,存儲子系統(tǒng)100尋找位于未被分配的虛擬巻頁中的臟的高速緩沖存儲器槽,獲得外部巻621的新的容量池組塊以進行分配,并且將"頁解除"請求發(fā)送到存儲子系統(tǒng)400。在S3-2,存儲子系統(tǒng)400接收到該請求并進行搜索,并且將找到的是臟的的被共享的前述容量池組塊忽略。在忽略完成之后,存儲子系統(tǒng)400將確認返回到存儲子系統(tǒng)100。隨后,在S3-3,在存儲子系統(tǒng)100接收到忽略的確認之后,存儲子系統(tǒng)100從前述容量池組塊中將新的容量池頁分配給虛擬巻頁。然后,在分配操作結束之后,在S3-4,存儲子系統(tǒng)100將臟的高速緩沖存儲器槽傳送到外部巻621,在該操作過程中,存儲子系統(tǒng)100鎖定該槽。然后,在S3-5,在傳送臟的高速緩沖存儲器槽之后,存儲子系統(tǒng)100接收到來自外部巻621的確認。在接收到該確認之后,存儲子系統(tǒng)100將該槽狀態(tài)從臟改變?yōu)楦蓛?,并將該槽解鎖。圖44提供根據(jù)本發(fā)明的各方面的從從巻對外部巻降級的時序。圖44示出的時序也相應于高速緩沖存儲器降級程序112-05-3。在S4-l,存儲子系統(tǒng)400尋找臟的高速緩沖存儲器槽,該槽位于未被分配的虛擬巻頁中。存儲子系統(tǒng)400詢問存儲子系統(tǒng)100關于在虛擬巻140m上的容量池頁分配的狀態(tài)。在S4-2,該請求之后,存儲子系統(tǒng)100從容量池頁管理表中讀取虛擬巻頁和容量池頁之間的關系并將應答發(fā)送到存儲子系統(tǒng)400。在S4-3,接收到該應答之后,存儲子系統(tǒng)400將虛擬巻頁分配給虛擬巻140s上的相同的容量池頁。隨后在S4-4,存儲子系統(tǒng)400將"鎖定"請求消息發(fā)送到存儲子系統(tǒng)100。在S4-5,存儲子系統(tǒng)IOO接收到該消息并鎖定位于與虛擬巻140s的前述臟的槽相同的區(qū)的目標槽。鎖定該槽之后,存儲子系統(tǒng)100將確認及虛擬巻140m的槽狀態(tài)返回到存儲子系統(tǒng)400。在S4-6,在確認返回之后,如果虛擬巻140m的槽狀態(tài)是臟,則存儲子系統(tǒng)400將臟的高速緩沖存儲器槽傳送到外部巻621。在該操作過程中,存儲子系統(tǒng)100鎖定該槽。在S4-7,在傳送臟的高速緩沖存儲器槽之后,存儲子系統(tǒng)400接收到來自外部巻621的確認。在接收到該確認之后,存儲子系統(tǒng)IOO將槽狀態(tài)從臟改變?yōu)楦蓛?,并將該槽解鎖。圖45說明根據(jù)本發(fā)明的各方面的存儲系統(tǒng)。圖45所示的存儲系統(tǒng)與圖1所示的存儲系統(tǒng)相似,該系統(tǒng)也包括兩個或多個存儲子系統(tǒng)IOO、400及主計算機300。然而,代替外部巻621,圖45所示的存儲系統(tǒng)包括外部存儲子系統(tǒng)600。圖45所示的存儲系統(tǒng)還包括一個或多個存儲網(wǎng)絡200。存儲子系統(tǒng)100、400可以被直接地耦合在一起??梢灾苯踊蛲ㄟ^存儲網(wǎng)絡200將主計算機耦合到存儲子系統(tǒng)100、400??梢灾苯訉⑼獠看鎯ψ酉到y(tǒng)600耦合到存儲子系統(tǒng)100、400。圖46說明根據(jù)本發(fā)明的各方面的在存儲子系統(tǒng)100和400中存儲的另一容量池管理程序的示例性結構。容量池管理程序112-08的一個示例性結構包括容量池頁分配程序112-08-la、容量池回收程序112-08-2及容量池擴充(extension)程序112-08-3。當與圖9的容量池管理程序112-08相比較時,代替容量池頁分配程序112-08-1,圖46所示的程序包括容量池頁分配程序112-08-la。圖47A和圖47B示出根據(jù)本發(fā)明的各方面的執(zhí)行容量池頁分配的示例性方法。在圖52的流程圖中示出容量池管理分配程序112-08-la的示例性執(zhí)行??梢杂纱鎯ψ酉到y(tǒng)100和400的CPU111、411執(zhí)行該程序。該方法開始于112-08-la-0。在112-08-la-2,存儲子系統(tǒng)之一的CPU(例如CPU111)將"獲得頁分配信息"從存儲子系統(tǒng)IOO發(fā)送到外部存儲子系統(tǒng)600。頁分配信息有關于主巻的虛擬巻頁的分配。在CPU111接收到來自外部存儲子系統(tǒng)600的應答之后,該方法前進到112-08-la-3。在112-08-la-3,CPU111檢查該已經(jīng)從外部存儲子系統(tǒng)接收到的應答。如果該應答是"空閑",則被請求的頁不屬于外部存儲巻,并且CPUlll前進到步驟112-08-la-5。如果該應答是頁號碼和巻號碼,則被請求的頁已經(jīng)被分配給外部存儲系統(tǒng),并且CPU111前進到步驟112-08-la-4。在112-08-la-4,CPUlll根據(jù)虛擬巻頁管理表112-13a和容量池頁管理表112-17來設置虛擬巻頁和容量池頁之間的關系信息。該步驟之后,在112-08-la-12,CPUlll結束容量池頁分配程序112-08-la。當被請求的頁還沒有被分配給外部巻時,在步驟112-08-la-5,CPU111參照容量池頁管理表112-17列(該列被虛擬巻管理表112-05的容量池欄112-12-05當前正在使用的RAID組和組塊參照)以確定某一欄是否被分配給某一組塊。如果當前使用的組塊欄112-12-05是"N/A",則不存在分配給組塊的欄,并且CPU111前進到步驟112-08-la-8。如果當前使用的組塊欄112-12-05沒有被設置為"N/A",則該方法前進到步驟112-08-la-6。在112-08-la-6,CPUlll檢查在前述容量池頁中的空閑頁大小。如果存在可用的空閑頁,則該方法前進到步驟112-08-la-8。如果不存在可用的空閑頁,則該方法前進到步-驟112-08-la-7。在112-08-la-7,該方法通過將由當前正在使用的組塊欄112-12-05參照的容量池管理表112-17移動并耦合到容量池部件管理表112-15的被使用的組塊隊列索引112-15-04來解除舊的容量池組塊。然后,該方法運行到112醫(yī)08-la-8。在112-08-la-8,該方法通過將由空閑組塊隊列索引112-15-03指的容量池管理表112-17移動并連接到容量池部件管理表112-15的被使用的組塊隊列索引112-15-05來獲得新的容量池組塊。然后,該方法前進到步驟112-08-la-9。在112-08-la-9,CPU111通過讀取RAID等級欄112-11-02來檢查以確定新的容量池組塊是否屬于外部巻621。如果該狀態(tài)不是"EXT",則該方法前進到步驟112-08-la-ll。如果該狀態(tài)是"EXT",則新的容量池組塊不屬于外部巻621,并且該方法前進到步驟112-08-la-10。在112-08-la-10,該方法選擇新的組塊中的頁并將關于所選擇的頁的"頁分配"請求發(fā)送到外部存儲子系統(tǒng)。在CPU111接收到應答之后,該方法前進到步驟112-08-1a-12。在112-08-1a-12,CPUlll檢查所接收到的應答。如果該應答是"已經(jīng)分配",則該方法返回步驟112-08-la-10。如果該應答是"成功",則該方法返回步驟112-08-la-ll。在112-08-la-ll,CPU111設置虛擬巻頁管理表112-13和容量池頁管理表112-17中的虛擬巻頁和容量池頁之間的關系。該步驟之后,在112-08-la-ll,容量池頁分配程序112-08-la結束。圖48說明根據(jù)本發(fā)明的其它方面的外部存儲子系統(tǒng)。圖48中更具體地示出外部存儲子系統(tǒng)600。外部存儲子系統(tǒng)600包括存儲控制器610、磁盤單元620及管理終端630。存儲控制器610包括用于除了已存儲的數(shù)據(jù)還存儲程序和表格的存儲器612,用于執(zhí)行存儲器中存儲的程序的CPU611,用于耦合到磁盤單元621a的磁盤接口(例如SCSII/F)616,用于將父存儲接口615耦合到存儲子系統(tǒng)之一上的外部存儲接口118、418的父存儲接口(例如光線通道I/F)615、617,以及用于將磁盤控制器耦合到管理終端630上的存儲控制器接口633的管理終端接口614。父存儲接口615接收到來自存儲子系統(tǒng)100I/O的請求并將該請求通知CPU611。管理終端界面616接收到來自管理終端630的巻、磁盤及容量池操作請求并將該請求通知CPU611。磁盤單元620包括例如HDD等磁盤621a。管理終端630包括用于管理管理終端630的處理的CPU631,存儲器632,用于將存儲控制器耦合到管理終端接口614的存儲控制器接口(例如NIC)633,及例如鍵盤、鼠標或監(jiān)視器等用戶接口。存儲控制器接口633將巻、磁盤及容量池操作發(fā)送到存儲控制器610。存儲控制器610提供是虛擬巻的外部巻621來存儲數(shù)據(jù)。圖49說明根據(jù)本發(fā)明其它方面的外部存儲子系統(tǒng)的存儲器的示例性結構。圖49示出外部巻600的存儲器612的一個示例性結構。該存儲器包括虛擬巻頁管理程序112-01a、1/0操作程序112-04、》茲盤訪問程序112-05、容量池管理程序112畫08a、槽操作程序112-09、RAID組管理表112-11、虛擬巻管理表112-12、虛擬巻頁管理表112-13a、容量池管理表112-14、容量池部件管理表112-15、容量池組塊管理表112-16、容量池頁管理表112-17、對管理表112-19、容量池頁管理表112-17、高速緩沖存儲器管理表112-18及高速緩沖存儲區(qū)112-20。當CPU611接收到來自存儲子系統(tǒng)100之一的"頁分配"請求時,虛擬巻頁管理程序112-01a運行。如果指定的頁已經(jīng)被分配,則CPU611向請求方返回錯誤消息。如果指定的頁還沒有被分配,則CPU611存儲主巻頁和指定的頁之間的關系并返回成功消息。虛擬巻頁管理程序112-01a是系統(tǒng)駐留程序。圖50說明存儲控制器的存儲器412中存儲的容量池管理程序112-08。該程序與圖9示出的程序相似。圖51說明根據(jù)本發(fā)明其它方面的虛擬巻頁管理表的示例性結構。虛擬巻頁管理表112-13a的一個示例性結構包括虛擬巻頁地址112-13a-01、相關的RAID組號碼112誦13a國02、容量池頁地址112-13a-03、主巻號碼112-13a-04及主巻頁地址112-13a-05。虛擬巻頁地址112-13a-01包括虛擬巻中的虛擬巻頁的ID。相關的RAID組號碼112-13a-02包括已被分配的容量池頁(其包括外部巻621)的RAID組號碼或"N/A","N/A"表示沒有對虛擬巻頁被分配RAID存儲系統(tǒng)中的容量池頁。容量池頁地址112-13a-03包括相關的容量池頁的邏輯地址或該容量池頁的開始地址。主巻號碼112-13a-04包括一皮鏈接到頁的主巻或表示虛擬巻頁沒有被鏈接到其它存儲子系統(tǒng)的"N/A"。主巻頁地址112-13a-05包括相關的主巻頁的邏輯地址或表示虛擬巻頁沒有被鏈接到其它存儲子系統(tǒng)的"N/A,,。圖52說明根據(jù)本發(fā)明其它方面的執(zhí)行虛擬巻頁管理的示例性方法。示出執(zhí)行虛擬巻頁管理程序112-la的一個示例性方法。可由外部存儲子系統(tǒng)621的CPU611執(zhí)行該程序。該方法開始于112-01a-l。在112-01a-l,該方法確定是否在外部存〗諸子系統(tǒng)上已經(jīng)接收到"獲得頁分配信息"請求。如果沒有接收到該消息,則該方法前進到步驟112-01a-3。如果CPU611已經(jīng)接收到該消息,則該方法前進到步驟112-01a畫2。在112-01a-2,該方法檢查關于指定的被請求的頁的虛擬巻頁管理表112-13a。如果主巻號碼112-13a-04和主巻頁地址112-13a-05都是"N/A",則該方法向被請求的存儲子系統(tǒng)返回應答"空閑"。如果主巻號碼112-13a-04和主巻頁地址112-13a-05不是"N/A",則該方法向被請求的存儲子系統(tǒng)返回主巻號碼112-13a-04和主巻頁地址112-13a-05的值。發(fā)送應答之后,該方法返回到步驟112-01a-l以確定下一個請求。如果沒有接收到頁分配信息請求消息,則在112-13a-3,該方法確定是否已經(jīng)接收到"頁分配"請求。如果沒有,則該方法返回到112-01a-l。如果已經(jīng)接收到該消息,則該方法前進到112-01a-4。在112-01a-4,該方法檢查關于指定的頁的虛擬巻頁管理表112-13a。如果相關的RAID組號碼112-13a-02、容量池頁地址112-13a-03、主巻號碼112-13a-04及主巻頁地址112-13a-05是"N/A",則還沒有完成頁分配,并且該方法前進到步驟112-01a-6。在112-01a-6,該方法將指定的值存儲到主巻號碼112-13a-04及主巻頁地址112-13a-05,并且該方法前進到步驟112-01a-7,在112-01a-7,將應答"成功"發(fā)送到發(fā)出請求的存儲子系統(tǒng)以確認頁分配的成功完成。然后,該方法返回到步驟112-01a-l。在示出的示例性降級時序中,存儲子系統(tǒng)100的虛擬巻140作為"主,,巻140m工作,存儲子系統(tǒng)400的虛擬巻140作為"從"巻140s工作。圖53示出的時序是駐留在存儲控制器的存儲器中的執(zhí)行高速緩沖存儲器降級程序112-05-3的一個示例性方法,并示出將頁從從主虛擬巻140m降級到外部存儲子系統(tǒng)621的時序。首先,在S3a-l,存儲子系統(tǒng)100尋找位于未被分配的虛擬巻頁中的臟的高速緩沖存儲器槽。存儲子系統(tǒng)100將請求發(fā)送到外部存儲子系統(tǒng)600來分配新的頁。第二,在S3a-2,外部存儲子系統(tǒng)600接收到該請求并檢查和分配新的頁。在該操作完成之后,外部存儲子系統(tǒng)600將確認返回到存儲子系統(tǒng)100。第三,在S3a-3,在分配操作結束之后,存儲子系統(tǒng)IOO將臟的高速緩沖存儲器槽傳送到外部巻621。在該操作過程中,存儲子系統(tǒng)IOO鎖定該槽。最后,在S3a-4,在傳送之后,存儲子系統(tǒng)100接收到來自外部存儲子系統(tǒng)600的確認。在接收到該確認之后,存儲子系統(tǒng)IOO將槽狀態(tài)從臟改變?yōu)楦蓛舨⒃摬劢怄i。在示出的示例性降級時序中,存儲子系統(tǒng)100的虛擬巻140作為"主"巻140m工作,存儲子系統(tǒng)400的虛擬巻140作為"從"巻140s工作。圖54示出的時序是駐留在存儲控制器的存儲器中的執(zhí)行高速緩沖存儲器降級程序112-05-3的一個示例性方法,并示出將頁從從從虛擬巻140s降級到外部存4諸子系統(tǒng)621的時序。首先,在S4a-l,包括從虛擬巻M0s的存儲子系統(tǒng)400尋找位于未被分配的虛擬巻頁中的臟的高速緩沖存儲器槽。存儲子系統(tǒng)400將請求發(fā)送到外部存儲子系統(tǒng)600來對該槽中的數(shù)據(jù)分配新的頁。第二,在S4a-2,外部存儲子系統(tǒng)600接收到該請求并檢查和分配新的頁。在該操作完成之后,外部存儲子系統(tǒng)600將確認返回到存儲子系統(tǒng)400。第三,在S4a-3,存儲子系統(tǒng)400將"鎖定請求"消息發(fā)送到存儲子系統(tǒng)100。第四,在S4a-4,存儲子系統(tǒng)100接收到鎖定請求消息并鎖定相應于虛擬巻140s的臟的槽的主虛擬巻140m上的目標槽。在存儲子系統(tǒng)IOO鎖定該槽之后,存儲子系統(tǒng)IOO將確認消息和虛擬巻140m的槽狀態(tài)返回到存儲子系統(tǒng)400上的從虛擬巻140s。第五,在S4a-5,在分配操作結束之后,存儲子系統(tǒng)400將臟的高速緩沖存儲器槽傳送到外部巻說621,并且在該降級操作過程中,存儲子系統(tǒng)400鎖定該槽。第六,在S4a-6,在傳送之后,存儲子系統(tǒng)400接收到來自外部存儲子系統(tǒng)600的確認消息。在接收到該確認消息之后,存儲子系統(tǒng)400將槽狀態(tài)從臟改變?yōu)楦蓛舨⒃摬劢怄i。圖55是說明計算機/服務器系統(tǒng)550的實施例,在計算機/服務器系統(tǒng)550上可以執(zhí)行本發(fā)明的實施例。系統(tǒng)5500包括計算機/服務器平臺5501、外圍設備5502及網(wǎng)絡資源5503。計算機平臺5501可以包括用于越過計算機平臺5501的各種部件和在計算機平臺5501的各種部件中傳送信息的數(shù)據(jù)總線5504或其它通信機構,及與總線5501耦合用于處理信息并執(zhí)行其它計算和控制任務的處理器5501。計算機平臺5501還包括耦合到總線5504用于存儲要由處理器5505執(zhí)行的指令以及各種信息的易失性存儲器(例如隨機訪問存儲器(RAM)或其它動態(tài)存儲設備)5506。易失性存儲器5506還可以用于在處理器5505執(zhí)行指令的過程中存儲臨時變量或其它中間信息。計算機平臺5501可以進一步包括耦合到總線5504用于存儲各種系統(tǒng)配置參數(shù)及用于處理器5505的靜態(tài)信息和指令(例如基本輸入輸出系統(tǒng)(BIOS))的只讀存儲器(ROM或EPROM)5507或其它靜態(tài)存儲設備。永久存儲設備(例如磁盤、光盤或固態(tài)閃存設備)5508被提供并被耦合到總線5501以存儲信息和指令??梢越?jīng)由總線5504將計算機平臺5501耦合到顯示器(例如,陰極射線管(CRT)、等離子顯示器或液晶顯示器(LCD))5509以向系統(tǒng)管理員或計算機平臺5501的用戶顯示信息。包括字母數(shù)字或其它鍵盤的輸入設備5510被耦合到總線5501以向處理器5505傳送信息和命令選擇。其它類型的用戶輸入設備是指針控制設備(例如鼠標、軌跡球或指針方向鍵盤)5511以對處理器5504傳送方向信息和命令選擇并控制顯示器5509上的指針移動。輸入設備通常具有在允許設備到平面上的特定位置的兩個軸(第一軸(例如,x)和第二軸(例如,y))上的兩種程度的自由。外部存儲設備5512可以經(jīng)由總線5504被連接到計算機平臺5501以為計算機平臺提供額外的或可移除的存儲容量。在計算機系統(tǒng)5500的實施例中,外部可移除的存儲設備5512可用于促進與其它計算機系統(tǒng)交換數(shù)據(jù)。本發(fā)明有關于計算機系統(tǒng)5500的使用以執(zhí)行本文描述的技術。在實施例中,本發(fā)明的系統(tǒng)可以位于例如計算機平臺5501等設備中。根據(jù)本發(fā)明的一個實施例,響應于執(zhí)行在易失性存儲器5506中包括的一個或多個指令的一個或多個序列的處理器5505,由計算機系統(tǒng)5500執(zhí)行本文描述的技術。可以從其它計算機可讀介質(例如永久存儲設備5508)中將該種指令讀入易失性存儲器5506中。在易失性存儲器5506中包括的指令序列的執(zhí)行使處理器5505執(zhí)行本文描述的處理步驟。在選擇性的實施例中,可以使用硬布線電路代替軟件指令或與軟件指令結合以執(zhí)行本發(fā)明。從而,本發(fā)明的實施例不限于硬件電路和軟件的任何特定結合。本文使用的術語"計算機可讀介質"指參與對處理器5505提供指令以執(zhí)行的任何介質。計算機可讀介質只是機器可讀介質的一個示例,該種介質可以包括用于執(zhí)行本文描述的任意方法和/或技術的指令。該種介質可以采用任意形式,包括但不限于非易失性介質、易失性介質及傳輸介質。非易失性介質包括例如光或磁盤(例如存儲設備5508)。易失性介質包括動態(tài)存儲器(例如易失性存儲器5506)。傳輸介質包括同軸線纜、銅線和纖維光學,還包括數(shù)據(jù)總線5504等線。傳輸介質還可以采用聲或光波的形式,例如在無線電波和紅外線數(shù)據(jù)通信過程中產(chǎn)生的波。普通形式的計算機可讀介質包括軟盤、柔性盤、磁盤、磁帶、任意的其它磁介質、CD-ROM、任意的其它光介質、穿孔卡片、紙帶、具有孔圖案的任意的其它物理介質、RAM、PROM、EPROM、FLASH-EPROM、閃存驅動、存儲卡、任意其它存儲器芯片或模塊、如下面描述的載波或計算機能夠讀取的任意其它介質。在裝栽處理器5505執(zhí)行的一個或多個序列的一個或多個指令中可以包括各種形式的計算機可讀介質。例如,最初,可以從遠程計算機將指令裝載到磁盤上??蛇x擇地,遠程計算機可以將指令載入其動態(tài)存儲器中并使用調制解調器通過電話線發(fā)送指令。計算機系統(tǒng)5500的本地調制解調器能夠接收電話線上的數(shù)據(jù)并使用遠紅外發(fā)射機將該數(shù)據(jù)轉換為遠紅外信號。遠紅外檢測器能夠接收以遠紅外信號加載的數(shù)據(jù),并且合適的電路能夠將數(shù)據(jù)置于數(shù)據(jù)總線5504上??偩€5504將數(shù)據(jù)載入易失性存儲器5506,處理器5505從易失性存儲器5506獲取并執(zhí)行指令。由易失性存儲器5506接收到的指令可以被選擇性地在處理器5505執(zhí)行之前或之后存儲在永久存儲設備5508上。經(jīng)由因特網(wǎng),使用本領域已知的各種網(wǎng)絡數(shù)據(jù)通信協(xié)議,還可以將該指令下載到計算機平臺5501中。計算機平臺5501還包括例如耦合到數(shù)據(jù)總線5504的網(wǎng)絡接口卡5513等通信接口。通信接口5513提供耦合網(wǎng)絡鏈路5514的雙路數(shù)據(jù)通信,網(wǎng)絡鏈路5514被耦合到本地網(wǎng)絡5515上。例如,通信接口5513可以是將數(shù)據(jù)通信連接提供給相應類型的電話線的綜合服務數(shù)字網(wǎng)絡(ISDN)卡或調制解調器。如另一個示例,通信接口5513可以是將數(shù)據(jù)通信連接提供給兼容的LAN的本地局域網(wǎng)接口卡(LANNIC),例如已知的802.11a、802.11b、802.11g及藍牙也用于網(wǎng)絡執(zhí)行。在任意的該種執(zhí)行中,通信接口5513發(fā)送并接收電的、電磁的或光的信號,這些信號裝載了表示各種類型的信息的數(shù)字數(shù)據(jù)流。網(wǎng)絡鏈路5513通常通過一個或多個網(wǎng)絡對其它網(wǎng)源提供數(shù)據(jù)通信。例如,網(wǎng)絡鏈路5514可以通過本地網(wǎng)絡5515將連接提供給主計算機5516或網(wǎng)絡存儲/服務器5517。另外或可選擇地,可以通過網(wǎng)關或防火墻5517將網(wǎng)絡鏈路5513連接到例如因特網(wǎng)等廣域網(wǎng)5518。從而,計算機平臺5501可以訪問例如遠程網(wǎng)絡存儲器/服務器等位于因特網(wǎng)5518上的任何地方的網(wǎng)源。另一方面,還可以由處于局域網(wǎng)5515和/或因特網(wǎng)5518上的任何地方的客戶來訪問計算機平臺5501?;谟谄脚_5501類似的計算機平臺可以執(zhí)行網(wǎng)絡客戶5520和5521本身。局域網(wǎng)5515和因特網(wǎng)5518都使用裝載數(shù)字數(shù)據(jù)流的電的、電磁的或光的信號。通過各種網(wǎng)絡的信號及網(wǎng)絡鏈路5514上并通過通信接口5513的信號是傳輸信息的載波的示例形式,這些信號將數(shù)字數(shù)據(jù)裝載到計算機平臺5501或從計算機平臺5501裝載數(shù)據(jù)。計算機平臺5501能夠通過包括因特網(wǎng)5518和局域網(wǎng)5515、網(wǎng)絡鏈路5514及通信接口5513的各種網(wǎng)絡來發(fā)送消息并接收數(shù)據(jù),這些消息和數(shù)據(jù)包括程序代碼。在因特網(wǎng)的示例中,當系統(tǒng)5501作為網(wǎng)絡服務器時,其可以通過因特網(wǎng)5518、網(wǎng)關/防火墻5517、局域網(wǎng)5515及通信接口5513來傳送用于在客戶5520和/或5521上運行的應用程序的被請求的代碼或凄史據(jù)。類似地,系統(tǒng)5501可以接收來自其它網(wǎng)源的代碼。如果接收到代碼,所接收到的代碼可以由處理器5505來執(zhí)行,和/或被分別存儲在永久或易失性存儲設備5508和5506,或存儲在其它非易失性存儲器中以將來執(zhí)行該代碼。以該方式,計算機系統(tǒng)5501可以獲得載波形式的應用程序代碼。應該注意,本發(fā)明不限于任何特定的防火墻系統(tǒng),基于內容處理系統(tǒng)的本發(fā)明可以被用于任意的三種防火墻操作模式(特定地,NAT、專線(routed)和透明)。最后,應該理解,本文描述的處理和技術不是固有地與任意特定設備相關,并且可以由部件的任意合適的組合實施本文描述的處理和4支術。另外,根據(jù)本文描述的宗義可以使用各種類型的通用設備。還可以證明構建特定設備來執(zhí)行本文描述的方法步驟是有利的。關于特定示例已經(jīng)描述了本發(fā)明,該示例意欲描述所有的方面而非限制。本領域技術人員將理解,硬件、軟件及固件的很多不同組合將適于實施本發(fā)明。例如,可以以例如Assembler、c/c++、Perl、shell、PHP、Java等各種各樣的程序或腳本語言來實施所描述的軟件。此外,通過考慮本文揭示的本發(fā)明的說明書和示例,本領域技術人員將清楚本發(fā)明的其它實施??梢栽诰哂袆討B(tài)存儲區(qū)域分配功能的計算機化的存儲系統(tǒng)中單獨使用或任意結合地使用所描述的實施例的各個方面和/或部件。說明書和示例僅被作為示例考慮,下面的權利要求指定本發(fā)明的實際范圍和宗義。權利要求1.一種計算機化的數(shù)據(jù)存儲系統(tǒng),包括a.至少一個外部卷,b.包括第一存儲子系統(tǒng)和第二存儲子系統(tǒng)的兩個或更多個存儲子系統(tǒng),第一存儲子系統(tǒng)包括第一虛擬卷,第二存儲子系統(tǒng)包括第二虛擬卷,第一虛擬卷和第二虛擬卷形成對,其中,i.第一虛擬卷和第二虛擬卷是動態(tài)存儲區(qū)域分配卷;ii.第一虛擬卷可用來從與第一虛擬卷相關聯(lián)的第一容量池中分配容量;iii.第二虛擬卷可用于從與第二虛擬卷相關聯(lián)的第二容量池中分配容量;及iv.所述容量包括至少一個外部卷;v.所述至少一個外部卷由第一容量池和第二容量池共享;vi.所述至少一個外部卷、所述第一存儲子系統(tǒng)或所述第二存儲子系統(tǒng)存儲至少一個動態(tài)存儲區(qū)域分配信息表;vii.在動態(tài)存儲區(qū)域分配的分配處理的執(zhí)行時,如果第一存儲子系統(tǒng)已經(jīng)從所共享的至少一個外部卷中分配了容量,則第二存儲子系統(tǒng)可用來參照分配信息并建立虛擬卷地址和容量池地址之間的關系。2.根據(jù)權利要求1所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,第一存儲子系統(tǒng)和第二存儲子系統(tǒng)中的每一個都包括可用于連接至少一個^f茲盤驅動器的接口。3.根據(jù)權利要求1所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,第一容量池和第二容量池中的每一個都可被操作以包括至少一個石茲盤驅動器。4.根據(jù)權利要求1所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,兩個或更多個存儲子系統(tǒng)中的每一個都包括具有控制器存儲器和控制器CPU的存儲控制器;具有被組為RAID組的零個或更多個硬盤的磁盤單元;管理終端;其中,硬盤和外部巻中的每一個包括容量池頁,其中,第一RAID組的容量池頁中的零個或更多個形成容量池組塊,其中,虛擬巻包括虛擬巻槽,一個或更多個虛擬巻槽形成虛擬巻頁,以及其中,高速緩沖存儲區(qū)包括高速緩沖存儲器槽。5.根據(jù)權利要求4所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,控制器存儲器包括巻操作模塊;1/0模塊;硬盤訪問模塊;容量池管理模塊;槽操作模塊虛擬巻管理表;容量池管理表;容量池部件管理表;容量池頁管理表;高速緩沖存儲器管理表;及對管理表;以及其中,在控制器存儲器中包括高速緩沖存儲區(qū)以存儲數(shù)據(jù)。6.根據(jù)權利要求4所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,控制器存儲器還包括RAID組管理表;及容量池組塊管理表。7.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,主計算機包括存儲器,該存儲器包括巻管理表,及其中,巻管理表提供存儲子系統(tǒng)中的虛擬巻的配對。8.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,巻操作模塊包括巻操作等待模塊,對生成模塊,及對刪除模塊,其中,對生成模塊建立一個存儲子系統(tǒng)的虛擬巻和另一個存儲子系統(tǒng)中的虛擬巻之間的巻復制關系,及對刪除^f莫塊解除所述巻復制關系。9.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,所述容量池管理模塊包括容量池頁分配模塊,其中,所述容量池頁分配模塊接收到來自一個存儲子系統(tǒng)上的容量池的新的容量池頁和新的容量池組塊,并向其它存儲子系統(tǒng)發(fā)送請求以排除其它存儲子系統(tǒng)上的任意一個容量池組塊,其中,容量池回收模塊通過移除包括臟的數(shù)據(jù)的容量池頁來從容量池組塊執(zhí)行回收,及其中,響應于容量池擴充請求,容量池組塊解除模塊將一組硬盤或一部分外部巻增加到容量池中。10.根據(jù)權利要求9所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,所述容量池管理模塊還包括容量池回收模塊;及容量池組塊解除模塊。11.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,容量池管理表體現(xiàn)了每一個容量池、與每一個容量池相關的RAID組及在每一個容量池中剩余的空閑容量之間的關系。12.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,容量池部件管理表體現(xiàn)了每一個RAID組、相關的容量池及與空閑容量池組塊、被使用的容量池組塊及被排除的容量池組塊相對應的隊列之間的關系。13.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,高速緩沖存儲器管理表體現(xiàn)了每一個高速緩沖存儲器槽、相應的一個硬盤或相應的一個虛擬巻、該相應的硬盤的地址、該高速緩沖存儲器槽的鎖定狀態(tài)、包括高速緩沖存儲器槽和相應的隊列指針的隊列的類型之間的關系,隊列的類型是空閑、千凈或臟。14.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,對管理表體現(xiàn)了第一存儲子系統(tǒng)上的指定虛擬巻和與第一存儲子系統(tǒng)配對的被配對的存儲子系統(tǒng)、被配對的存儲子系統(tǒng)上的被配對的虛擬巻與指定的虛擬巻配對、由指定的虛擬巻和被配對的虛擬巻形成的對中的指定的虛擬巻的主狀態(tài)或從狀態(tài)之間的關系。15.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,容量池管理表根據(jù)RAID組來參照容量池部件管理表,其中,容量池部件管理表根據(jù)容量池組塊來參照容量池管理表,其中,容量池部件管理表根據(jù)空閑的組塊隊列、被使用的組塊隊列及被排除的組塊隊列來參照容量池組塊管理表,其中,被刪除的容量被使用在容量池組塊管理表中以用一個容量池組塊參照另一個容量池組塊,其中,容量池部件管理表和RAID組管理表之間的關系是固定的,其中,容量池組塊和容量池組塊管理表之間的關系也是固定的。16.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,虛擬巻管理表根據(jù)當前正在使用的組塊信息來參照對一個虛擬巻分配的被分配的容量池組塊,其中,容量池管理表根據(jù)RAID組列表來參照屬于磁盤單元或外部巻的零個或更多個RAID組,其中,虛擬巻頁管理表根據(jù)容量池頁地址和容量池頁大小來參照容量池頁,其中,虛擬巻和虛擬巻管理表之間的關系是固定的,其中,虛擬巻管理表和虛擬巻頁管理表之間的關系是固定的,及其中,虛擬巻和虛擬巻頁管理表之間的關系是固定的。17.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,容量池組塊管理表根據(jù)虛擬巻號碼來參照虛擬巻,其中,容量池頁管理表根據(jù)虛擬巻頁號碼來參照虛擬巻頁,其中,容量池組塊和容量池組塊管理表之間的關系是固定的,其中,根據(jù)容量池頁管理表的條目將容量池頁管理表與容量池頁相關聯(lián)。18.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,對管理表將一個存儲子系統(tǒng)上的虛擬巻與另一個存儲子系統(tǒng)上的虛擬巻相關聯(lián)。19.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,外部巻的相同的容量池頁能夠由不同的存儲子系統(tǒng)的被配對的虛擬巻共享。20.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,巻操作等待模塊包括確定控制器CPU是否已經(jīng)接收到巻操作請求,該巻操作請求包括對生成請求和對刪除請求,如果控制器CPU已經(jīng)接收到巻操作請求,則確定該接收到的請求是對生成請求還是對刪除請求,如果對生成請求被接收到,則執(zhí)行對生成模塊,如果對刪除請求被接收到,則執(zhí)行對刪除模塊,其中,對生成請求或對刪除請求的發(fā)出者是主計算機或一個存儲子系統(tǒng)的管理終端。21.根據(jù)權利要求20所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,對生成模塊包括確定第一存儲子系統(tǒng)上的被指定的虛擬巻是否已經(jīng)與第二存儲子系統(tǒng)上的另一個虛擬巻配對;如果被指定的虛擬巻已經(jīng)被配對,則確定被指定的虛擬巻的狀態(tài)是主或從;如果被指定的虛擬巻是主,則將對生成請求發(fā)送到第二存儲子系統(tǒng),并且如果第二存儲子系統(tǒng)接受該請求,則根據(jù)對管理表,將被指定的虛擬巻作為主并將第二存儲子系統(tǒng)中的一個虛擬巻作為從來進行配對,并將完成消息發(fā)送到對生成請求的發(fā)出者;及如果被指定的虛擬巻的狀態(tài)被確定為從,則根據(jù)對管理表,將被指定的虛擬巻作為從并將第二存儲子系統(tǒng)中的一個虛擬巻作為主來進行配對,并將OK消息發(fā)送到主虛擬巻。22.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,對刪除模塊包括通過參照對管理表,確定形成對的第一存儲系統(tǒng)上的被指定的虛擬巻和第二存儲子系統(tǒng)上的另一個虛擬巻之間的配對關系是否存在;如果找到該對,則將被指定的虛擬巻的狀態(tài)確定為主或從;如果被指定的虛擬巻是主,則將對刪除請求發(fā)送到包括從的第二存儲子系統(tǒng),并請求解除配對關系,接收關于配對關系的解除的確認消息,從對管理表中移除配對關系以及將完成消息發(fā)送到請求方;及如果被指定的虛擬巻是從,則從對管理表中移除配對關系并將確認消息發(fā)送到主。23.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,響應于槽鎖定請求,通過將鎖定狀態(tài)寫入高速緩沖存儲器關系表,槽操作模塊可用來鎖定高速緩沖存儲器槽,如果高速緩沖存儲器管理表中的高速緩沖存儲器槽的狀態(tài)還沒有被設置為鎖定,及其中,響應于槽解鎖請求,通過將解鎖狀態(tài)寫入高速緩沖存儲器管理表,槽搡作模塊可用來將高速緩沖存儲器解鎖。24.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,寫I/0模塊可用于接收來自包括主計算機或一個存儲子系統(tǒng)的發(fā)出者的寫I/O請求;通過參照高速緩沖存儲器槽,相應于包括寫1/0數(shù)據(jù)的虛擬巻,查找高速緩沖存儲器槽中的空閑高速緩沖存儲器槽的位置;鎖定高速緩沖存儲器槽,將寫1/0數(shù)據(jù)寫入高速緩沖存儲器槽并將該高速緩沖存儲器槽解鎖;及如果發(fā)出者是具有主狀態(tài)的虛擬巻,則將寫1/0數(shù)據(jù)復制到相應的從虛擬巻。25.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,讀I/0模塊可用于接收來自主計算機的讀I/O請求;如果讀I/O數(shù)據(jù)在多個高速緩沖存儲器槽中的一個高速緩沖存儲器槽中是可用的,則將該高速緩沖存儲器槽鎖定并將讀I/0數(shù)據(jù)發(fā)送到主計算機;及如果讀1/0數(shù)據(jù)在一個硬盤中是可用的,則從多個高速緩沖存儲器槽中獲得一個空閑的高速緩沖存儲器槽,并將讀1/0數(shù)據(jù)從硬盤升級到空閑高速緩沖存儲器槽,以獲得包括數(shù)據(jù)的高速緩沖存儲器槽,鎖定包括數(shù)據(jù)的高速緩沖存儲器槽,并將讀I/O數(shù)據(jù)發(fā)送到主計算機。26.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,容量池管理模塊中的容量池頁分配模塊可用于如果被參照的容量池頁屬于從虛擬巻,則從包括相應的主虛擬巻的存儲子系統(tǒng)中請求相應的主容量池頁,如果主容量池頁沒有與外部巻關聯(lián),則將主容量池頁與外部巻相關聯(lián);及如果被參照的容量池頁屬于主虛擬巻,或被參照的容量池頁的主容量池頁屬于從虛擬巻,則不將該主容量池頁與外部巻關聯(lián),獲得與主虛擬巻關聯(lián)的容量池組塊中的空閑容量池頁,或如果沒有相關的容量池組塊被找到,則獲得新的容量池組塊并將與容量池組塊相關的外部巻中的新的容量池頁進行分配。27.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,高速緩沖存儲器升級才莫塊可用于傳送來自硬盤的數(shù)據(jù)。28.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,盤刷新模塊可用于從高速緩沖存儲器槽中尋找臟的高速緩沖存儲器槽;及將來自臟的高速緩沖存儲器槽的數(shù)據(jù)降級。29.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,高速緩沖存儲器降級模塊可用于對于包括具有數(shù)據(jù)的高速緩沖存儲器槽的主虛擬巻,識別或分配與該高速緩沖存儲器槽相關的容量池頁,并將數(shù)據(jù)從高速緩沖存儲器槽傳送到具有容量池頁的硬盤;對于包括高速緩沖存儲器槽并與容量池頁不相關的從虛擬巻,識別分配給被配對的主虛擬巻的容量池頁,#皮配對的主虛擬巻與從虛擬巻配對;及對于包括高速緩沖存儲器槽并與容量池頁相關的從虛擬巻,如果被配對的主虛擬巻上的相應的高速緩沖存儲器槽是臟的,則將數(shù)據(jù)從高速緩沖存儲器槽傳送到硬盤,并且如果被配對的主虛擬巻上的相應的高速緩沖存儲器槽是干凈的,則將從虛擬巻的狀態(tài)改變?yōu)楦蓛簟?0.根據(jù)權利要求5所述的計算機化的數(shù)據(jù)存儲系統(tǒng),其中,將來自包括臟的數(shù)據(jù)的臟的高速緩沖存儲器槽的臟的數(shù)據(jù)發(fā)送到外部巻。31.—種計算機化的數(shù)據(jù)存儲系統(tǒng),該系統(tǒng)包括外部存儲巻,耦合到一起并耦合到外部存儲巻的兩個或更多個存儲子系統(tǒng),每一個存儲子系統(tǒng)包括高速緩沖存儲區(qū),每一個存儲子系統(tǒng)包括至少一個虛擬巻和至少一個容量池,從至少一個容量池的存儲部件中分配至少一個虛擬巻,該至少一個容量池包括至少一部分外部存儲巻,其中,響應于數(shù)據(jù)訪問請求,將至少一個容量池的存儲部件分配給虛擬巻;及主計算機可操作地耦合到兩個或更多個存儲子系統(tǒng)并可用于在兩個或更多個存儲子系統(tǒng)之間切換輸入/輸出;其中,基于接收到兩個或更多個存儲子系統(tǒng)中的第一存儲子系統(tǒng)發(fā)出的數(shù)據(jù)寫請求,第一存儲子系統(tǒng)可操作來至少對兩個或更多個存儲子系統(tǒng)中的第二存儲子系統(tǒng)提供已接收的數(shù)據(jù)寫請求,其中,基于接收到來自第一存儲子系統(tǒng)的請求,第二存儲子系統(tǒng)可用于防止至少一個容量池的至少一個存儲部件被分配給第二存儲子系統(tǒng)的至少一個虛擬巻。32.—種使用耦合到兩個或更多個存儲子系統(tǒng)的主計算機的用于數(shù)據(jù)存儲的計算機執(zhí)行的方法,該兩個或更多個存儲子系統(tǒng)被耦合到一起并耦合到外部存儲巻,每一個存儲子系統(tǒng)包括高速緩沖存儲區(qū),每一個存儲子系統(tǒng)包括至少一個虛擬巻和至少一個容量池,從至少一個容量池的存儲部件中分配至少一個虛擬巻,該至少一個容量池包括至少一部分外部存儲巻,其中,至少一個虛擬巻是動態(tài)存儲區(qū)域分配巻,該方法包括將兩個或更多個存儲子系統(tǒng)的第一存儲子系統(tǒng)的第一虛擬巻與兩個或更多個存儲子系統(tǒng)的第二存儲子系統(tǒng)的第二虛擬巻配對為主巻和從巻;及基于接收到來自第一存儲子系統(tǒng)的請求,防止第二存儲子系統(tǒng)的至少一個容量池的至少一個存儲部件被分配給第二虛擬巻。33.根據(jù)權利要求32所述的計算機執(zhí)行的方法,其中,至少一個容量池可用于包括至少一個磁盤驅動器或外部巻。34.根據(jù)權利要求32所述的計算機執(zhí)行的方法,其中,包括主巻的存儲子系統(tǒng)是主存儲子系統(tǒng),包括從巻的存儲子系統(tǒng)是從存儲子系統(tǒng),其中,高速緩沖存儲區(qū)包括用于存儲數(shù)據(jù)的高速緩沖存儲器槽,及其中,硬盤包括用于存儲數(shù)據(jù)的盤槽。35.根據(jù)權利要求32所述的計算機執(zhí)行的方法,還包括將寫1/0操作從主計算機復制到主巻,該復制包括在主存儲子系統(tǒng)上接收到寫1/0請求和寫數(shù)據(jù);在主存儲子系統(tǒng)的高速緩沖存儲器槽中存儲寫數(shù)據(jù);將寫1/0請求和寫數(shù)據(jù)復制到從存儲子系統(tǒng);在從存儲子系統(tǒng)的高速緩沖存儲器槽中存儲寫數(shù)據(jù);將完成寫1/0請求的確認從從存儲子系統(tǒng)返回到主存儲子系統(tǒng);及將確認從主存儲子系統(tǒng)發(fā)送到從存儲子系統(tǒng)。36.根據(jù)權利要求32所述的計算機執(zhí)行的方法,還包括將寫1/0操作從主計算機復制到從巻,該復制包括在從存儲子系統(tǒng)上接收到寫1/0請求和寫數(shù)據(jù);將寫1/0請求和寫數(shù)據(jù)復制到主存儲子系統(tǒng);在主存儲子系統(tǒng)的高速緩沖存儲器槽中存儲寫數(shù)據(jù);將完成寫I/O請求的確認從主存儲子系統(tǒng)返回到從存儲子系統(tǒng);在從存儲子系統(tǒng)的高速緩沖存儲器槽中存儲寫數(shù)據(jù);及將確認從從存儲子系統(tǒng)發(fā)送到主計算機。37.根據(jù)權利要求32所述的計算機執(zhí)行的方法,還包括從主巻將數(shù)據(jù)降級到外部巻,該降級包括在未被分配的虛擬巻的容量池中的主存儲子系統(tǒng)中尋找臟的高速緩沖存儲器槽;獲得屬于外部巻的新的容量池組塊;將頁解除請求發(fā)送到從存儲子系統(tǒng);在從存儲子系統(tǒng)中搜索并排除包括容量池頁的共享的容量池組塊;將完成頁解除請求的確認從從存儲子系統(tǒng)發(fā)送到主存儲子系統(tǒng);在主存儲子系統(tǒng)上從屬于外部巻的新的容量池組塊中將新的容量池頁分配到未被分配的虛擬巻;將臟的高速緩沖存儲器槽中的數(shù)據(jù)傳送到外部巻;在主存儲子系統(tǒng)上接收到來自外部巻的完成傳送的確認;及將臟的高速緩沖存儲器槽的狀態(tài)從臟改變?yōu)楦蓛簟?8.根據(jù)權利要求32所述的計算機執(zhí)行的方法,還包括從從巻將數(shù)據(jù)降級到外部巻,該降級包括在從存儲子系統(tǒng)上尋找臟的高速緩沖存儲器槽,臟的高速緩沖存儲器槽相應于從存儲子系統(tǒng)中的未被分配的容量池頁,該未被分配的容量池頁沒有被分配給從虛擬巻;從主存儲子系統(tǒng)請求未被分配的容量池頁的狀態(tài);獲得未被分配的容量池頁和主存儲子系統(tǒng)中的主虛擬巻之間的關系,并將該關系發(fā)送到從存儲子系統(tǒng);在從存儲子系統(tǒng)上,將未被分配的容量池頁分配給從虛擬巻;將鎖定請求從從存儲子系統(tǒng)發(fā)送到主存儲子系統(tǒng);在主存儲子系統(tǒng)接收到鎖定請求,并鎖定相應于從存儲子系統(tǒng)上的臟的高速緩沖存儲器槽的主存儲子系統(tǒng)上的目標高速緩沖存儲器槽;將完成鎖定請求的確認返回到從存儲子系統(tǒng);如果主虛擬巻上的目標高速緩沖存儲器槽的槽狀態(tài)是臟,則將該臟的高速緩沖存儲器槽中的數(shù)據(jù)從從存儲子系統(tǒng)傳送到外部巻;在從虛擬巻上接收到來自外部巻的數(shù)據(jù)傳送的確認;及在從存儲子系統(tǒng)上將該臟的高速緩沖存儲器槽的槽狀態(tài)從臟改變?yōu)楦蓛?。全文摘要本發(fā)明高可用性以及低容量的動態(tài)存儲區(qū)域分配同時提供動態(tài)存儲區(qū)域分配和高可用性的數(shù)據(jù)存儲系統(tǒng)和方法。該系統(tǒng)包括外部存儲卷和連接到一起并連接到外部存儲卷的兩個存儲子系統(tǒng)。每個存儲子系統(tǒng)包括硬盤驅動和高速緩沖存儲區(qū),每個存儲子系統(tǒng)包括至少一個虛擬卷和至少一個容量池。從至少一個容量池的存儲部件中分配至少一個虛擬卷。該容量池包括硬盤驅動和至少一部分外部存儲卷。響應于數(shù)據(jù)訪問請求,將容量池的存儲部件分配給虛擬卷。該系統(tǒng)還包括連接到存儲子系統(tǒng)并配置來在存儲子系統(tǒng)之間切換輸入/輸出路徑的主計算機。每個存儲子系統(tǒng)適于將接收到的寫I/O請求復制到其它存儲子系統(tǒng)?;诮邮盏絹碜云渌鎯ψ酉到y(tǒng)的請求,防止存儲子系統(tǒng)的容量池的存儲部件被分配給該存儲子系統(tǒng)的虛擬卷。文檔編號G06F12/08GK101539841SQ200910004838公開日2009年9月23日申請日期2009年1月19日優(yōu)先權日2008年3月21日發(fā)明者川口智大申請人:株式會社日立制作所