專利名稱:存儲子系統(tǒng)和存儲子系統(tǒng)的控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲子系統(tǒng)和存儲子系統(tǒng)的控制方法。
背景技術(shù):
存儲子系統(tǒng)可以向主機提供大容量且高性能的存儲服務。在存儲子系統(tǒng)中,例如陣列狀設置多個盤驅(qū)動器,構(gòu)筑基于RAID(Redundant Array ofIndependent Inexpensive Disks)的存儲區(qū)域。在各盤驅(qū)動器具有的物理存儲區(qū)域上形成作為邏輯存儲區(qū)域的邏輯卷。在邏輯卷中預先對應付與LUN(Logical Unit Number)。主機通過指定LUN或塊地址等,對存儲子系統(tǒng)發(fā)布規(guī)定形式的寫入命令或讀出命令。由此,主機可以對存儲子系統(tǒng)進行所希望的數(shù)據(jù)的讀寫。
在存儲子系統(tǒng)可以連接多個主機。在將某個主機或應用程序管理的數(shù)據(jù)群可以從其他主機或應用程序讀寫時,有時產(chǎn)生不便。因此,例如采用分區(qū)或LUN屏蔽等的訪問控制技術(shù)。所謂分區(qū),是對存儲子系統(tǒng)設定1個或多個區(qū),許可只對屬于區(qū)的特定通信端口或WWN(World Wide Name)轉(zhuǎn)發(fā)數(shù)據(jù)的技術(shù)。所謂LUN屏蔽,是對特定主機許可訪問特定LUN的技術(shù)。
但是,主機和盤驅(qū)動器間的數(shù)據(jù)交接是經(jīng)高速緩存進行的。若從主機輸出寫命令,則例如數(shù)據(jù)一次保存到高速緩存之后,寫入盤驅(qū)動器。另外,若從主機輸出讀命令,則例如從盤驅(qū)動器讀出的數(shù)據(jù)經(jīng)高速緩存提供給主機。因此,適當分配對盤驅(qū)動器的緩存分配量的技術(shù)也被公知(專利文獻1)。
專利文獻1特開平4-264940號公報。
發(fā)明內(nèi)容
利用現(xiàn)有的分區(qū)和LUN屏蔽可以設定主機對存儲子系統(tǒng)的訪問限制。但是,現(xiàn)有技術(shù)僅僅可以對邏輯卷的簡單訪問進行限制,沒有實現(xiàn)存儲子系統(tǒng)具有的資源的分割管理,所以使用不方便。在由多個用戶公共使用存儲子系統(tǒng)時,例如,若某用戶輸出大量的輸入輸出請求(IO請求),則為了處理該請求,使用高速緩存的多個區(qū)域。從而,對于來自其他用戶的輸入輸出處理不能使用充分的高速緩存,作為子系統(tǒng)整體的服務性能降低。即,為了對某用戶的服務而會影響對其他用戶的服務。
另外,上述專利文獻中,對各存儲裝置分別分配有高速緩存,但這是為了將高速緩存中存儲的數(shù)據(jù)有效寫入存儲裝置中,不是為了提供給多個用戶而進行資源(高速緩存)的分割管理。
因此,本發(fā)明的一個目的在于,提供一種可以向多個用戶分別分配高速緩存區(qū)域并公共使用,可以降低為了向某個用戶提供服務而影響其他用戶的存儲子系統(tǒng)和存儲子系統(tǒng)的控制方法。本發(fā)明的一個目的在于,提供一種可以向多個用戶靈活地分配資源,并且可以用更少的信息量為使各用戶的管理范圍相互不影響而進行管理的存儲子系統(tǒng)和存儲子系統(tǒng)的控制方法。本發(fā)明的一個目的在于,提供一種通過對應高速緩存的管理單位來構(gòu)成管理信息,可以邏輯分割并使用高速緩存資源的存儲子系統(tǒng)和存儲子系統(tǒng)的控制方法。本發(fā)明的其他目的可以從后述的實施例中變得清楚。
為了解決上述問題,本發(fā)明的存儲子系統(tǒng)具有分別控制與上位裝置的數(shù)據(jù)交接的多個通道適配器、分別提供邏輯存儲區(qū)域的多個存儲設備組、分別控制與各存儲設備組的數(shù)據(jù)交接的多個盤適配器、由各通道適配器和各盤適配器分別使用的高速緩存、邏輯分割并構(gòu)成高速緩存的多個高速緩存分區(qū)、存儲用于管理各高速緩存分區(qū)的管理信息的控制存儲器。另外,管理信息由對各高速緩存分區(qū)分別設置的分割管理信息、和適用于各高速緩存分區(qū)的整體的公共管理信息構(gòu)成。
高速緩存和控制存儲器可以采用分別安裝兩者的不同的存儲器基板,也可以采用混合裝載兩者的存儲器基板。另外,也可以將存儲器的某個區(qū)域用作高速緩存,將其他區(qū)域用作控制存儲器。高速緩存用于暫時(或長期)存儲上位裝置和存儲設備組之間交接的數(shù)據(jù)。高速緩存邏輯分割成多個高速緩存分區(qū)。各高速緩存分區(qū)由管理信息分別獨立管理。各高速緩存分區(qū)例如可以對每個通道適配器分別設置(分配)。另外,各高速緩存分區(qū)例如可以由不同的用戶使用。管理信息由分割管理信息和公共管理信息構(gòu)成。分割管理信息是對各高速緩存分區(qū)分別設置的信息。公共管理信息是適用于所有高速緩存分區(qū)的信息。通過由分割管理信息和公共管理信息構(gòu)成管理信息,可以有效使用控制存儲器的存儲資源,分別使用多個高速緩存分區(qū)。
各分割管理信息和公共管理信息可以基于高速緩存管理單位的屬性來設定。作為高速緩存管理單位例如可以舉出例如槽位和段等。1個槽位可以至少由1個或1個以上的段構(gòu)成,1個段例如具有16KB程度的數(shù)據(jù)大小。作為高速緩存管理單位的屬性例如可以舉出空閑狀態(tài)、不正常狀態(tài)、正常狀態(tài)??臻e狀態(tài)是表示高速緩存管理單位為未使用的狀態(tài)。不正常狀態(tài)是表示高速緩存管理單位中存儲的數(shù)據(jù)未寫入存儲設備的狀態(tài)。正常狀態(tài)是表示高速緩存管理單位中存儲的數(shù)據(jù)已寫入存儲設備的狀態(tài)。存在根據(jù)高速緩存管理單位的屬性,希望在各高速緩存分區(qū)設置各管理信息的情況。相反,還有根據(jù)高速緩存管理單位的屬性,可以適用于所有高速緩存分區(qū)的管理信息。
例如,管理信息由多種子管理信息構(gòu)成時,可以在各高速緩存分區(qū)分別分割設置部分子管理信息,將剩余的子管理信息適用于所有高速緩存分區(qū)。在此,將子管理信息中的哪些用作分割管理信息和將哪些用作公共管理信息是基于高速緩存管理單位的屬性確定的。
例如,管理信息可以構(gòu)成為包括多種隊列、與這些各隊列分別相關(guān)的計數(shù)器。在此,基于高速緩存管理單位的屬性,可以通過在各高速緩存分區(qū)分別設置各隊列和各計數(shù)器的一部分來構(gòu)成各分割管理信息。于是,可以將各隊列的剩余部分和各計數(shù)器的剩余部分用作公共管理信息?!盎诟咚倬彺婀芾韱挝坏膶傩浴币部梢哉f成“基于隊列(以及計數(shù)器)的屬性”。
在此,還可以是相互相關(guān)的隊列和計數(shù)器中的一方構(gòu)成分割管理信息,另一方用作公共管理信息。即,相互相關(guān)的隊列和計數(shù)器中,可以只分割計數(shù)器并分別分配給各高速緩存分區(qū)。
另外,可以在各隊列分別相關(guān)聯(lián)隊列管理表。接著,與構(gòu)成分割管理信息的隊列相關(guān)的隊列管理表可以分別設置在各高速緩存分區(qū)。即,隊列和隊列管理表是一直被一體使用,在隊列分別設置在各高速緩存分區(qū)的情況下,隊列管理表也是分別設置在各高速緩存分區(qū)。
管理信息構(gòu)成為可以包括連接有未使用狀態(tài)的高速緩存管理單位的空閑隊列以及與該空閑隊列相關(guān)的空閑隊列計數(shù)器、連接有存儲反映到存儲設備組之前的不正常(dirty)狀態(tài)的數(shù)據(jù)的高速緩存管理單位的不正常隊列以及與該不正常隊列相關(guān)的不正常隊列計數(shù)器、連接有存儲反映到存儲設備組之后的正常(clean)狀態(tài)的數(shù)據(jù)的高速緩存管理單位的正常隊列以及與該正常隊列相關(guān)的正常隊列計數(shù)器、和計數(shù)使用中的高速緩存管理單位的總量的使用中計數(shù)器。另外,空閑隊列計數(shù)器、正常隊列、正常隊列計數(shù)器以及使用中計數(shù)器作為分割管理信息可以分別設置在各高速緩存分區(qū)。另外,空閑隊列、不正常隊列以及不正常隊列計數(shù)器可以用作公共管理信息。
通過將各高速緩存分區(qū)中的1個高速緩存分區(qū)設定為公共區(qū)域并分配屬于該公共區(qū)域的資源,也可以設定新的高速緩存分區(qū)。例如,在初始狀態(tài),將所有高速緩存區(qū)域用作公共區(qū)域。接著,在新生成高速緩存分區(qū)的情況下,從公共區(qū)域截取部分高速緩存區(qū)域并分配給新的高速緩存分區(qū)。另外,在刪除高速緩存分區(qū)時,將分配給該高速緩存分區(qū)的高速緩存區(qū)域返回到公共區(qū)域即可。
圖1是表示本發(fā)明的實施例的存儲子系統(tǒng)的外觀圖。
圖2是表示存儲子系統(tǒng)的邏輯概要結(jié)構(gòu)的框圖。
圖3是存儲子系統(tǒng)的更具體的框圖。
圖4是表示對各CLPR分配的高速緩存區(qū)域和VDEV的關(guān)系的說明圖。
圖5是表示具有階段結(jié)構(gòu)的高速緩存管理方法的說明圖。
圖6是SLCB表的狀態(tài)轉(zhuǎn)移圖。
圖7是表示隊列、計數(shù)器以及隊列管理表的關(guān)系的說明圖。
圖8是表示SLCB表的概要結(jié)構(gòu)的說明圖。
圖9是表示高速緩存區(qū)域、各隊列以及計數(shù)器的關(guān)系的說明圖。
圖10是表示分配CLPR的管理信息的情況的模式圖。
圖11是表示利用VDEV鎖定和隊列鎖定可以移動數(shù)據(jù)的情況的說明圖。
圖12是表示從CLPR0向CLPR1移動VDEV的情況的說明圖。
圖13是表示移動VDEV時的處理的流程圖。
圖14是變更對CLPR的高速緩存分配時的流程圖。
圖15是表示空閑段的收集處理的流程圖。
圖16是從用作庫區(qū)域的CLPR0截取緩存區(qū)域,設定新的CLPR的情況的說明圖。
圖17是表示定義CLPR時的處理的流程圖。
圖18是表示在子管理終端顯示有關(guān)各CLPR的信息的情況的說明圖。
具體實施例方式
下面,根據(jù)圖1~圖18說明本發(fā)明的實施例。本實施例公開了一種具有對與上位裝置的數(shù)據(jù)交接分別進行控制的多個上位接口控制單元、分別提供邏輯存儲區(qū)域的多個存儲設備組、對與各存儲設備組的數(shù)據(jù)交接分別進行控制的多個下位接口控制單元、通過各上位接口控制單元和各下位接口控制單元分別使用的存儲器的存儲子系統(tǒng)。另外,本實施例中,將存儲器提供的高速緩存區(qū)域分割給多個高速緩存分區(qū)。另外,本實施例中,根據(jù)用于在存儲器管理數(shù)據(jù)的高速緩存管理單位的屬性,將管理信息分別分割給各高速緩存分區(qū),基于各管理信息,按各高速緩存分區(qū)分別管理數(shù)據(jù)。
實施例1圖1是表示存儲子系統(tǒng)10的外觀結(jié)構(gòu)的概要斜視圖。存儲子系統(tǒng)10例如可以由基本殼體11和多個增設殼體12構(gòu)成?;練んw11是存儲子系統(tǒng)10的最小結(jié)構(gòu)單位,具有存儲功能和控制功能的雙方。增設殼體12是存儲子系統(tǒng)10的選項,由基本殼體11具有的控制功能控制。例如,可以將最多4個增設殼體12連接到基本殼體11。
在基本殼體11分別可拆卸地設置有多個控制組件13、多個電源單元14、多個電池單元15和多個盤驅(qū)動器80。在增設殼體12可拆卸地設置有多個盤驅(qū)動器80、多個電源單元14和多個電池單元15。另外,在基本殼體11和各增設殼體12分別設置有多個冷卻風扇16。
控制組件13是用于分別實現(xiàn)后述的通道適配器20、盤適配器30以及高速緩存40等的模塊。即,在基本殼體11分別可拆卸地設置有多個通道適配器組件、多個盤適配器組件和1個或1個以上的存儲器組件,能以組件單位進行交換。
圖2是概要表示包含存儲子系統(tǒng)10的整個存儲系統(tǒng)的框圖。存儲子系統(tǒng)10經(jīng)通信網(wǎng)CN1可進行雙向通信地分別與多個主機1A~1C(以下,在不特別進行區(qū)別時,稱為“主機1”)連接。在此,通信網(wǎng)CN1例如是LAN(LocalArea Network)、SAN(Storage Area Network)、因特網(wǎng)或?qū)S镁€路等。在使用LAN時,主機1和存儲子系統(tǒng)10之間的數(shù)據(jù)轉(zhuǎn)發(fā)按照TCP/IP(TransmissionControl Protocol/Internet Protocol)協(xié)議進行。在使用SAN時,主機1和存儲子系統(tǒng)10之間按照光纖通道協(xié)議進行數(shù)據(jù)轉(zhuǎn)發(fā)。另外,在主機1是大型計算機時,例如按照FICON(Fiber Connection注冊商標)、ESCON(EnterpriseSystem Connection注冊商標)、ACONARC(Advanced ConnectionArchitecture注冊商標)、FIBARC(Fiber Connection Architecture注冊商標)等通信協(xié)議進行數(shù)據(jù)轉(zhuǎn)發(fā)。
各主機1例如以服務器、個人計算機、工作站、大型計算機等來實現(xiàn)。例如,各主機1與位于圖外的多個客戶機終端經(jīng)其他通信網(wǎng)連接。各主機1通過例如根據(jù)來自各客戶機終端的請求來對存儲子系統(tǒng)10進行數(shù)據(jù)讀寫,向各客戶機終端提供服務。圖中,只示出了1個,但在存儲子系統(tǒng)10內(nèi)可以設定多個虛擬殼體(SLPRStorage Logical Partition)。
SLPR是通過將存儲子系統(tǒng)10內(nèi)的各種物理資源和邏輯資源按各用戶(或按各應用程序)進行分割并分配而構(gòu)成的區(qū)域。即,例如在SLPR具有各專用的通道適配器20、各專用的高速緩存區(qū)域40、各專用的虛擬邏輯設備(VDEV)70等。即,SLPR如虛擬的小型存儲子系統(tǒng)那樣工作。
在SLPR可以設置至少1個以上的高速緩存分區(qū)(CLPRCache LogicalPartition)。圖2中,在左側(cè)只示出1個SLPR,但可以設置多個SLPR。另外,在1個SLPR內(nèi)可以設定1個或多個CLPR。
CLPR是將高速緩存40邏輯分割成多個區(qū)域。CLPR可以對各通道適配器20分別設定。例如在安裝n個通道適配器20時,可以設定n個CLPR。例如,可以設定為n=32,但本發(fā)明不限于此。各CLPR0~CLPRn是分別獨立使用的,各主機1可以獨占地僅使用其可利用的CLPR。于是,構(gòu)成為從對某個CLPR的主機1來的操作盡量不影響其他CLPR。即,構(gòu)成為即使在來自主機1的訪問集中的情況下,也只用該主機1可利用的CLPR確保必要的高速緩存容量,不會搶奪其他CLPR的資源(高速緩存區(qū)域)。
另外,圖中右側(cè)所示的CLPR0是沒有定義SLPR的公共區(qū)域,在該公共區(qū)域CLPR0存儲有整個存儲子系統(tǒng)10使用的各種信息。另外,如后所述,在初始狀態(tài),高速緩存40的整個區(qū)域分配給公共區(qū)域CLPR0。然后,通過從公共區(qū)域CLPR0截取規(guī)定量的高速緩存區(qū)域,設定新的CLPR。
圖2所示的例子中,主機1A只可以訪問公共區(qū)域CLPR0并進行數(shù)據(jù)的輸入輸出。主機1B只可以訪問公共區(qū)域CLPR1,主機1C只可以訪問公共區(qū)域CLPR2,主機1N只可以訪問公共區(qū)域CLPRn,不能利用或參考其他CLPR。
SVP(Service Processor)90是用于管理和監(jiān)視存儲子系統(tǒng)10的計算機裝置,提供管理用的服務器功能。SVP90例如經(jīng)存儲子系統(tǒng)10內(nèi)設置的LAN等內(nèi)部網(wǎng)CN3(參考圖3),從各通道適配器20和各盤適配器30等收集各種環(huán)境信息和性能信息等。作為SVP90收集的信息例如可以舉出裝置結(jié)構(gòu)、電源告警、溫度告警、輸入輸出速度(IOPS)等。SVP90和各管理終端2A~2N、3例如經(jīng)LAN等的通信網(wǎng)CN2連接。管理者通過經(jīng)管理終端登錄SVP90,在權(quán)限范圍內(nèi)可以進行例如RAID結(jié)構(gòu)的設定、各種組件(通道適配器組件、盤適配器組件、存儲器組件、盤驅(qū)動器等)的停止運轉(zhuǎn)處理和各種設定變更等。
SVP90可以連接多個管理終端2A~2N、3。在此,管理終端2A~2N是按各SLPR設置的終端,管理終端3是為了管理整個存儲子系統(tǒng)10而設置的終端。在以下說明中以對1個SLPR設置1個CLPR的情況為例進行說明。因此,管理終端2A~2N是由分別管理各CLPR的管理者(以下,稱為分割管理者)分別操作的子終端。管理終端3是由管理整個存儲子系統(tǒng)10的系統(tǒng)管理者(或還可以稱為全體管理者)操作的全體終端。
各子終端2A~2N的分割管理者只可以對自己有管理權(quán)限的CLPR進行各種設定變更等,不允許參照或變更其他CLPR的結(jié)構(gòu)等。與此不同,系統(tǒng)管理者可以對包含各CLPR的整個存儲子系統(tǒng)10進行各種設定變更等。
系統(tǒng)管理者通過經(jīng)全體終端3登錄SVP90,適當分割存儲子系統(tǒng)10具有的物理資源和邏輯資源,可以對各用戶設定SLPR(CLPR)。另外,系統(tǒng)管理者還可以對各分割管理者發(fā)行用戶ID等。分割管理者采用系統(tǒng)管理者發(fā)行的專用的用戶ID可以登錄SVP90。分割管理者通過操作子終端2,可以變更自己管理下的CLPR內(nèi)的設定。
圖3是著眼于存儲子系統(tǒng)10的邏輯結(jié)構(gòu)的框圖。存儲子系統(tǒng)10具有多個通道適配器(以下,CHA)20、多個盤適配器(以下,DKA)30、至少1個以上的高速緩存40、公共存儲器50、開關(guān)單元60、多個虛擬邏輯設備(VDEV)70、多個盤驅(qū)動器80、SVP90。
各CHA20控制與各主機1間的數(shù)據(jù)轉(zhuǎn)發(fā),具有通信端口21。在存儲子系統(tǒng)10可以設置例如32個CHA20。CHA20如例如開放系統(tǒng)用CHA、大型計算機系統(tǒng)用CHA等,根據(jù)主機1的種類來準備。
各CHA20從分別連接的主機1接收請求讀寫數(shù)據(jù)的命令和數(shù)據(jù),按照從主機1接收到的命令工作。如果還包含DKA30的動作首先進行說明,則例如CHA20一從主機1接收數(shù)據(jù)的讀出請求,就將讀出命令存儲到公共存儲器50。DKA30隨時參照公共存儲器50,若發(fā)現(xiàn)未處理的讀出命令,則從盤驅(qū)動器80讀出數(shù)據(jù),并存儲到高速緩存40。CHA20將移到高速緩存40的數(shù)據(jù)讀出,發(fā)送給命令發(fā)行源的主機1。
CHA20一從主機1接收數(shù)據(jù)的寫入請求,就將寫入命令存儲到公共存儲器50。另外,CHA20將接收到的數(shù)據(jù)(用戶數(shù)據(jù))存儲到高速緩存40。在此,由于被主機1請求寫入的數(shù)據(jù)沒有寫入盤驅(qū)動80(非正常數(shù)據(jù)),所以例如分別存儲到多處而多重化。
CHA20在高速緩存40存儲了數(shù)據(jù)之后,向主機1報告寫入結(jié)束。接著,DKA30按照存儲在公共存儲器50中的寫入命令,讀出高速緩存40中存儲的數(shù)據(jù),并存儲到規(guī)定的盤驅(qū)動器80。寫入盤驅(qū)動器80的數(shù)據(jù)的屬性從“非正常數(shù)據(jù)”變化為“正常數(shù)據(jù)”,從高速緩存40的多重管理釋放。另外,本說明書中,“非正常數(shù)據(jù)”意味著沒有寫入盤驅(qū)動器80的狀態(tài)的數(shù)據(jù)。另外,“正常數(shù)據(jù)”意味著已寫入盤驅(qū)動器80的數(shù)據(jù)。
各DKA30在存儲子系統(tǒng)10內(nèi)可以設置多個,例如4個或8個。各DKA30控制與各盤驅(qū)動器80之間的數(shù)據(jù)通信。各DKA30和各盤驅(qū)動器80例如經(jīng)SAN等通信網(wǎng)CN4連接,按照光纖通道協(xié)議以塊單位進行數(shù)據(jù)轉(zhuǎn)發(fā)。各DKA30隨時監(jiān)視盤驅(qū)動器80的狀態(tài),該監(jiān)視結(jié)果經(jīng)內(nèi)部網(wǎng)CN3發(fā)送給SVP90。各CHA20和各DKA30分別具有例如安裝有處理器和存儲器等的印刷電路板、和存儲到存儲器的控制程序(都沒有圖示),利用這些硬件和軟件的協(xié)作工作,分別實現(xiàn)規(guī)定功能。
高速緩存40例如存儲用戶數(shù)據(jù)等。高速緩存40例如由非易失性存儲器構(gòu)成。高速緩存40可以由多個存儲器構(gòu)成,可以多重管理非正常數(shù)據(jù)。本實施例中,通過將高速緩存40具有的整個高速緩存區(qū)域分割為多個,設定各CLPR0~n。
公共存儲器(或控制存儲器)50例如由非易失性存儲器構(gòu)成。在公共存儲器50例如存儲有控制信息和管理信息等。這些控制信息等信息可以由多個公共存儲器50多重管理。公共存儲器50和高速緩存40可以分別設置多個。另外,還可以在同一存儲器基板混合安裝高速緩存40和公共存儲器50?;蛘撸鳛楦咚倬彺鎱^(qū)域使用部分存儲器,作為控制區(qū)域使用其他部分。
開關(guān)單元60分別連接各CHA20、各DKA30、高速緩存40、公共存儲器50。由此,所有CHA20、DKA30可以分別訪問高速緩存40和公共存儲器50。開關(guān)單元60例如可以構(gòu)成為超高速縱橫開關(guān)等。
存儲子系統(tǒng)10可以安裝多個盤驅(qū)動器80。各盤驅(qū)動器80例如可以用硬盤驅(qū)動器(HDD)或半導體存儲器裝置等來實現(xiàn)。盤驅(qū)動器80是物理存儲設備(PDEV)。另外,根據(jù)RAID結(jié)構(gòu)等也不同,例如在4個1組的盤驅(qū)動器80提供的物理存儲區(qū)域上構(gòu)筑虛擬的邏輯設備(VDEV)70。另外,在VDEV70上還可以設定虛擬邏輯設備。另外,由存儲子系統(tǒng)10使用的存儲資源不需要都設置在存儲子系統(tǒng)10內(nèi),還可以利用在存儲子系統(tǒng)10的外部存在的存儲資源。例如,通過將外部的其他公司制造的存儲子系統(tǒng)10具有的存儲設備分配給特定VDEV70,管理對其他公司制造的存儲設備的訪問通路等,可以將其他公司的存儲設備像自己的存儲設備那樣使用。
圖4是模式表示各CLPR分割并利用資源的情況的說明圖。圖中示出利用公共區(qū)域CLPR0和2個專用CLPR1、2,分割并使用高速緩存40的情況。在各CLPR分別分配有高速緩存區(qū)域。各CLPR分別可使用的高速緩存區(qū)域的最大值(最大分配量)由系統(tǒng)管理者設定。在分別分配給各CLPR的高速緩存區(qū)域存儲有由利用各CLPR的主機1使用的數(shù)據(jù)(寫數(shù)據(jù)、讀數(shù)據(jù))。圖4中,對存儲有數(shù)據(jù)的區(qū)域標上斜線,記為“使用中”。各CLPR可以最多使用分別可用的最大分配量的高速緩存區(qū)域,不能使用其他CLPR的高速緩存區(qū)域。
另外,各CLPR不僅管理各高速緩存區(qū)域,還管理其他高速緩存相關(guān)數(shù)據(jù)。作為高速緩存相關(guān)數(shù)據(jù)例如可以舉出DCR(F1)、側(cè)文件F2、和PCR(F3)。
DCR(Dynamic Cache Residency)100是高速緩存固定化功能,是將VDEV70的特定區(qū)域存在的數(shù)據(jù)固定到高速緩存區(qū)域。由此,可以提高對重要的數(shù)據(jù)組的訪問性能。
側(cè)文件F2是存儲用于將數(shù)據(jù)向圖外的遠程地點轉(zhuǎn)發(fā)并復制的數(shù)據(jù)的文件。例如,在側(cè)文件F2存儲有規(guī)定量以上的遠程復制對象的數(shù)據(jù)時,經(jīng)通信網(wǎng),向在距離上分離的場所的其他存儲子系統(tǒng)轉(zhuǎn)發(fā)數(shù)據(jù)并保持。遠程復制的初始復制中,將指定的數(shù)據(jù)組全部復制到遠程地點,之后更新的數(shù)據(jù)作為差分文件進行遠程復制。
PCR(Partical Cache Residence)102是在存儲子系統(tǒng)10設置NAS(NetworkAttached Storage)功能時使用的,是按數(shù)據(jù)種類固定到高速緩存區(qū)域的功能。DCR(F1)是固定特定存儲空間中存在的數(shù)據(jù)的,PCR(F3)是固定特定種類的數(shù)據(jù)的。另外,這些高速緩存相關(guān)數(shù)據(jù)DCR(F1)、側(cè)文件F2以及PCR(F3)分別只設置在需要它的CLPR。即,在沒有設定固定化功能的CLPR沒有存儲有關(guān)高速緩存固定化的數(shù)據(jù)。同樣,在沒有設定遠程復制的CLPR沒有存儲側(cè)文件F2。
另外,如圖4所示,在各CLPR分別分配有至少1個以上的VDEV70。寫入各CLPR的高速緩存區(qū)域的數(shù)據(jù)寫入到分別分配的VDEV70的規(guī)定區(qū)域。另外,從VDEV70讀出的數(shù)據(jù)保持在對應的CLPR的高速緩存區(qū)域。
圖5是表示用于管理存儲在高速緩存區(qū)域的數(shù)據(jù)的方法的說明圖。在存儲子系統(tǒng)10,為了有效檢索高速緩存40中存儲的數(shù)據(jù),以如下的層次結(jié)構(gòu)進行管理。
首先,一有來自主機1的數(shù)據(jù)輸入輸出請求,就基于該輸入輸出請求中包含的LBA(Logical Block Address)求出VDEVSLOT號(VDEVSLOT#)。接著,基于VDEVSLOT號,通過參照VDSLOT-PAGE表T1,取得對下一層次的指針。在VDSLOT-PAGE表T1包含有對PAGE-DIR表T2的指針。在PAGE-DIR表T2包含對PAGE-GRPP表T3的指針。另外,在PAGE-GRPP表T3包含對GRPT1表T4的指針。在GRPT1表T4包含對GRPT2表T5的指針。在GRPT2表T5包含對SLCB(槽位控制表)T6的指針。
像這樣,基于LBA,通過依序參照各表T1~T5,到達SLCB表T6。在SLCB表T6關(guān)聯(lián)有至少1個以上的SGCB(段控制塊)表T7。SGCB表7存儲與作為高速緩存管理的最小單位的段有關(guān)的控制信息。在1個槽位可以相關(guān)聯(lián)1~4個段。在1個段例如可以存儲48KB或64KB的數(shù)據(jù)。
高速緩存管理的最小單位是段,但非正常數(shù)據(jù)(寫入物理盤之前的狀態(tài))和正常數(shù)據(jù)(寫入物理盤之后的狀態(tài))的各狀態(tài)之間的轉(zhuǎn)移是以槽位單位進行的。另外,高速緩存區(qū)域的確保(保留)和釋放(解放)也是以槽位單位或段單位進行的。
如圖8所示,在SLCB表T6可以包含后方指針、前方指針、隊列狀態(tài)、VDSLOT#、槽位狀態(tài)、CLPR信息、至少1個以上的SGCB指針。隊列狀態(tài)包含與該SLCB表T6相關(guān)的隊列種類和隊列號。槽位狀態(tài)包含與該SLCB表T6對應的槽位狀態(tài)。CLPR信息包含與該SLCB表T6所屬的CLPR相關(guān)的信息(CLPR號等)。SGCN指針包含用于指定與該SLCB表T6相關(guān)的SGCB表T7的指針。
另外,SLCB表T6和SGCB表T7例如為了避免發(fā)生指針變更等的競爭而失去匹配性,以VDEV70單位進行排斥控制。即,對于SLCB表T6或SGCB表T7所屬的VDEV70,僅在取得了鎖定的情況下,可以操作SLCB表T6或SGCB表T7。本說明書中,將該VDEV單位的排斥控制稱為“VDEV鎖定”。VDEV鎖定還可以稱為邏輯卷單位的排斥控制。
圖6是表示SLCB表T6的狀態(tài)轉(zhuǎn)移的說明圖。SLCB表T6例如可以取未使用狀態(tài)ST1、設備反映完狀態(tài)ST2、奇偶性無&設備反映前狀態(tài)ST3、奇偶性生成中狀態(tài)ST4以及奇偶性有&驅(qū)動器反映前狀態(tài)ST5的5個狀態(tài)。
未使用狀態(tài)ST1是表示該槽位為未使用的狀態(tài)。處于未使用狀態(tài)的槽位(SLCB)由空閑SGCB隊列(以下,簡記為空閑隊列)管理。設備反映完狀態(tài)ST2是表示該槽位中存儲的數(shù)據(jù)已經(jīng)寫入到物理設備(盤驅(qū)動器80)的狀態(tài)。處于設備反映完狀態(tài)ST2的槽位由正常隊列管理。
奇偶性無&設備反映前狀態(tài)ST3是表示例如如RAID5等那樣需要奇偶性數(shù)據(jù)時,對該槽位中存儲的數(shù)據(jù)還沒有生成奇偶性數(shù)據(jù)的狀態(tài)。處于奇偶性無&設備反映前狀態(tài)ST3的槽位由中間非正常隊列管理。奇偶性生成中狀態(tài)ST4是表示對該槽位中存儲的數(shù)據(jù)正在生成奇偶性數(shù)據(jù)。處于奇偶性生成中狀態(tài)ST4的槽位由主非正常隊列管理。
奇偶性有&驅(qū)動器反映前狀態(tài)ST5是表示對于存儲在該槽位的數(shù)據(jù)生成奇偶性數(shù)據(jù),但還沒有寫入物理設備的狀態(tài)。處于奇偶性有&驅(qū)動器反映前狀態(tài)ST5的槽位由物理非正常隊列(以下,簡記為非正常隊列)管理。
在有來自主機1的寫訪問時,狀態(tài)從ST1經(jīng)ST2轉(zhuǎn)移到ST3,開始生成奇偶性數(shù)據(jù)。接著,若對請求寫入的數(shù)據(jù)生成奇偶性數(shù)據(jù),則狀態(tài)從ST3經(jīng)ST4變換為ST5。在從主機1向CLPR的高速緩存區(qū)域的1個或多個槽位寫入了數(shù)據(jù)的時刻,向主機1發(fā)送寫入結(jié)束報告。在該時刻,由于請求了寫入的數(shù)據(jù)僅在高速緩存區(qū)域上存在,所以成為非正常狀態(tài)(ST5)。
接著,若處于非正常狀態(tài)的槽位的數(shù)據(jù)寫入規(guī)定的物理設備(去標記),則該槽位從非正常狀態(tài)變化為正常狀態(tài)(ST5→ST2)。由于處于正常狀態(tài)的數(shù)據(jù)寫入物理設備,所以也可以根據(jù)需要從高速緩存區(qū)域刪除。若從高速緩存上刪除處于正常狀態(tài)的槽位中存儲的數(shù)據(jù),則該槽位從正常狀態(tài)返回到未使用狀態(tài)(ST2→ST1)。
在有來自主機1的讀訪問時,通過依次執(zhí)行與圖5一起所述的各層次表T1~T6,指定請求的數(shù)據(jù)。接著,將主機1請求的數(shù)據(jù)從物理設備讀出,存儲到高速緩存區(qū)域的1個或多個槽位。存儲從物理設備讀出的數(shù)據(jù)的槽位具有正常狀態(tài)。
圖7是表示隊列結(jié)構(gòu)的說明圖。隊列100構(gòu)成為在單方向或雙向連接處于同一狀態(tài)的SLCB表T6的等待行列。若SLCB表T6的狀態(tài)變化,則基于例如如FIFO(First-In First-out先入先出)和LRU(Least Recently Used最長未使用時間)等的預先設定的算法,變化隊列100的結(jié)構(gòu)。
為了防止對SLCB表T6的操作相競爭而失去匹配性,對各隊列100進行排斥控制。即,只有在取得了操作對象的隊列鎖定的情況下,可以對該隊列進行操作。本說明書中,將該隊列單位的排斥控制稱為“隊列鎖定”。從而,在上述的VDEV鎖定和隊列鎖定的2層次的排斥控制下,可以操作SLCB表T6。即,只有在取得了2個鎖定,即要操作的SLCB表T6所屬的VDEV70鎖定和該SLCB表T6連接的隊列鎖定的情況下,可以變更該SLCB表T6的內(nèi)容。
像這樣,由于排斥控制對隊列100的操作,所以考慮取得鎖定時的總開銷,設置多個同一種類的隊列。正常隊列、非正常隊列、空閑隊列等分別由多個隊列構(gòu)成。
在構(gòu)成隊列集的各隊列分別關(guān)聯(lián)有計數(shù)器200。計數(shù)器200管理屬于該隊列的SLCB表T6和SGCB表T7的個數(shù)?;谟嫈?shù)器200管理的SLCB數(shù)等,可以進行后述的過負荷控制等。
另外,在構(gòu)成隊列集的各隊列100還關(guān)聯(lián)有隊列管理表300。隊列管理表300管理隊列100的結(jié)構(gòu)等。隊列100、計數(shù)器200以及隊列管理表300分別存儲在公共存儲器50。
圖9是模式表示各CLPR的高速緩存區(qū)域的使用狀態(tài)和各隊列的關(guān)系的說明圖。各CLPR的高速緩存區(qū)域可以根據(jù)其使用狀態(tài)分為“使用中區(qū)域”和“未使用區(qū)域”。使用中區(qū)域是表示存儲有數(shù)據(jù)的槽位群(段群)。未使用區(qū)域表示空的槽位群(段群)。
將使用的段的總數(shù)與1個段的數(shù)據(jù)大小相乘的結(jié)果成為該CLPR的使用中區(qū)域的大小。在正在使用的段中包含有處于正常狀態(tài)的段和處于非正常狀態(tài)的段。從而,分配給該CLPR的高速緩存區(qū)域中的當前正在使用的區(qū)域的大小可以用(正常狀態(tài)的段數(shù)+非正常狀態(tài)的段數(shù))表示。未使用區(qū)域的大小可以用處于空閑狀態(tài)的段數(shù)表示。
空閑隊列101管理處于空閑狀態(tài)(未使用狀態(tài))的SLCB表T6。連接到空閑隊列101的SLCB表T6(以及SGCB表T7)的個數(shù)由與空閑隊列101相關(guān)聯(lián)的空閑計數(shù)器201掌握??臻e隊列101的控制單位是VDEV,隊列鎖定的單位也是VDEV單位。另外,例如按照FIFO使用空閑隊列101。例如設置VDEV70的安裝個數(shù)的2倍的空閑隊列101。從而,若可安裝的VDEV70的最大數(shù)為512,則空閑隊列101的總數(shù)成為1024。
正常隊列102管理處于正常狀態(tài)的SLCB表T6。連接到正常隊列102的SLCB表T6(以及SGCB表T7)的個數(shù)由與正常隊列102相關(guān)聯(lián)的正常計數(shù)器202掌握。正常隊列102的控制單位為VDEV,隊列鎖定的單位也是VDEV單位。例如按照LRU使用正常隊列102。例如設置VDEV70的安裝數(shù)的4倍的凈化隊列102(512×4=2048)。
非正常隊列103管理處于非正常狀態(tài)的SLCB表T6。連接到非正常隊列103的SLCB表T6(以及SGCB表T7)的個數(shù)由與非正常隊列103相關(guān)聯(lián)的非正常計數(shù)器203掌握。非正常隊列103的控制單位為物理驅(qū)動器。例如設置盤驅(qū)動器80的安裝數(shù)的32倍的非正常隊列103。在安裝2048個盤驅(qū)動器80時,可以設置65536個非正常隊列103。非正常隊列103用于管理寫入物理設備之前的數(shù)據(jù)(段)。從而,物理設備(盤驅(qū)動器80)比邏輯設備(VDEV70)關(guān)聯(lián)更深。因此,非正常隊列103依賴于物理設備的個數(shù)設定。
使用中計數(shù)器206計數(shù)各CLPR的使用中的段數(shù)(非正常狀態(tài)的段數(shù)+正常狀態(tài)的段數(shù))。
圖10是表示各CLPR、各隊列以及計數(shù)器等的關(guān)系的說明圖。上述的各隊列、計數(shù)器以及管理表構(gòu)成用于管理高速緩存管理單位(段或槽位)的管理信息。本實施例中,根據(jù)段或槽位的性質(zhì)(狀態(tài)),區(qū)別為在各CLPR分別設置的管理信息(分割管理信息)和適用于所有CLPR的公共管理信息。
如圖10所示,在各CLPR分別設置有正常隊列102、正常計數(shù)器(正確是正常隊列計數(shù)器)202、空閑隊列計數(shù)器201、分類隊列計數(shù)器204、使用中計數(shù)器206、BIND隊列計數(shù)器205。另外,省略圖示,但在各CLPR還分別設置用于管理正常隊列102的結(jié)構(gòu)的正常隊列管理表。如上所述,在各CLPR分別設置的管理用的信息構(gòu)成分割管理信息。
與此不同,空閑隊列101、非正常隊列103、非正常計數(shù)器(正確是非正常隊列計數(shù)器)203、分類隊列104、BIND隊列105、用于管理這些各隊列101、103~105的隊列管理表301構(gòu)成公共適用于所有CLPR的公共管理信息。
分類隊列104是用于管理根據(jù)PCR功能固定到高速緩存區(qū)域的數(shù)據(jù)的隊列。分類隊列計數(shù)器204計數(shù)由PCR固定的段數(shù)。
BIND隊列105是用于管理根據(jù)DCR功能固定到高速緩存區(qū)域的數(shù)據(jù)的隊列。BIND隊列計數(shù)器205計數(shù)由DCR固定的段數(shù)(或槽位數(shù))。
通過分別設置用于管理存儲固定的數(shù)據(jù)段的分類隊列104以及BIND隊列105,在各CLPR內(nèi),可以防止存儲應固定的數(shù)據(jù)的段變更為空閑狀態(tài)。
下面,說明構(gòu)成管理信息的各子管理信息(隊列、計數(shù)器、隊列管理表)中,將哪些按各CLPR分別設置,將哪些適用于所有CLPR的理由。
正常隊列102、正常計數(shù)器202以及正常隊列管理表分別按各CLPR設置。若空閑狀態(tài)的段耗盡,則正常狀態(tài)的槽位被釋放并變成空閑槽位。從而,正常隊列102是使用頻率最高的隊列。假使,在所有CLPR使用1組正常隊列的場合,若在某個CLPR產(chǎn)生空閑段耗盡,則在其他CLPR中會有存儲被利用的數(shù)據(jù)的正常狀態(tài)的槽位被釋放的可能性。即,一方的CLPR中的高速緩存利用狀態(tài)影響另一方的CLPR中的高速緩存利用狀態(tài)。因此,本實施例中,可以對各CLPR分別設置正常隊列102、正常計數(shù)器202。另外,隊列管理表與隊列一體采用。從而,在各CLPR分別設置正常隊列102時,正常隊列管理表也分別設置在各CLPR。
使用中計數(shù)器206在各CLPR分別設置。使用中計數(shù)器206計數(shù)相加了正常狀態(tài)的段數(shù)和非正常狀態(tài)的段數(shù)的值。從而,從使用中計數(shù)器206的計數(shù)值減去正常計數(shù)器202的計數(shù)值而所得的值成為該CLPR中的非正常狀態(tài)的段數(shù)。從而,若在各CLPR分別設置正常計數(shù)器202和使用中計數(shù)器206,則不需要在各CLPR分別設置非正常計數(shù)器203。
非正常隊列103是與物理設備相關(guān)聯(lián)的隊列,控制單位也成為物理設備單位。從而,假使,在各CLPR分別設置非正常隊列103的場合,用于存儲非正常隊列管理表的存儲容量增大,壓迫公共存儲器50的存儲區(qū)域。例如,1個隊列所需的信息量是隊列管理表為16字節(jié),計數(shù)器為4字節(jié)。由于隊列分割意味著隊列管理表的分割,所以公共存儲器50的多個存儲區(qū)域耗費于存儲分割管理信息。因此,本實施例中,為了有效使用公共存儲器50的存儲資源,非正常隊列103和非正常計數(shù)器203不設置在各CLPR,而適用于所有CLPR。
另外,從有效利用公共存儲器50的存儲資源的觀點,空閑隊列101也不是分別設置在各CLPR,在各CLPR只設置字節(jié)數(shù)少的空閑計數(shù)器201。
由于與空閑隊列101相同的理由,分類隊列104、BIND隊列105也是在各CLPR分別只設置各計數(shù)器204和205,隊列自身適用于所有CLPR。
像這樣,本實施例中,根據(jù)子管理信息的屬性,即,根據(jù)由子管理信息管理的高速緩存管理單位的屬性,分配子管理信息。從而,有效利用公共存儲器50的存儲資源,可以確保各CLPR間的獨立性。
圖11是表示高速緩存管理結(jié)構(gòu)和排斥控制的關(guān)系的說明圖。圖11中只示出與圖10一起敘述的管理信息的一部分。圖11中的“VDEV鎖定Gr”表示VDEV鎖定的組。為了操作目錄,需要取得VDEV鎖定,為了操作隊列,需要操作隊列鎖定。即,為了移動CLPR管理的數(shù)據(jù),需要對管理存儲該數(shù)據(jù)的段的隊列的操作權(quán)限、和對該段所屬的目錄的操作權(quán)限雙方。
如圖11的右側(cè)所示,在各CLPR可以相關(guān)聯(lián)1個或多個VDEV70。還可以將與某個CLPR相關(guān)聯(lián)的VDEV70關(guān)聯(lián)到另一CLPR。圖12是表示將與CLPR0相關(guān)聯(lián)的VDEV#1關(guān)聯(lián)到CLPR1的情況的說明圖。
在變更VDEV70的所屬目的地CLPR時,需要變更VDEV70和CLPR的相關(guān),并且,將所屬于移動對象VDEV70的數(shù)據(jù)群與新的CLPR進行相關(guān)聯(lián)。即,將移動對象的段(或槽位)從與移動源CLPR相關(guān)聯(lián)的隊列去除,連接到與移動目的地CLPR相關(guān)聯(lián)的隊列。在該操作時,需要VDEV鎖定和隊列鎖定的雙方。
圖13是表示變更CLPR的結(jié)構(gòu)時的處理的一例。在圖13概要示出將與移動源CLPR相關(guān)聯(lián)的VDEV70移動到移動目的地CLPR的情況。
首先,經(jīng)管理終端3,系統(tǒng)管理者請求VDEV70的移動時(S1YES),CHA20或DKA30的代表處理器變更指定為移動對象的VDEV70的固有信息(S2)。即,該VDEV70所屬的CLPR有關(guān)的信息(歸屬目的地CLPR信息)被改寫為有關(guān)移動目的地CLPR的信息。
下面,代表處理器檢索并抽出與移動對象的VDEV70對應的SLCB表T6,對于成為該移動對象的SLCB表T6變更CLPR信息(S3)。即,如與圖8一起所述,對成為移動對象的各SLCB表T6,將有關(guān)該所屬目的地CLPR的信息變更為有關(guān)移動目的地CLPR的信息。
接著,代表處理器檢查移動對象的SLCB表T6的槽位狀態(tài)是否是正常狀態(tài)(S4)。在是正常狀態(tài)的槽位的情況下(S4YES),即移動對象的SLCB表T6連接到正常隊列102的情況下,代表處理器將該SLCB表T6的隊列狀態(tài)根據(jù)移動目的地CLPR進行變更(S5)。即,改寫連接到在移動目的地CLPR設置的第幾個正常隊列102等的信息。
代表處理器變更隊列狀態(tài)之后,將移動對象的SLCB表T6從當前的正常隊列102去除(S6)。接著,代表處理器根據(jù)要移動的正常槽位數(shù),分別減去移動源CLPR設置的使用中計數(shù)器206和正常計數(shù)器202的計數(shù)值(S7)。接著,代表處理器將移動對象的SLCB表T6連接到移動目的地CLPR的正常隊列102(S8)。接著,代表處理器分別增加移動目的地CLPR的使用中計數(shù)器206和正常計數(shù)器202的計數(shù)值(S9),結(jié)束本處理。
另一方面,在對應于移動對象的VDEV70的SLCB表T6不是正常狀態(tài)的情況下(S4NO),代表處理器檢查該移動對象的SLCB表T6是否是空閑狀態(tài)(S10)。在移動對象的SLCB表T6為空閑狀態(tài)的情況下(S10YES),代表處理器分別變更移動源以及移動目的地的空閑計數(shù)器201(S11)。即,根據(jù)要移動的空閑槽位數(shù),減去移動源的空閑計數(shù)器201,加上移動目的地的空閑計數(shù)器201,結(jié)束處理。在移動對象的SLCB表T6是非正常狀態(tài)時(S10NO),不作任何工作而結(jié)束處理。由于非正常隊列103和非正常計數(shù)器203公共適用于所有CLPR,所以不需要進行隊列移動和計數(shù)器的增減。
另外,在圖13中省略,但連接到分類隊列104和BIND隊列105的SLCB表T6分別進行與空閑隊列101相同的處理。分類隊列104和BIND隊列105不是在各CLPR分別分割設置,而是在各CLPR只設置其計數(shù)器204、205。從而,不產(chǎn)生隊列間的移動,只發(fā)生移動源和移動目的地的計數(shù)器值的變更。
圖14是表示變更CLPR的高速緩存分配量時的概要處理的流程圖。在由系統(tǒng)管理者進行高速緩存分配處理的變更操作時(S31YES),代表處理器檢測與高速緩存分配變更相關(guān)的SLCB表T6(S32)。接著,代表處理器將與變更相關(guān)的SLCB表T6的CLPR信息根據(jù)高速緩存分配的變更進行變更(S33)。
例如,減少CLPR1的高速緩存分配量,增加相應數(shù)量CLPR2的高速緩存分配量時,位于該變動區(qū)域的SLCB表T6的歸屬目的地CLPR從CLPR1變更為CLPR2。接著,根據(jù)高速緩存區(qū)域的分配變更,增減正常計數(shù)器202等的值并結(jié)束處理(S34)。
圖15是概要表示用于確保空閑段的空閑段收集處理的流程圖。在此,空閑段意味著處于空閑狀態(tài)的段。本處理可以定期或在空閑段不足時(過負荷時)進行。
首先,檢測正常狀態(tài)的SLCB表T6中使用頻率最低的狀態(tài)(S4),將檢測出的SLCB表T6的狀態(tài)從正常狀態(tài)變更為空閑狀態(tài)(S42)。伴隨著該狀態(tài)變更,SLCB表T6從正常隊列102代替為空閑隊列101。另外,正常計數(shù)器202和空閑計數(shù)器201的計數(shù)值也分別變更。到確保規(guī)定量的空閑段為止,重復進行S41和S42的處理(S43)。
圖16是表示定義CLPR的情況的模式圖。本實施例中,作為公共庫區(qū)域使用CLPR0。在CLPR0中存儲有存儲子系統(tǒng)10內(nèi)公共使用的各種信息。另外,如上所述,各種管理信息存儲在公共存儲器50。
如圖16(a)所示,在將用戶專用的CLPR連1個也沒有設定的初始狀態(tài)下,高速緩存40具有的所有高速緩存區(qū)域所屬于CLPR0。如圖16(b)所示,分配給CLPR0的高速緩存區(qū)域可以區(qū)別為存儲公共的各信息等的“使用中區(qū)域”和“未使用區(qū)域”。在新設定用戶專用的CLPR1時,如圖16(c)所示,從作為庫區(qū)域的CLPR0截取所需的高速緩存區(qū)域,分配給CLPR1。另外,在新設定其他用戶用的CLPR 2時,如圖16(d)所示,從作為庫區(qū)域使用的CLPR0截取所需量的高速緩存區(qū)域,分配給新生成的CLPR2。在刪除用戶專用的CLPR1或CLPR2時,分配給刪除的CLPR的高速緩存區(qū)域返回到CLPR0。
圖17是表示上述處理的流程圖。在初始狀態(tài)下,高速緩存40具有的所有緩存區(qū)域分配給作為庫區(qū)域使用的公共區(qū)域CLPR0(S51)。在整個存儲子系統(tǒng)10使用的各信息存儲到CLPR0,被開始運用(S52)。
在新追加CLPR時(S53YES),變更CLPR結(jié)構(gòu)(S54)。該CLPR結(jié)構(gòu)變更處理是進行從CLPR0截取高速緩存區(qū)域并分配給新的CLPR等的處理。另一方面,在刪除已經(jīng)生成的CLPR時(S53NO、S55YES),進行將分配給刪除的CLPR的高速緩存區(qū)域返回到CLPR0等的處理(S56)。另外,作為原則不可以刪除CLPR0。
圖18是表示對各子終端2顯示與各子終端2管理的CLPR有關(guān)的信息等的情況的說明圖。
SVP90具有認證單元91和結(jié)構(gòu)管理單元92。各CLPR的管理者經(jīng)子終端2訪問SVP90,輸入用戶ID等。由認證單元91進行的用戶認證結(jié)果是合法用戶時,CLPR的管理者可以對自己管理下的CLPR進行結(jié)構(gòu)變更。該結(jié)構(gòu)變更的操作由結(jié)構(gòu)管理單元92反映到各CLPR。另外,從結(jié)構(gòu)管理單元92取得的有關(guān)CLPR的結(jié)構(gòu)信息可以顯示在子終端2。
作為可以在子終端2顯示的信息,例如可以舉出分配給CLPR的最大高速緩存量、有關(guān)分配給CLPR的VDEV的信息(VDEV號和卷大小等)、使用中的高速緩存大小、未使用的高速緩存大小、對CLPR的IO頻率等。另外,管理整個存儲子系統(tǒng)10的系統(tǒng)管理者經(jīng)全體終端3可以取得有關(guān)所有CLPR的信息,可以進行各CLPR的結(jié)構(gòu)變更等。
像這樣,根據(jù)本實施例,構(gòu)成為對存儲子系統(tǒng)10內(nèi)設定的各CLPR分割各管理用的信息。從而,可以抑制各CLPR間的干擾,可以提高使用方便性。即,在對一方的CLPR的訪問增大的情況下,也可以極力防止對其他CLPR帶來影響。
另外,本實施例中,基于段或槽位的屬性,分配管理信息。從而,與將所有管理信息簡單地分別設置在各CLPR的結(jié)構(gòu)相比,可以降低管理信息整體的數(shù)據(jù)大小,可以有效使用公共存儲器50。
另外,本發(fā)明不限于上述實施例。工作人員在本發(fā)明的范圍內(nèi)可以進行各種追加和變更等。
權(quán)利要求
1.一種存儲子系統(tǒng),具有多個通道適配器,分別控制與上位裝置的數(shù)據(jù)交接;多個存儲設備組,分別提供邏輯存儲區(qū)域;多個盤適配器,分別控制與上述各存儲設備組的數(shù)據(jù)交接;高速緩存,由上述各通道適配器和上述各盤適配器分別使用;多個高速緩存分區(qū),邏輯分割上述高速緩存構(gòu)成;控制存儲器,存儲用于管理上述各高速緩存分區(qū)的管理信息,上述管理信息由對上述各高速緩存分區(qū)分別設置的分割管理信息、和適用于上述各高速緩存分區(qū)的整體的公共管理信息構(gòu)成。
2.如權(quán)利要求1所述的存儲子系統(tǒng),其特征在于上述各分割管理信息和公共管理信息基于高速緩存管理單位的屬性來設定。
3.如權(quán)利要求1所述的存儲子系統(tǒng),其特征在于上述管理信息由多種子管理信息構(gòu)成,基于高速緩存管理單位的屬性,將上述各子管理信息的一部分按上述各高速緩存分區(qū)分別分割而構(gòu)成上述各分割管理信息,將上述各子管理信息的剩余部分用作上述公共管理信息。
4.如權(quán)利要求1所述的存儲子系統(tǒng),其特征在于上述管理信息構(gòu)成為,包括多種隊列、與這些各隊列分別相關(guān)的計數(shù)器,基于高速緩存管理單位的屬性,通過在上述各高速緩存分區(qū)分別設置上述各隊列和上述各計數(shù)器的一部分來構(gòu)成上述各分割管理信息,將上述各隊列的剩余部分和上述各計數(shù)器的剩余部分用作公共管理信息。
5.如權(quán)利要求4所述的存儲子系統(tǒng),其特征在于相互相關(guān)的上述隊列和上述計數(shù)器中的一方構(gòu)成上述分割管理信息,另一方用作上述公共管理信息。
6.如權(quán)利要求4所述的存儲子系統(tǒng),其特征在于與上述各隊列分別相關(guān)聯(lián)的隊列管理表,與構(gòu)成上述分割管理信息的隊列相關(guān)的隊列管理表分別設置在上述各高速緩存分區(qū)。
7.如權(quán)利要求1所述的存儲子系統(tǒng),其特征在于上述管理信息構(gòu)成為,包括連接有未使用狀態(tài)的高速緩存管理單位的空閑隊列以及與該空閑隊列相關(guān)的空閑隊列計數(shù)器、連接有存儲反映到上述存儲設備組之前的非正常狀態(tài)的數(shù)據(jù)的高速緩存管理單位的非正常隊列以及與該非正常隊列相關(guān)的非正常隊列計數(shù)器、連接有存儲反映到上述存儲設備組之后的正常狀態(tài)的數(shù)據(jù)的高速緩存管理單位的正常隊列以及與該正常隊列相關(guān)的正常隊列計數(shù)器、和計數(shù)使用中的高速緩存管理單位的總量的使用中計數(shù)器,上述空閑隊列計數(shù)器、上述正常隊列、上述正常隊列計數(shù)器以及上述使用中計數(shù)器分別設置在上述各高速緩存分區(qū),分別構(gòu)成上述分割管理信息,上述空閑隊列、上述非正常隊列以及上述非正常隊列計數(shù)器用作上述公共管理信息。
8.如權(quán)利要求1所述的存儲子系統(tǒng),其特征在于在上述各通道適配器上可以分別設定上述各高速緩存分區(qū)。
9.如權(quán)利要求1所述的存儲子系統(tǒng),其特征在于通過將上述各高速緩存分區(qū)中的1個高速緩存分區(qū)設定為公共區(qū)域并分配屬于該公共區(qū)域的資源,設定新的高速緩存分區(qū)。
10.一種控制存儲子系統(tǒng)的方法,該存儲子系統(tǒng)具有多個上位接口控制單元,分別控制與上位裝置的數(shù)據(jù)交接;多個存儲設備組,分別提供邏輯存儲區(qū)域;多個下位接口控制單元,分別控制與上述各存儲設備組的數(shù)據(jù)交接;存儲器單元,由上述各上位接口控制單元和上述各下位接口控制單元分別使用,將上述存儲器單元提供的高速緩存區(qū)域分割成多個緩存分區(qū),根據(jù)用于在上述存儲器單元中管理數(shù)據(jù)的高速緩存管理單位的屬性,將管理信息分別分割給上述各高速緩存分區(qū),基于上述各管理信息,按上述各高速緩存分區(qū)分別管理數(shù)據(jù)。
全文摘要
對各用戶分割存儲子系統(tǒng)的高速緩存區(qū)域,防止用戶專用區(qū)域之間的干擾。在存儲子系統(tǒng)內(nèi)可以設定多個CLPR。CLPR是可以分割成高速緩存具有的高速緩存區(qū)域并使用的用戶專用區(qū)域。為了管理高速緩存中存儲的數(shù)據(jù)而所需的管理信息根據(jù)段或槽位的屬性,分配給各CLPR。管理正常狀態(tài)的段的正常隊列(102)以及正常計數(shù)器(202)在各CLPR分別設置。非正常隊列(103)以及非正常計數(shù)器(103)在所有CLPR中公共使用??臻e隊列(101)、分類隊列(104)以及BIND隊列(105)公共適用于所有CLPR,在各CLPR分別只設置各計數(shù)器(201、204、205)。
文檔編號G06F12/08GK1652093SQ200510000220
公開日2005年8月10日 申請日期2005年1月5日 優(yōu)先權(quán)日2004年2月5日
發(fā)明者星野幸子, 坂口孝, 長副康之, 杉野升史 申請人:株式會社日立制作所