L#10001特定出的HVOL的大小。
[0238]圖31示出用于供存儲裝置I管理分配于各HVOL上的頁的存儲區域的分配狀態而使用的信息、即頁映射表10010的例子。頁映射表10000的各行(條目)具有HV0L#10001、頁 ID(P-1D) 10002、LDEV#10003、槽 #10004 的項目,表示在由 HV0L#10001、頁 ID(P-1D) 10002特定出的HVOL上的區域(頁)中,分配有將由LDEV#10003、槽#10004特定出的LDEV上的槽作為排頭槽的I條帶組量的區域。
[0239]HVOL由存儲裝置I的用戶(管理者)定義。當存儲裝置I的用戶(管理者)使用管理終端4來指示HVOL的生成時,存儲裝置I在HVOL管理信息10000中登錄新生成的HVOL的識別編號(HV0L#)和HVOL的大小。而且,雖然在頁映射表10010中登錄新生成的HVOL的各頁的信息,但最初僅登錄HV0L#10001、頁ID(P-1D) 10002的信息,而在LDEV#10003、槽#10004中保存無效值(例如NULL)。在從解壓縮VOL對HVOL (壓縮V0L)的頁進行數據轉移時,在LDEV#10003、槽#10004的欄中保存有值。
[0240]另外,在向HVOL上的頁分配區域時,由于需要對尚未分配于任何頁的LDEV上的區域(稱作未使用頁)進行分配,所以存儲裝置I具有頁空閑列表10100(圖32)這一管理信息。頁空閑列表10100的各條目具有LDEV#10110、槽#10120的項目,表示將由頁空閑列表10100的LDEV#10110、槽#10120特定出的LDEV上的槽作為排頭槽的I條帶組量的區域是未使用頁。在存儲裝置I向HVOL上的頁分配區域時,從頁空閑列表10100獲取未使用的槽(I條帶組量),并向HVOL上的頁分配。
[0241]接下來,說明變形例I中的存儲裝置I所進行的、從主機計算機3有數據寫請求時的處理、有數據讀請求時的處理的流程。該處理與以上說明的實施例中的圖24?28的處理大致相同。例如從主機計算機3接受對解壓縮V0L5000的寫請求和寫數據并將接收到的寫數據保存于高速緩沖存儲器26的處理與圖24的處理相同,因此,以下不進行說明。以下,關于向壓縮VOL(HVOL)的數據轉移處理、讀處理,說明與以上說明的實施例不同的部分。
[0242]使用圖33,說明向壓縮VOL(HVOL)的數據轉移處理的流程。圖25的S23、S24的處理在圖33中變更為S23’、S241、S242,除此以外,圖25的處理與圖33的處理相同。
[0243]在S21中,處理器21判定是否滿足規定條件,在S22中進行成為進行轉移處理的對象的解壓縮VOL的槽的選擇及所選擇的槽的鎖定。在變形例I的S21中,對于某個解壓縮V0L,在對該解壓縮VOL寫入的數據(高速緩沖存儲器26上)的臟量存在I頁(即I個或多個條帶組量)以上的條件的情況下,判斷成滿足規定條件。在S23’中,進行壓縮VOL(HVOL)上的盤區域分配。首先參照卷映射表600,選擇與當前處理對象的解壓縮V0L601對應的壓縮V0L602及最終寫入位置603。然后確定從解壓縮VOL將數據向壓縮V0L602的最終寫入位置603的下一 LBA開始的I條帶組量的區域移動。接著確定將本次處理對象的解壓縮VOL的各區域(在S22中選擇的槽內的保存有臟數據的區域)與壓縮VOL的哪個位置建立對應,并在地址映射表650中保存所確定的內容。
[0244]接著在S24’中,對在S23’中確定要移動數據的作為移動目的地的區域的HVOL上的I頁量的區域(I個或多個條帶組量的區域),分配LDEV的區域。關于該處理使用圖34進行說明。
[0245]在S241中,將在S23’中選擇的HVOL上的I頁量區域的排頭LBA(其為卷映射表600內最終寫入位置603的下一 LBA)變換為頁ID。為了從LBA計算出頁ID,只要將LBA除以I頁的大小即可。例如在I頁的大小與N條帶組(N ^ I)的大小相等而I條帶組的大小為48KB的情況下,為了從LBA計算出頁ID,只要使LBA除以(48 XN) KB即可。
[0246]在S242中,參照頁映射表10010,判定是否對在S241中計算出的頁ID的頁分配了 LDEV上的區域(在LDEV#10013、槽#10014中是否保存有不為無效值的值)。在區域已分配的情況下進入至S244。在區域未分配的情況下,從頁空閑列表10100獲取I條帶組量的LDEV上的區域,并將所獲取的I條帶組量的區域的信息登錄于頁映射表10010,由此,對HVOL上的頁分配區域(S243)。然后進入至S244的處理。
[0247]在S244中,參照頁映射表10010,獲取分配于在S241中計算出的頁ID的頁的LDEV上的區域的信息(LDEV#10013、將槽#10014作為排頭槽的I頁量的槽的槽編號)。同時,也計算出與在此獲取的I頁量的槽對應的奇偶校驗位槽的槽編號。S245進行與圖25的S24相同的處理。即對在S244中獲取的槽進行鎖定,并進行高速緩沖段的分配。
[0248]當S245的處理結束時,進入至S25,S25以后的處理與圖25的處理相同,因此省略說明。
[0249]若像這樣使用壓縮技術,則會將與來自主機的寫數據不同大小的壓縮數據保存于最終存儲介質,但隨著向HVOL的數據移動,對將HVOL分割而成的固定大小區域從LDEV分配存儲區域,由此能夠提高容量效率。另外,存儲控制器掌握了 HVOL的頁大小、LDEV的條帶組的大小、更新數據的壓縮后的大小。因此,存儲控制器在追寫更新數據的情況下,能夠根據追寫的壓縮后的更新數據的大小,不會過與不足地向HVOL上的頁分配HVOL上的區域(不會過剩地分配區域),因此,能夠提高容量效率。
[0250]接下來說明從主機計算機3接受對卷(解壓縮V0L)的讀請求時的處理流程。該處理僅將圖27的S55、S56分別變更為以下說明的S55’、S56’的處理,除此以外與圖27相同,因此省略圖示。
[0251]在S55’中,參照地址映射表650,對與解壓縮VOL的讀對象LBA對應的壓縮VOL (HVOL)的LBA進行特定。接著將所特定的HVOL的LBA變換為頁ID,參照頁映射表10010,對分配于該頁ID的LDEV的槽(由LDEV#10013、槽#10014特定出的槽)進行特定,并進行所特定出的LDEV的槽的鎖定。
[0252]在S56’中,處理器21對與壓縮VOL的LBA對應的LDEV上的高速緩沖段進行特定,判定該高速緩沖段是否為已分配,在未分配的情況下進行段的分配(S57)。S57以后的處理與圖27相同。另外對與壓縮VOL的LBA對應的LDEV上的高速緩沖段進行特定的處理是使用自動精簡配置技術的在存儲裝置中從以往進行的處理,是周知技術,因此省略詳細的說明。在高速緩沖段既已分配的情況下,進入至S61,其以后的處理與圖27相同。
[0253][變形例2]
[0254]在以上說明的實施例中,對解壓縮VOL寫入的數據,在每次高速緩沖存儲器26中蓄存I條帶組量的數據時進行向壓縮VOL的移動。另外,移動時,寫入于解壓縮VOL的數據與該數據在解壓縮VOL上的寫入位置無關地,以追寫要領寫入到壓縮V0L(LDEV、進而最終存儲介質),因此,也存在解壓縮VOL上連續的數據(區域)在壓縮VOL(LDEV)上不連續地配置的情況。當進行這樣的配置時,順序讀取(sequential read)性能與普通存儲裝置(保存非壓縮數據的存儲裝置)相比惡化。以下,說明將數據從解壓縮VOL向壓縮VOL移動時考慮解壓縮VOL上的數據配置而向壓縮VOL移動數據的方法。
[0255]在變形例2的存儲裝置I中,與變形例I同樣地,對壓縮VOL使用由自動精簡配置技術形成的虛擬的卷(HVOL)。另外HVOL的I頁的大小在變形例I中為I條帶組量的大小,但在變形例2中,設為多個條帶組(作為一例為1000條帶組)。另外為了簡化說明,以I條帶組為3槽量(48KB)的大小為前提進行說明。因此,I頁的大小為48X 1000KB。
[0256]在以上說明的實施例1中,寫入于一個解壓縮VOL的數據追寫于與一個解壓縮VOL建立了對應的一個壓縮VOL的某一區域,但在變形例2中,使各解壓縮VOL與壓縮VOL的頁大小相同,分割成頁(48X1000KB)單位,對各頁賦予頁編號而進行管理。關于對各頁賦予的頁編號,對位于解壓縮VOL的排頭的頁賦予頁O的編號,以下按順序賦予頁1、頁2...。此夕卜,解壓縮VOL的頁和壓縮VOL的頁不必為相同大小,即使期待數據被壓縮地保存而壓縮VOL的頁大小小于解壓縮VOL的頁大小,本發明也是有效的。
[0257]使用圖35,說明變形例2中的卷映射表600’的內容。在變形例2的存儲裝置I中,寫入于解壓縮VOL的頁O的數據向壓縮VOL(HVOL)的頁O寫入,以下同樣地,寫入于解壓縮VOL的頁1、2…的數據分別向壓縮VOL(HVOL)的頁1、2...寫入。因此,在卷映射表600’中,具有 VV0L#601’、頁 ID(P -1D)602’、HV0L#603’、P-1D604’、最終寫入位置 605’ 的項目,并管理表示將由VV0L#601’、頁ID(P-1D)602’特定出的解壓縮VOL上的區域中所寫入的數據保存于由HV0L#603’、P-1D604’特定出的壓縮VOL上的頁的信息。另外最終寫入位置605’的信息也按每個解壓縮VOL的頁而進行管理。
[0258]除此以外,在變形例2的存儲裝置I中,與變形例I同樣地,作為用于管理HVOL的管理信息,具有HVOL管理信息10000、頁映射表10010、頁空閑列表10100,除頁大小為1000條帶組以外的方面,與變形例I中使用的管理信息的各項目相同,因此省略說明。另外,解壓縮VOL和LDEV的高速緩沖管理信息也與以上說明的實施例、變形例I中使用的高速緩沖管理信息相同,但在變形例2中,解壓縮VOL用的臟隊列按每個解壓縮VOL的頁而存在一個臟隊列,這一點與以上說明的實施例不同。
[0259]接下來說明變形例2中的存儲裝置I所進行的寫處理。變形例2中的寫處理的流程基本上與以上說明的實施例、變形例I無區別,將接收到的寫數據保存于高速緩沖存儲器26的處理與圖24的處理相同,因此省略說明。另外從解壓縮VOL向壓縮VOL的數據轉移處理與圖33幾乎無區別,因此使用圖33進行說明。此外在以上說明的實施例、變形例I中,向壓縮VOL的數據轉移處理按每個解壓縮VOL而進行,但在變形例2中,按每個頁進行。
[0260]在S21中,處理器21判定是否滿足規定條件,但在變形例2中,判定與解壓縮VOL的各頁的臟隊列連接的各槽的臟量IlOf的合計是否為規定量(例如I頁大小的60%以上等)以上,在為規定量以上的情況下進入至S22以后的處理。
[0261]S22的處理與以上說明的實施例相同,但從槽ID小的槽開始按順序選擇與臟隊列連接的槽,并以使所選擇的槽的臟數據的區域的臟量的合計為條帶組大小的倍數且該值盡可能大的方式進行選擇。因此,在選擇全部臟數據時若臟數據量為條帶組大小的倍數,則選擇全部槽。
[0262]S23的處理也與以上說明的實施例相同,但在變形例2中,將處理對象的解壓縮VOL的各區域從LBA小的順序以升序與壓縮VOL上的區域建立對應,并使解壓縮VOL上的數據配置順序與壓縮VOL上的數據配置順序相同。以后的處理與以上說明的實施例和變形例I相同。
[0263]由此,在解壓縮VOL上連續地配置的各數據在壓縮VOL上也以升序配置。因此,然后能夠相對于解壓縮VOL讀取連續數據,即在從主機計算機3有所謂順序讀取訪問的情況下,能夠從壓縮VOL大致順序地讀取壓縮數據。
[0264]以上說明了本發明的實施例,但其為用于說明本發明的例示,不表示將本發明限定于以上說明的實施例。本發明也能夠以其他各種方式實施。例如在實施例所記載的存儲裝置中,記載了兩個存儲控制器,但存儲控制器的數量不限定于此,可以具有一個以上的任意數量的控制器。另外控制器內的處理器、主機接口的數量也不限定于附圖中記載的數量。
[0265]另外,在以上說明的變形例2中,與變形例I同樣地將由自動精簡配置技術形成的HVOL用作壓縮V0L,但即使與最初說明的實施例同樣地,將不使用自動精簡配置技術的邏輯卷用作壓縮V0L,也能夠實現實施例2的方案。
[0266]附圖標記說明
[0267]1:存儲裝置
[0268]2:SAN
[0269]3:主機計算機
[0270]4:管理裝置
[0271]10:存儲控制器
[0272]Il-SSD
[0273]12:HDD
[0274]21:處理器
[0275]22:內部開關
[0276]23:盤接口
[0277]24:主機接口
[0278]25:DRAM
[0279]26:高速緩沖存儲器
[0280]27:節點 I/F
【主權項】
1.一種存儲裝置,與主機計算機連接,且具有處理器、高速緩沖裝置和多個最終存儲介質,其特征在于, 所述存儲裝置具有: 能夠由所述主機計算機訪問的第I卷;和 第2卷,其是與所述第I卷建立了對應的卷,將從所述主機計算機對所述第I卷寫入的數據以壓縮狀態保存, 當從所述主機計算機接受對所述第I卷的寫請求和基于所述寫請求的寫對象數據時,所述處理器進行: (1)使所述寫對象數據在所述高速緩沖裝置中成為壓縮狀態后保存到所述高速緩沖裝置內存儲區域中, (2)確定所述壓縮狀態的寫對象數據在所述第2卷上的保存位置, (3)與所述保存位置的確定相應地,確保應與所述壓縮狀態的寫對象數據在所述第2卷上的所述保存位置建立對應的、所述最終存儲介質上的存儲區域, (4)從所述高速緩沖裝置以壓縮狀態讀取所述寫對象數據,將所讀取的壓縮狀態的所述寫對象數據保存到所確保出的所述最終存儲介質上的區域。2.根據權利要求1所述的存儲裝置,其特征在于, 在所述寫請求中包含應寫入所述寫對象數據的所述第I卷上的地址的信息, 所述存儲裝置具有對所述第I卷上的地址與所述壓縮狀態的寫對象數據在所述第2卷上的保存位置之間的對應關系進行管理的地址映射表, 當確定出所述壓縮狀態的寫對象數據在所述第2卷上的保存位置時,所述處理器在所述地址映射表中記錄所述寫請求中包含的所述地址與所述第2卷上的保存位置之間的對應關系, 當從所述主機計算機接受指定了所述第I卷上的地址的讀請求時,所述處理器參照所述地址映射表,對與所述讀請求中包含的地址對應的所述第2卷上的保存位置進行特定, 所述處理器基于所述第2卷上的保存位置,從所述最終存儲介質讀取壓縮狀態的數據,并保存到所述高速緩沖裝置, 所述處理器從所述高速緩沖裝置獲取將所述壓縮狀態的數據解壓縮后的數據,并向所述主機計算機發送。3.根據權利要求1所述的存儲裝置,其特征在于, 所述處理器在每次進行確定所述壓縮狀態的寫對象數據在所述第2卷上的保存位置的處理時,存儲所確定出的保存位置的信息, 所述處理器在確定所述壓縮狀態的寫對象數據在所述第2卷上的保存位置時,將由所存儲的所述保存位置的信息特定出的地址的下一地址,確定為所述壓縮狀態的寫對象數據在所述第2卷上的保存位置。4.根據權利要求1所述的存儲裝置,其特征在于, 所述處理器在所述高速緩沖裝置中保存的所述壓縮狀態的寫對象數據的量為規定量以上時,確定所述壓縮狀態的寫對象數據在所述第2卷上的保存位置。5.根據權利要求4所述的存儲裝置,其特征在于, 應與所述壓縮狀態的寫對象數據在所述第2卷上的所述保存位置建立對應的存儲區域,是由所述多個最終存儲介質構成的RAID組內的存儲區域, 所述處理器在所述高速緩沖裝置中存儲的所述壓縮狀態的寫對象數據的量為與所述RAID組的I條帶組的大小相當的量以上時,確定所述壓縮狀態的寫對象數據在所述第2卷上的保存位置。6.根據權利要求1所述的存儲裝置,其特征在于, 所述第2卷的容量大于所述多個最終存儲介質的合計容量。7.根據權利要求1所述的存儲裝置,其特征在于, 所述高速緩沖裝置對所述處理器提供第I邏輯存儲空間和第2邏輯存儲空間, 當所述處理器對所述高速緩沖裝置發出指定了所述第I邏輯存儲空間的地址的、用于將所述寫對象數據保存于所述高速緩沖裝置的數據保存請求時, 所述高速緩沖裝置使所述寫對象數據成為壓縮狀態后保存到所述高速緩沖裝置內存儲區域, 當所述處理器對所述高速緩沖裝置發出將所述第I邏輯存儲空間的地址和所述第2邏輯存儲空間上的地址建立對應的映射指示后,進而對所述高速緩沖裝置發出指定了與所述第I邏輯存儲空間的地址建立了對應的所述第2邏輯存儲空間的地址且用于讀取保存于所述高速緩沖裝置的所述寫對象數據的數據讀取請求時,所述高速緩沖裝置以壓縮狀態讀取所述寫對象數據。8.一種存儲裝置的控制方法,該存儲裝置與主機計算機連接,且具有處理器、高速緩沖裝置和多個最終存儲介質,所述存儲裝置的控制方法的特征在于, 所述存儲裝置具有: 能夠由所述主機計算機訪問的第I卷;和 第2卷,其是與所述第I卷建立了對應的卷,將從所述主機計算機對所述第I卷寫入的數據以壓縮狀態保存, 當從所述主機計算機接受對所述第I卷的寫請求和基于所述寫請求的寫對象數據時,所述處理器進行: (1)使所述寫對象數據在所述高速緩沖裝置中成為壓縮狀態后保存到所述高速緩沖裝置內存儲區域中, (2)確定所述壓縮狀態的寫對象數據在所述第2卷上的保存位置, (3)與所述保存位置的確定相應地,確保應與所述壓縮狀態的寫對象數據在所述第2卷上的所述保存位置建立對應的、所述最終存儲介質上的保存區域, (4)從所述高速緩沖裝置以壓縮狀態讀取所述寫對象數據,將所讀取的壓縮狀態的所述寫對象數據保存到所確保出的所述最終存儲介質上的區域。9.如權利要求8所述的存儲裝置的控制方法,其特征在于, 在所述寫請求中包含應寫入所述寫對象數據的所述第I卷上的地址的信息, 所述存儲裝置具有對所述第I卷上的地址與所述壓縮狀態的寫對象數據在所述第2卷上的保存位置之間的對應關系進行管理的地址映射表, 當確定出所述壓縮狀態的寫對象數據在所述第2卷上的保存位置時,所述處理器在所述地址映射表中記錄所述寫請求中包含的所述地址與所述第2卷上的保存位置之間的對應關系, 當從所述主機計算機接受指定了所述第I卷上的地址的讀請求時,所述處理器參照所述映射表,對與所述讀請求中包含的地址對應的所述第2卷上的保存位置進行特定, 所述處理器基于所述第2卷上的保存位置,從所述最終存儲介質讀取壓縮狀態的數據,并保存到所述高速緩沖裝置, 所述處理器從所述高速緩沖裝置獲取將所述壓縮狀態的數據解壓縮后的數據,并向所述主機計算機發送。10.如權利要求8所述的存儲裝置的控制方法,其特征在于, 所述處理器在每次進行確定所述壓縮狀態的寫對象數據在所述第2卷上的保存位置的處理時,存儲所確定出的保存位置的信息, 在確定出所述壓縮狀態的寫對象數據在所述第2卷上的保存位置時,所述處理器將由所存儲的所述保存位置的信息特定出的地址的下一地址,確定為所述壓縮狀態的寫對象數據在所述第2卷上的保存位置。11.如權利要求8所述的存儲裝置的控制方法,其特征在于, 所述處理器在使所述寫對象數據在所述高速緩沖裝置中成為壓縮狀態后保存到所述高速緩沖裝置內存儲區域的時刻,向所述主機計算機通知伴隨著寫請求的處理完成這一情況, 所述處理器在所述高速緩沖裝置中保存的所述壓縮狀態的寫對象數據的量為規定量以上的時刻,執行所述(2)以后的處理。12.如權利要求11所述的存儲裝置的控制方法,其特征在于, 應與所述壓縮狀態的寫對象數據在所述第2卷上的所述保存位置建立對應的存儲區域是由所述多個最終存儲介質構成的RAID組內的存儲區域, 所述處理器在所述高速緩沖裝置中保存的所述壓縮狀態的寫對象數據的量為與所述RAID組的I條帶組的大小相當的量以上時,執行所述(2)以后的處理。13.如權利要求8所述的存儲裝置的控制方法,其特征在于, 所述第2卷的容量大于所述多個最終存儲介質的合計容量。14.如權利要求8所述的存儲裝置的控制方法,其特征在于, 所述高速緩沖裝置對所述處理器提供第I邏輯存儲空間和第2邏輯存儲空間, 當所述處理器在所述(I)中對所述高速緩沖裝置發出指定了所述第I邏輯存儲空間的地址的、用于將所述寫對象數據保存到所述高速緩沖裝置的數據保存請求時, 所述高速緩沖裝置使所述寫對象數據成為壓縮狀態后保存于所述高速緩沖裝置內存儲區域, 所述處理器在所述(4)中,當所述處理器對所述高速緩沖裝置發出將所述第I邏輯存儲空間的地址和所述第2邏輯存儲空間上的地址建立對應的映射指示后,進而對所述高速緩沖裝置發出指定了所述第2邏輯存儲空間的地址且用于讀取保存于所述高速緩沖裝置的所述寫對象數據的數據讀取請求時, 從所述高速緩沖裝置以壓縮狀態讀取所述寫對象數據。
【專利摘要】在本發明的存儲裝置中,對上級裝置提供與最終存儲介質不具有對應關系(映射)的解壓縮VOL,并從上級裝置接受對解壓縮VOL訪問。而且,將寫入于解壓縮VOL的數據在高速緩沖存儲器中進行在線壓縮,并將壓縮的數據與最終存儲介質所對應的卷即壓縮VOL建立對應。同時通過維持管理寫入有數據的解壓縮VOL上的區域與該數據的壓縮數據所對應的壓縮VOL上的位置之間的映射信息,在從上級裝置有對解壓縮VOL的讀請求時,也會基于映射信息,將由讀請求指定的解壓縮VOL上的位置信息向最終存儲介質的位置信息變換,從最終存儲介質將壓縮數據讀取至高速緩沖存儲器上,將壓縮數據在高速緩沖存儲器中解壓縮后向上級裝置傳送。
【IPC分類】G06F12/08, G06F12/00, G06F3/06, G06F12/04, G06F12/16
【公開號】CN104956312
【申請號】CN201380071897
【發明人】杉本定廣, 山本彰, 弘中和衛
【申請人】株式會社日立制作所
【公開日】2015年9月30日
【申請日】2013年12月12日
【公告號】DE112013006655T5, WO2015087424A1