專利名稱:提供虛擬卷的存儲系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及應用Thin Provisioning(自動精簡配置,也被稱作Dynamic Provisioning(動態(tài)預配置))的存儲控制。
背景技術(shù):
數(shù)據(jù)遷移技術(shù)已為人所知。數(shù)據(jù)遷移通常以卷(volume)為單位進行。例如,根據(jù)專利文獻1,保存在第一邏輯卷中的所有數(shù)據(jù)從第一邏輯卷遷移到第二邏輯卷。另外,存儲層次化技術(shù)也已為人所知。例如,根據(jù)專利文獻2,多個存儲系統(tǒng)所具有的多個邏輯卷分別被分類至多個層(tier)中的某一個層,某一個層中所屬的邏輯卷被遷移到其它的層。多個層中包括例如高可信度的層、低成本的層等?,F(xiàn)有技術(shù)文獻專利文獻專利文獻1 日本特開2006-302077號公報專利文獻2 日本特開2008-047156號公報
發(fā)明內(nèi)容
發(fā)明要解決的課題但是,被稱作 Thin Provisioning (也被稱作 Dynamic Provisioning)的技術(shù)已為人所知。根據(jù)Thin Provisioning,準備由多個虛擬存儲區(qū)域(虛擬頁)構(gòu)成的虛擬邏輯卷 (虛擬卷)和多個實體的存儲區(qū)域(實際頁)。在對虛擬頁進行寫入的情況下,對該虛擬頁分配實際頁,在所分配的實際頁中寫入作為寫入對象的數(shù)據(jù)。設(shè)Thin !Provisioning中應用了上述的數(shù)據(jù)遷移技術(shù)以及存儲層次化技術(shù)。另外,
設(shè)第一虛擬卷屬于第一層,第二虛擬卷屬于第二層。該情況下,能夠從第一層中所屬的第一虛擬卷向第二層中所屬的第二虛擬卷遷移所有的數(shù)據(jù)。根據(jù)該技術(shù),第一虛擬卷內(nèi)的所有數(shù)據(jù)被從第一層遷移到第二層,但是并不一定優(yōu)選所有的數(shù)據(jù)存在于第二層。于是,本發(fā)明的目的在于使依照Thin Provisioning的虛擬卷內(nèi)的數(shù)據(jù)配置適當化。用于解決課題的手段管理將由多個存儲設(shè)備提供的多個存儲區(qū)域依照存儲區(qū)域的屬性進行分類后的多個存儲區(qū)域組。根據(jù)面向邏輯卷內(nèi)多個地址中所含至少一個地址的寫入請求,提供分配到所述多個存儲區(qū)域中所含至少一個存儲區(qū)域的多個所述邏輯卷。根據(jù)所述邏輯卷內(nèi)所述至少一個地址的存取狀況,將通過所述寫入請求寫到所述至少一個地址中的數(shù)據(jù)從所述多個存儲區(qū)域組的一個中所含所述至少一個存儲區(qū)域,向所述多個存儲區(qū)域組所含其它存儲區(qū)域組內(nèi)的至少一個存儲區(qū)域遷移。
圖1表示本發(fā)明實施例1的概要。圖2表示存儲系統(tǒng)103的構(gòu)成。圖3表示存儲系統(tǒng)103中各種存儲區(qū)域的關(guān)系。圖4表示CMPK119所存儲的信息以及計算機程序。圖5表示層定義表401的構(gòu)成。圖6表示層管理表402的構(gòu)成。圖7表示池管理表403的構(gòu)成。圖8表示VVOL管理表404的構(gòu)成。圖9表示PVOL管理表405的構(gòu)成。圖10表示分配表407的構(gòu)成。圖11表示實際頁管理表408的構(gòu)成。圖12表示監(jiān)視表409的構(gòu)成。圖13表示度數(shù)分布表410的構(gòu)成。圖14表示遷移頁表411的構(gòu)成。圖15表示遷移定義表412的構(gòu)成。圖16表示池生成處理的流程圖。圖17表示池定義GUI 1700。圖18表示VVOL生成處理的流程。圖 19 表示 VVOL 生成 GUI 1900。圖20表示本發(fā)明的實施例5所涉及的VVOL管理表4404。圖21表示數(shù)據(jù)要素的匯總處理的概要。圖22表示信息顯示處理的流程。圖23表示度數(shù)分布GUI2300。圖M表示寫入處理(向高速緩存的寫入)的流程。圖25表示降級處理的流程。圖沈表示讀出處理的流程。圖27表示I/O頻度的監(jiān)視與重新配置的關(guān)系的概要。圖28表示重新配置處理的流程。圖四表示層范圍決定處理的概要。圖30表示層范圍決定處理的流程。圖31表示圖30的S4402中層邊界值計算處理的流程。圖32表示本發(fā)明的實施例5所涉及的池管理表4403。圖33表示本發(fā)明的實施例5所涉及的比較方法/比較對象的設(shè)定處理的流程。圖34表示圖28的S2808中遷移頁表生成處理的流程。圖35表示頁單位的遷移處理的概要。圖36表示頁單位的遷移處理的流程。圖37表示層閾值的變更處理的流程。圖38表示閾值超出應對處理的流程。
具體實施例方式以下,敘述基于本發(fā)明的后述多個實施例的觀點。< 觀點 1>一種存儲系統(tǒng)的控制方法,其特征在于,管理將由多個存儲設(shè)備提供的多個存儲區(qū)域依照存儲區(qū)域的屬性進行分類后的多個存儲區(qū)域組,根據(jù)面向邏輯卷內(nèi)多個地址中所含至少一個地址的寫入請求,提供分配到所述多個存儲區(qū)域中所含至少一個存儲區(qū)域的多個所述邏輯卷,根據(jù)所述邏輯卷內(nèi)所述至少一個地址的存取狀況,將通過所述寫入請求寫到所述至少一個地址中的數(shù)據(jù)從所述多個存儲區(qū)域組的一個中所含所述至少一個存儲區(qū)域,向所述多個存儲區(qū)域組所含其它存儲區(qū)域組內(nèi)的至少一個存儲區(qū)域遷移。< 觀點 2>—種依照觀點1的存儲系統(tǒng)的控制方法,其特征在于,所述多個存儲區(qū)域組中所含第一存儲區(qū)域組和第二存儲區(qū)域組在每個環(huán)中具有與各自的組相應的所述存取狀況的程度作為屬性,所述第一和所述第二存儲區(qū)域組的所述存取狀況的程度對于每個組不同, 但是一部分重復,在所述遷移處理中,在所述多個存儲區(qū)域組的一個中所含所述至少一個存儲區(qū)域包含在所述第一或者所述第二存儲區(qū)域組中并且所述至少一個地址的所述存取狀況位于所述存取狀況的程度中所述一部分重復的范圍內(nèi)的情況下,不實施所述數(shù)據(jù)的遷移。< 觀點 3>一種與一臺以上的主機連接的存儲系統(tǒng),其具備多種物理存儲設(shè)備群和存儲控制裝置。所述存儲控制裝置具有存儲資源和控制器,所述控制器與所述多種物理存儲設(shè)備群、 所述存儲資源以及所述主機連接。物理存儲設(shè)備群由一個以上的物理存儲設(shè)備構(gòu)成。所述多種物理存儲設(shè)備群成為多種實際頁群的根基。實際頁群的種類基于成為該實際頁群的根基的物理存儲設(shè)備群的屬性。實際頁群具有多個實際頁。所述控制器向所述一臺以上的主機提供一個以上的虛擬卷。所述虛擬卷是由多個虛擬頁構(gòu)成的虛擬邏輯卷。所述虛擬頁是虛擬的存儲區(qū)域。所述實際頁是實體的存儲區(qū)域。所述存儲資源存儲分配信息、監(jiān)視信息和實際頁群管理信息,其中,所述分配信息是表示對哪個虛擬頁分配了哪個實際頁的信息, 所述監(jiān)視信息是表示各虛擬頁的I/Oanput/Output)頻度的信息,所述實際頁群管理信息是包含表示對每種實際頁群設(shè)定的I/O頻度范圍信息的信息(可以為表形式或者隊列形式等,信息的形式任意)。所述控制器從所述主機接收寫入命令,根據(jù)所述寫入命令確定寫入目的地虛擬頁,更新所述分配信息,從而對所確定的虛擬頁分配自由的實際頁,在所分配的實際頁中保存寫入對象數(shù)據(jù)。所述控制器根據(jù)針對虛擬頁或者分配給該虛擬頁的實際頁的 1/0,更新所述監(jiān)視信息中的、該虛擬頁的I/O頻度。所述實際頁是實體的存儲區(qū)域,保存在實際頁中的數(shù)據(jù)存儲到作為該實際頁的根基的物理存儲設(shè)備。所述控制器進行遷移處理, 該遷移處理是包含以下處理(A)至(C)的處理(A)確定根據(jù)所述監(jiān)視信息所確定的I/O頻度不符合預定條件的虛擬卷或者虛擬頁,(B)將保存在分配給所確定的虛擬卷或者虛擬頁的、第一種實際頁群內(nèi)第一實際頁中的數(shù)據(jù),遷移到第二種實際頁群內(nèi)的第二實際頁,(C) 更新所述分配信息,從而以所述第二實際頁取代所述第一實際頁向所述第一實際頁分配目的地虛擬頁、即第一虛擬頁進行分配。所述預定條件是指納入所述第一種實際頁群的I/O
8頻度范圍。所述第二種實際頁群是I/O頻度范圍納入通過所述(A)所確定的虛擬卷或者虛擬頁的I/O頻度的實際頁群。所述控制器進行I/O頻度范圍的決定處理,在該決定處理中, 所述控制器基于所述監(jiān)視信息決定各種實際頁群的I/O頻度范圍??刂破骼缈梢跃哂兄辽僖粋€處理器。存儲資源例如可以為存儲器。主機可以為計算機,也可以為其它的存儲系統(tǒng)或者其它的存儲控制裝置。由此,能夠?qū)⑻摂M卷內(nèi)的數(shù)據(jù)根據(jù)虛擬頁的I/O頻度以頁單位重新配置。屆時,能夠?qū)?shù)據(jù)配置在與納入有分配有保存該數(shù)據(jù)的實際頁的虛擬頁的I/O頻度的I/O頻度范圍對應的種類的實際頁群中?!从^點4>一種依照觀點3的存儲系統(tǒng),所述控制器在所述決定處理中進行以下處理(a)以及(b)(a)使用所述監(jiān)視信息生成表示I/O頻度與虛擬頁數(shù)的關(guān)系的信息、即關(guān)系信息,(b)基于所述關(guān)系信息決定各種實際頁群的I/O頻度范圍。< 觀點 5>一種依照觀點4的存儲系統(tǒng),所述控制器在所述處理(b)中進行以下的處理(bl) 至(b3)(bl)使用所述關(guān)系信息,計算從所述多種實際頁群分配到實際頁的一個以上虛擬卷內(nèi)所有虛擬頁的I/O頻度的合計、即I/O頻度合計,(b2)基于各種實際頁群的性能值的比和所述I/O頻度合計,針對實際頁群的每個邊界計算實際頁群的邊界的I/O頻度、即邊界值,(b3)基于各種實際頁群的I/O頻度和實際頁群的每個邊界的邊界值,決定各種實際頁群的I/O頻度范圍。實際頁群的所述性能值是基于作為該實際頁群的根基的物理存儲設(shè)備群的屬性決定的、與性能相關(guān)的值。所述實際頁群的邊界是指實際頁群與其上位以及/或者下位實際頁群的交界。各種實際頁群的I/O頻度范圍的最大值以及/或者最小值是基于該實際頁群與其上位以及/或者下位實際頁群的交界的邊界值決定的值?!从^點6>—種依照觀點3至觀點5的任一觀點的存儲系統(tǒng),所述I/O頻度范圍的最大值大于與該I/O頻度范圍對應的較大一方的邊界值,以及/或者,該I/O頻度范圍的最小值小于與該I/O頻度范圍對應的較小一方的邊界值。< 觀點 7>一種依照觀點3或者觀點4的存儲系統(tǒng),實際頁群的所述性能值是通過該實際頁群中的、能夠成為所述遷移處理中的遷移目的地的實際頁的數(shù)量與該實際頁群內(nèi)每一個實際頁的性能值的乘法運算計算出的值。實際頁群內(nèi)每一個實際頁的性能值是基于作為該實際頁群的根基的物理存儲設(shè)備群的屬性決定的、與性能相關(guān)的值。< 觀點 8>一種依照觀點3至觀點7的任一觀點的存儲系統(tǒng),所述控制器在所述決定處理中進行以下處理(a)使用所述監(jiān)視信息,計算從所述多種實際頁群分配到實際頁的一個以上虛擬卷內(nèi)所有虛擬頁的I/O頻度的合計、即I/O頻度合計,(b)基于各種實際頁群的性能值的比和所述I/O頻度合計,針對實際頁群的每個邊界計算實際頁群的邊界的I/O頻度、即邊界值,(c)基于各種實際頁群的I/O頻度和實際頁群的每個邊界的邊界值,決定各種實際頁群的I/O頻度范圍。實際頁群的所述性能值是基于作為該實際頁群的根基的物理存儲設(shè)備群的屬性決定的、與性能相關(guān)的值。所述實際頁群的邊界是指實際頁群與其上位以及/或者下位實際頁群的交界。各種實際頁群的I/O頻度范圍的最大值以及/或者最小值是基于該實際頁群與其上位以及/或者下位實際頁群的交界的邊界值決定的值?!从^點9>一種依照觀點3至觀點8的任一觀點的存儲系統(tǒng),所述控制器在所述決定處理中進行以下處理⑷以及(e)(d)假定分配給I/O頻度納入實際頁群的I/O頻度范圍的所有虛擬頁的實際頁內(nèi)的數(shù)據(jù)要素被遷移到了該實際頁群中,判定該實際頁群的使用比例是否超出該實際頁群的比例閾值,(e)在所述(d)中的判斷的結(jié)果為否定性的情況下,將所決定的I/O頻度范圍包含在所述實際頁群管理信息中。實際頁群的所述使用比例是指分配給虛擬頁的實際頁的數(shù)量相對于構(gòu)成該實際頁群的實際頁的數(shù)量的比例。所述實際頁群的比例閾值是指所述使用比例的閾值。由此,能夠判斷I/O頻度范圍是否合適。< 觀點 10>一種依照觀點9的存儲系統(tǒng),所述控制器在所述決定處理中還進行以下處理(f)(f)在所述(d)中的判斷的結(jié)果為肯定性的情況下,將I/O頻度范圍修正為實際頁群的使用比例不超出該實際頁群的比例閾值的大小。〈觀點11>一種依照觀點10的存儲系統(tǒng),所述控制器在所述決定處理中還進行以下處理 (g)(g)將修正后的I/O頻度范圍包含在所述實際頁群管理信息中。< 觀點 12>一種依照觀點3至觀點11的任一觀點的存儲系統(tǒng),根據(jù)所述監(jiān)視信息所確定的、 虛擬卷或者虛擬頁的I/O頻度是指該虛擬卷或者虛擬頁的、包含在所述監(jiān)視信息中的I/O頻度。< 觀點 13>一種依照觀點3至觀點12的任一觀點的存儲系統(tǒng),根據(jù)所述監(jiān)視信息所確定的、 虛擬卷或者虛擬頁的I/O頻度是指所述監(jiān)視信息中的、與該虛擬卷之外其它虛擬卷的I/O 頻度、或者該虛擬頁以外其它虛擬頁的I/O頻度的相對值。< 觀點 14>一種依照觀點3至觀點12的任一觀點的存儲系統(tǒng),所述控制器接受使所述㈧中的I/O頻度為絕對值還是相對值的指示。在接受到使所述(A)中的I/O頻度為絕對值的指定的情況下,根據(jù)所述監(jiān)視信息所確定的、虛擬卷或者虛擬頁的I/O頻度是指該虛擬卷或者虛擬頁的、包含在所述監(jiān)視信息中的I/O頻度。在接受到使所述(A)中的I/O頻度為相對值的指定的情況下,根據(jù)所述監(jiān)視信息所確定的、虛擬卷或者虛擬頁的I/O頻度是指所述監(jiān)視信息中的、與該虛擬卷之外其它虛擬卷的I/O頻度、或者該虛擬頁以外其它虛擬頁的I/O頻度的相對值。< 觀點 15>一種依照觀點3至觀點14的任一觀點的存儲系統(tǒng),所述(A)中的I/O頻度是某時間的I/O數(shù)的平均。〈觀點16>一種依照觀點3至觀點14的任一觀點的存儲系統(tǒng),所述(A)中的I/O頻度是與某時間帶的多個時間分別對應的多個I/O數(shù)中最大的I/O數(shù)?!从^點17>一種依照觀點3至觀點14的任一觀點的存儲系統(tǒng),所述控制器接受使所述(A)中的I/O頻度為平均I/O數(shù)還是最大I/O數(shù)的指定。在接受到使所述(A)中的I/O頻度為平均I/O數(shù)的指定的情況下,所述㈧中的I/O頻度是某時間的I/O數(shù)的平均。在接受到使所述㈧中的I/O頻度為最大I/O數(shù)的指定的情況下,所述㈧中的I/O頻度是與某時間帶的多個時間分別對應的多個I/O數(shù)中最大的I/O數(shù)。〈觀點18>一種依照觀點3至觀點17的任一觀點的存儲系統(tǒng),所述控制器從所述主機接收I/ 0命令,根據(jù)該I/O命令確定I/O目的地虛擬頁。所述控制器在針對分配給所述I/O目的地虛擬頁的實際頁進行I/O的情況下更新所述監(jiān)視信息中的、與所述I/O目的地虛擬頁對應的I/O頻度,而在不針對分配給所述I/O目的地虛擬頁的實際頁進行I/O的情況下不更新所述監(jiān)視信息中的、與所述I/O目的地虛擬頁對應的I/O頻度。由此,能夠僅在針對實際頁進行了 I/O的情況下更新分配有該實際頁的虛擬頁的
I/O頻度?!从^點19>一種依照觀點18的存儲系統(tǒng),所述存儲資源存儲狀態(tài)為激活的監(jiān)視信息和狀態(tài)為待機的監(jiān)視信息作為所述監(jiān)視信息。所述控制器更新所述激活的監(jiān)視信息中的I/O頻度。所述控制器在所述遷移處理中基于所述激活的監(jiān)視信息確定所述第一虛擬頁,并且將所述待機的監(jiān)視信息的狀態(tài)從待機變更為激活,然后,在依照確定虛擬頁的I/O命令對實際頁進行I/O的情況下,所述控制器更新狀態(tài)被變更為激活的監(jiān)視信息中的、該被確定的虛擬頁的I/O頻度。由此,即便進行上述遷移處理時也能夠繼續(xù)I/O頻度的監(jiān)視(更新)?!从^點20>一種依照觀點4的存儲系統(tǒng),所述控制器輸出所述關(guān)系信息,使得所述生成的關(guān)系信息得以顯示。所述控制器在接受到開始遷移的指示時開始所述遷移處理?!从^點21>一種依照觀點3至觀點20中任一觀點的存儲系統(tǒng),所述控制器在所述第一實際數(shù)據(jù)群的使用比例超出預定的比例閾值的情況下開始所述遷移處理。
因此,在所述第一實際數(shù)據(jù)群的使用比例超出了預定比例閾值的情況下,通過所述遷移處理能夠期待在第一實際數(shù)據(jù)群中自由的實際頁有所增加?!从^點22>一種依照觀點3至觀點21中任一觀點的存儲系統(tǒng),所述第一種實際數(shù)據(jù)群是最上位的實際數(shù)據(jù)群。所述控制器必定從所述第一種實際數(shù)據(jù)群對根據(jù)所述寫入命令所確定的寫入目的地虛擬頁分配實際頁。〈觀點23>一種依照觀點3至觀點22中任一觀點的存儲系統(tǒng),在分配給所述虛擬卷的所有實際頁中預定比例以上的實際頁存在于某種實際頁群的情況下,所述控制器將分配給所述虛擬卷的所有實際頁中的、所述某種實際頁群以外的種類的實際頁群內(nèi)的實際頁內(nèi)的數(shù)據(jù)遷移到所述某種實際頁群內(nèi)的實際頁。由此,能夠根據(jù)虛擬卷的數(shù)據(jù)的配置狀況,在考慮為適合該虛擬卷的種類的實際頁群中匯總該虛擬卷內(nèi)的數(shù)據(jù)。〈觀點24>一種依照觀點23的存儲系統(tǒng),遷移到所述某種實際頁群內(nèi)的實際頁后分配給所述虛擬頁的實際頁總是所述某種實際頁群內(nèi)的實際頁。由此,在通過遷移處理匯總數(shù)據(jù)之后,從所述某種實際頁群對所述第二虛擬卷分配實際頁。〈觀點25>一種依照觀點3至觀點M的任一觀點的存儲系統(tǒng),所述控制器在所述頁單位遷移處理開始之后從所述主機接收確定所述第一虛擬頁的寫入命令,并且在沒有開始從所述第一實際頁向所述第二實際頁的數(shù)據(jù)遷移的情況下將該遷移取消,向所述第二種實際頁群內(nèi)的實際頁寫入依照所述寫入命令的數(shù)據(jù),并且更新所述分配信息,從而以該寫入目的地實際頁取代所述第一實際頁分配給所述第一虛擬頁。由于數(shù)據(jù)在遷移之前寫入遷移目的地實際頁群,因此針對該數(shù)據(jù)的寫入目的地虛擬頁,可以不進行遷移?!从^點26>一種依照觀點3至觀點25的任一觀點的存儲系統(tǒng),所述控制器在所述頁單位遷移處理開始之后從所述主機接收確定所述第一虛擬頁的寫入命令,并且在沒有開始從所述第一實際頁向所述第二實際頁的數(shù)據(jù)遷移的情況下,向所述第一實際頁寫入依照所述寫入命令的數(shù)據(jù),然后,進行所述㈧以及(B)?!从^點27>一種依照觀點3至觀點沈的任一觀點的存儲系統(tǒng),所述控制器在所述頁單位遷移處理開始之后從所述主機接收確定所述第一虛擬頁的寫入命令,并且在正從所述第一實際頁向所述第二實際頁遷移數(shù)據(jù)的情況下將該遷移取消,向所述第二種實際頁群內(nèi)的實際頁寫入依照所述寫入命令的數(shù)據(jù),并且更新所述分配信息,從而以該寫入目的地實際頁取代所述第一實際頁分配給所述第一虛擬頁?!从^點28>一種依照觀點3至觀點沈的任一觀點的存儲系統(tǒng),所述控制器在所述頁單位遷移處理開始之后從所述主機接收確定所述第一虛擬頁的寫入命令,并且在正從所述第一實際頁向所述第二實際頁遷移數(shù)據(jù)的情況下,向所述第一實際頁寫入依照所述寫入命令的數(shù)據(jù),然后,重新開始從所述第一實際頁向所述第二種實際頁群內(nèi)的實際頁的數(shù)據(jù)遷移?!从^點29>一種依照觀點3至觀點沈的任一觀點的存儲系統(tǒng),所述控制器在所述頁單位遷移處理開始之后從所述主機接收確定所述第一虛擬頁的寫入命令,并且在正從所述第一實際頁向所述第二實際頁遷移數(shù)據(jù)的情況下,在該遷移結(jié)束后,依照所述分配信息向所述第二實際頁寫入依照所述寫入命令的數(shù)據(jù)?!从^點30>一種依照觀點3至觀點沈的任一觀點的存儲系統(tǒng),所述控制器在所述頁單位遷移處理開始之后從所述主機接收確定所述第一虛擬頁的寫入命令,并且在正從所述第一實際頁向所述第二實際頁遷移數(shù)據(jù)的情況下,向所述第一實際頁和所述第二實際頁雙方寫入依照所述寫入命令的數(shù)據(jù)?!从^點31>一種依照觀點3至觀點30的任一觀點的存儲系統(tǒng),所述控制器在所述頁單位遷移處理開始之后從所述主機接收確定所述第一虛擬頁的寫入命令,并且在所述(A)以及(B) 結(jié)束的情況下,依照所述分配信息,向所述第二實際頁寫入依照所述寫入命令的數(shù)據(jù)?!从^點32>一種依照觀點3至觀點31的任一觀點的存儲系統(tǒng),所述第一虛擬頁是進行了 I/O 的最新時刻、即最終I/O時刻滿足預定條件的虛擬頁?!从^點33>一種依照觀點32的存儲系統(tǒng),所述預定條件是指最終I/O時刻是當前時刻之前過去預定時間以上的時間。所述第二種實際頁群是比所述第一種實際頁群更下位的實際頁群。〈觀點34>一種依照觀點3至觀點33的任一觀點的存儲系統(tǒng),所述第一虛擬頁是發(fā)生依照順序存取的I/O的虛擬頁。所述第二種實際頁群是比所述第一種實際頁群更下位的實際頁群?!从^點35>一種依照觀點3至觀點34的任一觀點的存儲系統(tǒng),所述控制器僅在預定的時間帶進行所述監(jiān)視信息的更新。所述控制器在每經(jīng)過預定時間帶時,保存所述監(jiān)視信息。所述第一虛擬頁是根據(jù)與被指定的時間帶對應的監(jiān)視信息所確定的I/O頻度不適合預定條件的虛擬頁?!从^點36>一種與主機連接的存儲系統(tǒng)的存儲控制裝置,其具有存儲資源和控制器,所述控制器與所述存儲資源以及所述主機連接。所述控制器向所述一臺以上的主機提供一個以上的虛擬卷。所述虛擬卷是由多個虛擬頁構(gòu)成的虛擬邏輯卷。所述虛擬頁是虛擬的存儲區(qū)域。 所述實際頁是實體的存儲區(qū)域。所述存儲資源存儲分配信息、監(jiān)視信息和實際頁群管理信息,其中,所述分配信息是表示對哪個虛擬頁分配了哪個實際頁的信息,所述監(jiān)視信息是表示各虛擬頁的I/Oanput/Output)頻度的信息,所述實際頁群管理信息是包含表示對每種實際頁群設(shè)定的I/O頻度范圍信息的信息。所述控制器從所述主機接收寫入命令,根據(jù)所述寫入命令確定寫入目的地虛擬頁,更新所述分配信息,從而對所確定的虛擬頁從多種實際頁群中的某一個分配自由的實際頁,在所分配的實際頁中保存寫入對象數(shù)據(jù)。所述控制器根據(jù)針對虛擬頁或者分配給該虛擬頁的實際頁的1/0,更新所述監(jiān)視信息中的、該虛擬頁的I/O頻度。所述實際頁是實體的存儲區(qū)域。實際頁群具有多個實際頁。所述控制器進行遷移處理,該遷移處理是包含以下處理(A)至(C)的處理(A)確定根據(jù)所述監(jiān)視信息所確定的I/O頻度不符合預定條件的虛擬卷或者虛擬頁,(B)將保存在分配給所確定的虛擬卷或者虛擬頁的、第一種實際頁群內(nèi)第一實際頁中的數(shù)據(jù),遷移到第二種實際頁群內(nèi)的第二實際頁,(C)更新所述分配信息,從而以所述第二實際頁取代所述第一實際頁向所述第一實際頁分配目的地虛擬頁、即第一虛擬頁進行分配。所述預定條件是指納入所述第一種實際頁群的I/O頻度范圍。所述第二種實際頁群是I/O頻度范圍納入通過所述(A)所確定的虛擬卷或者虛擬頁的I/O頻度的實際頁群。所述控制器進行I/O頻度范圍的決定處理,在該決定處理中,所述控制器基于所述監(jiān)視信息決定各種實際頁群的I/O頻度范圍。上述的觀點1以及2是以存儲系統(tǒng)的控制方法為例的觀點,觀點3至35是以存儲系統(tǒng)為例的觀點,觀點36是以存儲控制裝置為例的觀點,它們之中的任何一種觀點均能夠成為存儲系統(tǒng)、存儲控制裝置、存儲控制方法、存儲系統(tǒng)或者存儲控制裝置的控制方法、存儲系統(tǒng)或者存儲控制裝置、計算機程序(例如用于存儲控制的計算機程序或者在存儲系統(tǒng)或者存儲控制裝置中執(zhí)行的計算機程序)中的至少一個的觀點。以下,參照
本發(fā)明多個實施例中涉及的存儲系統(tǒng)。需要說明的是,在以下的說明中,存在由名稱和ID的組合取代參照符號來表示對象的情況。例如,在邏輯卷由參照符號500表示的情況下,表述為“邏輯卷500”,在表示ID為00的邏輯卷的情況下,表述為“邏輯卷#00”。另外,下文中將保存在一個實際頁中的數(shù)據(jù)稱為“數(shù)據(jù)要素”。另外,存在將保存在分配給虛擬頁的實際頁中的數(shù)據(jù)要素以“虛擬頁內(nèi)的數(shù)據(jù)要素”或者與其類似的表達來表示的情況。實施例1圖1表示本發(fā)明實施例1的概要。存儲系統(tǒng)103上連接有主機裝置(以下稱作主機)101。主機101可以為一臺或者多臺。存儲系統(tǒng)103向主機101提供虛擬卷(以下稱作VVOL(Virtual VOLume)) 203,具有多種層(tier) 303。VV0L203是依照Iliin Provisioning的虛擬邏輯卷,即不以物理存儲設(shè)備(以下稱作PDEV)為根基的邏輯卷。VV0L203由多個虛擬頁207構(gòu)成。虛擬頁207是虛擬的存儲區(qū)域。設(shè)一個VV0L#00作為VV0L203。下文中,將VVOLfe內(nèi)的虛擬頁#b表述為“虛擬頁 #(a-b) ”。Thin Provisioning的VV0L203作為具有虛擬容量的邏輯卷被提供給主機101, 根據(jù)從主機101向具有虛擬頁的地址的寫入請求被分配了實際頁。因此,除去為了滿足虛擬容量而被分配了實際頁的狀態(tài),分配給某一 VV0L203的所有實際頁的總?cè)萘啃∮谔摂M容量。一個VV0L203被提供給一臺以上的主機101,在提供給多臺主機101的情況下,由這些多臺主機101共享。層303由多個實際頁209構(gòu)成。實際頁209是實體的存儲區(qū)域。例如,設(shè)層#01
14和#02這兩個層作為層303。下文中,將層#c內(nèi)的實際頁#d表述為“實際頁#(c-d)”。而且,層303例如可由一個以上的實際卷(以下稱作RVOL(Real VOLume))構(gòu)成。RVOL是實體的邏輯卷,即以PDEV為根基的邏輯卷。一個池內(nèi)的多個層303的每一個層在數(shù)據(jù)遷移前的狀態(tài)下被設(shè)定為被一個或者多個VV0L203利用。主機101通常是計算機,也可由其它的存儲系統(tǒng)來取代計算機。主機101向存儲系統(tǒng)103發(fā)送例如Ι/Oanput/Output)命令。I/O命令例如為寫入命令或者讀出命令,具有 I/O目的地信息。I/O目的地信息是表示I/O目的地的信息,例如包括VV0L203的ID (例如 LUN (Logical Unit Number 邏輯單元號))和 I/O 目的地的地址(例如 LBA (Logical Block Address 邏輯塊地址))。根據(jù)1/0目的地信息能夠確定1/0目的地VV0L203以及虛擬頁 207。設(shè)存儲系統(tǒng)103從主機101接收寫入命令,并基于該寫入命令所具有的1/0目的地信息將虛擬頁#(00-C)確定為寫入目的地。如果所確定的虛擬頁#(00-C)未被分配某一個實際頁209,則存儲系統(tǒng)103對該虛擬頁207分配某一個自由(未分配狀態(tài))的實際頁 #(01-D),在所分配的實際頁#(01-D)中寫入依照寫入命令的寫入對象數(shù)據(jù)要素。本實施例中,數(shù)據(jù)遷移以頁單位進行。具體地,例如如圖1所示,存儲系統(tǒng)103進行以下的處理*將分配給虛擬頁#(00-C)的實際頁#(01_D)內(nèi)的數(shù)據(jù)要素遷移到自由(未分配狀態(tài))的實際頁#(02-E)*將虛擬頁# (00-C)的分配源從實際頁# (01-D)變更為實際頁#(02_E)*將實際頁#(01_D)的狀態(tài)更新為自由(未分配狀態(tài))是否進行數(shù)據(jù)遷移以及將遷移目的地層配置為哪一個層是基于后述的層范圍來決定的。層范圍以自動方式來決定。以下,詳細說明實施例1。圖2表示存儲系統(tǒng)103的構(gòu)成。存儲系統(tǒng)103具有多個PDEV105、與多個PDEV105連接的存儲控制裝置、以及電源單元100。多個PDEV105包括多種PDEV,例如SSD(Solid State Drive:固態(tài)驅(qū)動器)以及 HDD(Hard Disk Drive 硬盤驅(qū)動器)。HDD 具有 HDD-FC(Fibre Channel 光纖通道)、 HDD-SATA (Serial ATA 串行 ΑΤΑ)、以及 HDD-SAS Gerial Attached SCSI 串行連接 SCSI)寸。存儲控制裝置具有控制器和與控制器連接的多個CMPK(高速緩存封裝=Cache Memory Package) 119??刂破骶哂卸鄠€ CHA (通道適配器Channel Adapter) 111、多個 DKA(盤適配器=Disk Adapter) 113、多個 MPPK(微處理器封裝 Microprocessor Package) 121、以及 SW(開關(guān)Switch)117。從冗余化的觀點出發(fā),CHA111、DKA113、MPPK121、 Sffl 17以及電源單元100分別存在多個,但是它們中至少一者的數(shù)量不限于附圖所示的2, 可比2多或者少。CMPKl 19的數(shù)量可比2多。電源單元100將基于來自商用電源電力的電力提供給各封裝119、111、113、121以及 117。CHAlll是與主機101連接的接口裝置。CHAlll從主機101接收1/0命令(寫入命令或者讀出命令),并將接收到的I/O命令轉(zhuǎn)發(fā)給多個MPHQ21中的某一個。CHAlll具有協(xié)議芯片112和LR(Local Router 本地路由器)114。協(xié)議芯片112 進行用于與主機101的通信的協(xié)議轉(zhuǎn)換。LR114將接收到的I/O命令轉(zhuǎn)發(fā)給與根據(jù)該I/O 命令具有的I/O目的地信息確定的I/O目的地對應的MPHQ21。DKA113是與HDD105連接的接口裝置。DKA113從HDD105讀出數(shù)據(jù)并轉(zhuǎn)發(fā)給 CMPKl 19 的 DRAM (Dynamic Random Access Memory :動態(tài)隨機存取存儲器),或者向 HDD105 寫入來自CMPKl 19的數(shù)據(jù)。MPPKl21是具有一個或者多個MP (微處理器MicroProcessor)的裝置。MP處理來自CHAlll的I/O命令。SW117 上連接有多個封裝、即 CHA111、DKA113、CMPK119 以及 MPHQ21。SW117 控制 PK (封裝fackage)間的連接。CMPKl 19具有易失性存儲器以及/或者非易失性存儲器。CMPK119中具有暫時存儲例如作為針對虛擬頁207(實際頁209)的I/O的對象的數(shù)據(jù)要素的存儲區(qū)域(以下稱作高速緩存或者將其略稱為CM)。另外,CMPK119中具有存儲各種信息以及計算機程序的存儲區(qū)域。關(guān)于信息以及計算機程序,將在下文中進行說明。存儲系統(tǒng)103上連接有管理裝置107。管理裝置107例如為具有顯示裝置以及輸入裝置的計算機。管理者能夠從管理裝置107對存儲系統(tǒng)103進行各種設(shè)定。圖3表示存儲系統(tǒng)103中各種存儲區(qū)域的關(guān)系。如圖3所示,從下位到上位,管理一個以上的RG301、一個以上的池201、一個以上的 W0L203。RG301是RAID組(group)的略稱。一個RG301由同一種類的PDEV構(gòu)成。PDEV的種類例如由性能以及單位成本中的至少一者定義。性能是指例如數(shù)據(jù)的I/O的速度、或者響應時間(從由主機接受到命令起到返回響應為止的時間長度)。單位成本是保存單位大小(Size)的數(shù)據(jù)所需的價格(例如所謂的比特成本)。例如,RG#00由多個SSD構(gòu)成,RG#01 由多個HDD-SAS構(gòu)成,RG#02由多個HDD-SATA構(gòu)成。而且,構(gòu)成一個RG的多個PDEV的容量例如是相同的。池201是實際頁207的集合。具體地,例如,池201由一個以上的RV0L205構(gòu)成, 各RV0L205由一個以上的實際頁207構(gòu)成。以下,對于構(gòu)成池201的RV0L,將池VOL加以省略地表示為“PV0L”。構(gòu)成一個池201的實際頁207進行了層次化。即,一個池201中存在多個層303。 層303例如在每種RVOL中存在。例如,根據(jù)圖3,由于RVOL的種類為3種,因此層303的數(shù)量也為3。因此,一個層303中包括與該層對應種類的RV0L205。具體地,例如,層#00是 SSD這一種類,基于由SSD構(gòu)成的RG301的RVOL屬于層#00,層#01是HDD-SAS這一種類, 基于由HDD-SAS構(gòu)成的RG301的RVOL屬于層#01,層#03是HDD-SATA這一種類,基于由 HDD-SATA構(gòu)成的RG301的RVOL屬于層#03。而且,層303不一定嚴密地針對每種RVOL進行設(shè)置,基于類似種類的RG的多個RV0L205可屬于同一層303。VV0L203與一個以上的池201中成為分配源的池201相關(guān)聯(lián)。另外,VV0L203與選擇出的池201中可作為分配源使用的層(以下稱作分配層)303相關(guān)聯(lián)。另外,一個以上的分配層303之一作為默認的層303與VV0L203相關(guān)聯(lián)。根據(jù)圖3,VV0L#01的分配層是層#00 以及 #02。另外,根據(jù)上述的說明,對于多個RVOL而言,只要它們屬于同一層,則存在根基為一個RG的可能性,但是如果它們分別屬于不同的層,則成為根基的RG各不相同。在對與同一層303相關(guān)聯(lián)的一個或者多個VV0L203的多個虛擬頁依次分配多個實際頁的情況下,優(yōu)選跨越與該層303相關(guān)聯(lián)的RG來依次選擇實際頁。具體地,在從該層303所含多個RV0L205 選擇多個實際頁的情況下,考慮到與RG的關(guān)系,依次從不同的RG依次選擇實際頁。由此, 能夠提高存取性能。圖4表示CMPK119所存儲的信息以及計算機程序。需要說明的是,在本實施例中, 采用表作為信息的一個例子,但是信息也可以是表以外的形式(例如隊列形式)。CMPKl 19存儲層定義表401、層管理表402、池管理表403、VVOL管理表404、PVOL 管理表405、分配表407、實際頁管理表408、監(jiān)視表409、度數(shù)分布表410、遷移頁表411以及遷移定義表412作為信息。另外,CMPKl 19存儲控制UI (User Interface 用戶接口)的程序即UI控制程序413、控制I/O的程序即I/O控制程序414、以及進行重新配置的程序即重新配置程序415作為計算機程序。而且,這些表以及計算機程序中的至少一個也可以存儲在CMPK119以外的存儲資源。例如,至少一個計算機程序以及/或者遷移頁表411可以存儲在MPHQ21內(nèi)的存儲器中。下面說明各表。需要說明的是,在以下的說明中,對象使用ID來確定,但是也可以取代ID或者在其基礎(chǔ)上,使用名稱以及編號中的至少一個來確定。圖5表示層定義表401的構(gòu)成。層定義表401是表示層的定義的表。具體地,例如,表401表示RVOL種類與層ID 的關(guān)系。根據(jù)表401,作為與RVOL種類“SSD”對應的層,準備附加有“00”這一 ID的層。圖6表示層管理表402的構(gòu)成。層管理表402是用于管理與層相關(guān)的信息的表。具體地,例如,表402針對每層具有池ID、層ID、層范圍、PVOL ID、層閾值、使用比例、實際頁ID。以一個層(以下,在圖6的說明中稱作“對象層”)為例,這些信息要素具體如下。* “池ID”是具有對象層的池的ID。* “層ID”是對象層的ID。根據(jù)層ID,成為屬于對象層的PVOL的根基的PDEV的
種類被唯一確定。* “層范圍”是應該存在于對象層中的實際頁的負荷(例如I/O頻度)的范圍。* "PVOL ID”是屬于對象層的PVOL的ID。* “層閾值”是對象層的使用比例的閾值。* “使用比例”是對象層的使用比例,即已分配的實際頁的數(shù)量相對于構(gòu)成對象層的實際頁的數(shù)量的比例。* “實際頁ID”是屬于對象層的所有實際頁的ID。根據(jù)圖6的表402的例子,層閾值是針對每層進行了設(shè)定,但是也可以取而代之, 對一個池設(shè)定一個層閾值,該一個層對于該一個池所具有的所有層是共通的。圖7表示池管理表403的構(gòu)成。池管理表403是用于管理與池相關(guān)的信息的表。具體地,例如,表403針對每個池具有池ID、層次化、重新配置、自動執(zhí)行、重新配置執(zhí)行周期、重新配置執(zhí)行時刻、監(jiān)視時間帶以及池狀態(tài)。以一個池(以下,圖7的說明中稱作“對象池”)為例,這些信息要素具體如下。* “池ID”是對象池的ID。*“層次化”是是否對對象池內(nèi)的實際頁進行層次化?!癘N”意味著進行層次化(即、 對象池中設(shè)有多個層),“OFF”意味著不進行層次化(即、對象池中不設(shè)層)。* “重新配置”是是否對對象池內(nèi)的數(shù)據(jù)要素進行重新配置。“ON”意味著進行重新配置,“OFF”意味著不進行重新配置?!癘N”的情況下,分配到對象池的VVOL或者其虛擬頁的1/0頻度受到監(jiān)視,“OFF”的情況下,分配到對象池的VVOL或者其虛擬頁的1/0頻度不受監(jiān)視。關(guān)于1/0頻度的監(jiān)視,重要的是,如果實際不對分配給1/0目的地VVOL或者虛擬頁的實際頁進行1/0,則1/0頻度不被更新,在對該分配的實際頁進行1/0時,1/0頻度得到更新。這一點在下文中敘述寫入處理以及讀出處理時也將進行說明。* “自動執(zhí)行”是對象池內(nèi)的數(shù)據(jù)要素的重新配置是自動開始還是手動開始?!?N” 意味著重新配置以自動形式開始,“OFF”意味著重新配置以手動形式開始。* “重新配置執(zhí)行周期”是進行對象池內(nèi)的數(shù)據(jù)要素的重新配置的周期。例如,“1 日”意味著每1日( 小時)開始進行重新配置。* “重新配置執(zhí)行時刻”是開始對象池內(nèi)的數(shù)據(jù)要素的重新配置的時刻。* “監(jiān)視時間帶”是對分配給分配到對象池的VVOL的實際頁的1/0頻度進行監(jiān)視的時間帶。* “池狀態(tài)”是對象池的狀態(tài)。作為“池狀態(tài)”的值,例如有“監(jiān)視中”、“重新配置中”、“非監(jiān)視中”?!氨O(jiān)視中”意味著正在監(jiān)視分配到對象池的VVOL或者該VVOL內(nèi)的虛擬頁的1/0頻度,并且沒有進行數(shù)據(jù)要素的重新配置?!爸匦屡渲弥小币馕吨谶M行數(shù)據(jù)要素的重新配置(可以是對象池內(nèi)的重新配置,也可以是從對象池向其它池的數(shù)據(jù)要素的重新配置)?!胺潜O(jiān)視中”意味著既非正在監(jiān)視1/0頻度也非正在進行數(shù)據(jù)要素的重新配置。圖8表示VVOL管理表404的構(gòu)成。VVOL管理表404是用于管理與VVOL相關(guān)的信息的表。具體地,表404針對每個 VVOL具有VVOL ID、PVOL ID、分配層ID、默認層ID、容量、重新配置、自動執(zhí)行、重新配置執(zhí)行周期、重新配置執(zhí)行時刻以及監(jiān)視時間帶。這些信息要素中,重新配置、自動執(zhí)行、重新配置執(zhí)行周期、重新配置執(zhí)行時刻以及監(jiān)視時間帶與池管理表403中的信息要素相同,但是如果該表404中的信息要素(例如“重新配置”)的值與池管理表403中的相同信息要素(例如“重新配置”)的值不同,則可優(yōu)先該表404中的值。S卩,在池管理表403中,針對一個池設(shè)定信息要素的值,其結(jié)果,能夠使該值反映到針對分配到該池的所有VVOL的設(shè)定中,能夠針對每個VVOL進行設(shè)定。如果未針對VVOL特別設(shè)定值,該針對分配給該VVOL的池設(shè)定的值作為針對該WOL的值。以一個VV0L(以下,圖8的說明中稱作“對象VV0L”) 為例,該表404中的上述信息要素具體如下。* "VV0L ID” 是對象 WOL 的 ID。* "PV0L ID”是分配給對象VVOL的池(以下稱作分配池)的ID。* “分配層ID”是分配給分配池所具有的多個層中的對象VVOL的層的ID。從分配層向?qū)ο骎VOL內(nèi)的虛擬頁分配實際頁。* “默認層ID”是默認層的ID。默認層是指成為最初分配給作為從主機101的寫入目的地的虛擬頁的實際頁的提供源的層。* “容量”是對象VVOL的容量。* “重新配置”是是否對對象VVOL內(nèi)的數(shù)據(jù)要素進行重新配置。“ON”意味著進行重新配置,“OFF”意味著不進行重新配置?!癘N”的情況下,對象VVOL或者其虛擬頁的I/O 頻度受到監(jiān)視,“OFF”的情況下,對象VVOL或者其虛擬頁的I/O頻度不受監(jiān)視。* “自動執(zhí)行”是對象VVOL內(nèi)的數(shù)據(jù)要素的重新配置是自動開始還是手動開始。 “ON”意味著重新配置以自動形式開始,“OFF”意味著重新配置以手動形式開始。* “重新配置執(zhí)行周期”是進行對象VVOL內(nèi)的數(shù)據(jù)要素的重新配置的周期。* “重新配置執(zhí)行時刻”是開始對象VVOL內(nèi)的數(shù)據(jù)要素的重新配置的時刻。* “監(jiān)視時間帶”是對對象VVOL或者虛擬頁的1/0頻度進行監(jiān)視的時間帶。圖9表示PVOL管理表405的構(gòu)成。PVOL管理表405是用于管理與PVOL相關(guān)的信息的表。具體地,例如,表405針對每個PVOL具有RG ID,PDEV ID、種類、PVOL ID、以及容量。以一個PVOL(以下,圖9的說明中稱作“對象PV0L” )為例,這些信息要素具體如下。* "RG ID”是作為對象PVOL的根基的RG的ID。* "PDEV ID”是構(gòu)成作為對象PVOL的根基的RG的所有PDEV的ID。* “種類”是對象PVOL的種類。這與作為對象PVOL的根基的PDEV的種類相同。 例如,RVOL種類如果為“SSD”,則對象PVOL的種類也為“SSD”。* "PV0L ID” 是對象 PVOL 的 ID。* “容量”是對象PVOL的容量。圖10表示分配表407的構(gòu)成。分配表407是表示對哪個虛擬頁分配了哪個實際頁的表。具體地,例如,表407針對每個虛擬頁具有VVOL ID、虛擬頁ID、池ID、實際頁ID以及層ID。以一個虛擬頁(以下, 圖10的說明中稱作“對象虛擬頁”)為例,這些信息要素具體如下。* "VV0L ID”是具有對象虛擬頁的WOL的ID。* “虛擬頁ID”是對象虛擬頁的ID。* “池ID”是分配給具有對象虛擬頁的VVOL的池的ID。* “實際頁ID”是分配給對象虛擬頁的實際頁的ID。* “層ID”是具有分配給對象虛擬頁的實際頁的層的ID。圖11表示實際頁管理表408的構(gòu)成。實際頁管理表408是用于管理各實際頁的狀態(tài)的表。具體地,例如,表408針對每個實際頁具有池ID、實際頁ID以及狀態(tài)。以一個實際頁(以下,圖11的說明中稱作“對象實際頁”)為例,這些信息要素具體如下。* “池ID”是具有對象實際頁的池的ID。* “實際頁ID”是對象實際頁的ID。* “狀態(tài)”是對象實際頁的狀態(tài)。作為狀態(tài)的值,例如有“使用中”和“自由”?!笆褂弥小币馕吨鴮ο髮嶋H頁已經(jīng)分配給某一個虛擬頁?!白杂伞币馕吨缦聽顟B(tài)對象實際頁未分配給任意一個虛擬頁,因此能夠?qū)θ我庖粋€虛擬頁進行分配。圖12表示監(jiān)視表409的構(gòu)成。
19
監(jiān)視表409存在于每個VV0L。表409是表示虛擬頁的I/O頻度的表。以一個 VVOL (以下,在圖12的說明中稱作“對象VV0L”)為例,說明表409。表409具體例如針對每一虛擬頁具有VVOL ID、虛擬頁ID、合計I/O數(shù)、平均I/O 數(shù)、最大I/O數(shù)以及最終I/O時刻。以一個虛擬頁(以下,圖12的說明中稱作“對象虛擬頁”)為例,這些信息要素具體如下。* "VV0L ID”是具有對象虛擬頁的VVOL (即對象VV0L)的ID。* “虛擬頁ID”是對象虛擬頁的ID。* “合計I/O數(shù)”是在監(jiān)視時間帶內(nèi)對對象虛擬頁進行的I/O的數(shù)量。* “平均I/O數(shù)”是通過“合計I/O數(shù)”的值除以預定時間計算出的值。* “最大I/O數(shù)”是構(gòu)成監(jiān)視時間帶的多個時間帶中多個I/O數(shù)(針對對象虛擬頁的I/O數(shù))中最大的I/O數(shù)。* “最終I/O時刻”是對對象虛擬頁進行了 I/O的最新時刻。表409存在例如兩個(也可多于兩個)。兩個表409交替使用。具體地,例如,在執(zhí)行重新配置的情況下,使用關(guān)于該執(zhí)行時刻點附近的監(jiān)視時間帶的表409,生成后述的遷移頁表411,并且使用另一個表409,進行I/O頻度的監(jiān)視。在以下的說明中,有時將正在使用的表409稱作激活(active)的表409,將未使用的表409稱作待機(stand-by)的表409。圖13表示度數(shù)分布表410的構(gòu)成。度數(shù)分布表410是表示I/O數(shù)與虛擬頁數(shù)的相關(guān)的表。該表410基于監(jiān)視表409 生成。作為I/O數(shù),可采用上述的表409中合計I/O數(shù)、平均I/O數(shù)以及最大I/O數(shù)中的至少一個。圖13是采用平均I/O數(shù)的例子。即,圖13所示的表410表示不同平均I/O數(shù)的虛擬頁的數(shù)量。根據(jù)圖13可知,平均I/O數(shù)為“0”的虛擬頁的數(shù)量為“561”。該表410(或者基于該表410生成的圖)顯示在管理裝置107中。管理者能夠基于表401(或者基于其的圖)通過手動指示存儲系統(tǒng)103開始數(shù)據(jù)要素的重新配置。度數(shù)分布表410可隨著監(jiān)視表409的更新而更新,也可在從管理者指令顯示度數(shù)分布時基于表409來生成。圖14表示遷移頁表411的構(gòu)成。遷移頁表411是進行頁單位的數(shù)據(jù)遷移時基于監(jiān)視表409生成的表。表411表示遷移源與遷移目的地的關(guān)系。具體地,例如,表411針對作為遷移對象的每個虛擬頁具有虛擬頁ID、遷移源層ID、遷移目的地層ID以及遷移狀態(tài)。以一個虛擬頁(以下,在圖14的說明中稱作“對象虛擬頁”)為例,這些信息要素具體如下。* “虛擬頁ID”是對象虛擬頁的ID。* “遷移源層ID”是具有分配給對象虛擬頁的實際頁(遷移源實際頁)的層的ID。* “遷移目的地層ID”是成為數(shù)據(jù)要素的遷移目的地的層的ID。遷移目的地實際頁是該層中某一個自由的實際頁。* “遷移狀態(tài)”是關(guān)于對象虛擬頁的遷移的狀態(tài)。作為“遷移狀態(tài)”的值,例如具有 “已遷移”、“遷移中”以及“未遷移”?!耙堰w移”意味著從遷移源實際頁到遷移目的地層中某一個實際頁已經(jīng)將數(shù)據(jù)要素遷移?!斑w移中”意味著從遷移源實際頁到遷移目的地層中某一個實際頁正在遷移數(shù)據(jù)要素?!拔催w移”意味著從遷移源實際頁到遷移目的地層中某一個實際頁尚未開始遷移數(shù)據(jù)要素。
而且,遷移頁表411可以取代虛擬頁ID或者在其基礎(chǔ)上具有與遷移源相關(guān)的其它種類的信息要素。例如,分配給虛擬頁的實際頁的ID可以包含在表411中。另外,遷移頁表411可以取代遷移目的地層ID或者在其基礎(chǔ)上具有與遷移目的地相關(guān)的其它種類的信息要素。例如,可基于表402(圖6)以及408(圖11)確定遷移目的地層中自由的實際頁,將該確定出的實際頁的ID包含在表411中。屆時,確定出的實際頁的狀態(tài)可從“自由”更新為“使用中”(或者其它的狀態(tài)(例如“保留”)。圖15表示遷移定義表412的構(gòu)成。遷移定義表412針對各VVOL表示與遷移有關(guān)的定義。具體地,表412針對每個 WOL具有VVOL ID、層維持、分配層ID以及保存閾值。以一個VVOL(以下,在圖15的說明中稱作“對象VV0L” )為例,這些信息要素具體如下。* "VV0L ID” 是對象 WOL 的 ID。* “分配層ID”是對象VVOL的分配層的ID。* “保存閾值”是分配層的保存比例的閾值。該閾值針對每個分配層設(shè)定。對于 “保存比例”,如果針對一個分配層(以下,在該段落的說明中稱作“對象分配層”)而言,則如下所述。即,保存比例是對象VVOL內(nèi)所有數(shù)據(jù)要素中多大程度比例的數(shù)據(jù)要素保存在了對象分配層中。根據(jù)圖15的表412的例子,保存閾值針對每個層設(shè)定,但是也可以取而代之,對于一個池設(shè)定一個保存閾值,該一個層對于該一個池所具有的所有層是共通的。以下說明本實施例中進行的處理。需要說明的是,在以下的說明中,計算機程序所進行的處理實際上是執(zhí)行計算機程序的MP(微處理器)在進行。MP位于MPH(121(參照圖 2)中?!闯氐纳伞祱D16表示池生成處理的流程。需要說明的是,該 < 池的生成 > 的說明中,將通過該池生成處理新生成的池稱作“對象池”。(S1601)UI控制程序413從管理者通過管理裝置107接受池生成指示。然后,程序413進行例如下述準備處理。*程序413將對象池的新的記錄追加到表402(圖6)、403(圖7)、408(圖11)。*程序413從管理者通過管理裝置107接受PVOL的指定。具體地,例如,程序413 顯示與RVOL相關(guān)的信息(例如ID、種類等),接受作為PVOL的RVOL的指定。針對每個被指定的RV0L,進行S1602 S1605。以一個RVOL (以下,在圖16的說明中稱作“對象RV0L”)為例,說明S1602 S1605。(S1602)程序413確定被指定的RVOL的種類。具體地,例如,CMPKl 19存儲有針對每個RVOL 具有ID、容量、種類(例如SSD、HDD-SAS)等的RVOL管理表,程序413根據(jù)該RVOL管理表確定被指定的RVOL的種類。(S1603)程序413根據(jù)層管理表403判斷與被確定的RVOL種類對應的層是否已經(jīng)存在于對象池中。在該判斷的結(jié)果為否定性的情況下,進行S1604,在該判斷的結(jié)果為肯定性的情況下,進行S1605。(S1604)程序413根據(jù)層定義表401確定與被確定的RVOL種類對應的層的ID。然后,程序 413針對對象池將被確定的層ID追加到表402 (圖6)中。(S1605)程序413在與被確定的RVOL種類對應的層(以下,在該段落中稱作“對象層”)中追加對象RV0L。具體地,例如,程序413在表402 (圖6)中登記對象RVOL的ID作為與對象層的層ID對應的PVOL ID。(S1606)程序413針對所有被指定的RVOL判斷是否進行了 S1602以后的處理。如果在被指定的RVOL中存在沒有進行S1602以后的處理的RV0L,則針對該RVOL進行S1602以后的處理。(S1607)程序413顯示池定義⑶I (Graphical User Interface 圖形用戶接口)。然后,程序413通過該⑶I接受各種設(shè)定。圖17表示池定義GUI 1700。⑶11700中顯示對象池的ID。而且,程序413也能夠響應管理者對預定工具(例如下拉菜單)的操作,顯示對象池以外的池(即、既有的池)的ID。另外,⑶11700具有管理者為了針對正在顯示的ID所表示的池輸入應該在表 403 (圖7)中設(shè)定的信息要素“層次化”、“重新配置”、“自動執(zhí)行”、“執(zhí)行周期”、“執(zhí)行時刻”、 “監(jiān)視時間帶”、“層閾值”的值而使用的輸入工具。作為本實施例中所說的輸入工具,能夠采用無線電按鈕、復選框、文本輸入欄等任意的工具。而且,⑶11700中,針對“層閾值”,能夠使一個閾值在對象池所具有的全部層中共通,或者能夠針對對象池所具有的每個層設(shè)定閾值。而且,如上所述,由于⑶11700中也能夠顯示既有的池的ID,因此使用⑶11700能夠變更關(guān)于管理者所希望的既有的池的設(shè)定。屆時,例如,如果管理者所希望的層閾值高于設(shè)定為該層閾值的層的使用比例,則程序413可將其作為不合適的層閾值在管理裝置105 中顯示警告,并且不在表402(圖6)中登記該層閾值。再次參照圖16。(S1608)程序413更新表。具體地,例如,程序413進行下述處理。*程序413在表403(圖7)中登記輸入到圖17的⑶11700的、信息要素“層次化”、 “重新配置”、“自動執(zhí)行”、“執(zhí)行周期”、“執(zhí)行時刻”、“監(jiān)視時間帶”、“層閾值”的值。*程序413將對象池劃分為多個實際頁,將該多個實際頁的ID追加到表402(圖 6)、以及408(圖11)中。實際頁的容量在所有的池中可以是共通的。因此,構(gòu)成對象池的實際頁的數(shù)量可依存于對象池的容量(構(gòu)成對象池的PVOL的總?cè)萘?。而且,對于每個PV0L,實際頁的容量可以不同。具體地,例如,構(gòu)成基于 RAID5 (4D+1P)的RG的PVOL的實際頁的容量與構(gòu)成基于RAID6 (4D+2P)的RG的PVOL的實際頁的容量可以不同。之所以這樣,是因為保存在一個實際頁中的奇偶校驗位的數(shù)量不同。<VV0L 的生成 >圖18表示VVOL生成處理的流程。需要說明的是,該<VV0L的生成 > 的說明中,將通過該VVOL生成處理新生成的VVOL稱作“對象VV0L”。(S1801)UI控制程序413顯示VVOL生成⑶I。然后,程序413通過該⑶I接受各種設(shè)定。
圖 19 表示 WOL 生成 GUI 1900。⑶11900中顯示對象VVOL的ID。而且,程序413也能夠響應管理者對預定工具 (例如下拉菜單)的操作,顯示對象VVOL以外的VVOL(既有的VV0L)的ID。⑶11900具有管理者為了針對正在顯示的ID所表示的VVOL輸入應該在表404(圖 8)中設(shè)定的信息要素“池ID”、“容量”、“重新配置”、“自動執(zhí)行”、“執(zhí)行周期”、“執(zhí)行時刻”、 “監(jiān)視時間帶”的值而使用的輸入工具。另外,⑶11900根據(jù)表402(圖6)確定與輸入的池ID對應的層ID,并顯示被確定的所有層ID。⑶11900具有管理者為了針對正在顯示的ID所表示的VVOL輸入“分配層”、 “保存閾值”以及“默認層”的值而使用的輸入工具。管理者能夠使用那些輸入工具輸入將輸入的池ID所表示的池(分配給VVOL的池)具有的多個層中的哪個作為分配層、將分配層中的哪個作為“默認層”、以及各分配層的保存閾值。再次參照圖18。(S1802)程序413更新表。具體地,例如,程序413進行下述處理。*程序413在表404(圖8)中登記輸入到圖19的GUI 1900的、信息要素“池ID”、 “容量”、“重新配置”、“自動執(zhí)行”、“執(zhí)行周期”、“執(zhí)行時刻”、“監(jiān)視時間帶”、“分配層ID”以及“默認層ID”的值。*程序413基于對象VVOL的容量計算構(gòu)成對象VVOL的虛擬頁的數(shù)量。程序413 在表407(圖10)中登記對象VVOL的ID和計算出的虛擬頁數(shù)量個的虛擬頁ID。*針對對象VV0L,如果“重新配置”為“0N”,則程序413生成表409 (圖12)。這是因為在監(jiān)視時間帶中進行I/O頻度的監(jiān)視。而且,表409中登記上述計算出的虛擬頁數(shù)量個的虛擬頁ID。*程序413針對對象VVOL在表412(圖15)中登記“分配層ID”以及“保存閾值”?!葱畔⒌娘@示〉圖22表示信息顯示處理的流程。UI控制程序413從管理裝置107接受顯示命令(S2201),在管理裝置107中顯示由顯示命令指定的信息(S2202)。作為可顯示的信息的種類,例如為表401 412中的至少一個(或者對它們進行加工而得到的信息(例如圖、摘要等))。圖23表示度數(shù)分布GUI2300。度數(shù)分布⑶12300在圖22的S2202中顯示。具體地,例如,在圖22的S2201中, 管理裝置107依照來自管理者的請求發(fā)送指定了管理者所希望的VVOL ID的度數(shù)分布顯示命令。在圖22的S2202中,程序413響應該命令,從表410(圖1 提取與由該命令指定的VVOL ID對應的度數(shù)分布,并如圖23所示將提取出的度數(shù)分布顯示在管理裝置107中。需要說明的是,度數(shù)分布是以表形式顯示的,但是也可取代其或者在其基礎(chǔ)上以圖形式等其它形式來顯示。管理者看到顯示在⑶12300中的度數(shù)分布來判斷是否遷移所希望的VVOL內(nèi)的數(shù)據(jù)要素。例如,管理者可以在認為存在大量平均I/O數(shù)高的虛擬頁數(shù)的情況下指示存儲系統(tǒng)103遷移所希望的VVOL內(nèi)的數(shù)據(jù)要素(例如,可以按壓⑶12300中的“遷移執(zhí)行”按鈕)。這樣,度數(shù)分布作為用于管理者判斷是否進行數(shù)據(jù)遷移(VV0L內(nèi)的數(shù)據(jù)要素的遷移)的判斷材料來使用。換言之,如果數(shù)據(jù)執(zhí)行自動執(zhí)行,則可以不計算度數(shù)分布。<寫入處理(向高速緩存寫入)>圖M表示寫入處理(向高速緩存寫入)的流程。(S2401)I/O控制程序414從主機101接收寫入命令。(S2402)程序414根據(jù)接收到的寫入命令所具有的I/O目的地信息確定寫入目的地的VVOL 以及虛擬頁。此處,確定出多個虛擬頁的情況很多。之所以這樣,是由于寫入對象數(shù)據(jù)的大小通常大于一個虛擬頁的容量。針對所確定的每個虛擬頁,進行S2403以后的處理。以下, 以一個虛擬頁為例(在圖對的說明中稱作“對象虛擬頁”),說明S2403以后的處理。另外, 在圖M的說明中,將針對對象虛擬頁的寫入對象數(shù)據(jù)要素稱作“對象數(shù)據(jù)要素”。(S2403)程序414判斷對象虛擬頁的ID是否存在于遷移頁表411中。在該判斷的結(jié)果是否定性的情況下,進行S2404 S2406,在該判斷的結(jié)果為肯定性的情況下,進行S2407 S2408o(S2404)程序414基于分配表407(圖10)判斷實際頁是否分配給了對象虛擬頁。如果該判斷的結(jié)果為否定性的,則進行S2405。(S2405)程序414進行以下處理。*程序414基于VVOL管理表404 (圖8)確定與寫入目的地VVOL對應的池以及該池內(nèi)的默認層。*程序414基于層管理表402 (圖6)以及實際頁管理表408 (圖11)確定被確定的默認層內(nèi)的自由的實際頁。*程序414對對象虛擬頁分配所確定的實際頁。S卩,程序414在分配表407(圖10) 中與對象虛擬頁的ID對應的欄中登記所分配的實際頁的ID、具有該實際頁的層的ID、具有該層的池的ID。*程序414在根據(jù)默認層不能確定自由的實際頁的情況下,可以根據(jù)與寫入目的地VVOL對應的分配層確定自由的實際頁,并將所確定的實際頁分配給對象虛擬頁。*程序414更新表402(圖6)中具有所分配的實際頁的層(在該S2403的說明中稱作“分配源層”)的“使用比例”的值。*程序414進行分配源層的“使用比例”的更新后的值是否超過了分配源層的“層閾值”的值的判斷(以下稱作“判斷Z”)。分配源層的“層閾值”的值是登記在表402(圖 6)中的值、或者登記在表412(圖15)中的值,但是可優(yōu)先采用登記在表412中的值。*如果判斷Z的結(jié)果是肯定性的,則程序414可以進行下述(a)以及(b)中的至少
一個處理。(a)程序414可將錯誤(error)通知給管理裝置107(以及/或者作為寫入命令發(fā)送源的主機101)。管理者在針對分配源層知道了錯誤的情況下,能夠在分配源層中追加 RVOL0(b)程序414調(diào)用重新配置程序415。重新配置程序415進行圖38所示的處理。 圖38所示的處理將在后面說明。(S2406)程序414從高速緩存確保用于保存在對象虛擬頁中的數(shù)據(jù)要素的CM區(qū)域。(S2407)程序414根據(jù)遷移頁表411中與對象虛擬頁對應的“遷移狀態(tài)”的值確保CM區(qū)域。 具體如下。 情形A “遷移狀態(tài)”為“未遷移”》例如,進行以下(具體例Al)以及(具體例A2)中的某一個。(具體例Al)*程序414確保CM區(qū)域,將與對象虛擬頁對應的遷移目的地層中的自由的實際頁決定為寫入目的地。更具體地,例如,如果遷移目的地層中某一個自由的實際頁內(nèi)的數(shù)據(jù)要素在高速緩存中,則程序414確保存在該數(shù)據(jù)要素的CM區(qū)域,并且將該自由的實際頁決定為寫入目的地。遷移目的地層中的自由的實際頁如上所述能夠基于表402(圖6)以及 408(圖11)來確定。*程序414將與對象虛擬頁對應的“遷移狀態(tài)”更新為“已遷移”。其結(jié)果,針對對象虛擬頁不進行數(shù)據(jù)要素的遷移。即,換言之,針對對象虛擬頁,數(shù)據(jù)要素的遷移被取消。*程序414將所決定的寫入目的地實際頁取代原來的實際頁分配給對象虛擬頁。 即,程序414在分配表407中與對象虛擬頁的ID對應的欄中改寫上述所決定的寫入目的地實際頁的ID以及具有該實際頁的層的ID(遷移目的地層的ID)。*程序414將實際頁管理表408(圖11)中分配給對象虛擬頁的原來的實際頁的 “狀態(tài)”更新為“自由”。另外,程序414將該表408中新分配給對象虛擬頁的實際頁(所決定的寫入目的地實際頁)的“狀態(tài)”更新為“使用中”。(具體例A2)*程序414確保CM區(qū)域,將分配給對象虛擬頁的實際頁(遷移源層內(nèi)的實際頁) 決定為寫入目的地。更具體地,例如,如果遷移目的地層中任何一個自由的實際頁內(nèi)的數(shù)據(jù)要素都不在高速緩存中,則程序414確保CM區(qū)域(例如存在分配給對象虛擬頁的實際頁內(nèi)的數(shù)據(jù)要素的區(qū)域),并且將分配給對象虛擬頁的實際頁(遷移源層內(nèi)的實際頁)決定為寫入目的地。*程序414可將與對象虛擬頁對應的“遷移狀態(tài)”更新為“中斷”。由此,例如,針對對象虛擬頁,不進行基于重新配置程序415的數(shù)據(jù)遷移。而且,該“遷移狀態(tài)”的值例如可以通過程序414在后述的降級(destage)完成的情況下從“中斷”恢復成“未遷移”。
情形B “遷移狀態(tài)”為“遷移中” r>例如進行以下的(具體例Bi) (具體例B3)之一。(具體例Bi)*程序414將與對象虛擬頁對應的“遷移狀態(tài)”更新為“中斷”。然后,程序414進行上述的(具體例Al)或者(具體例A2)。在進行了(具體例Al)的情況下,與對象虛擬頁對應的“遷移狀態(tài)”更新為“已遷移”。在進行了(具體例A2)的情況下,與對象虛擬頁對應的“遷移狀態(tài)”更新為“未遷移”。(具體例B2)*程序414確保CM區(qū)域。在(具體例B2)的情況下,在與對象虛擬頁對應的“遷移狀態(tài)”更新為“已遷移”之后進行降級。因此,寫入目的地(降級目的地)為遷移目的地層內(nèi)的實際頁。之所以這樣,是因為對象虛擬頁被分配了遷移目的地層內(nèi)的實際頁。(具體例B3)*程序414確保CM區(qū)域。在(具體例B3)的情況下,在與對象虛擬頁對應的“遷移狀態(tài)”為“遷移中”期間進行降級,數(shù)據(jù)要素被降級到分配給對象虛擬頁的實際頁和遷移目的地層內(nèi)的實際頁的雙方(進行所謂的二重寫入)。 情形C “遷移狀態(tài)”為“已遷移” 例如進行以下處理。*程序414確保CM區(qū)域。該情形中,寫入目的地(降級目的地)是遷移目的地層內(nèi)的實際頁。之所以這樣,是因為由于與對象虛擬頁對應的“遷移狀態(tài)”被更新為了 “已遷移”,所以分配給對象虛擬頁的實際頁如后面說明的那樣被變更為成為遷移目的地的實際頁。(S2408)在對于通過S2402所確定的所有虛擬頁確保了 CM區(qū)域的情況下,程序414向所確保的一個以上的CM區(qū)域?qū)懭胱鳛閷懭雽ο蟮臄?shù)據(jù),并將寫入完成向主機101進行響應。<寫入處理(降級)>圖25表示降級處理的流程。I/O控制程序414針對構(gòu)成寫入對象數(shù)據(jù)的各數(shù)據(jù)要素進行降級處理。(S2501)程序414進行降級。S卩,程序414將存在于高速緩存中的多個數(shù)據(jù)要素中尚未寫入實際頁的數(shù)據(jù)要素(臟數(shù)據(jù)要素)寫入實際頁。降級目的地實際頁是分配給成為該實際頁的寫入目的地的虛擬頁的實際頁(根據(jù)分配表407確定的實際頁)。而且,此時,如果與該虛擬頁對應的“遷移狀態(tài)”為“中斷”,則程序414可以將該“遷移狀態(tài)”更新為“未遷移”。(S2502)程序414基于表403(圖7)或者404(圖8)判斷是否有更新監(jiān)視表409的必要。 可優(yōu)先表404(圖8)。具體地,例如,程序414進行以下的兩個判斷,即判斷P以及判斷Q。(判斷P)程序414判斷與具有S2501中的降級目的地實際頁的池(以下,在圖25 的說明中稱作“對象池”)對應的“重新配置”是否為“ON”、或者與具有分配到該降級目的地實際頁的虛擬頁的VV0L(以下,在圖25的說明中稱作“對象VV0L”)對應的“重新配置”是否為“ON”。在該判斷P的結(jié)果為否定性的情況下,不進行S2503 (即,沒有更新監(jiān)視表409
26的必要)。(判斷Q)在判斷P的結(jié)果為肯定性的情況下,程序414判斷當前的時刻是否在與對象池對應的“監(jiān)視時間帶”的值所表示的時間帶內(nèi)。在該判斷Q的結(jié)果為否定性的情況下,不進行S2503。另一方面,不僅判斷P,該判斷Q的結(jié)果也是肯定性的情況下,進行 S2503 (即,有更新監(jiān)視表409的必要)。(S2503)程序414更新監(jiān)視表409。具體如下。*如果表412 (圖15)中與對象VVOL對應的“頁單位遷移”為“0N”,則程序414更新與對象VVOL對應的激活的監(jiān)視表409。具體地,例如,程序414更新激活的監(jiān)視表409中的、與被降級的數(shù)據(jù)要素的寫入目的地虛擬頁對應的“合計I/O數(shù)”的值(例如增加1),并且更新“最終I/O時刻”的值。另外,程序414針對例如該寫入目的地虛擬頁將降級時間點的時刻追加到上述的I/O履歷表中。該情況下,I/O履歷表中可以記錄寫入目的地虛擬頁的ID。例如,可以基于該I/O履歷表,而后由程序414更新激活的監(jiān)視表409中“平均I/O 數(shù)”以及“最大I/O數(shù)”?!醋x出處理〉圖沈表示讀出處理的流程。(S2600)I/O控制程序414從主機101接收讀出命令。然后,程序414根據(jù)接收到的讀出命令所具有的I/O目的地信息確定讀出源VVOL以及虛擬頁。(S2601)程序414判斷高速緩存上是否具有讀出對象數(shù)據(jù)。該判斷的結(jié)果為否定性的情況下,進行S2603,該判斷的結(jié)果為肯定性的情況下,進行S2602。(S2602)程序414將高速緩存上的讀出對象數(shù)據(jù)發(fā)送給主機101。該情況下,與讀出源VVOL 對應的監(jiān)視表409不被更新。這是由于沒有進行針對實際頁的I/O。(S2603)程序414基于分配表407判斷是否對通過S^OO所確定的虛擬頁分配了實際頁。該判斷的結(jié)果為否定性的情況下,進行S2604,該判斷的結(jié)果為肯定性的情況下,進行 S2605o(S2604)程序414向主機101發(fā)送預定響應(例如表示零的數(shù)據(jù))。(S2605)程序414判斷通過S2600所確定的一個以上的虛擬頁的ID中的至少一個是否在遷移頁表411中已登記、并且與該已登記的虛擬頁ID對應的“遷移狀態(tài)”是否為“遷移中”。該判斷的結(jié)果為否定性的情況下,進行S2607,該判斷的結(jié)果為肯定性的情況下,進行 S2606o(S2606)程序414從分別分配給通過S2600所確定的一個以上的虛擬頁的一個以上的實際頁(根據(jù)分配表407所確定的一個以上的實際頁)讀出數(shù)據(jù)要素。程序414將由那些數(shù)據(jù)要素所構(gòu)成的讀出對象數(shù)據(jù)發(fā)送給主機101。(S2607)程序414針對“遷移狀態(tài)”為“遷移中”的虛擬頁等待至“遷移狀態(tài)”更新為“已遷移”。然后,程序414從分別分配給通過S^OO所確定的一個以上的虛擬頁的一個以上的實際頁(根據(jù)分配表407所確定的一個以上的實際頁)讀出數(shù)據(jù)要素。程序414將由那些數(shù)據(jù)要素所構(gòu)成的讀出對象數(shù)據(jù)發(fā)送給主機101。(S2608)程序414基于表403(圖7)或者404(圖8)判斷是否有更新監(jiān)視表409的必要。 可優(yōu)先表404(圖8)。具體地,例如,程序414進行以下的兩個判斷,即判斷V以及判斷W。(判斷V)程序414判斷與分配給讀出源VVOL的池(以下,在圖沈的說明中稱作 “讀出源池”)對應的“重新配置”是否為“ON”、或者與讀出源VVOL對應的“重新配置”是否為“ON”。在該判斷V的結(jié)果為否定性的情況下,不進行(即,沒有更新監(jiān)視表409的必要)。(判斷W)在判斷V的結(jié)果為肯定性的情況下,程序414判斷當前的時刻是否在與對象池對應的“監(jiān)視時間帶”的值所表示的時間帶內(nèi)。在該判斷W的結(jié)果為否定性的情況下,不進行S2609。另一方面,不僅判斷V,該判斷W的結(jié)果也是肯定性的情況下,進行 S2609 (即,有更新監(jiān)視表409的必要)。(S2609)程序414更新監(jiān)視表409。具體如下。*如果表412 (圖15)中與讀出源VVOL對應的“頁單位遷移”為“0N”,則程序414 更新與讀出源VVOL對應的激活的監(jiān)視表409。具體地,例如,程序414更新激活的監(jiān)視表 409中讀出源的與寫入目的地虛擬頁對應的“合計I/O數(shù)”的值(例如增加1),并且更新 “最終I/O時刻”的值。另外,程序414針對例如該讀出源虛擬頁將讀出時間點的時刻追加到上述的I/O履歷表中。該情況下,I/O履歷表中還可以記錄讀出源虛擬頁的ID。例如,可以基于該I/O履歷表,而后由程序414更新激活的監(jiān)視表409中“平均I/O數(shù)”以及“最大 I/O 數(shù)”。<1/0頻度的監(jiān)視與重新配置處理的關(guān)系>圖27表示I/O頻度的監(jiān)視與重新配置的關(guān)系的概要。在監(jiān)視針對實際頁的1/0,并進行了針對實際頁的I/O的情況下,分配到該實際頁的虛擬頁或者具有該虛擬頁的VVOL的I/O頻度被更新。即,監(jiān)視表409被更新。換言之, 如上所述,I/O控制程序414雖然從主機101接受了讀出命令,但是在沒有從實際頁讀出數(shù)據(jù)要素的情況下,監(jiān)視表409不被更新。隨著監(jiān)視表409的更新,度數(shù)分布表410被更新。而且,度數(shù)分布表410可以不預先準備,例如可以在由管理者指令了顯示度數(shù)分布的情況下基于監(jiān)視表409生成度數(shù)分布表410,并基于該表410顯示度數(shù)分布。而且,還可以取代度數(shù)分布,顯示監(jiān)視表409。重新配置處理具有層判定處理和遷移處理。層判定處理中生成遷移頁表411。該表411可以基于監(jiān)視表409所表示的I/O頻度和層管理表402 (圖6)內(nèi)的層范圍來生成。 遷移處理中基于所生成的遷移頁表411進行頁單位的數(shù)據(jù)遷移?!粗匦屡渲锰幚怼?br>
重新配置處理可以在某層的使用比例超過該層的層閾值的情況下來進行,也可以定期性(例如每次到達“重新配置執(zhí)行時刻”的值所表示的時刻時)進行。圖28表示重新配置處理的流程。需要說明的是,圖28是針對一個VV0L(圖28的說明中稱作“對象W0L”)的流程。(S2801)重新配置程序415判斷是否針對對象VVOL執(zhí)行數(shù)據(jù)遷移。具體進行如下處理。*程序415判斷VVOL管理表404 (圖8)中與對象VVOL對應的“自動執(zhí)行”是否為 “ON”。在與對象VVOL對應的“自動執(zhí)行”的值沒有設(shè)定的情況下,程序415判斷池管理表 403(圖7)中與分配給對象VVOL的池(以下,在圖28的說明中稱作“對象池”)對應的“自動執(zhí)行”是否為“ON”。*在與對象VVOL或者對象池對應的“自動執(zhí)行”為“ON”的情況下,程序415判斷當前時刻是否到達了與對象VVOL或者對象池對應的“重新配置執(zhí)行時刻”的值所表示的時亥IJ。在該判斷的結(jié)果為肯定性的情況下,S^Ol的判斷的結(jié)果為肯定性,在該判斷的結(jié)果為否定性的情況下,S2801的判斷的結(jié)果為否定性。*在與對象VVOL或者對象池對應的“自動執(zhí)行”為“OFF”的情況下,如果程序415 從管理者通過管理裝置105針對對象VVOL接受到了數(shù)據(jù)遷移的指示,則S^Ol的判斷的結(jié)果為肯定性。如果與對象VVOL或者對象池對應的“自動執(zhí)行”為“0FF”(S2802 否),則程序415 進行S^06。如果與對象VVOL或者對象池對應的“自動執(zhí)行”為“ON” (S2802 是),則程序415 進行S^07。(S2806)程序415判斷是否由管理者設(shè)定了層范圍。在該判斷的結(jié)果為否定性的情況下, 在進行了之后進行S2808,在該判斷的結(jié)果為否定性的情況下,不進行S2807,直接進行 S^08。(S2807)程序415進行層范圍決定處理。通過該處理來決定層范圍。作為決定層范圍的方法,可考慮到多種。例如,可預先準備多種層范圍,也可由程序415針對每個層從該多種層范圍中選擇任意的層范圍。(S2808)程序415進行層判定處理。層判定處理中,如上所述,生成遷移頁表411。(S2809)程序415依照所生成的遷移頁表411進行頁單位的遷移處理。在頁單位的數(shù)據(jù)遷移中,在對象池內(nèi)從某層內(nèi)的實際頁向其它層內(nèi)的實際頁遷移數(shù)據(jù)要素。針對頁單位的遷移處理,將在后面詳細說明。 頁單位的遷移處理Υ>圖34表示圖28的S2808中的遷移頁表生成處理的流程。(S3401)程序415選擇對象VVOL的最初的虛擬頁。
(S3402)程序415基于分配表407判斷是否對被選擇的虛擬頁分配了實際頁。如果該判斷的結(jié)果是否定性的,則進行S3405,如果該判斷的結(jié)果是肯定性的,則進行S3403。(S3403)程序415基于監(jiān)視表409判斷是否應該變更分配給被選擇的虛擬頁的實際頁內(nèi)的數(shù)據(jù)要素所應該存在的層。具體如下。*程序415根據(jù)表402 (圖6)確定具有分配給被選擇的虛擬頁的實際頁的層(在 S3403的說明中稱作“對象層”)。*程序415基于被選擇的虛擬頁的I/O頻度(例如與對象VVOL對應的激活的監(jiān)視表409所表示的合計I/O數(shù)、平均I/O數(shù)、以及最大I/O數(shù)中的至少一個)和與對象層對應的“層范圍”的值判斷是否應該將分配給被選擇的虛擬頁的實際頁內(nèi)的數(shù)據(jù)要素從對象層遷移到其它的層。例如,如果被選擇的虛擬頁的I/O頻度未納入被選擇的虛擬頁的與對象層對應的層范圍中,則判斷為應該遷移數(shù)據(jù)要素。如果該S3403的判斷的結(jié)果為否定性的,則進行S3405,如果該判斷的結(jié)果為肯定性的,則進行S3404。(S3404)程序415基于被選擇的虛擬頁的I/O頻度(例如與對象VVOL對應的激活的監(jiān)視表 409所表示的合計I/O數(shù)、平均I/O數(shù)、以及最大I/O數(shù)中的至少一個)和與具有對象層的池內(nèi)的其它分配層對應的“層范圍”的值決定遷移目的地層。例如,將與納入有被選擇的虛擬頁的I/O頻度的層范圍對應的分配層(對象VVOL的分配層)決定為遷移目的地層。然后,程序415在遷移目的地頁表411中登記被選擇的虛擬頁的ID、對象層的ID、被決定的遷移目的地層的ID、遷移狀態(tài)“未遷移”。(S3405)程序415判斷被選擇的虛擬頁是否是對象VVOL的末端的虛擬頁。如果該判斷的結(jié)果為否定性的,則進行S3406,如果該判斷的結(jié)果為肯定性的,則該遷移頁表生成處理結(jié)束。(S3406)程序415從對象VVOL中選擇上一次被選擇的虛擬頁的下一個虛擬頁。然后,針對該被選擇的虛擬頁進行S3402以后的處理。通過該遷移頁表生成處理,能夠生成用于頁單位的遷移處理的移動頁表411。圖35表示頁單位的遷移處理的概要。根據(jù)頁單位的遷移處理,針對表411中登記的每個虛擬頁,分配給該虛擬頁的實際頁內(nèi)的數(shù)據(jù)要素被遷移到與該虛擬頁對應的遷移目的地層內(nèi)的自由的實際頁。以遷移目的地實際頁取代遷移源實際頁對該虛擬頁進行分配。如圖35所示,通過該遷移處理,既有被遷移到更上位的層中的數(shù)據(jù)要素,也有被遷移到更下位的層中的數(shù)據(jù)要素。根據(jù)針對哪個層設(shè)定怎樣的層范圍,能夠在適合虛擬頁的I/O頻度的層中配置該虛擬頁內(nèi)的數(shù)據(jù)要素。例如,假設(shè)對越上位的層設(shè)定越高的層范圍,對越下位的層設(shè)定越低的層范圍。具體地,假設(shè)例如層#11是高速且高信賴性的層(例如RVOL種類為“SSD”的層),并被設(shè)定為高的層范圍。另外,假設(shè)例如層#13是低速且低信賴性的層(例如RVOL種類為“HDD-SATA” 的層),并被設(shè)定為低的層范圍。另外,假設(shè)例如層#12是VV0L#50的默認層,并被設(shè)定為中程度的層范圍。該情況下,針對構(gòu)成VV0L#50的虛擬頁的寫入對象數(shù)據(jù)要素暫時被寫入默認層#12內(nèi)的實際頁。然后,在例如VV0L#50內(nèi)的某個虛擬頁#A的I/O頻度成為納入在高的層范圍內(nèi)程度的高I/O頻度的情況下,分配給該虛擬頁#A的實際頁#X內(nèi)的數(shù)據(jù)要素被從層#12遷移到層#11。另一方面,在例如VV0L#50內(nèi)的某個虛擬頁#B的I/O頻度成為納入在低的層范圍內(nèi)程度的低I/O頻度的情況下,分配給該虛擬頁#B的實際頁#Y內(nèi)的數(shù)據(jù)要素被從層#12遷移到層#13。這樣,通過對哪個層設(shè)定怎樣的層范圍、每個虛擬頁的I/O頻度的監(jiān)視結(jié)果、頁單位的數(shù)據(jù)遷移,能夠?qū)VOL內(nèi)的數(shù)據(jù)要素配置在適當?shù)膶?物理存儲資源)中。圖36表示頁單位的遷移處理的流程。(S3601)重新配置程序415將分配給對象VVOL的池的“池狀態(tài)”更新為“重新配置中”。(S3602)程序415選擇所生成的遷移頁表411的最初的記錄。(S3603)程序415將所選擇的記錄中的“遷移狀態(tài)”的值更新為“遷移中”。(S3604)程序415從所選擇的記錄所表示的遷移目的地層中選擇自由的實際頁,向所選擇的實際頁(遷移目的地實際頁)遷移存儲在遷移源層內(nèi)的遷移源實際頁中數(shù)據(jù)要素。遷移源實際頁是分配給對象虛擬頁的實際頁。(S3605)程序415更新表。具體如下。*程序415更新分配表407,從而以遷移目的地實際頁取代遷移源實際頁分配給被選擇的記錄所表示的虛擬頁(以下,在S3605的說明中稱作“選擇虛擬頁”)。即,程序415 使遷移目的地實際頁的ID、遷移目的地層的ID與選擇虛擬頁相對應。*程序415更新選擇虛擬頁的I/O頻度(例如激活的表409)。具體地,例如,選擇虛擬頁或者對象WOL的合計I/O數(shù)增加1。*程序415更新表402 (圖6)中的、遷移目的地層的“使用比例”的值。(S3606)程序415將被選擇的記錄中的“遷移狀態(tài)”的值更新為“已遷移”。(S3607)程序415判斷被選擇的記錄是否是虛擬頁表411中末端的記錄。如果該判斷的結(jié)果是否定性的,則進行S3608,如果該判斷的結(jié)果是肯定性的,則該遷移處理結(jié)束。(S3608)程序415從虛擬頁表411選擇上一次被選擇的記錄的下一個記錄。然后,針對該被選擇的記錄,進行S3603以后的處理。以上是頁單位的遷移處理的流程。而且,作為頁單位的遷移處理的變形例,可以考慮到例如下述多個變形例中的至少一個。
*在S3602、S3603之間,可以假設(shè)數(shù)據(jù)要素已經(jīng)遷移到了遷移目的地層中,程序 415判斷遷移目的地層的使用比例是否超出了遷移目的地層的層閾值。在判斷為超出的情況下,程序415可以跳過S3603 S3606直接進行S3607(即,程序415針對被選擇的記錄可以不進行數(shù)據(jù)要素的遷移)?;蛘?,在判斷為超出的情況下,程序415可以通過針對以遷移目的地層為分配層的VVOL進行重新配置處理,在遷移目的地層中增加自由的實際頁,然后開始S3603。*可以在通過S3605更新遷移目的地層的使用比例時由程序415判斷遷移目的地層的使用比例是否超出了遷移目的地層的層閾值。在判斷為超出的情況下,程序415可以在管理裝置107中顯示警告,以及/或者,通過針對以遷移目的地層為分配層的VVOL進行重新配置處理,在遷移目的地層中增加自由的實際頁。〈層閾值的變更〉UI控制程序413能夠從管理者接受層閾值的變更。圖37表示層閾值的變更處理的流程。(S3701)程序413接受池ID以及層ID、針對該層ID的變更后的層閾值。(S3702)程序413判斷與通過S3701接受到的池ID以及層ID對應的“使用比例”的值是否超出了變更后的層閾值。(S3703)程序413在S3702的判斷的結(jié)果是肯定性的情況下在管理裝置107中顯示錯誤?!词褂帽壤谋O(jiān)視〉如上所述,I/O控制程序414或者重新配置程序415在向?qū)嶋H頁寫入數(shù)據(jù)要素的情況下更新表402(圖6)中的、具有該實際頁的層的“使用比例”的值。然后,程序414或者415可以判斷“使用比例”的更新后的值是否超出了與該層對應的“層閾值”的值。如果該判斷的結(jié)果是肯定性的,則程序414或者415可以進行圖38所示的閾值超出應對處理。圖38表示閾值超出應對處理的流程。程序414或者415判斷具有使用比例超出了層閾值的層的池的“池狀態(tài)”是否為 “重新配置中”(S3801)。在S3801的判斷的結(jié)果是肯定性的情況下,程序414或者415向管理裝置107或者主機101發(fā)出警告(S3802)。該警告例如可以包括使用比例超出了層閾值的層的ID、具有該層的池的ID、該池的“池狀態(tài)”的值(“重新配置中”)。在S3801的判斷的結(jié)果是否定性的情況下,程序414或者415向管理裝置107或者主機101發(fā)出警告(S3803),執(zhí)行使該層的使用比例成為該層的層閾值以下的重新配置處理(圖28) (S3804)。而且,S3803中的警告例如可以包括使用比例超出層閾值的層的ID、 具有該層的池的ID、意味著針對該池進行重新配置處理的消息。〈數(shù)據(jù)要素的匯總〉本實施例中,可以進行數(shù)據(jù)要素的匯總處理。圖21表示數(shù)據(jù)要素的匯總處理的概要。I/O控制程序414或者重新配置程序415在針對VV0L#39定期性或者在將數(shù)據(jù)要素寫入實際頁時(例如,頁單位的遷移處理結(jié)束時)檢查VV0L#39內(nèi)的數(shù)據(jù)要素的配置。具體地,例如,程序414或者415針對VV0L#39的各分配層#00、##01、#03計算存在VV0L#39 內(nèi)所有數(shù)據(jù)要素中多大程度的比例的數(shù)據(jù)要素(即保存比例)。程序414或者415判斷 VV0L#39的分配層#00、##01、#03中是否存在保存比例超出保存閾值的分配層。在存在保存比例超出保存閾值的保存比例的分配層的情況下,程序414或者415 將該分配層#00以外的分配層#01以及#03內(nèi)的數(shù)據(jù)要素(VV0L#39內(nèi)的數(shù)據(jù)要素)遷移到分配層#00 (具體地,例如分配層#00的自由的實際頁)。而且,在之后,例如程序414可以在針對VV0L#39內(nèi)的虛擬頁(尤其是未分配有實際頁的虛擬頁)發(fā)生寫入的情況下,必定從分配層#00向該虛擬頁分配實際頁。而且,如果將分配層#01以及#03內(nèi)的數(shù)據(jù)要素(VV0L#39內(nèi)的數(shù)據(jù)要素)遷移到分配層#00后導致分配層#00的使用比例超出分配層#00的層閾值,則程序414或者415 可以進行下述的(χ)或者(y)。(χ)程序414不將分配層#01以及#03內(nèi)的數(shù)據(jù)要素遷移到分配層#00。(y)程序414通過將對象VVOL以外的VVOL內(nèi)的、分配層#00內(nèi)的數(shù)據(jù)要素遷移到其它的層中,來在分配層#00中增加自由的實際頁。另外,本實施例中,能夠在圖觀&S2807中自動決定層范圍。層范圍例如通過由 MP執(zhí)行未圖示的層范圍決定程序來決定。以下,以一個池(在層范圍的自動決定的說明中稱作“對象池”)為例說明層范圍決定處理。圖四表示層范圍決定處理的概要。設(shè)對象池具有層#01、#02以及#03這三個層。設(shè)層#01為最上位,層#02為第二上位,層#03為最下位的層。換言之,設(shè)層#01的性能潛力(potential)最高,層#02的性能潛力第二高,層#03的性能潛力最低。“性能潛力”是指重新配置處理中的數(shù)據(jù)要素配置權(quán)重。關(guān)于性能潛力,將在后面詳細敘述。層范圍決定程序通過匯總分配有對象池的所有VVOL的度數(shù)分布來取得針對對象池的度數(shù)分布4300。度數(shù)分布的橫軸為I/O頻度(負荷),縱軸為虛擬頁數(shù)。層范圍決定程序從上位層到下位層依次(或者從下位層到上位層依次)決定層范圍。以下,設(shè)以層#01、#02、#03的順序決定層范圍。以下,敘述用于決定針對各層的層范圍所進行的處理(而且,圖四中,層范圍的上限為菱形的標記,層范圍的下限為圓形標記)?!秾?01的層范圍1的決定》*層范圍決定程序?qū)?01的層范圍1的上限決定為無限大。即,最上位的層的層范圍的上限設(shè)定為無限大。*層范圍決定程序在度數(shù)分布4300中如箭頭4301所示按照I/O頻度從最高到較低累計虛擬頁數(shù)。該累計值達到層#01的性能潛力的情況下,層范圍決定程序?qū)⑴c即將到達層#01的性能潛力之前相加的虛擬頁數(shù)對應的I/O頻度設(shè)定為層(0-1)邊界值(層#00 與層#01的邊界值)。*層范圍決定程序?qū)⒈葘?0-1)邊界值低某種程度容限(margin)的I/O頻度設(shè)定為層#01的層范圍1的下限。具體地,例如,該下限是低于層(0-1)邊界值預定比例的I/O 頻度(例如低10%的I/O頻度)。
33
*層范圍決定程序假定I/O頻度納入層范圍1的所有虛擬頁內(nèi)的數(shù)據(jù)要素被遷移到了層#01,判斷層#01的使用比例是否超出層#01的層閾值。在該判斷的結(jié)果為肯定性的情況下,層范圍決定程序?qū)臃秶?修正為層#01的使用比例不超出層#01的層閾值的大小?!秾?02的層范圍2的決定》*層范圍決定程序?qū)⒈葘?0-1)邊界值高某種程度容限(margin)的I/O頻度設(shè)定為層#02的層范圍1的上限。具體地,例如,該上限是高于層(0-1)邊界值預定比例的I/O 頻度(例如高10%的I/O頻度)。*層范圍決定程序在度數(shù)分布4300中從層(0-1)邊界值到較低累計虛擬頁數(shù)。該累計值達到層#02的性能潛力的情況下,層范圍決定程序?qū)⑴c即將到達層#02的性能潛力之前相加的虛擬頁數(shù)對應的I/O頻度設(shè)定為層(1- 邊界值(層#01與層#02的邊界值)。*層范圍決定程序?qū)⒈葘?1-2)邊界值低某種程度容限(margin)的I/O頻度設(shè)定為層#02的層范圍2的下限。*層范圍決定程序假定I/O頻度納入層范圍2的所有虛擬頁內(nèi)的數(shù)據(jù)要素被遷移到了層#02,判斷層#02的使用比例是否超出層#02的層閾值。在該判斷的結(jié)果為肯定性的情況下,層范圍決定程序?qū)臃秶?修正為層#02的使用比例不超出層#02的層閾值的大小?!秾?03的層范圍3的決定》*層范圍決定程序?qū)⒈葘?1-2)邊界值高某種程度容限(margin)的I/O頻度設(shè)定為層#03的層范圍3的上限。*層范圍決定程序?qū)?02的層范圍2的下限設(shè)定為0。即,最下位層的層范圍的下限設(shè)定為0。*層范圍決定程序假定I/O頻度納入層范圍3的所有虛擬頁內(nèi)的數(shù)據(jù)要素被遷移到了層#03,判斷層#03的使用比例是否超出層#03的層閾值。在該判斷的結(jié)果為肯定性的情況下,層范圍決定程序?qū)臃秶?修正為層#03的使用比例不超出層#03的層閾值的大小。如上決定層范圍1 3。而且,之所以在層范圍的上限以及/或者下限賦予層邊界值的容限,是為了不隨著I/O頻度的變動頻繁地發(fā)生數(shù)據(jù)要素的遷移。具體地,例如,如果沒有容限、并且某虛擬頁的I/O頻度頻繁超出或者低于層(0-1)邊界值,則該虛擬頁內(nèi)的數(shù)據(jù)要素被頻繁地遷移到層#01或者層#02。但是,如果如上所述設(shè)置了容限,則能夠減少進行該種遷移的頻度。以下,進一步詳細說明層范圍決定處理。圖30表示層范圍決定處理的流程。(S4401)層范圍決定程序針對對象池的各層計算性能潛力。以一個層(在S4401的說明中稱作“對象層”)為例,性能潛力例如通過下述(式1)來計算。性能潛力=性能等級X實效實際頁數(shù)(實效容量)…(式1)該(式1)意味著即便性能等級低,只要執(zhí)行實際頁數(shù)多,性能潛力就高。而且,“實效實際頁數(shù)”是指構(gòu)成對象層的所有實際頁中的、在重新配置處理中可成為數(shù)據(jù)要素遷移目的地的實際頁的總數(shù)。換言之,為了在池中寫入重新配置處理中來自主機的寫入對象數(shù)據(jù)要素,可以設(shè)置在重新配置處理中不會作為遷移目的地的實際頁?!靶阅艿燃墶笔侵笇ο髮拥拿繂挝蝗萘?例如一個實際頁)的性能潛力。性能等級例如基于通過下述(式2)計算的值K。值K = RG性能/RG實效容量…(式2)(式2)中的“RG性能”例如是指讀出權(quán)重與寫入權(quán)重的比為1 1時的RG性能, 是成為對象層的根基的RG在每單位時間能夠處理的最大I/O數(shù)。(式幻中的“RG實效容量”例如是指針對成為對象層的根基的RG的、保存數(shù)據(jù)要素的實際頁的總數(shù)。而且,性能等級可以取代上述值K或者在其基礎(chǔ)上參酌讀出權(quán)重與寫入權(quán)重的比。該比例如可以基于來自主機的I/O的狀況、高速緩存的狀況(例如,臟數(shù)據(jù)要素與清潔數(shù)據(jù)要素(已保存在實際頁中的數(shù)據(jù)要素)的分配)、RG的RAID等級中的至少一個來進行變更。另外,性能等級可以由管理者通過手動來設(shè)定。(S4402)層范圍決定程序進行層邊界值計算處理。即,層范圍決定程序基于針對對象池的各層計算出的性能潛力來計算層邊界值。(S4403)層范圍決定程序基于計算出的各層邊界值針對各層計算層范圍。(S4404)層范圍決定程序針對各層判斷層范圍是否不合適。以一個層(以下,在S4403以及S4405的說明中稱作“對象層”)為例具體而言,例如,層范圍決定程序假定I/O頻度納入對象層的層范圍的所有虛擬頁內(nèi)的數(shù)據(jù)要素被遷移到了對象層,判斷對象層的使用比例是否超出對象層的層閾值。(S4405)在S4404的判斷的結(jié)果為肯定性的情況下,層范圍決定程序或者在管理裝置107 中顯示警告,或者將層范圍修正為對象層的使用比例不超出對象層的層閾值的大小。圖31表示圖30的S4402中層邊界值計算處理的流程。(S4501)層范圍決定程序通過匯總分配有對象池的所有VVOL的度數(shù)分布來取得對象池的度數(shù)分布。度數(shù)分布能夠使用與分配有對象池的各VVOL對應的監(jiān)視表409來取得。(S4502)層范圍決定程序計算對象池的I/O頻度合計。具體地,層范圍決定程序合計分配有對象池的所有VVOL的所有虛擬頁的I/O頻度。(S4503)層范圍決定程序基于通過S4502計算出的I/O頻度合計計算針對對象池的各層的分配I/O頻度。具體地,層范圍決定程序?qū)⑼ㄟ^S4502計算出的I/O頻度合計分配給對象池的多個層。具體地,例如,層范圍決定程序基于通過圖30的S4401計算出的、多個層的性能潛力的比,來對該多個層分配I/O頻度合計。由此,例如在性能潛力的比為層#01 層 #02 層#03 = 4 2 1、并且I/O頻度合計為7000的情況下,層#01的分配I/O頻度成為 4000 (7000 X (4/ (4+2+1))),層 #02 的分配 I/O 頻度成為 2000 (7000 X (2/ (4+2+1))),層#01 的分配 I/O 頻度成為 1000 (7000X (1/(4+2+1)))。(S4504)層范圍決定程序基于對象池的各層的分配I/O頻度來決定層邊界值。例如,以 S4503的例子而言,層(0-1)邊界值成為2000,層(1_2)邊界值成為1000。根據(jù)以上的層范圍決定處理,能夠基于各層的性能潛力和對象池的度數(shù)分布針對每個層設(shè)定對應于對象池整體的I/O狀況的合適的層范圍。以上是針對實施例1的說明。而且,在實施例1中,例如針對VV0L,默認層可以必定是VVOL的分配層中I/O性能 (例如I/O速度或者響應時間)最大的層(例如分配層中最上位的層)。這是為了盡量增大VVOL的I/O性能。該情況下,寫入VVOL的數(shù)據(jù)要素可以配置在盡量上位的分配層。但是,控制為分配層的使用容量不超出該分配層的層閾值。另外,例如,可以與各池、或者多個池共通地設(shè)置退避用的層。無論是依照來自主機的寫入命令的寫入,還是重新配置處理中的遷移處理,通常來講,程序414以及415都不向退避用的層寫入數(shù)據(jù)要素。但是,程序414或者415可以在例如數(shù)據(jù)要素寫入目的地的層(以下,在該段落的說明中稱作“對象層”)的使用比例超出該層的層閾值的情況下,將對象層內(nèi)的任意實際頁內(nèi)的數(shù)據(jù)要素(或者分配給對象層的層范圍內(nèi)未納入有I/O頻度的虛擬頁的、對象層中實際頁內(nèi)的數(shù)據(jù)要素)遷移到退避用的層,由此在對象層中增加自由的實際頁。該情況下,程序414或者415對分配給對象層內(nèi)的遷移源實際頁的虛擬頁分配退避用的層內(nèi)的遷移目的地實際頁來取代該遷移源實際頁。然后,程序414或者415可以向設(shè)定為納入有分配給退避用層內(nèi)實際頁的虛擬頁的I/O頻度的層范圍的層遷移保存在該退避用層內(nèi)的實際頁中的數(shù)據(jù)要素。退避用層例如可以為由與最上位的層種類相同的RVOL 構(gòu)成的層。另外,可以不設(shè)定默認層。針對VVOL的來自主機101的寫入對象數(shù)據(jù)要素可以寫入盡量上位的層中。在上位的層的使用比例超出了層閾值的情況下,數(shù)據(jù)要素可以寫入比該上位的層低一級的下位的層中。另外,監(jiān)視表409B以及409A中,409A可以不存在。該情況下,可以通過合計監(jiān)視表409B所具有的每個虛擬頁的I/O頻度來計算VVOL的I/O頻度。另外,頁單位的遷移處理可以中斷。例如,重新配置程序415能夠在從管理者接受到中斷指示的情況下,在針對遷移狀態(tài)“遷移中”將處理進行到使遷移狀態(tài)為“已遷移”之后,中斷頁單位的遷移處理。程序415可以在例如接受到中斷指示后一定時間后或者接受到重新開始的指示時,基于遷移頁表411重新開始遷移處理?;蛘?,程序415可以在接受到中斷指示的情況下廢棄遷移頁表411,在下一次遷移處理時,基于激活的監(jiān)視表409來生成遷移頁表411。另外,在本實施例中,Thin Provisioning的VV0L203是根據(jù)從主機101向具有虛擬頁的地址的寫入請求分配到實際頁的,但是本發(fā)明并不限于該情況,還可以優(yōu)選列舉以下的例子。這是因為即便是在這些例子的情況下也能夠?qū)崿F(xiàn)實際使用容量的削減。第一個例子如下。S卩,VV0L203的多個虛擬頁中一部分的虛擬頁或者VV0L203的各虛擬頁中包含的一部分區(qū)域在接收從主機101向具有虛擬頁的地址的寫入請求之前預先分配有實際區(qū)域(預分配),根據(jù)從主機101向具有虛擬頁的地址的寫入請求,在已經(jīng)分配完畢的區(qū)域不充足,還需要進一步分配的情況下,分配追加的實際區(qū)域。第二個例子如下。S卩,VV0L203的多個虛擬頁在接收從主機101向具有虛擬頁的地址的寫入請求之前預先暫時分配給保存有零數(shù)據(jù)的實際區(qū)域或者控制用的區(qū)域(這些區(qū)域與SSD等存儲設(shè)備上的區(qū)域?qū)?(暫時分配),根據(jù)從主機101向具有虛擬頁的地址的寫入請求,分配目的地從暫時的分配區(qū)域變更為應該保存數(shù)據(jù)的實際頁(正式分配)。該情況下,在實施正式分配之前接收到從主機101向具有虛擬頁的地址的寫入請求的情況下, 向主機101響應保存在暫時分配目的地實際區(qū)域或者控制用區(qū)域中的零數(shù)據(jù)。另外,在本實施例中,為了一元管理多個池201而通過一個表來管理多個池201, 但是本發(fā)明并不限于此,也可以為了針對各個池201 —元管理實際頁207,優(yōu)選對每個池 201分別使用管理用的表(可以是表形式以外形式的信息)。另外,層303的種類不限于按照本實施例中記載的SSD、HSS-SAS、HDD-SATA等各屬性進行分類,還優(yōu)選按照具有FC接口的HDD、非HDD形式的存儲設(shè)備、例如閃存等半導體存儲介質(zhì)構(gòu)成的設(shè)備等各屬性進行分類。該情況下,與層303相關(guān)聯(lián)的虛擬頁的屬性或者各層303中所含各實際頁的屬性也不限于按照本實施例中記載的SSD、HDD-SAS、HDD-SATA等各屬性進行分類,而是按照具有FC接口的HDD、非HDD形式的存儲設(shè)備、例如閃存等半導體存儲介質(zhì)構(gòu)成的設(shè)備等各屬性進行分類。并且,層303的種類不限于僅通過上述存儲設(shè)備的類型這一屬性來進行分類,還優(yōu)選按照將上述存儲設(shè)備的類型和RAIDl到RAID5等的RAID類型組合后的屬性、或者上述存儲設(shè)備的類型與上述存儲設(shè)備的性能(存取速度等)和存儲容量與RAIDl到RAID5等的RAID類型組合后的各屬性進行分類。這些情況下,與各層303相關(guān)聯(lián)的虛擬頁的屬性或者各層303中所含各實際頁的屬性也不限于僅通過上述存儲設(shè)備的類型這一屬性來進行分類,還優(yōu)選按照將上述存儲設(shè)備的類型和RAIDl到RAID5等的RAID類型組合后的屬性、 或者上述存儲設(shè)備的類型與上述存儲設(shè)備的性能(存取速度等)和存儲容量與RAIDl到 RAID5等的RAID類型組合后的各屬性進行分類。實施例2以下說明本發(fā)明的實施例2。此時,主要說明與實施例1的區(qū)別點,關(guān)于與實施例 1的共通點,則省略或者簡略說明(這一點,后面的實施例3以后也同樣)。本發(fā)明的實施例2中,取代I/O頻度或者在其基礎(chǔ)上,基于每個VVOL或者每個虛擬頁的最終I/O時刻進行頁單位的遷移處理。如實施例1中所說明的那樣,在數(shù)據(jù)要素寫入實際頁的情況下,最終I/O時刻登記在監(jiān)視表409中。重新配置程序取代虛擬頁的I/O 頻度和具有該虛擬頁內(nèi)的數(shù)據(jù)要素的層的層范圍的關(guān)系或者在其基礎(chǔ)上,基于虛擬頁的最終I/O時刻決定在遷移頁表411中登記的虛擬頁。例如,可將最終I/O時刻是當前時刻之前預定時間以上時刻的虛擬頁登記在遷移頁表411中。屆時,該虛擬頁內(nèi)的數(shù)據(jù)要素的遷移目的地可以是比具有該虛擬頁內(nèi)的數(shù)據(jù)要素的層更下位的層。之所以這樣,是由于考慮到最終I/O時刻久遠的虛擬頁內(nèi)的數(shù)據(jù)要素今后被輸入輸出的可能性也低,優(yōu)選配置在較下位的層中。實施例3本發(fā)明的實施例3中,基于以順序存取和隨機存儲之一的存取模式進行1/0,來進行頁的單位遷移處理。
如果I/O對象數(shù)據(jù)是被順序存取的數(shù)據(jù),則在作為I/O目的地RVOL的根基的PDEV 為HDD的情況下,HDD的搜索時間很短。該情況下,即便是性能較低的HDD中有I/O對象數(shù)據(jù),也由于被順序存取,而可以考慮為性能下降的程度小。另外,通過將被順序存取的數(shù)據(jù)遷移到廉價的性能低的PDEV,由于被隨機存取的其它數(shù)據(jù),能夠使更多的基于性能高的 PDEV的實際頁為自由的頁。因此,能夠期待提高存儲系統(tǒng)整體的I/O性能。在實施例3中,例如在I/O控制程序414將數(shù)據(jù)要素寫入實際頁中的情況下,在例如分配表407中登記針對I/O目的地虛擬頁的存取模式(是順序存取還是隨機存取)。分配表407中可以針對每個虛擬頁寫入每種存取模式的執(zhí)行頻度。例如在生成遷移頁表411時,如果針對虛擬頁的存取模式為順序存取(或者如果順序存取的執(zhí)行頻度高),則重新配置程序415可以選擇較下位的層作為與該虛擬頁對應的遷移目的地。另外,例如,即使虛擬頁的I/O頻度高于具有分配給該虛擬頁的實際頁的層的層范圍的最大值,重新配置程序415可以不將該實際頁內(nèi)的數(shù)據(jù)要素作為遷移對象。實施例4本發(fā)明的實施例4中,兩個監(jiān)視表409以預定的定時不可編輯地保存在CMPKl 19 或者其它的存儲資源中來取代交替使用。例如,表示星期一的監(jiān)視結(jié)果的監(jiān)視表409可作為星期一的表409保存,表示星期六的監(jiān)視結(jié)果的監(jiān)視表409可作為星期六的表409與星期一的表409相區(qū)分地保存。由此,增加了運用重新配置處理的運用方法的選擇項。在實施例4中,例如重新配置程序415在重新配置即將開始前通過詢問管理者等方法決定是否保存激活的監(jiān)視表409。在進行保存的情況下,在即將進行重新配置處理之前,程序415將監(jiān)視表409保存在管理裝置107或者其它的存儲資源中。程序415能夠從保存的多個監(jiān)視表409中選擇為了生成遷移頁表411而參照的監(jiān)視表409,使用所選擇的監(jiān)視表409來生成遷移頁表411。實施例5本發(fā)明的實施例5中,作為I/O頻度與層范圍的比較方法,能夠選擇設(shè)定絕對值和相對值比較之一。“絕對值比較”是指,針對頁單位的遷移處理而言,將虛擬頁的I/O頻度(例如,合計I/O數(shù)、平均I/O數(shù)、或者最大I/O數(shù))直接與層范圍進行比較,而不考慮具有該虛擬頁的 VVOL內(nèi)其它虛擬頁的I/O頻度。根據(jù)絕對值比較,由于沒有必要考慮其它虛擬頁或者VVOL 的I/O頻度,因此能夠縮短比較所需時間,從而能夠期待縮短重新配置處理所需時間?!跋鄬χ当容^”是指,針對頁單位的遷移處理而言,將虛擬頁的I/O頻度(例如,合計I/O數(shù)、平均I/O數(shù)、或者最大I/O數(shù))基于具有該虛擬頁的VVOL內(nèi)其它虛擬頁的I/O 頻度進行修正(正規(guī)化),將修正后的I/O頻度與層范圍進行比較。具體地,例如,即便某虛擬頁或者WOL的I/O頻度低,只要其它虛擬頁或者其它VVOL的I/O頻度更低,則整體上修正為上述某虛擬頁或者VVOL的I/O頻度并不太低。或者,例如,即便某虛擬頁或者VVOL 的I/O頻度高,只要其它虛擬頁或者其它VVOL的I/O頻度更高,則整體上修正為上述某虛擬頁或者WOL的I/O頻度并不太高。根據(jù)相對值比較,能夠期待對應于監(jiān)視時間帶中整體的I/O狀況的最佳配置。另外,在本實施例中,作為比較對象的I/O頻度,例如能夠選擇設(shè)定是平均I/O數(shù)還是最大I/O數(shù)。根據(jù)平均I/O數(shù),能夠期待對應于監(jiān)視時間帶中整體的I/O頻度來配置數(shù)據(jù)要素。根據(jù)最大I/O數(shù),即便I/O頻度暫時增大,也能夠期待不使I/O性能下降的數(shù)據(jù)
要素配置。使比較方法是絕對值比較還是相對值比較以及使比較對象是平均I/O數(shù)還是最大I/O數(shù),例如能夠由管理者通過上述的池定義⑶I或者VVOL生成⑶I來設(shè)定。針對池的比較方法以及比較對象例如圖20所示登記在池管理表4403中,針對VVOL的比較方法以及比較對象例如圖20所示登記在VVOL管理表4404中(圖32以及圖20中,省略了圖7或者圖8中所示的欄(column),但是在實施例2中,該欄是存在的)。而且,在針對VVOL與分配給其的池的比較方法或者比較對象不同的情況下,可以與實施例1同樣地優(yōu)先針對VVOL的設(shè)定。圖33表示比較方法/比較對象的設(shè)定處理的流程。比較方法/比較對象的設(shè)定處理例如可以在池生成處理以及/或者VVOL生成處理中進行。UI控制程序413在針對某池或者某VV0L(圖33的說明中稱作“對象池或者對象 WOL”)接受到相對值比較指定的情況下(S4201 否),針對對象池或者對象VVOL在表4403 或者4404中設(shè)定比較方法為“相對值比較”(S4202)。程序413在針對對象池或者對象VVOL接受到絕對值比較指定的情況下(S4201 是),針對對象池或者對象VVOL在表4403或者4404中設(shè)定比較方法為“絕對值比較,,(S4203)。程序413在針對對象池或者對象VVOL接受到最大I/O數(shù)指定的情況下(S4204 否),針對對象池或者對象VVOL在表4403或者4404中設(shè)定比較對象為“最大I/O 數(shù)” (S4205)。程序413在針對對象池或者對象VVOL接受到平均I/O數(shù)指定的情況下(S4204 是),針對對象池或者對象VVOL在表4403或者4404中設(shè)定比較對象為“平均I/O 數(shù)” (S4206)。而且,比較方法以及/或者比較對象可以自動設(shè)定或者變更,來取代由管理者手動設(shè)定。例如,程序414或者415基于監(jiān)視表409B檢查VVOL或者池的I/O的狀況,根據(jù)所檢查到的I/O的狀況,可以將表4403以及/或者4403中已經(jīng)設(shè)定的“比較方法”以及/或者“比較對象”的值進行變更。例如,在檢測到一個VVOL中所有虛擬頁的I/O頻度(或者多個VVOL的I/O頻度)的偏差未納入在預定范圍的情況下,“比較方法”從“相對值比較” 變更為“絕對值比較”,反之,在檢測到該偏差納入在預定范圍的情況下,可以將“比較方法” 從“絕對值比較”變更為“相對值比較”。另外,例如,在檢測到I/O頻度暫時激增的情況下, “比較對象”從“平均I/O數(shù)”變更為“最大I/O數(shù)”,在檢測到I/O頻度的偏差納入在預定范圍的情況下,可以將“比較對象”從“最大I/O數(shù)”變更為“平均I/O數(shù)”。以上說明了本發(fā)明的若干個實施例,當然,本發(fā)明不限定于這些實施例,在不脫離其主旨的范圍內(nèi)能夠?qū)崿F(xiàn)各種變更。例如,至少一個PVOL可以為虛擬的PV0L,成為PVOL的根基的PDEV可依存在于其它的存儲系統(tǒng)。該情況下,寫入構(gòu)成PVOL的實際頁中的數(shù)據(jù)要素可以寫入成為該PVOL的根基的、其它的存儲系統(tǒng)內(nèi)的PDEV。另外,例如,無論是否對實際頁進行了 1/0,監(jiān)視表409可以在每次產(chǎn)生對虛擬頁的I/O時被更新。另外,例如,在頁單位的遷移處理中,針對遷移目的地實際頁的分配目的地虛擬頁或者具有該虛擬頁的WOL,可以在向遷移目的地實際頁遷移數(shù)據(jù)時不更新I/O頻度以及最終I/O時刻。遷移后,可以在根據(jù)針對該虛擬頁或者VVOL的I/O對對該虛擬頁或者分配給 VVOL的實際頁進行I/O時,更新該虛擬頁或者VVOL的I/O頻度以及最終I/O時刻。另外,例如,RVOL的種類可以取代構(gòu)成作為RVOL的根基的RG的PVEV的種類或者在其基礎(chǔ)上,基于該RG的RAID等級(RAID1、RAID5(3D+1P)等)。因此,例如,即使分別構(gòu)成第一 RG和第二 RG的PDEV的種類相同,只要第一 RG和第二 RG的RAID等級不同,基于第一 RG的第一 RVOL和基于第二 RG的第二 RVOL的種類就不同,因此,第一 RVOL和第二 RVOL 可以屬于不同的層。層的定義不限于RVOL種類,也可以從其它觀點來定義。另外,例如一個實際頁的容量可以是能夠?qū)σ粋€虛擬頁分配多個實際頁這樣的容量。該情況下,頁單位的遷移例如可以是數(shù)據(jù)要素從分配給虛擬頁的多個遷移源實際頁分別遷移到多個遷移目的地實際頁。另外,例如,例如一個實際頁的容量可以是一個實際頁能夠分配給多個虛擬頁這樣的容量。該情況下,在頁單位的遷移處理中,選擇多個虛擬頁,針對該多個虛擬頁,從一個遷移源實際頁向遷移目的地實際頁遷移數(shù)據(jù)要素。另外,池VOL可以是與外部的存儲系統(tǒng)所提供的VOL相對應的虛擬的邏輯卷。該情況下,寫入池VOL的實際頁的數(shù)據(jù)要素寫入與該池VOL對應的、外部的存儲系統(tǒng)的VOL。另外,1/0頻度的單位可以是例如IOPS(每一秒的1/0數(shù))。另外,度數(shù)分布的1/0頻度幅度可以是1( S卩,可針對每個1/0頻度計數(shù)虛擬頁數(shù))。符號說明103...存儲系統(tǒng)
權(quán)利要求
1.一種存儲系統(tǒng)的控制方法,其特征在于,管理將由多個存儲設(shè)備提供的多個存儲區(qū)域依照存儲區(qū)域的屬性進行分類后的多個存儲區(qū)域組,根據(jù)面向邏輯卷內(nèi)多個地址中所含至少一個地址的寫入請求,提供分配到所述多個存儲區(qū)域中所含至少一個存儲區(qū)域的多個所述邏輯卷,根據(jù)所述邏輯卷內(nèi)所述至少一個地址的存取狀況,將通過所述寫入請求寫到所述至少一個地址中的數(shù)據(jù)從所述多個存儲區(qū)域組的一個中所含所述至少一個存儲區(qū)域,向所述多個存儲區(qū)域組所含其它存儲區(qū)域組內(nèi)的至少一個存儲區(qū)域遷移。
2.根據(jù)權(quán)利要求1所述的存儲系統(tǒng)的控制方法,其特征在于,所述多個存儲區(qū)域組中所含第一存儲區(qū)域組和第二存儲區(qū)域組在每個環(huán)中具有與各自的組相應的所述存取狀況的程度作為屬性,所述第一和所述第二存儲區(qū)域組的所述存取狀況的程度對于每個組不同,但是一部分重復,在所述遷移處理中,在所述多個存儲區(qū)域組的一個中所含所述至少一個存儲區(qū)域包含在所述第一或者所述第二存儲區(qū)域組中并且所述至少一個地址的所述存取狀況位于所述存取狀況的程度中所述一部分重復的范圍內(nèi)的情況下,不實施所述數(shù)據(jù)的遷移。
3.一種存儲系統(tǒng),其與一臺以上的主機連接,其特征在于, 該存儲系統(tǒng)具備多種物理存儲設(shè)備群和存儲控制裝置,所述存儲控制裝置具有存儲資源和控制器,所述控制器與所述多種物理存儲設(shè)備群、 所述存儲資源以及所述主機連接,物理存儲設(shè)備群由一個以上的物理存儲設(shè)備構(gòu)成, 所述多種物理存儲設(shè)備群成為多種實際頁群的根基, 實際頁群的種類基于成為該實際頁群的根基的物理存儲設(shè)備群的屬性, 實際頁群具有多個實際頁,所述控制器向所述一臺以上的主機提供一個以上的虛擬卷, 所述虛擬卷是由多個虛擬頁構(gòu)成的虛擬邏輯卷, 所述虛擬頁是虛擬的存儲區(qū)域, 所述實際頁是實體的存儲區(qū)域,所述存儲資源存儲分配信息、監(jiān)視信息和實際頁群管理信息,其中,所述分配信息是表示對哪個虛擬頁分配了哪個實際頁的信息,所述監(jiān)視信息是表示各虛擬頁的I/Oanput/ Output)頻度的信息,所述實際頁群管理信息是包含表示對每種實際頁群設(shè)定的I/O頻度范圍信息的信息,所述控制器從所述主機接收寫入命令,根據(jù)所述寫入命令確定寫入目的地虛擬頁,更新所述分配信息,從而對所確定的虛擬頁分配自由的實際頁,在所分配的實際頁中保存寫入對象數(shù)據(jù),所述控制器根據(jù)針對虛擬頁或者分配給該虛擬頁的實際頁的1/0,更新所述監(jiān)視信息中的、該虛擬頁的I/O頻度,所述實際頁是實體的存儲區(qū)域,保存在實際頁中的數(shù)據(jù)存儲到作為該實際頁的根基的物理存儲設(shè)備,所述控制器進行遷移處理,該遷移處理是包含以下處理(A)至(C)的處理(A)確定根據(jù)所述監(jiān)視信息所確定的I/O頻度不符合預定條件的虛擬卷或者虛擬頁,(B)將保存在分配給所確定的虛擬卷或者虛擬頁的、第一種實際頁群內(nèi)第一實際頁中的數(shù)據(jù),遷移到第二種實際頁群內(nèi)的第二實際頁,(C)更新所述分配信息,從而以所述第二實際頁取代所述第一實際頁向所述第一實際頁分配目的地虛擬頁、即第一虛擬頁進行分配,所述預定條件是指納入所述第一種實際頁群的I/O頻度范圍, 所述第二種實際頁群是I/O頻度范圍納入通過所述(A)所確定的虛擬卷或者虛擬頁的 I/O頻度的實際頁群,所述控制器進行I/O頻度范圍的決定處理,在該決定處理中,所述控制器基于所述監(jiān)視信息決定各種實際頁群的I/O頻度范圍。
4.根據(jù)權(quán)利要求3所述的存儲系統(tǒng),其特征在于,所述控制器在所述決定處理中進行以下處理(a)以及(b)(a)使用所述監(jiān)視信息生成表示I/O頻度與虛擬頁數(shù)的關(guān)系的信息、即關(guān)系信息,(b)基于所述關(guān)系信息決定各種實際頁群的I/O頻度范圍。
5.根據(jù)權(quán)利要求3所述的存儲系統(tǒng),其特征在于,所述控制器在所述處理(b)中進行以下的處理(bl)至(b3) (bl)使用所述關(guān)系信息,計算從所述多種實際頁群分配到實際頁的一個以上虛擬卷內(nèi)所有虛擬頁的I/O頻度的合計、即I/O頻度合計,(b2)基于各種實際頁群的性能值的比和所述I/O頻度合計,針對實際頁群的每個邊界計算實際頁群的邊界的I/O頻度、即邊界值,(b3)基于各種實際頁群的I/O頻度和實際頁群的每個邊界的邊界值,決定各種實際頁群的I/O頻度范圍,實際頁群的所述性能值是基于作為該實際頁群的根基的物理存儲設(shè)備群的屬性決定的、與性能相關(guān)的值,所述實際頁群的邊界是指實際頁群與其上位以及/或者下位實際頁群的交界, 各種實際頁群的I/O頻度范圍的最大值以及/或者最小值是基于該實際頁群與其上位以及/或者下位實際頁群的交界的邊界值決定的值。
6.根據(jù)權(quán)利要求5所述的存儲系統(tǒng),其特征在于,實際頁群的所述性能值是通過該實際頁群中的、能夠成為所述遷移處理中的遷移目的地的實際頁的數(shù)量與該實際頁群內(nèi)每一個實際頁的性能值的乘法運算計算出的值,實際頁群內(nèi)每一個實際頁的性能值是基于作為該實際頁群的根基的物理存儲設(shè)備群的屬性決定的、與性能相關(guān)的值。
7.根據(jù)權(quán)利要求3所述的存儲系統(tǒng),其特征在于,所述I/O頻度范圍的最大值大于與該I/O頻度范圍對應的較大一方的邊界值,以及/ 或者,該I/O頻度范圍的最小值小于與該I/O頻度范圍對應的較小一方的邊界值。
8.根據(jù)權(quán)利要求3所述的存儲系統(tǒng),其特征在于, 所述控制器在所述決定處理中進行以下處理(a)使用所述監(jiān)視信息,計算從所述多種實際頁群分配到實際頁的一個以上虛擬卷內(nèi)所有虛擬頁的I/O頻度的合計、即I/O頻度合計,(b)基于各種實際頁群的性能值的比和所述I/O頻度合計,針對實際頁群的每個邊界計算實際頁群的邊界的I/O頻度、即邊界值,(c)基于各種實際頁群的I/O頻度和實際頁群的每個邊界的邊界值,決定各種實際頁群的I/O頻度范圍,實際頁群的所述性能值是基于作為該實際頁群的根基的物理存儲設(shè)備群的屬性決定的、與性能相關(guān)的值,所述實際頁群的邊界是指實際頁群與其上位以及/或者下位實際頁群的交界,各種實際頁群的I/O頻度范圍的最大值以及/或者最小值是基于該實際頁群與其上位以及/或者下位實際頁群的交界的邊界值決定的值。
9.根據(jù)權(quán)利要求3所述的存儲系統(tǒng),其特征在于,所述控制器在所述決定處理中進行以下處理(d)以及(e)(d)假定分配給I/O頻度納入實際頁群的I/O頻度范圍的所有虛擬頁的實際頁內(nèi)的數(shù)據(jù)要素被遷移到了該實際頁群中,判定該實際頁群的使用比例是否超出該實際頁群的比例閾值,(e)在所述(d)中的判斷的結(jié)果為否定性的情況下,將所決定的I/O頻度范圍包含在所述實際頁群管理信息中,實際頁群的所述使用比例是指分配給虛擬頁的實際頁的數(shù)量相對于構(gòu)成該實際頁群的實際頁的數(shù)量的比例,所述實際頁群的比例閾值是指所述使用比例的閾值。
10.根據(jù)權(quán)利要求9所述的存儲系統(tǒng),其特征在于,所述控制器在所述決定處理中還進行以下處理(f)(f)在所述(d)中的判斷的結(jié)果為肯定性的情況下,將I/O頻度范圍修正為實際頁群的使用比例不超出該實際頁群的比例閾值的大小。
11.根據(jù)權(quán)利要求10所述的存儲系統(tǒng),其特征在于,所述控制器在所述決定處理中還進行以下處理(g)(g)將修正后的I/O頻度范圍包含在所述實際頁群管理信息中。
12.根據(jù)權(quán)利要求3所述的存儲系統(tǒng),其特征在于,根據(jù)所述監(jiān)視信息所確定的、虛擬卷或者虛擬頁的I/O頻度是指該虛擬卷或者虛擬頁的、包含在所述監(jiān)視信息中的I/O頻度。
13.根據(jù)權(quán)利要求3所述的存儲系統(tǒng),其特征在于,根據(jù)所述監(jiān)視信息所確定的、虛擬卷或者虛擬頁的I/O頻度是指所述監(jiān)視信息中的、 與該虛擬卷之外其它虛擬卷的I/O頻度、或者該虛擬頁以外其它虛擬頁的I/O頻度的相對值。
14.根據(jù)權(quán)利要求3所述的存儲系統(tǒng),其特征在于,所述控制器接受使所述(A)中的I/O頻度為絕對值還是相對值的指示,在接受到使所述(A)中的I/O頻度為絕對值的指定的情況下,根據(jù)所述監(jiān)視信息所確定的、虛擬卷或者虛擬頁的I/O頻度是指該虛擬卷或者虛擬頁的、包含在所述監(jiān)視信息中的I/O頻度,在接受到使所述(A)中的I/O頻度為相對值的指定的情況下,根據(jù)所述監(jiān)視信息所確定的、虛擬卷或者虛擬頁的I/O頻度是指所述監(jiān)視信息中的、與該虛擬卷之外其它虛擬卷的I/O頻度、或者該虛擬頁以外其它虛擬頁的I/O頻度的相對值。
15.根據(jù)權(quán)利要求3所述的存儲系統(tǒng),其特征在于, 所述(A)中的I/O頻度是某時間的I/O數(shù)的平均。
全文摘要
管理將由多個存儲設(shè)備提供的多個存儲區(qū)域依照存儲區(qū)域的屬性進行分類后的多個存儲區(qū)域組。根據(jù)面向邏輯卷內(nèi)多個地址中所含至少一個地址的寫入請求,提供分配到所述多個存儲區(qū)域中所含至少一個存儲區(qū)域的多個所述邏輯卷。根據(jù)所述邏輯卷內(nèi)所述至少一個地址的存取狀況,將通過所述寫入請求寫到所述至少一個地址中的數(shù)據(jù)從所述多個存儲區(qū)域組的一個中所含所述至少一個存儲區(qū)域,向所述多個存儲區(qū)域組所含其它存儲區(qū)域組內(nèi)的至少一個存儲區(qū)域遷移。
文檔編號G06F3/06GK102483684SQ200980161169
公開日2012年5月30日 申請日期2009年12月24日 優(yōu)先權(quán)日2009年12月24日
發(fā)明者折笠大典, 松田健, 水野陽一, 江口賢哲, 里山愛, 高田豐 申請人:株式會社日立制作所