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

包括raid組的存儲(chǔ)系統(tǒng)的制作方法

文檔序號(hào):6595451閱讀:163來(lái)源:國(guó)知局
專利名稱:包括raid組的存儲(chǔ)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及包括RAID組的存儲(chǔ)系統(tǒng)的存儲(chǔ)控制。
背景技術(shù)
一般的,采用被稱為RAID(獨(dú)立(或廉價(jià))磁盤的冗余陣列)的技術(shù)的存儲(chǔ)系統(tǒng)包括存儲(chǔ)設(shè)備組,該存儲(chǔ)設(shè)備組是由多個(gè)物理存儲(chǔ)設(shè)備(在下文中被稱為PDEV)構(gòu)成的。這種類型的存儲(chǔ)設(shè)備組一般被稱為RAID組(或奇偶校驗(yàn)組或ECC (糾錯(cuò)碼)組)。RAID組的存儲(chǔ)區(qū)域是由多條子存儲(chǔ)區(qū)域線構(gòu)成的。每條子存儲(chǔ)區(qū)域線設(shè)置在配置RAID組的多個(gè)PDEV上,并由對(duì)應(yīng)于多個(gè)PDEV的多個(gè)子存儲(chǔ)區(qū)域組成。在下文中,子存儲(chǔ)區(qū)域被稱為“條帶(stripe)”,而由多個(gè)條帶組成的線被稱為“條帶線”。已知RAID具有一些級(jí)別(在下文中被稱為RAID級(jí)別)。例如,下面將會(huì)描述RAID5。對(duì)于RAID5,將數(shù)據(jù)分開(kāi)并寫(xiě)入到配置對(duì)應(yīng)于RAID5 的RAID組的多個(gè)PDEV(諸如硬盤驅(qū)動(dòng)器(HDD))中。更具體的,例如,將寫(xiě)目標(biāo)數(shù)據(jù)分割成具有預(yù)定大小的數(shù)據(jù)(下面出于方便將其稱為數(shù)據(jù)單元),每個(gè)數(shù)據(jù)單元被分割為多個(gè)數(shù)據(jù)元素,并且多個(gè)數(shù)據(jù)元素被寫(xiě)入到多個(gè)條帶。另外,對(duì)于RAID5,為了重獲由于在PDEV中出現(xiàn)的缺陷而從PDEV沒(méi)有寫(xiě)入的數(shù)據(jù)元素,對(duì)于一個(gè)數(shù)據(jù)單元生成被稱為“奇偶校驗(yàn)”的冗余信息(在下文中被稱為冗余碼),并將冗余碼寫(xiě)入條帶。更具體的,如圖IA所示,在配置RAID組205的PDEV的數(shù)目是4的情況下,一條條帶線207由對(duì)應(yīng)于四個(gè)PDEV 201-1至 201-4的四個(gè)條帶組成。將配置數(shù)據(jù)單元203的三個(gè)數(shù)據(jù)元素A至C寫(xiě)入對(duì)應(yīng)于三個(gè)PDEV 201-1至201-3的三個(gè)條帶。將冗余碼D寫(xiě)入對(duì)應(yīng)于剩余一個(gè)PDEV的條帶。如圖IB所示,在PDEV 201-3中出現(xiàn)缺陷的情況下,不能讀取數(shù)據(jù)元素C。結(jié)果,不得不執(zhí)行重構(gòu)。作為重構(gòu)的一般方法,采用收集拷貝(例如,見(jiàn)專利引用1)。對(duì)于收集拷貝, 例如使用配置數(shù)據(jù)單元203的冗余碼D和其他兩個(gè)數(shù)據(jù)元素A和B在高速緩存存儲(chǔ)器209 上重獲不能被讀取的數(shù)據(jù)元素C。隨后將已重獲的數(shù)據(jù)元素C拷貝到另一 PDEV 201S (例如備用的PDEV)。專利引用1 日本專利申請(qǐng)公開(kāi)No. 2008-046986

發(fā)明內(nèi)容
技術(shù)問(wèn)題近年來(lái),PDEV已經(jīng)處于大容量狀態(tài)。結(jié)果,對(duì)于收集拷貝,可重獲已經(jīng)被存儲(chǔ)到一個(gè)PDEV的許多數(shù)據(jù)元素,并且在一些情況下將許多數(shù)據(jù)元素中的全部拷貝到另一PDEV。因此,會(huì)花費(fèi)很長(zhǎng)時(shí)間來(lái)完成收集拷貝。甚至在收集拷貝過(guò)程中,從存儲(chǔ)系統(tǒng)的外部設(shè)備(諸如主計(jì)算機(jī))接收讀請(qǐng)求。然而,執(zhí)行收集拷貝的時(shí)間周期是冗余度低的周期。因此,在需要花費(fèi)長(zhǎng)時(shí)間執(zhí)行收集拷貝的情況下,低冗余的周期變得更長(zhǎng)。上述問(wèn)題不僅出現(xiàn)在RAID5被用作RAID組的RAID級(jí)別的情況下而且還出現(xiàn)在采用另一 RAID級(jí)別的情況下。
本發(fā)明的目的在于,提供可在比收集拷貝的時(shí)間較短的時(shí)間內(nèi)完成的重構(gòu)技術(shù)。技術(shù)方案管理作為由基于多個(gè)RAID組的多個(gè)真實(shí)頁(yè)構(gòu)成的存儲(chǔ)區(qū)域組的池。存儲(chǔ)系統(tǒng)包括用于執(zhí)行寫(xiě)處理的I/O部和用于執(zhí)行重構(gòu)處理的重構(gòu)控制部。該寫(xiě)處理包括如下的步驟 (Wl)和(W2)(Wl)將所述多個(gè)真實(shí)頁(yè)中的任意未分配的真實(shí)頁(yè)分配給用于配置虛擬卷的多個(gè)虛擬頁(yè)中的寫(xiě)目的地虛擬頁(yè);以及(W2)將寫(xiě)目標(biāo)數(shù)據(jù)寫(xiě)入到分配給所述寫(xiě)目的地虛擬頁(yè)的所述未分配的真實(shí)頁(yè)。該重構(gòu)處理包括如下的步驟(Rl)和(R2)(Rl)將在基于特定RAID組的所有真實(shí)頁(yè)中的所有已分配的真實(shí)頁(yè)中存儲(chǔ)的每個(gè)數(shù)據(jù)拷貝到基于與所述特定RAID組分開(kāi)的至少一個(gè)RAID組的未分配的真實(shí)頁(yè);以及(R2)代替每個(gè)拷貝源的已分配的真實(shí)頁(yè),將每個(gè)拷貝目的地的真實(shí)頁(yè)分配給被分配了每個(gè)拷貝源的已分配的真實(shí)頁(yè)的每個(gè)虛擬頁(yè)。每個(gè)真實(shí)頁(yè)是物理存儲(chǔ)區(qū)域,并且每個(gè)虛擬頁(yè)是虛擬存儲(chǔ)區(qū)域。由寫(xiě)處理分配的真實(shí)頁(yè)例如是空閑頁(yè),而由重構(gòu)處理變?yōu)榭截惸康牡氐恼鎸?shí)頁(yè)例如是保留頁(yè)。空閑頁(yè)是沒(méi)有對(duì)多個(gè)虛擬頁(yè)中的任何虛擬頁(yè)分配并且可被分配給寫(xiě)目的地虛擬頁(yè)的真實(shí)頁(yè)。保留頁(yè)不是空閑頁(yè)而是沒(méi)有對(duì)任何虛擬頁(yè)分配并且在寫(xiě)處理中沒(méi)有對(duì)寫(xiě)目的地虛擬頁(yè)分配的真實(shí)頁(yè)。在池中可能不存在基于RAID組的所有真實(shí)頁(yè)。例如,基于RAID組的存儲(chǔ)空間中的存儲(chǔ)空間部分可對(duì)應(yīng)于池中存在的至少兩個(gè)真實(shí)頁(yè),而存儲(chǔ)空間中的另一存儲(chǔ)空間部分對(duì)應(yīng)于與池分開(kāi)的存儲(chǔ)區(qū)域。另外,池中的至少一個(gè)真實(shí)頁(yè)可以是在所謂的外部連接存儲(chǔ)系統(tǒng)中的基于存儲(chǔ)資源的存儲(chǔ)區(qū)域。


圖IA是關(guān)于RAID5的寫(xiě)的圖示。圖IB是關(guān)于RAID5的收集拷貝的圖示。圖2是關(guān)于根據(jù)本發(fā)明的實(shí)施例的概要的圖示。圖3描繪了將虛擬頁(yè)的分配目的地從拷貝源的分配頁(yè)改變?yōu)榭截惸康牡氐谋A繇?yè)。圖4描繪了包括基于重獲的RG(RAID組)的至少兩個(gè)真實(shí)頁(yè)的池。圖5是根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)的配置框圖。圖6示出了根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)區(qū)域的等級(jí)。圖7示出了在控制器31的存儲(chǔ)器350中存儲(chǔ)的程序和信息。圖8是VDEV管理信息3514的配置示意圖。圖9是LDEV管理信息3512的配置示意圖。圖10是關(guān)于地址管理表3511的圖示。圖11是池管理信息3521的配置示意圖。圖12是目標(biāo)設(shè)備管理信息3513的配置示意圖。圖 13 是 VVOL-DIR 3523 和 PSCB 3524 的圖示。
圖14示出了一種由存儲(chǔ)系統(tǒng)30管理的隊(duì)列圖15描繪了對(duì)于VVOL中的所有未分配的虛擬頁(yè)和池中的預(yù)定的真實(shí)頁(yè)的分配。圖16示出了寫(xiě)處理的流程。圖17示出了讀處理的流程。圖18示出了缺陷應(yīng)對(duì)處理的流程。圖19示出了拷貝源決定處理的流程。圖20示出了拷貝目的地決定處理的流程。圖21示出了在副卷是VVOL(虛擬卷)的情況下的重構(gòu)處理中的拷貝的例子。圖22示出了在副卷是RVOL (真實(shí)卷)的情況下的重構(gòu)處理中的拷貝的例子。附圖標(biāo)記的說(shuō)明30 存儲(chǔ)系統(tǒng)
具體實(shí)施例方式下面參考附圖詳細(xì)地描述根據(jù)本發(fā)明的實(shí)施例。在下面的描述中,RAID組在一些情況下被稱為RG。圖2是關(guān)于根據(jù)本發(fā)明的實(shí)施例的概要的圖示。池60被管理。池60是由基于多個(gè)RAID組(例如,RG#0、RG#1、RG#2等)的多個(gè)真實(shí)頁(yè)264組成的存儲(chǔ)區(qū)域組??蓪⒊?0中的真實(shí)頁(yè)264分配給虛擬卷(在下文中被稱為VV0L)312中的虛擬頁(yè)262。要分配的真實(shí)頁(yè)264是空閑頁(yè)(FREE)。空閑頁(yè)是沒(méi)有對(duì)任何虛擬頁(yè)262分配的真實(shí)頁(yè)。在將空閑頁(yè)分配給任意的虛擬頁(yè)262的情況下,空閑頁(yè)被改變?yōu)橐逊峙涞捻?yè)(ALLOCATED)。已分配的頁(yè)是對(duì)于任意的虛擬頁(yè)262分配的真實(shí)頁(yè)。虛擬頁(yè)262是虛擬存儲(chǔ)區(qū)域,而真實(shí)頁(yè)264是物理存儲(chǔ)區(qū)域。對(duì)于根據(jù)本發(fā)明的實(shí)施例,池60包括保留頁(yè)。保留頁(yè)不是空閑頁(yè)而是沒(méi)有對(duì)任何虛擬頁(yè)分配并且沒(méi)有對(duì)來(lái)自主計(jì)算機(jī)的寫(xiě)請(qǐng)求中指定的寫(xiě)目的地虛擬頁(yè)分配的真實(shí)頁(yè)。在圖2所示的例子中,指示真實(shí)頁(yè)264的框中的代碼是真實(shí)頁(yè)264的標(biāo)識(shí)符。框中帶有括號(hào)的字符指示由該框指示的真實(shí)頁(yè)264的種類。在指示虛擬頁(yè)262的框中沒(méi)有帶括號(hào)的號(hào)碼是虛擬頁(yè)262的標(biāo)識(shí)號(hào)碼。在框中帶有括號(hào)的號(hào)碼是對(duì)于虛擬頁(yè)262分配的真實(shí)頁(yè)的標(biāo)識(shí)號(hào)碼。由不包括括號(hào)的框所指示的虛擬頁(yè)262是對(duì)其分配了后面描述的默認(rèn)頁(yè)的虛擬頁(yè)(換句話說(shuō),對(duì)其實(shí)際上沒(méi)有分配任何真實(shí)頁(yè)的虛擬頁(yè))。每個(gè)RAID組都由多個(gè)物理存儲(chǔ)設(shè)備(PDEV)組成。對(duì)于根據(jù)本發(fā)明的實(shí)施例,在檢測(cè)到PDEV的缺陷的情況下,執(zhí)行包括如下步驟(Rl)和(R2)的重構(gòu)處理(Rl)將在基于具有檢測(cè)到缺陷的PDEV的RAID組(在下文中稱為RG)的所有已分配的真實(shí)頁(yè)中存儲(chǔ)的每個(gè)數(shù)據(jù)拷貝到基于與缺陷RG分開(kāi)的RG的保留頁(yè);以及(R2)代替每個(gè)拷貝源的已分配的頁(yè),將每個(gè)拷貝目的地的保留頁(yè)分配給被分配了每個(gè)拷貝源的已分配的頁(yè)的每個(gè)虛擬頁(yè)(將每個(gè)拷貝目的地的保留頁(yè)分配給被分配了每個(gè)拷貝源的已分配的頁(yè)的每個(gè)虛擬頁(yè),并且取消對(duì)于虛擬頁(yè)的每個(gè)拷貝源的已分配的真實(shí)頁(yè)的分配)。例如,(Rl)的處理在圖2中示出。更具體的,分別將基于缺陷的RG#0的所有已分配的頁(yè)#00、#01、#02和#03拷貝到基于其他RG(例如,RG#1和RG#2)的保留頁(yè)#26、#27、#16和#17。可將要作為拷貝目的地的多個(gè)保留頁(yè)分發(fā)給多個(gè)RG,以及將多個(gè)保留頁(yè)集中給一個(gè)RG。然而,分發(fā)多個(gè)保留頁(yè)比將它們集中給一個(gè)RG更優(yōu)選,這是因?yàn)槿绻霈F(xiàn)對(duì)于相同的PDEV的堆集(flocking)則I/O性能將會(huì)變差。另外,在這個(gè)實(shí)施例中還可將數(shù)據(jù)拷貝到保留頁(yè),然而在另一實(shí)施例中還可將數(shù)據(jù)拷貝到至少一個(gè)空閑頁(yè)。 例如,(R2)的處理在圖3中示出。更具體的,將拷貝目的地的保留頁(yè)(例如#16) 分配給對(duì)于拷貝源的真實(shí)頁(yè)(例如#02)分配的虛擬頁(yè)(例如#00),并取消拷貝源的真實(shí)頁(yè) (例如#02)對(duì)于虛擬頁(yè)(例如#00)的分配。因此,將拷貝目的地的真實(shí)頁(yè)(例如#16)從保留頁(yè)改變?yōu)橐逊峙涞捻?yè)。如圖3所示,根據(jù)將數(shù)據(jù)拷貝到保留頁(yè)(例如#16),將具有保留頁(yè)(例如#16)的RG(例如#1)中的空閑頁(yè)(例如#15)改變?yōu)楸A繇?yè)。這可以在如下的情況下被執(zhí)行當(dāng)涉及池60的其他RG中的任何RG被改變?yōu)槿毕軷G時(shí),基于缺陷RG的已分配頁(yè)中的數(shù)據(jù)的拷貝目的地是不充分的??苫谠谥貥?gòu)處理中減少的保留頁(yè)(要成為拷貝目的地的保留頁(yè))的數(shù)目來(lái)確定將被改變?yōu)楸A繇?yè)的空閑頁(yè)的數(shù)目。在完成了從基于缺陷的RG#0的所有已分配的頁(yè)的數(shù)據(jù)的拷貝之后,可將缺陷的 RG#0恢復(fù)為正常的RG#0。例如,如圖4所示,交換了在缺陷的RG#0中檢測(cè)到缺陷的PDEV (見(jiàn)附圖標(biāo)記499),并隨后格式化基于RG#0的存儲(chǔ)區(qū)域。在這之后,將在池60中包括的并基于 RG#0的每個(gè)真實(shí)頁(yè)改變?yōu)榭臻e頁(yè)或保留頁(yè)。(簡(jiǎn)要的,基于RG#0的真實(shí)頁(yè)由至少一個(gè)空閑頁(yè)和至少一個(gè)保留頁(yè)組成。)在將缺陷的RG#0恢復(fù)為正常的RG#0之后,執(zhí)行返回處理。該返回處理包括如下的步驟(Bi)和(B2)(Bi)將在重構(gòu)處理中已經(jīng)被拷貝為另一 RG (例如#1)的真實(shí)頁(yè)(例如#16)的數(shù)據(jù)返回到基于已恢復(fù)的RG#0的任何真實(shí)頁(yè)(例如#02);以及(B2)代替返回源的真實(shí)頁(yè)(例如#16),對(duì)于虛擬頁(yè)(例如#00)分配返回目的地的真實(shí)頁(yè)(例如#02),該虛擬頁(yè)已經(jīng)被分配給返回源的真實(shí)頁(yè)(例如#16)。通過(guò)上述處理,期望可將對(duì)于池60中的真實(shí)頁(yè)的訪問(wèn)分發(fā)給數(shù)目更多的RG。下面詳細(xì)地描述根據(jù)本發(fā)明的實(shí)施例。在下面是以計(jì)算機(jī)程序來(lái)說(shuō)明的情況下, 是由可執(zhí)行計(jì)算機(jī)程序的CPU實(shí)際上執(zhí)行處理。圖5是根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)的配置框圖。主計(jì)算機(jī)10經(jīng)由FC(光纖通道)網(wǎng)絡(luò)50和LAN(局域網(wǎng))40與存儲(chǔ)系統(tǒng)30相連接。此外,管理計(jì)算機(jī)20經(jīng)由LAN 40與存儲(chǔ)系統(tǒng)30相連接。FC網(wǎng)絡(luò)50和LAN 40還可是其他類型的通信網(wǎng)絡(luò)。主計(jì)算機(jī)10是可訪問(wèn)由存儲(chǔ)系統(tǒng)30提供的邏輯卷(目標(biāo)設(shè)備)的計(jì)算機(jī)。主計(jì)算機(jī)10具有輸入設(shè)備(諸如鍵盤和定點(diǎn)設(shè)備)110、輸出設(shè)備(諸如顯示設(shè)備)120、CPU 130、 存儲(chǔ)器140、FC IF 150,LAN IF 160和例如作為信息處理資源的HDD (硬盤驅(qū)動(dòng)器)170。FC IF 150是經(jīng)由FC網(wǎng)絡(luò)50進(jìn)行通信的接口設(shè)備。LAN IF 160是經(jīng)由LAN進(jìn)行通信的接口設(shè)備。管理計(jì)算機(jī)20是執(zhí)行與存儲(chǔ)系統(tǒng)30相關(guān)的管理(諸如池的設(shè)定和邏輯卷的設(shè)定)的計(jì)算機(jī)。管理計(jì)算機(jī)20具有輸入設(shè)備(諸如鍵盤和定點(diǎn)設(shè)備)210、輸出設(shè)備(諸如顯示設(shè)備)220、CPU 230、存儲(chǔ)器240、LAN IF 250和例如信息處理資源的HDD 260。存儲(chǔ)系統(tǒng)30具有控制器31、高速緩沖存儲(chǔ)器(CM)32、共享存儲(chǔ)器(SM)33、多個(gè) PDEV 34、電源開(kāi)關(guān)(PS SW) 35 和電源(PS) 36。
高速緩沖存儲(chǔ)器32臨時(shí)地存儲(chǔ)從PDEV 34讀出或?qū)懭氲絇DEV 34的數(shù)據(jù)。共享存儲(chǔ)器33用于存儲(chǔ)與控制器31和PDEV 34相關(guān)的信息。電 源36向存儲(chǔ)系統(tǒng)30的每個(gè)單元提供電能。電源開(kāi)關(guān)35是用于打開(kāi)或關(guān)閉來(lái)自電源36的能量供應(yīng)的開(kāi)關(guān)??刂破?1控制將數(shù)據(jù)存儲(chǔ)到PDEV 34當(dāng)中。控制器31例如具有FC IF310、LAN IF 320、非易失性存儲(chǔ)器(NV-存儲(chǔ)器)330、電源控制單元(PS CTL) 340、存儲(chǔ)器350、CPU 360、存儲(chǔ) IF 370 和 SM IF 380。FC IF 310是用于經(jīng)由FC網(wǎng)絡(luò)50與主計(jì)算機(jī)10發(fā)送并接收數(shù)據(jù)的接口設(shè)備。LAN IF 320是用于經(jīng)由LAN 40與主計(jì)算機(jī)10或管理計(jì)算機(jī)20發(fā)送并接收數(shù)據(jù)的接口設(shè)備。非易失性存儲(chǔ)器330例如是快閃存儲(chǔ)器。非易失性存儲(chǔ)器330存儲(chǔ)可由CPU 360 執(zhí)行的計(jì)算機(jī)程序和與存儲(chǔ)系統(tǒng)30相關(guān)的配置信息。電源控制單元340控制由電源36提供的電能。存儲(chǔ)器350例如是易失性存儲(chǔ)器(諸如RAM(隨機(jī)訪問(wèn)存儲(chǔ)器))。存儲(chǔ)器350存儲(chǔ)從非易失性存儲(chǔ)器330、共享存儲(chǔ)器33和高速緩沖存儲(chǔ)器32中至少一個(gè)讀取的數(shù)據(jù)和/ 或計(jì)算機(jī)程序。CPU 360將計(jì)算機(jī)程序從非易失性存儲(chǔ)器330讀入到存儲(chǔ)器350并執(zhí)行由程序指定的處理。存儲(chǔ)IF 370是用于與PDEV 34和高速緩沖存儲(chǔ)器32發(fā)送并接收數(shù)據(jù)的接口設(shè)備。SM IF 380是用于與共享存儲(chǔ)器33發(fā)送并接收數(shù)據(jù)的接口設(shè)備。圖6示出了根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)區(qū)域的等級(jí)。下面將會(huì)從低等級(jí)到高等級(jí)的順序描述存儲(chǔ)區(qū)域。計(jì)算機(jī)系統(tǒng)包括RAID組301。如上所述,RAID組301由多個(gè)PDEV 34組成,并且在多個(gè)PDEV 34上設(shè)置條帶線307。計(jì)算機(jī)系統(tǒng)包括EVOL 305。EVOL 305是外部卷的縮寫(xiě)并且是基于在沒(méi)有示出的外部存儲(chǔ)系統(tǒng)(所謂的外部連接存儲(chǔ)系統(tǒng))中的存儲(chǔ)資源的邏輯卷。存儲(chǔ)資源例如是RAID 組或基于RAID組的邏輯卷。在對(duì)于EVOL 305執(zhí)行數(shù)據(jù)輸入/輸出的情況下,可對(duì)于作為 EVOL 305的基礎(chǔ)的外部連接存儲(chǔ)系統(tǒng)中的存儲(chǔ)資源執(zhí)行數(shù)據(jù)輸入/輸出。計(jì)算機(jī)系統(tǒng)包括VDEV 303。VDEV 303是基于RAID組301或EVOL 305的虛擬存儲(chǔ)資源。通過(guò)分割VDEV 303的存儲(chǔ)空間在VDEV 303中形成了多個(gè)LDEV 306。VDEV 303 還可是一個(gè)LDEV 306。在下文中,在一些情況下,基于RAID組301的VDEV被稱為第一種 VDEV,而基于EVOL 305的VDEV被稱為第二種VDEV。計(jì)算機(jī)系統(tǒng)包括池60。池60由多個(gè)池卷組成。池卷61與任何的LDEV相關(guān)聯(lián)。 池卷61不與由主計(jì)算機(jī)10指定的目標(biāo)設(shè)備相關(guān)聯(lián)。池卷61與第一種VDEV中的LDEV或第二種VDEV中的LDEV相關(guān)聯(lián)。池卷61由多個(gè)真實(shí)頁(yè)264組成。在根據(jù)本發(fā)明的實(shí)施例中, 真實(shí)頁(yè)264和條帶線307以一對(duì)一的方式彼此對(duì)應(yīng)。將在真實(shí)頁(yè)264中存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到與真實(shí)頁(yè)264對(duì)應(yīng)的條帶線307當(dāng)中。在下面的描述中,在一個(gè)條帶線307中存儲(chǔ)的數(shù)據(jù)被稱為數(shù)據(jù)單元,因此在一些情況下在一個(gè)真實(shí)頁(yè)中存儲(chǔ)的數(shù)據(jù)也被稱為數(shù)據(jù)單元。真實(shí)頁(yè)264還可以對(duì)應(yīng)于多個(gè)條帶線307。
計(jì)算機(jī)系統(tǒng)包括與目標(biāo)設(shè)備相關(guān)聯(lián)的邏輯卷。作為這種類型的邏輯卷,例如涉及真實(shí)卷(RV0L)311 和虛擬卷(VV0L)312。RVOL 311 是基于第一種 VDEV(#0)中的 LDEV(#01) 的邏輯卷,即實(shí)質(zhì)上的邏輯卷。另一方面,VVOL 312是不基于VDEV 303的邏輯卷,即虛擬的邏輯卷。一個(gè)池60對(duì)應(yīng)于一個(gè)VVOL 312,而將與VVOL 312對(duì)應(yīng)的池60中的空閑頁(yè)分配給VV0L312的虛擬頁(yè)。
主計(jì)算機(jī)10向存儲(chǔ)系統(tǒng)30發(fā)送用于指定目標(biāo)設(shè)備的I/O請(qǐng)求(寫(xiě)請(qǐng)求或讀請(qǐng)求)。如上所述,RVOL 311或VVOL 312與目標(biāo)設(shè)備相關(guān)聯(lián)。在接收到指定了與VVOL 312 相關(guān)聯(lián)的目標(biāo)設(shè)備的寫(xiě)請(qǐng)求的情況下,例如根據(jù)圖6所示的存儲(chǔ)區(qū)域的等級(jí)例子執(zhí)行如下的處理。更具體的,如陰影所示,從池60中選擇了空閑頁(yè)264,將已選擇的空閑頁(yè)264分配給寫(xiě)目的地的虛擬頁(yè)(由寫(xiě)請(qǐng)求指定的虛擬頁(yè))262,并將寫(xiě)目標(biāo)數(shù)據(jù)單元寫(xiě)入到已分配的空閑頁(yè)264中。在將數(shù)據(jù)單元寫(xiě)入到真實(shí)頁(yè)264的情況就是將數(shù)據(jù)單元寫(xiě)入到與具有真實(shí)頁(yè)264的池卷#0相關(guān)聯(lián)的LDEV#02。由于LDEV#02是第一種VDEV中的LDEV,因此寫(xiě)入到 LDEV#02中的數(shù)據(jù)單元實(shí)際上被寫(xiě)入到與RAID組307中的已分配的真實(shí)頁(yè)264相對(duì)應(yīng)的條帶線307當(dāng)中。在將數(shù)據(jù)從基于缺陷的RG的已分配的頁(yè)拷貝到保留頁(yè)的情況下,以如下方式生成數(shù)據(jù)。從與拷貝源的已分配的頁(yè)對(duì)應(yīng)的條帶線中讀取多個(gè)數(shù)據(jù)元素,并基于多個(gè)數(shù)據(jù)元素重獲被存儲(chǔ)在其中出現(xiàn)缺陷的PDEV的數(shù)據(jù)元素。隨后將由多個(gè)所讀取的數(shù)據(jù)元素和所重獲的數(shù)據(jù)元素組成的數(shù)據(jù)拷貝到保留頁(yè)。在作為缺陷的RG的基礎(chǔ)的RG或拷貝目的地的保留頁(yè)的RAID級(jí)別例如是生成奇偶校驗(yàn)的RAID級(jí)別的情況下,要拷貝的數(shù)據(jù)不必須包括奇偶校驗(yàn)。這是因?yàn)樵诳截悢?shù)據(jù)的情況下會(huì)再次生成奇偶校驗(yàn)。圖7示出了在控制器31的存儲(chǔ)器350中存儲(chǔ)的程序和信息。存儲(chǔ)器350例如存儲(chǔ)有命令控制程序3501、通行控制程序3502、配置控制程序 3503、I/O程序3505、池控制程序3507、電源控制程序3508、高速緩沖控制程序3509、PDEV 診斷程序3510、重構(gòu)控制程序5001、配置信息351、以及池信息352。命令控制程序3501解析從主計(jì)算機(jī)10或管理計(jì)算機(jī)20接收到的命令,并調(diào)用可處理命令的其他計(jì)算機(jī)程序3503至3510中的任一個(gè)。例如,在所接收到的命令是I/O命令的情況下,調(diào)用I/O程序3505,而在所接收到的命令是池設(shè)定命令的情況下,調(diào)用池控制程序3507。通行控制程序3502根據(jù)來(lái)自管理計(jì)算機(jī)20的命令設(shè)定主計(jì)算機(jī)10和目標(biāo)設(shè)備之間的通行。配置控制程序3503根據(jù)來(lái)自管理計(jì)算機(jī)20的命令更新配置信息351。I/O程序3505根據(jù)來(lái)自主計(jì)算機(jī)10的I/O命令執(zhí)行寫(xiě)處理或讀處理。池控制程序3507設(shè)定或更新池信息352。電源控制程序3508控制電源36的打開(kāi)/關(guān)閉。高速緩沖控制程序3509控制高速緩沖存儲(chǔ)器32的存儲(chǔ)區(qū)域。PDEV診斷程序3510診斷PDEV 34的狀態(tài)。例如,在任何的PDEV 34中發(fā)生缺陷的情況下,由PDEV診斷程序3510檢測(cè)PDEV 34的缺陷。當(dāng)檢測(cè)到PDEV 34的缺陷時(shí),重構(gòu)控制程序5001按照如下方式執(zhí)行重構(gòu)處理。配置信息351是與存儲(chǔ)系統(tǒng)30的配置相關(guān)的信息。配置信息351例如包括地址管理表3511、LDEV管理信息3512、目標(biāo)設(shè)備(TD)管理信息3513、以及VDEV管理信息3514。 地址管理表3511包括目標(biāo)設(shè)備/LDEV映射信息3511ULDEV/VDEV映射信息35112和LDEV/ PDEV映射信息35113 (隨后將參考圖10描述這些信息)。LDEV管理信息3512是與LDEV相關(guān)的信息。目標(biāo)設(shè)備管理信息3513是與目標(biāo)設(shè)備相關(guān)的信息。VDEV管理信息3514是與 VDEV相關(guān)的信息。池信息352是與池60相關(guān)的信息。池信息352包括池管理信息3521、池卷管理信息 3522、VVOL-DIR 3523、PSCB(池槽控制塊(brock)) 3524 和 SYS 區(qū)域信息 3525。 池管理信息3521包括池60的設(shè)定。池卷管理信息3522是與池卷相關(guān)的信息。VVOL-DIR 3523包括與向池卷分配的LDEV相關(guān)的信息。PSCB 3524是與真實(shí)頁(yè)相關(guān)的信息,并對(duì)于每個(gè)真實(shí)頁(yè)都存在PSCB 3524。SYS區(qū)域信息3525是與其中存儲(chǔ)有諸如配置信息351和池信息352 的管理信息的LDEV相關(guān)的信息。下面將會(huì)詳細(xì)地描述VDEV管理信息3514、LDEV管理信息3512、地址管理表3511、 池管理信息3521、以及目標(biāo)設(shè)備管理信息3513。圖8是VDEV管理信息3514的配置示意圖。VDEV管理信息3514由為每個(gè)VDEV準(zhǔn)備的VDEV特定信息35141組成。圖8示出了與VDEV (在圖8的以下描述中被稱為目標(biāo)VDEV)相對(duì)應(yīng)的VDEV特定信息35141。VDEV特定信息35141例如包括VDEV#35142、仿真類型35143、總的大小35144、剩余大小35145、設(shè)備屬性35146、設(shè)備狀態(tài)35147、設(shè)定LDEV的數(shù)目35148、LDEV#35149、引導(dǎo)VDEV-槽#35150、 以及終止VDEV-槽#35151。 VDEV#35142是目標(biāo)VDEV的標(biāo)識(shí)符。仿真類型35143是目標(biāo)VDEV的仿真類型的標(biāo)識(shí)符??偟拇笮?5144是指示目標(biāo)VDEV的大小(存儲(chǔ)容量)的信息。剩余大小35145是指示目標(biāo)VDEV的未使用的存儲(chǔ)空間部分(沒(méi)有設(shè)定LDEV的存儲(chǔ)空間部分)的大小的信息。設(shè)備屬性35146是目標(biāo)VDEV的屬性的標(biāo)識(shí)符。例如,設(shè)備屬性35146是在目標(biāo) VDEV是第一種的VDEV的情況下指示第一種的VDEV的標(biāo)識(shí)符,而設(shè)備屬性35146是在目標(biāo) VDEV是第二種的VDEV的情況下指示第二種的VDEV的標(biāo)識(shí)符。設(shè)備狀態(tài)35147是指示目標(biāo)VDEV的狀態(tài)的標(biāo)識(shí)符。作為目標(biāo)VDEV的狀態(tài),存在有正常狀態(tài)、阻止?fàn)顟B(tài)和缺陷狀態(tài)。阻止?fàn)顟B(tài)指示由除發(fā)生缺陷之外的其他因素導(dǎo)致的阻止。缺陷阻止?fàn)顟B(tài)指示由在任何的PDEV 34中發(fā)生缺陷而導(dǎo)致的阻止。設(shè)定LDEV 35148的數(shù)目是指示對(duì)目標(biāo)VDEV設(shè)定的LDEV的總數(shù)目的信息。LDEV#35149、引導(dǎo)VDEV-槽#35150和終止VDEV-槽#35151的集合是為對(duì)于目標(biāo) VDEV設(shè)定的每個(gè)LDEV準(zhǔn)備的信息。下面將會(huì)描述集合的信息。在這個(gè)段落中將對(duì)應(yīng)于集合的LDEV稱為目標(biāo)LDEV。LDEV#35149是目標(biāo)LDEV的標(biāo)識(shí)符。引導(dǎo)VDEV-槽#35150是目標(biāo)LDEV的物理引導(dǎo)槽(存儲(chǔ)區(qū)域)的標(biāo)識(shí)符。終止VDEV-槽#35151是目標(biāo)LDEV的物理最終槽的標(biāo)識(shí)符。槽是與如例如圖6所示的真實(shí)頁(yè)對(duì)應(yīng)的存儲(chǔ)區(qū)域。例如,至少一個(gè)槽對(duì)應(yīng)于一個(gè)真實(shí)頁(yè)。圖9是LDEV管理信息3512的配置圖。LDEV管理信息3512由對(duì)于每個(gè)LDEV準(zhǔn)備的LDEV特定信息35121組成。圖9示出了與LDEV(在圖9的如下描述中被稱為目標(biāo)LDEV)對(duì)應(yīng)的LDEV特定信息35121。LDEV特定信息35121包括LDEV#35122、仿真類型35123、大小35124、引導(dǎo)槽 #35125、終止槽#35126、通行定義信息35127、設(shè)備屬性35128、設(shè)備狀態(tài)35129、程序使用信息 35130、池 ID 35131、以及 RG#35132。LDEV#35122是目標(biāo)LDEV的標(biāo)識(shí)符。 仿真類型35123是目標(biāo)LDEV的仿真類型的標(biāo)識(shí)符。大小35124是指示目標(biāo)LDEV的大小(存儲(chǔ)容量)的信息。弓丨導(dǎo)槽#35125是目標(biāo)LDEV的引導(dǎo)槽的標(biāo)識(shí)符。終止槽#35126是目標(biāo)LDEV的最終槽的標(biāo)識(shí)符。通行定義信息35127是由主計(jì)算機(jī)10定義的并作為分配了目標(biāo)LDEV的邏輯卷 (目標(biāo)設(shè)備)的通行的標(biāo)識(shí)符。設(shè)備屬性35128是目標(biāo)LDEV的屬性的標(biāo)識(shí)符。標(biāo)識(shí)符(即,目標(biāo)LDEV的屬性) 依賴于對(duì)于第一種的VDEV還是第二種的VDEV分配了目標(biāo)LDEV以及是否對(duì)于池卷61分配了目標(biāo)LDEV。設(shè)備狀態(tài)35129是指示包括目標(biāo)LDEV的VDEV的狀態(tài)的標(biāo)識(shí)符。程序使用信息35130是在目標(biāo)LDEV正在由任何計(jì)算機(jī)程序處理的情況下的程序的標(biāo)識(shí)符。池ID 35131是在對(duì)于池卷61分配了目標(biāo)LDEV的情況下設(shè)定的信息。池ID 35131 是包括池卷61的池60的標(biāo)識(shí)符。RG#35132是作為目標(biāo)LDEV的基礎(chǔ)的RG的標(biāo)識(shí)符。圖10是地址管理表3511的圖示。如上所述,地址管理表3511包括目標(biāo)設(shè)備/LDEV映射信息3511ULDEV/VDEV映射信息35112、以及VDEV/PDEV映射信息35113。目標(biāo)設(shè)備/LDEV映射信息35111存儲(chǔ)目標(biāo)設(shè)備(邏輯卷)的地址和LDEV的地址。LDEV/VDEV映射信息35112存儲(chǔ)LDEV的地址和VDEV的地址之間的對(duì)應(yīng)關(guān)系。VDEV/PDEV映射信息35113存儲(chǔ)VDEV的地址和PDEV的地址之間的對(duì)應(yīng)關(guān)系。在 VDEV是第一種的VDEV的情況下,還存儲(chǔ)基于VDEV的RG的RG#。諸如I/O程序3505和重構(gòu)控制程序的許多種程序可參考地址管理表3511以識(shí)別由目標(biāo)設(shè)備的地址對(duì)應(yīng)的LDEV的地址、由LDEV的地址對(duì)應(yīng)的VDEV的地址、以及由VDEV的地址對(duì)應(yīng)的RAID組的地址。圖11是池管理信息3521的配置圖。池管理信息3521由對(duì)于每個(gè)池準(zhǔn)備的池特定信息35211組成。圖11示出了與池 (在圖11的如下描述中被稱為目標(biāo)池)對(duì)應(yīng)的池特定信息35211。池特定信息35211例如包括池ID 35212、屬性/應(yīng)用35213、仿真類型35214、容量35215、空閑容量35216、閾值35217、狀態(tài)35218、池卷的數(shù)目35219、設(shè)備#列表35220、 設(shè)備的數(shù)目35221、設(shè)備#35222、頁(yè)的總數(shù)目35223、空閑頁(yè)的數(shù)目35224、已分配的頁(yè)的數(shù)目35225、保留頁(yè)的數(shù)目35226、缺陷的RG頁(yè)的數(shù)目35227、第一閾值35228、以及第二閾值 35229。池ID 35212是目標(biāo)池的標(biāo)識(shí)符。
屬性/應(yīng)用35213是指示目標(biāo)池的屬性和應(yīng)用的標(biāo)識(shí)符。屬性是PSCB3524的串聯(lián)的模式。應(yīng)用是諸如快照和SYS區(qū)域的操作模式的應(yīng)用。仿真類型35214是目標(biāo)池的仿真類型的標(biāo)識(shí)符。容 量35215是指示目標(biāo)池的總?cè)萘康男畔?。空閑容量35216是指示池的未使用區(qū)域的容量的信息。閾值35217是目標(biāo)池所允許的最大數(shù)據(jù)存儲(chǔ)容量。狀態(tài)35218是目標(biāo)池的當(dāng)前狀態(tài)。作為狀態(tài),例如應(yīng)該提及的有,定義中的狀態(tài)、 擴(kuò)展中的狀態(tài)、以及有效狀態(tài)。池卷35219的數(shù)目是配置目標(biāo)池的池卷的總數(shù)目。設(shè)備#列表35220是對(duì)于分別配置目標(biāo)池的至少一個(gè)池卷分配的至少一個(gè)LDEV 的LDEV#的列表。設(shè)備的數(shù)目35221是指示目標(biāo)池的池卷當(dāng)中分配了第二種VDEV中的LDEV的池卷的數(shù)目的信息。設(shè)備#35222是對(duì)于目標(biāo)池中的池卷分配的LDEV當(dāng)中第二種VDEV中的LDEV的 LDEV#的列表。頁(yè)的總數(shù)目35223是指示用于配置目標(biāo)池的真實(shí)頁(yè)的總數(shù)目的信息??臻e頁(yè)的數(shù)目35224是指示目標(biāo)池的空閑頁(yè)的數(shù)目的信息。已分配的頁(yè)的數(shù)目35225是指示目標(biāo)池的已分配的頁(yè)的數(shù)目的信息。保留頁(yè)的數(shù)目35226是指示目標(biāo)池的保留頁(yè)的數(shù)目的信息。缺陷頁(yè)的數(shù)目35227是指示目標(biāo)池的缺陷頁(yè)的數(shù)目的信息。缺陷頁(yè)是基于缺陷RG 的真實(shí)頁(yè)。第一閾值35228是用于判斷在目標(biāo)池中是否存在充分的未使用存儲(chǔ)容量的閾值。 更具體的,在K已分配的頁(yè)的總存儲(chǔ)容量/目標(biāo)池的總的大小)X100(% )}的值超過(guò)第一閾值35228的情況下,判斷在目標(biāo)池中存在充分的未使用的存儲(chǔ)容量。第二閾值35229是用于判斷在目標(biāo)池中作為拷貝目的地的真實(shí)頁(yè)是否不充分的閾值。更具體的,例如,在K基于除了缺陷RG之外的其他RG的已分配的頁(yè)的總數(shù)目/基于除了缺陷RG之外的其他RG的作為拷貝目的地的未分配的頁(yè)的總數(shù)目)X 100(%)}的值超過(guò)第二閾值35229的情況下,判斷在目標(biāo)池中作為拷貝目的地的未分配的頁(yè)(真實(shí)頁(yè)) 是不充分的。管理員可從管理計(jì)算機(jī)20設(shè)定第一閾值35228和第二閾值35229中的至少一個(gè)。圖12是目標(biāo)設(shè)備管理信息3513的配置圖。目標(biāo)設(shè)備管理信息3513由為每個(gè)目標(biāo)設(shè)備準(zhǔn)備的目標(biāo)設(shè)備特定信息35131組成。 圖12示出了與目標(biāo)設(shè)備(在圖12的如下描述中被稱為目標(biāo)TD)對(duì)應(yīng)的目標(biāo)設(shè)備特定信息 35131。目標(biāo)設(shè)備特定信息35131例如包括端口 #35132、目標(biāo)設(shè)備#35133、LDEV的數(shù)目 35134、LDEV#35135、屬性35136、狀態(tài)35137、容量35138、以及允許的主機(jī)信息35139。端口 35132是與目標(biāo)TD相關(guān)聯(lián)的端口(在FC IF 310中包括的端口)的標(biāo)識(shí)符。目標(biāo)設(shè)備號(hào)碼35133是目標(biāo)TD的標(biāo)識(shí)符。LDEV的數(shù)目35134是指示分配給目標(biāo)TD(邏輯卷)的LDEV的數(shù)目的信息。
LDEV號(hào)碼35135是分配給目標(biāo)TD (邏輯卷)的LDEV的LDEV#的列表。 屬性35136是指示目標(biāo)TD的屬性的標(biāo)識(shí)符。標(biāo)識(shí)符(即,目標(biāo)TD的屬性)依賴于目標(biāo)TD是RVOL還是VVOL。狀態(tài)35137是指示與目標(biāo)TD對(duì)應(yīng)的VDEV的狀態(tài)的標(biāo)識(shí)符。容量35138是目標(biāo)TD的容量(由主計(jì)算機(jī)10識(shí)別的容量)。允許的主機(jī)信息35139是允許訪問(wèn)目標(biāo)TD的主計(jì)算機(jī)10的標(biāo)識(shí)符。圖 13 是 VVOL-DIR 3523 和 PSCB 3524 的圖示。VVOL-DIR 3523是與配置VVOL 312的每個(gè)虛擬頁(yè)262相關(guān)的信息。更具體的, VVOL-DIR 3523具有每個(gè)虛擬頁(yè)262的條目35232。條目35232包括指示與條目35232對(duì)應(yīng)的虛擬頁(yè)的地址的信息(地址)35233和與分配給虛擬頁(yè)的真實(shí)頁(yè)對(duì)應(yīng)的PSCB 3524的指針(指針)35234。PSCB 3524是與配置池60的真實(shí)頁(yè)264相關(guān)的信息。更具體的,PSCB 3524包括與PSCB 3524對(duì)應(yīng)的真實(shí)頁(yè)的標(biāo)識(shí)符(真實(shí)頁(yè)#) 35242、指示池60中真實(shí)頁(yè)的位置的信息 (地址)35243、位于PSCB前一個(gè)的PSCB 3524的指針(指針A) 35244、以及位于PSCB后一個(gè)的PSCB 3524的指針(指針B) 35245。通過(guò)隊(duì)列管理PSCB 3524。在PSCB 3524處在頭部的情況下(緊跟在PSCB 3524之前沒(méi)有連接另一 PSCB 3524的情況下),指針A 35244 的值是無(wú)效的值。在PSCB 3524處在尾部的情況下(緊跟在PSCB 3524之后沒(méi)有連接另一 PSCB3524的情況下),指針B 35245的值是無(wú)效的值。在虛擬頁(yè)262中發(fā)生訪問(wèn)(寫(xiě)或讀)的情況下,可由與虛擬頁(yè)262對(duì)應(yīng)的條目 35232中的PSCB指針35234指定分配給虛擬頁(yè)262的真實(shí)頁(yè)264。由與真實(shí)頁(yè)264對(duì)應(yīng)的 PSCB 3524指定池60中的真實(shí)頁(yè)264的位置。圖14示出了由存儲(chǔ)系統(tǒng)30管理的隊(duì)列的種類。存在有空閑隊(duì)列1401F、保留隊(duì)列1401R、已分配隊(duì)列1401A、缺陷隊(duì)列1401D、以及未使用隊(duì)列1401U。對(duì)于每個(gè)RAID組準(zhǔn)備隊(duì)列1401F、1401R、1401A、1401D和1401U中的每一種隊(duì)列。隊(duì)列1401F、1401R、1401A、1401D和1401U中的每一種隊(duì)列是PSCB 3524的線。 更具體的,空閑隊(duì)列1401F是與空閑頁(yè)對(duì)應(yīng)的PSCB 3524的線。保留隊(duì)列1401R是與保留頁(yè)對(duì)應(yīng)的PSCB3524的線。已分配隊(duì)列1401A是與已分配的頁(yè)對(duì)應(yīng)的PSCB 3524的線。缺陷隊(duì)列1401D是與缺陷頁(yè)對(duì)應(yīng)的PSCB 3524的線。未使用隊(duì)列1401U是與不是真實(shí)頁(yè)、保留頁(yè)、已分配的頁(yè)和缺陷頁(yè)中任一個(gè)的真實(shí)頁(yè)對(duì)應(yīng)的PSCB 3524的線。對(duì)于I/O程序3505,在例如真實(shí)頁(yè)分配給寫(xiě)目的地的虛擬頁(yè)的情況下,從與作為空閑頁(yè)的基礎(chǔ)的RG對(duì)應(yīng)的空閑隊(duì)列1401F中分離與空閑頁(yè)對(duì)應(yīng)的PSCB 3524,并將與空閑頁(yè)對(duì)應(yīng)的PSCB 3524連接到與RG對(duì)應(yīng)的已分配隊(duì)列1401A的尾部。此外,例如在PDEV診斷程序3510檢測(cè)到PDEV 34的缺陷的情況下,PDEV診斷程序3510使得具有檢測(cè)到缺陷的PDEV 34的RG(缺陷RG)處于退化狀態(tài)中。更具體的,PDEV 診斷程序3510將與記錄了每個(gè)RG (未示出)的狀態(tài)的表中的缺陷RG對(duì)應(yīng)的狀態(tài)更新為退化狀態(tài)。在檢測(cè)到缺陷RG處在退化狀態(tài)的情況下,重構(gòu)控制程序5001執(zhí)行重構(gòu)處理中的如下步驟(Ql)至(Q5)(Ql)將與缺陷RG對(duì)應(yīng)的空閑隊(duì)列1401F和保留隊(duì)列1401R的狀態(tài)更新為缺陷狀態(tài);(Q2)將與缺陷RG對(duì)應(yīng)的已分配隊(duì)列1401A移動(dòng)到與缺陷RG對(duì)應(yīng)的缺陷隊(duì)列,并將與缺陷RG對(duì)應(yīng)的空閑隊(duì)列1401F移動(dòng)到與缺陷RG對(duì)應(yīng)的缺陷隊(duì)列(然而,還可不執(zhí)行步驟(Q2));(Q3)將基于 缺陷RG的多個(gè)已分配的頁(yè)中的數(shù)據(jù)統(tǒng)一地分發(fā)給基于沒(méi)有處在退化狀態(tài)中的多個(gè)其他RG的保留頁(yè)(即,其他RG的拷貝目的地的保留頁(yè)的數(shù)目彼此相等);(Q4)將與每個(gè)保留隊(duì)列相連接的PSCB 3524當(dāng)中的與拷貝目的地的保留頁(yè)對(duì)應(yīng)的PSCB 3524移動(dòng)到與對(duì)應(yīng)于每個(gè)保留隊(duì)列的RG對(duì)應(yīng)的已分配隊(duì)列;以及(Q5)將與缺陷RG對(duì)應(yīng)的缺陷隊(duì)列中的所有PSCB 3524移動(dòng)到未使用隊(duì)列1401U。在與基于RG的所有真實(shí)頁(yè)對(duì)應(yīng)的PSCB 3524處在未使用隊(duì)列1401U中的情況下, 從存儲(chǔ)系統(tǒng)30中去除RG。根據(jù)PSCB 3524在隊(duì)列之間的上述移動(dòng),基于時(shí)間來(lái)更新與池60對(duì)應(yīng)的池特定信息 35211 的信息 35224、35225、35226 和 35227。在根據(jù)本發(fā)明的實(shí)施例中,如圖15所示,將默認(rèn)頁(yè)分配給沒(méi)有分配真實(shí)頁(yè)的所有虛擬頁(yè)(下面被稱為未分配的虛擬頁(yè))。因此,在VVOL的任何虛擬頁(yè)中沒(méi)有發(fā)生寫(xiě)的情況下,將默認(rèn)頁(yè)分配給所有的虛擬頁(yè)。在任何的虛擬頁(yè)中發(fā)生了寫(xiě)的情況下,替代默認(rèn)頁(yè)將空閑頁(yè)分配給虛擬頁(yè)(換句話說(shuō),取消將默認(rèn)頁(yè)分配給虛擬頁(yè))。默認(rèn)頁(yè)例如是預(yù)先已經(jīng)記錄了由指示零的比特組成的數(shù)據(jù)(在下文中被稱為零數(shù)據(jù))的真實(shí)頁(yè)。因此,在從主計(jì)算機(jī)10接收到任何未分配的虛擬頁(yè)是讀源的讀請(qǐng)求的情況下,I/O程序3505從與讀源的未分配的虛擬頁(yè)對(duì)應(yīng)的默認(rèn)頁(yè)讀取零數(shù)據(jù),并將所讀取的零數(shù)據(jù)傳送到主計(jì)算機(jī)10。為每個(gè)RG可準(zhǔn)備一個(gè)默認(rèn)頁(yè)。在基于分配給所有的未分配的虛擬頁(yè)的默認(rèn)頁(yè)的 RG處在退化狀態(tài)的情況下,還可將基于沒(méi)有處在退化狀態(tài)的RG的默認(rèn)頁(yè)分配給所有的未分配的虛擬頁(yè)以替代上述的默認(rèn)頁(yè)。對(duì)于每個(gè)池可準(zhǔn)備一個(gè)默認(rèn)頁(yè)。在作為默認(rèn)頁(yè)的基礎(chǔ)的RG處在退化狀態(tài)并且執(zhí)行重構(gòu)處理的情況下,默認(rèn)頁(yè)的拷貝目的地的保留頁(yè)還可是默認(rèn)頁(yè)。換句話說(shuō),還可將拷貝目的地的保留頁(yè)分配給所有的未分配的虛擬頁(yè)。下面將會(huì)描述根據(jù)本發(fā)明的實(shí)施例中執(zhí)行的許多種類的處理。圖16示出了寫(xiě)處理的流程。在參考圖6的描述中,具有寫(xiě)目的地虛擬頁(yè)的VVOL 被稱為寫(xiě)目的地W0L。在接收到寫(xiě)請(qǐng)求的情況下,I/O程序3505根據(jù)向高速緩沖存儲(chǔ)器32的寫(xiě)請(qǐng)求臨時(shí)地寫(xiě)數(shù)據(jù)。I/O程序3505隨后判斷分配給基于寫(xiě)請(qǐng)求指定的寫(xiě)目的地虛擬頁(yè)的真實(shí)頁(yè)是否為默認(rèn)頁(yè)(S1601)。這個(gè)判斷例如是基于真實(shí)頁(yè)#35242或與真實(shí)頁(yè)對(duì)應(yīng)的PSCB 3524 中的地址35243執(zhí)行的。在S1601的判斷結(jié)果是否定的情況下(S1601 否),I/O程序3505向已分配給寫(xiě)目的地虛擬頁(yè)的已分配的頁(yè)寫(xiě)數(shù)據(jù)(S1614)。在S1601的判斷結(jié)果是肯定的情況下(S1601 是),I/O程序3505判斷池60是否具有空閑頁(yè)(S1602)。這個(gè)判斷可以例如是基于與寫(xiě)目的地VVOL對(duì)應(yīng)的池的池特定信息 35211或基于空閑隊(duì)列是否具有PSCB來(lái)執(zhí)行的。
在S1602的判斷結(jié)果是否定的情況下(S1602 否),I/O程序3505向主計(jì)算機(jī)10 和/或管理計(jì)算機(jī)20給出報(bào)警(S1611)。I/O程序3505隨后判斷保留頁(yè)是否可被用作空閑頁(yè)(S1612)。這個(gè)判斷可例如基于與保留頁(yè)對(duì)應(yīng)的PSCB是否包括指示保留頁(yè)可被用作空閑頁(yè)的信息來(lái)執(zhí)行。在S1612的判斷結(jié)果是否定的情況下(S1612:否),終止處理。在S1612 的判斷結(jié)果是肯定的情況下(S1612 是),I/O程序3505選擇保留頁(yè)(S1613)。另一方面,在S1602的判斷結(jié)果是肯定的情況下(S1602 是),I/O程序3505選擇空閑頁(yè)(S1603)。I/O程序3505隨后判斷空閑頁(yè)的數(shù)量是否少(S1604)。這個(gè)判斷可基于 {(已分配的頁(yè)的總的存儲(chǔ)容量/與寫(xiě)目的地VVOL對(duì)應(yīng)的池的總的大小)X 100(% )}的值是否超過(guò)與寫(xiě)目的地VVOL對(duì)應(yīng)的池的第一閾值35228來(lái)執(zhí)行。在S1604的判斷結(jié)果是肯定的情況下(S1604 是),I/O程序3505向主計(jì)算機(jī)10和/或管理計(jì)算機(jī)20給出報(bào)警 (S1605)。在步驟(S1604 否)、S1605或S1613之后,I/O程序3505向?qū)懩康牡靥摂M頁(yè)分配在S1603或S1613中選擇的真實(shí)頁(yè)(S1606)。I/O程序3505隨后將已經(jīng)被存儲(chǔ)在高速緩沖存儲(chǔ)器32中的寫(xiě)目標(biāo)數(shù)據(jù)單元寫(xiě)入已分配的真實(shí)頁(yè)。I/O程序3505將與已分配的真實(shí)頁(yè)對(duì)應(yīng)的PSCB移動(dòng)到與作為真實(shí)頁(yè)的基礎(chǔ)的RG對(duì)應(yīng)的已分配隊(duì)列(S1608)。圖17示出了讀處理的流程。在接收到讀請(qǐng)求的情況下,I/O程序3505判斷CM擊中(hit)是否成功,即讀目標(biāo)數(shù)據(jù)是否存在于高速緩沖存儲(chǔ)器32當(dāng)中(S1701)。在S1701的判斷結(jié)果是肯定的情況下(S1701 是),I/O程序3505從高速緩沖存儲(chǔ)器32讀取數(shù)據(jù)(S1706),并將該數(shù)據(jù)傳送到主計(jì)算機(jī)10 (S1707)。在S1701的判斷結(jié)果是否定的情況下(S1701 否),I/O程序3505判斷分配給由讀請(qǐng)求指定的讀源虛擬頁(yè)的真實(shí)頁(yè)是否為默認(rèn)頁(yè)(S1702)。在S1702的判斷結(jié)果是肯定的情況下(S1702 是),I/O程序3505從已經(jīng)分配給讀源虛擬頁(yè)的已分配的頁(yè)中讀取數(shù)據(jù)(S1703)。在S1702的判斷結(jié)果是否定的情況下(S1702 否),I/O程序3505從已經(jīng)分配給讀源虛擬頁(yè)的默認(rèn)頁(yè)中讀取數(shù)據(jù)(S1704)。I/O程序3505將在S1703或S1704中已經(jīng)讀取的數(shù)據(jù)寫(xiě)入高速緩沖存儲(chǔ)器 32(S1705)。在這之后,I/O程序3505從高速緩沖存儲(chǔ)器32讀取在S1705中已經(jīng)寫(xiě)入的數(shù)據(jù) (S1706),并將該數(shù)據(jù)傳送到主計(jì)算機(jī)10 (S1707)。圖18示出了缺陷應(yīng)對(duì)處理的流程。在檢測(cè)到PDEV的缺陷的情況下(S1800 是),重構(gòu)控制程序5001將具有PDEV的缺陷RG的狀態(tài)改變?yōu)橥嘶癄顟B(tài)(S1801)。重構(gòu)控制程序5001隨后判斷缺陷RG是否為在池 60中定義的RG(S1802)??苫谄渲忻枋隽伺c每個(gè)RG相關(guān)的信息的表來(lái)執(zhí)行判斷。在S1802的判斷結(jié)果是否定的情況下(S1802 否),重構(gòu)控制程序5001執(zhí)行缺陷 RG的收集拷貝(S1814)。更具體的,如參考圖IB所述,重構(gòu)控制程序5001重獲基于缺陷 RG中的一個(gè)PDEV中的數(shù)據(jù)檢測(cè)到缺陷的另一 PDEV中的數(shù)據(jù),并將重獲的數(shù)據(jù)寫(xiě)入備用的 PDEV0還可通過(guò)使得備用的PDEV成為RG的成員的PDEV來(lái)重獲缺陷RG。另一方面,在S1802的判斷結(jié)果是肯定的情況下(S1802 是),重構(gòu)控制程序5001將缺陷RG的狀態(tài)從退化狀態(tài)改變?yōu)槿毕轄顟B(tài)(S1803)。重構(gòu)控制程序5001隨后將與缺陷 RG對(duì)應(yīng)的已分配隊(duì)列1401A移動(dòng)到與缺陷RG對(duì)應(yīng)的缺陷隊(duì)列,并將與缺陷RG對(duì)應(yīng)的空閑隊(duì)列1401F移動(dòng)到與缺陷RG對(duì)應(yīng)的缺陷隊(duì)列(S1804) 重構(gòu)控制程序5001判斷是否滿足條件A (S1805)。條件A是基于除缺陷RG之外的所有RG的多個(gè)真實(shí)頁(yè)中包括數(shù)目上等于或大于基于缺陷RG的已分配的頁(yè)的保留頁(yè)。例如, 在與除缺陷RG之外的所有RG(作為相同的池的基礎(chǔ)的RG)對(duì)應(yīng)的空閑隊(duì)列具有數(shù)目上等于或大于與對(duì)應(yīng)于缺陷RG的缺陷隊(duì)列的已分配的頁(yè)對(duì)應(yīng)的PSCB的PSCB的情況下,S1805 的判斷結(jié)果是肯定的。在S1805的判斷結(jié)果是肯定的情況下(S1805 是),執(zhí)行由步驟S1809至S1813組成的重構(gòu)處理。另一方面,在S1805的判斷結(jié)果是否定的情況下(S1805 否),執(zhí)行S1806的判斷, 即判斷是否滿足條件B (S1806)。條件B是在基于除缺陷RG之外的所有RG的多個(gè)真實(shí)頁(yè)中包括作為重構(gòu)處理中的拷貝目的地并且數(shù)目上等于或大于基于缺陷RG的已分配的頁(yè)的數(shù)目的未分配的頁(yè)。例如,在K基于除缺陷RG之外的其他RG的已分配的頁(yè)的總數(shù)目/作為基于除缺陷RG之外的其他RG的拷貝目的地的未分配的頁(yè)的總數(shù)目)X 100(% )}的值超過(guò)與缺陷RG相關(guān)的池對(duì)應(yīng)的第二閾值35229的情況下,S1806的判斷結(jié)果是否定的。替代執(zhí)行上述計(jì)算,在與除缺陷RG之外的所有RG(作為相同的池的基礎(chǔ)的RG)對(duì)應(yīng)的空閑隊(duì)列或保留隊(duì)列中的PSCB的數(shù)目小于與對(duì)應(yīng)于缺陷RG的缺陷隊(duì)列的已分配的頁(yè)對(duì)應(yīng)的PSCB的數(shù)目的情況下,S1806的判斷結(jié)果是否定的。在S1806的判斷結(jié)果是肯定的情況下(S1806 是),執(zhí)行由步驟S1809至S1813組成的重構(gòu)處理。另一方面,在S1806的判斷結(jié)果是否定的情況下(S1806 否),重構(gòu)控制程序5001 判斷池60的容量是否被擴(kuò)展(S1807)。例如,可基于是否執(zhí)行了 RG的擴(kuò)展來(lái)執(zhí)行判斷。 在S1807的判斷結(jié)果是肯定的情況下(S1807 是),根據(jù)來(lái)自管理計(jì)算機(jī)20的指令向池60 追加池卷(S1808),并隨后再次執(zhí)行S1806的判斷。在S1807的判斷結(jié)果是否定的情況下 (S1807 否),對(duì)于缺陷RG執(zhí)行收集拷貝(S1814)。在重構(gòu)處理中,對(duì)于基于缺陷RG的所有已分配的頁(yè)執(zhí)行S1809的拷貝源決定處理、S1810的拷貝目的地決定處理、S1811的拷貝、以及S1812的隊(duì)列更新(S1813)。在S1809的拷貝源決定處理中,決定拷貝源的存儲(chǔ)區(qū)域。在S1810的拷貝目的地決定處理中,決定拷貝目的地的真實(shí)頁(yè)。在S1811的拷貝中,將已經(jīng)在S1809中決定的拷貝源存儲(chǔ)區(qū)域中存儲(chǔ)的數(shù)據(jù)拷貝到在S1810中決定的拷貝目的地真實(shí)頁(yè)中。更具體的,例如,重構(gòu)控制程序5001從拷貝源存儲(chǔ)區(qū)域讀取數(shù)據(jù)并將該數(shù)據(jù)寫(xiě)入高速緩沖存儲(chǔ)器32。隨后,重構(gòu)控制程序5001從高速緩沖存儲(chǔ)器32讀取數(shù)據(jù)并將該數(shù)據(jù)寫(xiě)入拷貝目的地真實(shí)頁(yè)。通過(guò)重構(gòu)控制程序5001將已經(jīng)寫(xiě)入高速緩沖存儲(chǔ)器32的數(shù)據(jù)拷貝到高速緩沖存儲(chǔ)器32。還可將被拷貝的數(shù)據(jù)寫(xiě)入到拷貝目的地真實(shí)頁(yè)。在S1812的隊(duì)列更新中,重構(gòu)控制程序5001執(zhí)行如下的步驟(1812-1)和 (1812-2)(1812-1)將與拷貝目的地真實(shí)頁(yè)對(duì)應(yīng)的PSCB從與作為真實(shí)頁(yè)的基礎(chǔ)的RG對(duì)應(yīng)的保留隊(duì)列(或空閑隊(duì)列)移動(dòng) 到與RG對(duì)應(yīng)的已分配隊(duì)列;以及(1812-2)將與拷貝源存儲(chǔ)區(qū)域?qū)?yīng)的虛擬頁(yè)的條目35232中的指針35234(見(jiàn)圖 13)從指示與對(duì)應(yīng)于缺陷RG的已分配的頁(yè)對(duì)應(yīng)的PSCB的信息改變?yōu)橹甘九c拷貝目的地真實(shí)頁(yè)對(duì)應(yīng)的PSCB的信息。重構(gòu)控制程序5001判斷對(duì)于分配了基于缺陷RG的真實(shí)頁(yè)的所有的虛擬頁(yè)是否執(zhí)行了步驟S1809至S1811(S1813)。在判斷結(jié)果是否定的情況下(S1813 否),再次執(zhí)行 S1809。在判斷結(jié)果是肯定的情況下(S1813:是),終止缺陷應(yīng)對(duì)處理。在圖18的示例中,對(duì)于分配了基于缺陷RG的真實(shí)頁(yè)的每個(gè)虛擬頁(yè)都執(zhí)行步驟 S1809至S1812的循環(huán)。然而,作為替換,還可對(duì)于分配了基于缺陷RG的真實(shí)頁(yè)的所有虛擬頁(yè)執(zhí)行步驟S1809和S1810,并且立刻從所有的拷貝源存儲(chǔ)區(qū)域到所有的拷貝目的地真實(shí)頁(yè)執(zhí)行S1811的拷貝。圖19示出了拷貝源決定處理的流程。重構(gòu)控制程序5001從基于缺陷RG的已分配的頁(yè)當(dāng)中選擇在處理中沒(méi)有被選擇的任何已分配的頁(yè)(S1901)。重構(gòu)控制程序5001隨后判斷是否存在用于配置和VVOL的卷對(duì)的副卷(S1902)。 例如可基于描述了與配置卷對(duì)的邏輯卷相關(guān)的信息的表(未示出)執(zhí)行判斷。副卷是拷貝目的地邏輯卷。副卷具有與配置VVOL的多個(gè)虛擬頁(yè)分別對(duì)應(yīng)的多個(gè)存儲(chǔ)區(qū)域(之后被稱為副頁(yè))。副頁(yè)與虛擬頁(yè)例如按照一對(duì)一的方式彼此對(duì)應(yīng)。副卷的存儲(chǔ)容量等于或大于VVOL 的存儲(chǔ)容量。在S1902的判斷結(jié)果是肯定的情況下(S1902 是),重構(gòu)控制程序5001判斷副卷是否處于退化狀態(tài)(S1903)。例如基于描述了與每個(gè)邏輯卷相關(guān)的信息的表(未示出)執(zhí)行判斷。例如,在任何RG處于退化狀態(tài)的情況下,基于RG的邏輯卷處于退化狀態(tài)。在S1903的判斷結(jié)果是否定的情況下(S1903 否),重構(gòu)控制程序5001判斷對(duì)于副卷應(yīng)用的負(fù)載是否為高負(fù)載(S1904)。例如基于描述了與每個(gè)邏輯卷相關(guān)的信息的表 (未示出)執(zhí)行判斷。例如,在表中描述的副卷的I/O頻率(預(yù)定時(shí)間的I/O數(shù)目)超出特定的I/O頻率閾值的情況下,則判斷對(duì)于副卷應(yīng)用了高負(fù)載。在S1904的判斷結(jié)果是否定的情況下(S1904 否),重構(gòu)控制程序5001決定拷貝源存儲(chǔ)區(qū)域作為與分配了在S1901中選擇的已分配的頁(yè)的虛擬頁(yè)對(duì)應(yīng)的副頁(yè)(S1905)。更具體的,在存在配置和VVOL的成對(duì)的副卷的情況下,副卷不處于退化狀態(tài),并且對(duì)于副卷不應(yīng)用高負(fù)載,與分配了在S1901中選擇的已分配的頁(yè)的虛擬頁(yè)對(duì)應(yīng)的副頁(yè)是拷貝源存儲(chǔ)區(qū)域。另一方面,在S1902的判斷結(jié)果是否定的情況下(S1902 否),在S1903的判斷結(jié)果是肯定的情況下(S1903 是),或在S1904的判斷結(jié)果是肯定的情況下(S1904 是),重構(gòu)控制程序5001決定拷貝源存儲(chǔ)區(qū)域作為在S1901中選擇的已分配的頁(yè)(S1906)。更具體的,在不存在配置和VVOL的成對(duì)的副卷的情況下,即使存在副卷,則該副卷也不處于退化狀態(tài),或是對(duì)于副卷應(yīng)用高負(fù)載,在S1901中選擇的已分配的頁(yè)是拷貝源存儲(chǔ)區(qū)域。圖20示出了拷貝目的地決定處理的流程。重構(gòu)控制程序5001選擇基于除了缺陷RG之外的RG的未分配的頁(yè)(S2001)。這里要選擇的未分配的頁(yè)實(shí)質(zhì)上是保留頁(yè)。在不存在保留頁(yè)的情況下,未分配的頁(yè)是可以作為拷貝目的地的真實(shí)頁(yè)的空閑頁(yè)(與指示空閑頁(yè)是拷貝目的地的標(biāo)志中包括的PSCB對(duì)應(yīng)的空閑頁(yè))。此外,要選擇的未分配的頁(yè)實(shí)質(zhì)上是基于與作為拷貝目的地決定處理的前一個(gè)處理中決定的頁(yè)的基礎(chǔ)的RG不同的RG的頁(yè)。這不是將拷貝目的地集中于一個(gè)RG。從與 VVOL對(duì)應(yīng)的池中選擇未分配的頁(yè)。重構(gòu)控制程序5001判斷作為在S2001中選擇的未分配的頁(yè)的基礎(chǔ)的RG是否正常 (S2002)。在S2002的判斷結(jié)果是否定的情況下(S2002 否),重構(gòu)控制程序5001選擇基于與作為S2001中選擇的未分配的頁(yè)的基礎(chǔ)的RG不同的RG的未分配的頁(yè)(S2003)。
在這之后,執(zhí)行S2002的判斷。在S2002的判斷結(jié)果是肯定的情況下(S2002 是),重構(gòu)控制程序5001決定在 S2001(或S2003)中選擇的未分配的頁(yè)作為拷貝目的地的真實(shí)頁(yè)(S2004)。在按照如上所述決定了拷貝源存儲(chǔ)區(qū)域和拷貝目的地真實(shí)頁(yè)之后,執(zhí)行拷貝。例如,如圖21所示,在副卷是VV0L(以下被稱為S-VV0L)并且在配置與VVOL的成對(duì)的主VVOL (以下被稱為P-VV0L)中的虛擬頁(yè)#00和#03的拷貝源存儲(chǔ)區(qū)域是副頁(yè)(虛擬頁(yè))#10和#13的情況下,執(zhí)行如下的拷貝。從與和對(duì)應(yīng)于P-VVOL的池#0分離的S-VVOL 對(duì)應(yīng)的池#1中指定已經(jīng)分配給副頁(yè)#10和#13的已分配的頁(yè)#52和#45,并將數(shù)據(jù)從已經(jīng)被指定的已分配的頁(yè)#52和#45拷貝到與P-VVOL對(duì)應(yīng)的池#0中的保留頁(yè)(拷貝目的地真實(shí)頁(yè))#16和#17。此外,例如如圖22所示,在副卷是RV0L(以下被稱為S-RV0L)并且配置和RVOL的成對(duì)的主VVOL (以下被稱為P-VV0L)中的虛擬頁(yè)#02和#03的拷貝源存儲(chǔ)區(qū)域是副頁(yè)#22 和#23的情況下,執(zhí)行如下的拷貝。將數(shù)據(jù)從副頁(yè)#22和#23拷貝到與P-VVOL對(duì)應(yīng)的池中的保留頁(yè)(拷貝目的地真實(shí)頁(yè))#17和#16。在圖21和22中,從副卷和已經(jīng)分配給P-VVOL的真實(shí)頁(yè)并行地讀取數(shù)據(jù),并將所讀取的數(shù)據(jù)拷貝到拷貝目的地的未分配的頁(yè)??截惸康牡氐奈捶峙涞捻?yè)是與P-VVOL對(duì)應(yīng)的池中的保留頁(yè)(它還可以是空閑頁(yè)),是基于除了缺陷RG之外的RG的真實(shí)頁(yè)。對(duì)于已經(jīng)參考圖20描述的拷貝源決定處理,不從基于一個(gè)RG的至少兩個(gè)真實(shí)頁(yè)中選擇拷貝目的地的未分配的頁(yè),而是從基于除了缺陷RG之外的多個(gè)RG的多個(gè)真實(shí)頁(yè)組中平均地選擇。雖然如上描述了根據(jù)本發(fā)明的優(yōu)選實(shí)施例,但是本發(fā)明并不局限于實(shí)施例,在不脫離本發(fā)明的范圍的前提下可作出各種改變、修改和功能追加。例如,重構(gòu)控制程序5001可將具有基于通過(guò)重構(gòu)處理減少的保留頁(yè)數(shù)目的數(shù)目并且基于除了缺陷RG之外的至少一個(gè)RG的空閑頁(yè)改變?yōu)楸A繇?yè)。例如,在保留頁(yè)被減少的每種情況下,可將任何的空閑頁(yè)改變?yōu)楸A繇?yè)?;蚋唧w的,可依賴于基于除了缺陷RG 之外的RG的池中空閑頁(yè)的數(shù)目來(lái)決定被改變?yōu)楸A繇?yè)的空閑頁(yè)的數(shù)目。例如,如上所述,重構(gòu)控制程序5001可在完成重構(gòu)處理之后執(zhí)行返回處理。更具體的,重構(gòu)控制程序5001可將拷貝的數(shù)據(jù)從拷貝目的地的真實(shí)頁(yè)(返回源的真實(shí)頁(yè))返回到基于恢復(fù)的RG的任何未分配的真實(shí)頁(yè)(返回目的地的真實(shí)頁(yè)),并將返回目的地的真實(shí)頁(yè)分配給已經(jīng)對(duì)返回源的真實(shí)頁(yè)分配的虛擬頁(yè)。
權(quán)利要求
1.一種存儲(chǔ)系統(tǒng),包括池(60),是由基于多個(gè)RAID組(301)的多個(gè)真實(shí)頁(yè)(沈4)構(gòu)成的存儲(chǔ)區(qū)域組; I/O部(3505),用于執(zhí)行包括以下步驟的寫(xiě)處理將所述多個(gè)真實(shí)頁(yè)中的任意未分配的真實(shí)頁(yè)分配給用于配置虛擬卷(312)的多個(gè)虛擬頁(yè)(312)中的寫(xiě)目的地虛擬頁(yè);以及將寫(xiě)目標(biāo)數(shù)據(jù)寫(xiě)入到分配給所述寫(xiě)目的地虛擬頁(yè)的所述未分配的真實(shí)頁(yè);以及重構(gòu)控制部(5001),用于執(zhí)行包括以下步驟的重構(gòu)處理將在基于特定RAID組的所有真實(shí)頁(yè)中的所有已分配的真實(shí)頁(yè)中存儲(chǔ)的每個(gè)數(shù)據(jù)拷貝到基于與所述特定RAID組分開(kāi)的至少一個(gè)RAID組的未分配的真實(shí)頁(yè);以及代替每個(gè)拷貝源的已分配的真實(shí)頁(yè),將每個(gè)拷貝目的地的真實(shí)頁(yè)分配給被分配了每個(gè)拷貝源的已分配的真實(shí)頁(yè)的每個(gè)虛擬頁(yè),其中,每個(gè)RAID組由多個(gè)物理存儲(chǔ)設(shè)備(34)構(gòu)成,并且是存儲(chǔ)基于任意RAID級(jí)別的數(shù)據(jù)的存儲(chǔ)設(shè)備組,每個(gè)真實(shí)頁(yè)是物理存儲(chǔ)區(qū)域,并且每個(gè)虛擬頁(yè)是虛擬存儲(chǔ)區(qū)域。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)系統(tǒng),進(jìn)一步包括拷貝控制部,所述拷貝控制部用于將數(shù)據(jù)從虛擬卷中的虛擬頁(yè)拷貝到副頁(yè),所述副頁(yè)對(duì)應(yīng)于在以虛擬卷配置卷對(duì)的副卷中的虛擬頁(yè),其中,每個(gè)副頁(yè)是存儲(chǔ)區(qū)域,在寫(xiě)處理中分配給寫(xiě)目的地虛擬頁(yè)的未分配的真實(shí)頁(yè)是空閑頁(yè), 在重構(gòu)處理中的拷貝目的地的未分配的真實(shí)頁(yè)是保留頁(yè),且所述保留頁(yè)是未分配給任何虛擬頁(yè)且不是空閑頁(yè)的真實(shí)頁(yè),并且所述保留頁(yè)是在所述寫(xiě)處理中未分配給寫(xiě)目的地虛擬頁(yè)的未分配的真實(shí)頁(yè),配置基于每個(gè)RAID組的多條子存儲(chǔ)區(qū)域線(307),每條子存儲(chǔ)區(qū)域線設(shè)置在用于配置RAID組的多個(gè)物理存儲(chǔ)設(shè)備上,并由一個(gè)RAID組中的所述多個(gè)物理存儲(chǔ)設(shè)備中的每個(gè)物理存儲(chǔ)設(shè)備中包含的子存儲(chǔ)區(qū)域構(gòu)成,一個(gè)真實(shí)頁(yè)對(duì)應(yīng)于至少一條子存儲(chǔ)區(qū)域線,并且因此要被寫(xiě)入到所述真實(shí)頁(yè)的數(shù)據(jù)被寫(xiě)入到與所述真實(shí)頁(yè)對(duì)應(yīng)的至少一條子存儲(chǔ)區(qū)域線,至少一個(gè)保留頁(yè)配置在基于每個(gè)RAID組的至少兩個(gè)真實(shí)頁(yè)中, 即使在任何的RAID組是所述特定RAID且基于所述特定RAID組的所有真實(shí)頁(yè)中的除保留頁(yè)之外的所有真實(shí)頁(yè)是已分配的真實(shí)頁(yè)的情況下,具有數(shù)目等于或大于已分配的真實(shí)頁(yè)的數(shù)目的保留頁(yè)被包含在基于除所述特定RAID組之外的至少一個(gè)RAID組的至少兩個(gè)真實(shí)頁(yè)中,在與被分配了基于所述特定RAID組的已分配的真實(shí)頁(yè)的虛擬頁(yè)對(duì)應(yīng)的副頁(yè)中的數(shù)據(jù)并沒(méi)有不同于分配給虛擬頁(yè)的已分配的真實(shí)頁(yè)中的數(shù)據(jù)并且沒(méi)有對(duì)所述副頁(yè)應(yīng)用高的負(fù)荷的情況下,所述重構(gòu)控制部在所述重構(gòu)處理中不從已分配的真實(shí)頁(yè)而從對(duì)應(yīng)的副頁(yè)讀取數(shù)據(jù),并將讀取的數(shù)據(jù)拷貝到拷貝目的地的保留頁(yè),并且另一方面,在數(shù)據(jù)彼此不同或?qū)λ龈表?yè)沒(méi)有應(yīng)用高的負(fù)荷的情況下,所述重構(gòu)控制部從已分配的真實(shí)頁(yè)讀取數(shù)據(jù),并將讀取的數(shù)據(jù)拷貝到拷貝目的地的保留頁(yè),并且因此可以在所述重構(gòu)處理中并行地執(zhí)行從基于所述特定RAID組的任何已分配的真實(shí)頁(yè)讀取所述數(shù)據(jù),以及從任何所述副頁(yè)讀取所述數(shù)據(jù),所述特定的RAID組是提供有出現(xiàn)了缺陷的物理存儲(chǔ)設(shè)備的RAID組,并且即使在所述重構(gòu)處理期間,在出現(xiàn)了對(duì)任何虛擬頁(yè)的寫(xiě)入的情況下,所述I/O部對(duì)虛擬頁(yè)執(zhí)行所述寫(xiě)處理,并且所述I/O部在所述寫(xiě)處理中將基于除所述特定RAID組之外的 RAID組的空閑頁(yè)分配給虛擬頁(yè),并且另一方面,在出現(xiàn)從任何虛擬頁(yè)的讀取的情況下,所述 I/O部即使在分配給虛擬頁(yè)的真實(shí)頁(yè)是基于所述特定RAID組的真實(shí)頁(yè)的情況下也從真實(shí)頁(yè)讀取數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的存儲(chǔ)系統(tǒng),其中,作為拷貝目的地的保留頁(yè)的數(shù)目對(duì)于每個(gè)所述其他RAID組是相同的。
4.根據(jù)權(quán)利要求3所述的存儲(chǔ)系統(tǒng),其中,所述重構(gòu)控制部執(zhí)行量等于或大于基于所述特定RAID組的已分配的真實(shí)頁(yè)的量的保留頁(yè)是否被包含在基于除所述特定RAID組之外的至少一個(gè)RAID組的多個(gè)真實(shí)頁(yè)中的第一判斷,并且在第一判斷的結(jié)果是否定的情況下, 重構(gòu)控制部執(zhí)行量等于或大于基于所述特定RAID組的已分配的真實(shí)頁(yè)的量的、并且能成為重構(gòu)處理中的拷貝目的地的空閑頁(yè)是否被包含在基于除所述特定RAID組之外的至少一個(gè)RAID組的多個(gè)真實(shí)頁(yè)中的第二判斷,并且在第二判斷的結(jié)果也是否定的情況下,執(zhí)行用于所述特定RAID組的收集拷貝來(lái)代替所述重構(gòu)處理,并且另一方面,在第一判斷或第二判斷的結(jié)果是肯定的情況下,重構(gòu)控制部執(zhí)行重構(gòu)處理。
5.根據(jù)權(quán)利要求1所述的存儲(chǔ)系統(tǒng),其中在寫(xiě)處理中被分配給寫(xiě)目的地虛擬頁(yè)的未分配的真實(shí)頁(yè)是空閑頁(yè), 在重構(gòu)處理中的拷貝目的地的未分配的真實(shí)頁(yè)是保留頁(yè),并且所述保留頁(yè)是未分配給任何虛擬頁(yè)的真實(shí)頁(yè)且不是空閑頁(yè),并且所述保留頁(yè)是在寫(xiě)處理中沒(méi)有分配給寫(xiě)目的地虛擬頁(yè)的未分配的真實(shí)頁(yè),至少一個(gè)保留頁(yè)配置在基于每個(gè)RAID組的至少兩個(gè)真實(shí)頁(yè)中, 配置基于每個(gè)RAID組的多條子存儲(chǔ)區(qū)域線(307),每條子存儲(chǔ)區(qū)域線設(shè)置在用于配置RAID組的多個(gè)物理存儲(chǔ)設(shè)備上,并由一個(gè)RAID組中的所述多個(gè)物理存儲(chǔ)設(shè)備的每個(gè)物理存儲(chǔ)設(shè)備中包含的子存儲(chǔ)區(qū)域構(gòu)成,一個(gè)真實(shí)頁(yè)對(duì)應(yīng)于至少一條子存儲(chǔ)區(qū)域線,并且因此要被寫(xiě)入到真實(shí)頁(yè)的數(shù)據(jù)被寫(xiě)入到與所述真實(shí)頁(yè)對(duì)應(yīng)的至少一條子存儲(chǔ)區(qū)域線。
6.根據(jù)權(quán)利要求1或5所述的存儲(chǔ)系統(tǒng),其中,即使在任意RAID組是所述特定RAID 組且基于所述特定RAID組的所有真實(shí)頁(yè)中除保留頁(yè)之外的所有真實(shí)頁(yè)是已分配的真實(shí)頁(yè)的情況下,具有數(shù)目等于或大于已分配的真實(shí)頁(yè)的數(shù)目的保留頁(yè)被包含在基于除所述特定 RAID組之外的至少一個(gè)RAID組的至少兩個(gè)真實(shí)頁(yè)中。
7.根據(jù)權(quán)利要求5或6所述的存儲(chǔ)系統(tǒng),進(jìn)一步包括管理隊(duì)列的存儲(chǔ)資源,其中,對(duì)所述存儲(chǔ)資源管理至少三種隊(duì)列,所述至少三種隊(duì)列包括空閑隊(duì)列、保留隊(duì)列以及已分配的隊(duì)列,空閑隊(duì)列是與空閑頁(yè)有關(guān)的信息元素的隊(duì)列, 保留隊(duì)列是與保留頁(yè)有關(guān)的信息元素的隊(duì)列, 已分配的隊(duì)列是與已分配的頁(yè)有關(guān)的信息元素的隊(duì)列,并且對(duì)每個(gè)RAID組管理所述至少三種隊(duì)列。
8.根據(jù)權(quán)利要求1和5至7中任一項(xiàng)所述的存儲(chǔ)系統(tǒng),進(jìn)一步包括拷貝控制部,所述拷貝控制部用于將數(shù)據(jù)從虛擬卷中的虛擬頁(yè)拷貝副頁(yè),所述副頁(yè)與用于以虛擬卷配置卷對(duì)的副卷中的虛擬卷對(duì)應(yīng),其中,每個(gè)副頁(yè)是存儲(chǔ)區(qū)域,并且在與已被分配了基于所述特定RAID組的已分配的真實(shí)頁(yè)的虛擬頁(yè)對(duì)應(yīng)的副頁(yè)中的數(shù)據(jù)并沒(méi)有不同于已分配給虛擬頁(yè)的已分配的真實(shí)頁(yè)中的數(shù)據(jù)的情況下,重構(gòu)控制部在重構(gòu)處理中不從已分配的真實(shí)頁(yè)而從對(duì)應(yīng)的副頁(yè)讀取數(shù)據(jù),并將讀取的數(shù)據(jù)拷貝到拷貝目的地的未分配的真實(shí)頁(yè),并且另一方面,在所述數(shù)據(jù)彼此不同的情況下,重構(gòu)控制部從已分配的真實(shí)頁(yè)讀取數(shù)據(jù),并將讀取的數(shù)據(jù)拷貝到拷貝目的地的未分配的真實(shí)頁(yè),并且因此在重構(gòu)處理中可以并行地執(zhí)行從基于所述特定RAID組的任何已分配的真實(shí)頁(yè)讀取數(shù)據(jù)以及從任何副頁(yè)讀取數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的存儲(chǔ)系統(tǒng),其中,副頁(yè)是基于不是所述池的真實(shí)頁(yè)的基礎(chǔ)的 RAID組的邏輯卷。
10.根據(jù)權(quán)利要求8所述的存儲(chǔ)系統(tǒng),其中副卷是另一個(gè)虛擬卷,并且拷貝控制部將與所述池分開(kāi)的池中的未分配的真實(shí)頁(yè)分配給數(shù)據(jù)的拷貝目的地的副頁(yè),并將拷貝目標(biāo)數(shù)據(jù)寫(xiě)入已分配的真實(shí)頁(yè)。
11.根據(jù)權(quán)利要求8至10中任一項(xiàng)所述的存儲(chǔ)系統(tǒng),其中,即使在所述數(shù)據(jù)并沒(méi)有彼此不同的情況下,重構(gòu)控制部也在對(duì)副卷應(yīng)用了高的負(fù)荷或副卷處于退化狀態(tài)的情況下在重構(gòu)處理中從已分配的真實(shí)頁(yè)讀取數(shù)據(jù)。
12.根據(jù)權(quán)利要求1和5至10中任一項(xiàng)所述的存儲(chǔ)系統(tǒng),其中所述特定的RAID組是提供有出現(xiàn)了缺陷的物理存儲(chǔ)設(shè)備的RAID組,并且即使在所述重構(gòu)處理期間,在出現(xiàn)了對(duì)任何虛擬頁(yè)的寫(xiě)入的情況下,所述I/O部對(duì)虛擬頁(yè)執(zhí)行所述寫(xiě)處理,并且所述I/O部在所述寫(xiě)處理中將基于除所述特定RAID組之外的 RAID組的未分配的真實(shí)頁(yè)分配給虛擬頁(yè),并且另一方面,在出現(xiàn)從任何虛擬頁(yè)的讀取的情況下,所述I/O部即使在分配給虛擬頁(yè)的真實(shí)頁(yè)是基于所述特定RAID組的真實(shí)頁(yè)的情況下也從真實(shí)頁(yè)讀取數(shù)據(jù)。
13.根據(jù)權(quán)利要求1和5至12中任一項(xiàng)所述的存儲(chǔ)系統(tǒng),其中,作為拷貝目的地的未分配的真實(shí)頁(yè)的數(shù)目對(duì)于每個(gè)所述其他RAID組是相同的。
14.根據(jù)權(quán)利要求2至7中任一項(xiàng)所述的存儲(chǔ)系統(tǒng),其中,重構(gòu)控制部,將具有基于由重構(gòu)處理對(duì)與所述特定RAID組分開(kāi)的至少一個(gè)RAID組減少的保留頁(yè)的數(shù)目的數(shù)目的未分配的真實(shí)頁(yè)改變?yōu)楸A繇?yè)。
15.根據(jù)權(quán)利要求1至14中任一項(xiàng)所述的存儲(chǔ)系統(tǒng),其中所述特定RAID組是提供有出現(xiàn)了缺陷的物理存儲(chǔ)設(shè)備的RAID組,并且在恢復(fù)了所述特定RAID組的情況下,重構(gòu)控制部執(zhí)行包括以下步驟的返回處理將在重構(gòu)處理中已經(jīng)拷貝的數(shù)據(jù)返回到基于所述特定RAID組的任意未分配的真實(shí)頁(yè);以及將返回目的地的真實(shí)頁(yè)代替返回源的真實(shí)頁(yè)分配給被分配給返回源的真實(shí)頁(yè)的虛擬頁(yè)。
全文摘要
管理作為由基于多個(gè)RAID組的多個(gè)真實(shí)頁(yè)組成的存儲(chǔ)區(qū)域組的池。存儲(chǔ)系統(tǒng)執(zhí)行包括如下步驟的重構(gòu)處理將已經(jīng)存儲(chǔ)在基于特定RAID組的所有真實(shí)頁(yè)當(dāng)中的所有已分配的真實(shí)頁(yè)中的每個(gè)數(shù)據(jù)拷貝到基于與特定RAID組分開(kāi)的至少一個(gè)RAID組的未分配的真實(shí)頁(yè),將每個(gè)拷貝目的地的真實(shí)頁(yè)分配給每個(gè)拷貝源的已分配的真實(shí)頁(yè)的已分配目的地的每個(gè)虛擬頁(yè),以及取消對(duì)于虛擬頁(yè)的每個(gè)拷貝源的已分配的真實(shí)頁(yè)的分配。
文檔編號(hào)G06F11/10GK102209957SQ20098014486
公開(kāi)日2011年10月5日 申請(qǐng)日期2009年2月26日 優(yōu)先權(quán)日2009年2月26日
發(fā)明者山本政行, 江口賢哲 申請(qǐng)人:株式會(huì)社日立制作所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鄂托克前旗| 东乌珠穆沁旗| 香港| 灵石县| 南康市| 宝清县| 白水县| 上饶县| 全州县| 咸阳市| 长白| 二手房| 五常市| 闽侯县| 庐江县| 扎兰屯市| 肃宁县| 九龙县| 井研县| 云和县| 鄂温| 孟津县| 根河市| 江门市| 夏河县| 龙游县| 江津市| 宜兰县| 马鞍山市| 睢宁县| 射阳县| 冀州市| 尼木县| 新和县| 屯门区| 镇安县| 饶河县| 桐庐县| 江阴市| 左贡县| 祁阳县|