亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

分級存儲器管理的制作方法

文檔序號:7771885閱讀:201來源:國知局
分級存儲器管理的制作方法
【專利摘要】在一個實施例中,一種存儲系統(tǒng)包括:第一類型接口,其可操作用于使用遠程存儲器訪問來與服務器通信;第二類型接口,其可操作用于使用塊I/O(輸入/輸出)訪問來與服務器通信;存儲器;以及控制器,其可操作用于管理:(1)分配用于存儲數(shù)據(jù)的存儲器的存儲區(qū)域的第一部分,被存儲的數(shù)據(jù)將被存儲在由服務器上的操作系統(tǒng)所管理的物理地址空間中,并且所述被存儲的數(shù)據(jù)從服務器經(jīng)由第一類型接口而發(fā)送;以及(2)分配用于高速緩存數(shù)據(jù)的存儲器的存儲區(qū)域的第二部分,被高速緩存的數(shù)據(jù)從服務器經(jīng)由第二類型接口向存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在存儲系統(tǒng)的與邏輯卷相對應的存儲設備中。
【專利說明】分級存儲器管理
【技術領域】
[0001]本發(fā)明總體涉及存儲系統(tǒng),并且更具體地涉及使用RDMA(遠程直接存儲器訪問)技術在服務器與存儲系統(tǒng)之間的分級存儲器管理。
【背景技術】
[0002]遠程存儲器訪問和分配技術、比如RDMA(遠程直接存儲器訪問)可用。一種方式涉及RDMA環(huán)境中的動態(tài)存儲器管理(例如見第7,849,272號美國專利)。另一方式涉及多個計算機上的分布式共享存儲器(例如見US / 2009 / 0144388)。服務器附著的PC1-Express (TM)快閃比大容量RDIMM (注冊雙列直插存儲器模塊)模塊更低位成本。
[0003]服務器具有依賴于CPU架構的有限物理存儲器容量。為了擴展服務器DRAM (直接隨機訪問存儲器)的容量,需要RDIMM (注冊雙列直插存儲器模塊)。大容量RDIMM在任何其它DIMM類型之中成本最高。服務器DIMM套接字不可熱交換。為了擴展服務器的存儲器容量,服務器管理員停止OS (操作系統(tǒng))并且停止向服務器的供電,并且繼而服務器管理員向母板的DMM槽安裝DMM。
[0004]本地服務器存儲器提供比RDMA (遠程直接存儲器訪問)的遠程存儲器訪問更高的性能,因為DDR SDRAM(雙數(shù)據(jù)速率同步動態(tài)隨機存取存儲器)接口具有比RDMA網(wǎng)絡更高的訪問延時和網(wǎng)絡吞吐容量。DRAM具有比快閃存儲器更低的訪問延時。傳統(tǒng)技術并未公開
(I)哪個類型的本地存儲器或者遠程存儲器對于性能而言是更佳分級以及(2)哪個類型的DRAM、快閃存儲器或者其它新存儲器設備具有DRAM存儲器等級的最佳分級。此外,RDMA協(xié)議的當前存儲器分配也未提供存儲器類型信息。
[0005]存儲系統(tǒng)的高速緩存存儲器構成DRAM和/或快閃存儲器。當前存儲系統(tǒng)未共享存儲系統(tǒng)的存儲器作為存儲裝置高速緩存和服務器存儲器擴展二者。

【發(fā)明內容】

[0006]本發(fā)明的示例實施例提供管理本地和遠程存儲器和分級的服務器。存儲裝置管理服務器分配存儲器區(qū)域。存儲裝置管理DRAM或者快閃存儲器在存儲裝置高速緩存數(shù)據(jù)區(qū)域與服務器存儲器數(shù)據(jù)之間的分區(qū)。服務器和存儲裝置二者具有遠程存儲器接口和存儲塊I / 0接口。服務器具有用于分配或者收回本地或者遠程物理地址空間的遠程分級高速緩存管理。存儲裝置管理分配高速緩存數(shù)據(jù)區(qū)域和服務器存儲器數(shù)據(jù)。這樣,服務器管理分級存儲器,并且更易于擴展服務器存儲器區(qū)域而無需主機OS (操作系統(tǒng))停止。另外,存儲裝置提供存儲器空間作為服務器存儲器數(shù)據(jù),并且將服務器存儲器資源合并成多個存儲裝置的物理存儲器池。
[0007]根據(jù)本發(fā)明的一個方面,一種存儲系統(tǒng)包括:第一類型接口,其可操作用于使用遠程存儲器訪問來與服務器通信;第二類型接口,其可操作用于使用塊I / 0(輸入/輸出)訪問來與服務器通信;存儲器;以及控制器,其可操作用于管理:(1)分配用于存儲數(shù)據(jù)的存儲器的存儲區(qū)域的第一部分,被存儲的數(shù)據(jù)將被存儲在由服務器上的操作系統(tǒng)所管理的物理地址空間中,并且所述被存儲的數(shù)據(jù)從服務器經(jīng)由第一類型接口而發(fā)送;以及(2)分配用于高速緩存數(shù)據(jù)的存儲器的存儲區(qū)域的第二部分,被高速緩存的數(shù)據(jù)從服務器經(jīng)由第二類型接口向存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在存儲系統(tǒng)的與邏輯卷相對應的存儲設備中。
[0008]在一些實施例中,控制器可操作用于管理存儲系統(tǒng)中的存儲器的每個介質類型的容量信息。存儲器包括DRAM存儲器或者快閃存儲器中的至少一個存儲器??刂破骺刹僮饔糜诠芾?3)分配用于存儲數(shù)據(jù)的存儲器的存儲區(qū)域的第三部分,被存儲的數(shù)據(jù)將被存儲在由另一服務器上的操作系統(tǒng)所管理的物理地址空間中,并且被存儲的數(shù)據(jù)從所述另一服務器經(jīng)由第一類型接口發(fā)送,以及管理分配用于高速緩存數(shù)據(jù)的存儲器的存儲區(qū)域的第二部分,被高速緩存的數(shù)據(jù)從所述另一服務器經(jīng)由第二類型接口向存儲系統(tǒng)的邏輯卷發(fā)送,并且被高速緩存的數(shù)據(jù)將被存儲在存儲系統(tǒng)的與邏輯卷相對應的存儲設備中??刂破骺刹僮饔糜陧憫趤碜苑掌鞯恼埱笙蚍掌魈峁┐鎯ο到y(tǒng)中的存儲器的存儲區(qū)域的第一部分的每個介質類型的容量信息。
[0009]在具體實施例中,控制器可操作用于如果服務器的用于與第一類型接口通信的遠程存儲器接口被停止,則從服務器存儲器分配表的條目去除服務器,服務器存儲器分配表存儲關于由存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息??刂破骺刹僮饔糜陧憫趤碜苑掌鞯木哂兴枞萘亢痛鎯ζ餍阅苤换蛘咚龃鎯ζ鞯拇鎯^(qū)域的所述第一部分的存儲器分配位置范圍的遠程存儲器綁定請求,向服務器返回具有映射地址信息的存儲器綁定結果??刂破骺刹僮饔糜陧憫趤碜苑掌鞯倪h程釋放請求,從服務器存儲器分配表的條目去除服務器,服務器存儲器分配表存儲關于由存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息。
[0010]本發(fā)明的另一方面涉及一種用于存儲系統(tǒng)的存儲器管理的方法,存儲系統(tǒng)具有:第一類型接口,其可操作用于使用遠程存儲器訪問來與服務器通信;第二類型接口,其可操作用于使用塊I / 0(輸入/輸出)訪問來與服務器通信;以及存儲器。該方法包括管理:
(I)分配用于存儲數(shù)據(jù)的存儲器的存儲區(qū)域的第一部分,被存儲的數(shù)據(jù)將被存儲在由服務器上的操作系統(tǒng)所管理的物理地址空間中,并且被存儲的數(shù)據(jù)從服務器經(jīng)由第一類型接口發(fā)送;以及(2)分配用于高速緩存數(shù)據(jù)的存儲器的存儲區(qū)域的第二部分,所述被高速緩存的數(shù)據(jù)從服務器經(jīng)由第二類型接口向存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在存儲系統(tǒng)的與邏輯卷相對應的存儲設備中。
[0011]在一些實施例中,該方法還包括:如果服務器的用于與第一類型接口通信的遠程存儲器接口被停止,或者如果從服務器接收到遠程釋放請求,則從服務器存儲器分配表的條目去除服務器,服務器存儲器分配表存儲關于由存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息。
[0012]本發(fā)明的另一方面涉及一種存儲多個指令的計算機可讀存儲介質,多個指令用于控制數(shù)據(jù)處理器以管理用于存儲系統(tǒng)的存儲器,存儲系統(tǒng)具有:第一類型接口,其可操作用于使用遠程存儲器訪問來與服務器通信;第二類型接口,其可操作用于使用塊I / 0(輸入/輸出)訪問來與服務器通信;以及存儲器。多個指令包括使數(shù)據(jù)處理器管理以下各項的指令:(1)分配用于存儲數(shù)據(jù)的存儲器的存儲區(qū)域的第一部分,被存儲的數(shù)據(jù)將被存儲在由服務器上的操作系統(tǒng)所管理的物理地址空間中,并且所述被存儲的數(shù)據(jù)從服務器經(jīng)由第一類型接口發(fā)送;以及(2)分配用于高速緩存數(shù)據(jù)的存儲器的存儲區(qū)域的第二部分,被高速緩存的數(shù)據(jù)從服務器經(jīng)由第二類型接口向存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在存儲系統(tǒng)的與邏輯卷相對應的存儲設備中。
[0013]在一些實施例中,多個指令還包括使數(shù)據(jù)處理器管理存儲系統(tǒng)中的存儲器的每個介質類型的容量信息的指令,其中存儲器包括DRAM存儲器或者快閃存儲器中的至少一個。多個指令還包括如果服務器的用于與第一類型接口通信的遠程存儲器接口被停止,則使數(shù)據(jù)處理器從服務器存儲器分配表的條目去除服務器的指令,服務器存儲器分配表存儲關于由存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息。多個指令還包括使數(shù)據(jù)處理器響應于來自服務器的具有所需容量和存儲器性能之一或者所述存儲器的存儲區(qū)域的所述第一部分的存儲器分配位置范圍的遠程存儲器綁定請求,向服務器返回具有映射地址信息的存儲器綁定結果的指令。多個指令還包括使數(shù)據(jù)處理器響應于來自服務器的遠程釋放請求,從服務器存儲器分配表的條目去除服務器的指令,服務器存儲器分配表存儲關于由存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息。
[0014]本發(fā)明的這些和其它特征以及優(yōu)點將鑒于具體實施例的以下具體描述變得為本領域普通技術人員所清楚。
【專利附圖】

【附圖說明】
[0015]圖1圖示可以在其中應用本發(fā)明的方法和裝置的系統(tǒng)的硬件配置的示例。
[0016]圖2示出用于圖1的配置的存儲器地址映射的示例。
[0017]圖3示出圖1的系統(tǒng)的具體配置的示例。
[0018]圖4示出存儲系統(tǒng)中的存儲器分區(qū)的示例。
[0019]圖5示出用于圖3和4的配置的DRAM和快閃存儲器分級以及遠程訪問的存儲器地址映射的示例。
[0020]圖6示出具有多個存儲系統(tǒng)的系統(tǒng)的硬件配置的示例。
[0021]圖7示出用于圖6的配置的DRAM和快閃存儲器分級以及遠程訪問的存儲器地址映射的示例。
[0022]圖8示出具有多個服務器和多個存儲系統(tǒng)的系統(tǒng)的硬件配置的示例。
[0023]圖9示出用于圖8的配置的DRAM和快閃存儲器分級以及遠程訪問的存儲器地址映射的示例。
[0024]圖10示出主機服務器中的設備發(fā)現(xiàn)表的示例。
[0025]圖11示出主機服務器中的地址映射表的示例。
[0026]圖12示出存儲裝置中的存儲器分區(qū)表的示例。
[0027]圖13示出存儲裝置中的服務器存儲器分配表的示例。
[0028]圖14是圖示存儲器設備發(fā)現(xiàn)和初始化過程的過程流程的流程圖的示例。
[0029]圖15是圖示存儲器設備發(fā)現(xiàn)和初始化過程的過程流程的流程圖的示例。
[0030]圖16是圖示服務器存儲分配過程流程的流程圖的示例。
[0031]圖17是圖示服務器存儲器取消分配(釋放)系統(tǒng)調用過程流程的流程圖的示例。
[0032]圖18是圖示存儲器讀取操作的流程圖的示例。
[0033]圖19是圖示存儲器寫入操作的流程圖的示例。[0034]圖20是圖示塊I / 0寫入操作的流程圖的示例。
[0035]圖21是圖示塊I / 0讀取操作的流程圖的示例。
【具體實施方式】
[0036]在本發(fā)明的以下具體描述中參照附圖,附圖形成公開內容的部分并且在附圖中通過示例而非限制的方式示出可以用來實現(xiàn)本發(fā)明的示例性實施例。在附圖中,相似標號描述貫穿若干視圖的基本上相似部件。另外應當注意,盡管具體描述提供如以下描述和如在附圖中圖示的各種示例實施例,但是本發(fā)明不限于這里描述和圖示的實施例、但是可以擴展至如本領域技術人員將已知或者如將變成為本領域技術人員所知的其它實施例。在說明書中引用“一個實施例”、“這一實施例”或者“這些實施例”意味著結合實施例描述的特定特征、結構或者特點包含于本發(fā)明的至少一個實施例中,并且這些短語出現(xiàn)于說明書中的各處未必都引用相同實施例。此外,在以下具體描述中,闡述許多具體細節(jié)以便提供本發(fā)明的透徹理解。然而,本領域普通技術人員將清楚,這些具體細節(jié)可以不都是為了實現(xiàn)本發(fā)明而需要的。在其它境況中,尚未具體描述和/或可以用框圖形式圖示公知結構、材料、電路、過程和接口以免不必要地模糊本發(fā)明。
[0037]在計算機內的操作的算法和符號表示方面呈現(xiàn)以下具體描述的一些部分。這些算法描述和符號表示是數(shù)據(jù)處理領域技術人員用來向本領域其他技術人員最有效傳達他們的創(chuàng)新實質的手段。算法是促成所需最終狀態(tài)或者結果的系列定義的步驟。在本發(fā)明中,執(zhí)行的步驟需要物理操縱有形數(shù)量用于實現(xiàn)有形結果。盡管非必需但是通常地,這些數(shù)量采用能夠存儲、傳送、組合、比較和另外操縱的電或者磁信號的形式。主要出于普遍使用的原因而將這些信號稱為位、值、單元、符號、字符、項、數(shù)、指令等已經(jīng)證實有時是方便的。然而應當謹記,這些和相似術語中的所有術語將與適當物理數(shù)量關聯(lián)并且僅為應用于這些數(shù)量的方便標記。除非另有具體明示或者如根據(jù)以下討論而清楚的那樣,理解貫穿該描述,利用比如“處理”、“計算”、“運算”、“確定”、“顯示”等術語的討論可以包括計算機系統(tǒng)或者其它信息處理設備的動作和過程,該計算機系統(tǒng)或者其它信息處理設備將計算機系統(tǒng)的寄存器和存儲器內表示為物理(電子)數(shù)量的數(shù)據(jù)操縱和變換成在計算機系統(tǒng)的存儲器或者寄存器或者其它信息存儲、傳輸或者顯示設備內類似地表示為物理數(shù)量的其它數(shù)據(jù)。
[0038]本發(fā)明也涉及一種用于執(zhí)行這里的操作的裝置。裝置可以被具體配置用于所需目的,或者它可以包括一個或者多個計算機程序有選擇地激活或者重新配置的一個或者多個通用計算機??梢栽谟嬎銠C可讀存儲介質中存儲這樣的計算機程序,該計算機可讀存儲介質包括非易失性介質、比如但不限于光盤、磁盤、只讀存儲器、隨機存取存儲器、固態(tài)設備和驅動或者適合于存儲電子信息的任何其它類型的介質。這里呈現(xiàn)的算法和顯示未固有地與任何特定計算機或者其它裝置有關。各種通用系統(tǒng)可以與根據(jù)這里的教導的程序和模塊一起使用,或者構造更專門化的裝置以執(zhí)行所需方法步驟可以證實是方便的。此外,未參照任何特定編程語言描述本發(fā)明。將理解多種編程語言可以用來實施如這里描述的本發(fā)明的教導。編程語言的指令可以由一個或者多個處理設備、例如中央處理單元(CPU)、處理器或者控制器執(zhí)行。
[0039]如以下將更具體描述的本發(fā)明的示例實施例提供用于使用RDMA技術在服務器與存儲系統(tǒng)之間的分級存儲器管理的裝置、方法和計算機程序。[0040]圖1圖示可以在其中應用本發(fā)明的方法和裝置的系統(tǒng)的硬件配置的示例。系統(tǒng)代表具有主機服務器I和存儲裝置2的計算機環(huán)境。塊I / 0接口 13、比如SCSI (小型計算機系統(tǒng)接口)連接服務器I和存儲裝置2。主機服務器I具有用于存儲服務器存儲器數(shù)據(jù)和處理器12的DRAM存儲器11。
[0041]圖2示出用于圖1的配置的存儲器地址映射的示例。服務器OS(操作系統(tǒng))具有虛擬存儲器地址空間200。服務器OS管理以在虛擬存儲器地址空間200與DRAM物理地址空間210之間映射OS。在服務器OS分配虛擬存儲器地址中的存儲器時,服務器OS的分配器程序收集物理地址空間210的一些段并且將它們映射到一個連續(xù)服務器存儲器數(shù)據(jù)段。服務器存儲器數(shù)據(jù)40是虛擬地址空間200中的一個連續(xù)存儲器段。分配數(shù)據(jù)41是服務器存儲器數(shù)據(jù)40在物理地址空間210中的實際存儲器段。將服務器存儲器數(shù)據(jù)40映射到分配數(shù)據(jù)41的一個或者多個段。
[0042]圖3示出用于圖1的系統(tǒng)的具體配置的示例。主機服務器I包括處理器12、用于服務器存儲器數(shù)據(jù)的DRAM存儲器11、用于服務器存儲器數(shù)據(jù)的快閃存儲器14和用于管理本地和遠程分級存儲器地址空間的地址映射表16。主機服務器I具有用于訪問遠程分級存儲器地址空間的遠程存儲器接口 15和用于訪問儲裝置2中存儲的數(shù)據(jù)的塊I / 0接口 13。存儲裝置2包括處理器22、數(shù)據(jù)存儲庫28、用于存儲數(shù)據(jù)存儲庫28的分級存儲器空間和高速緩存存儲器的DRAM存儲器21、用于存儲數(shù)據(jù)存儲庫28的分級存儲器空間和高速緩存存儲器的快閃存儲器24、遠程存儲器接口 25、塊I / 0接口 23、用于將存儲裝置2的DRAM /快閃存儲器分區(qū)成服務器存儲數(shù)據(jù)區(qū)域和存儲裝置高速緩存存儲器區(qū)域以及服務器存儲器分配表27的存儲器分區(qū)表26。
[0043]圖4示出存儲系統(tǒng)中的存儲器分區(qū)的示例。存儲系統(tǒng)2具有大容量DRAM存儲器21和快閃存儲器24。存儲器分區(qū)表26管理劃分用于存儲塊訪問數(shù)據(jù)高速緩存的存儲裝置高速緩存存儲器區(qū)域110和用于服務器物理存儲器地址空間的服務器存儲器數(shù)據(jù)區(qū)域100。
[0044]圖5示出用于圖3和4的配置的DRAM和快閃存儲器分級和遠程訪問的存儲器地址映射的示例。在主機分配邏輯存儲器地址空間(OS虛擬地址空間)中的服務器存儲器數(shù)據(jù)40時,主機OS映射到本地DRAM或者PRAM存儲器地址空間210、遠程DRAM或者PRAM地址空間220、本地快閃地址空間230或者遠程快閃地址空間240。在主機服務器I分配服務器存儲器數(shù)據(jù)40時,主機OS基于對本地DRAM存儲器21的所需最高訪問頻率發(fā)出存儲器分配系統(tǒng)調用。在主機OS或者應用無需存儲器訪問的最高性能時,主機OS向快閃存儲器24或者遠程DRAM地址空間220或者遠程快閃地址空間240分配服務器存儲器數(shù)據(jù)區(qū)域。主機OS管理地址映射表16以分配物理存儲器地址空間(210-240)的區(qū)域。
[0045]圖6示出具有多個存儲系統(tǒng)的系統(tǒng)的硬件配置的示例。在這一計算機環(huán)境中,月艮務器I具有與圖3中的組成相同的組成,并且每個存儲裝置2具有與圖3中的組成相同的組成。包括多個存儲系統(tǒng)的這一實施例使用存儲裝置DRAM存儲器21和存儲裝置快閃存儲器24來創(chuàng)建服務器存儲器數(shù)據(jù)的“分布式物理地址空間”50。從多個存儲系統(tǒng)2中的每個存儲系統(tǒng)中的存儲裝置高速緩存存儲器空間分離分布式物理地址空間50。
[0046]圖7示出用于圖6的配置的DRAM和快閃存儲器分級以及遠程訪問的存儲器地址映射的示例。主機40的邏輯存儲器地址200共享遠程DRAM地址空間的物理存儲器地址空間220和遠程快閃地址空間的物理存儲器地址空間240。存在一個邏輯存儲器地址#1200、分離的遠程DRAM地址空間220a、220b和分離的遠程快閃地址空間240a、240b。
[0047]圖8示出具有多個服務器和多個存儲系統(tǒng)的系統(tǒng)的硬件配置的示例。在這一計算機環(huán)境中,多個服務器I共享分布式物理地址空間50作為服務器存儲器容量池。
[0048]圖9示出用于圖8的DRAM和快閃存儲器分級以及遠程訪問的存儲器地址映射的示例。兩個主機的多個邏輯存儲器地址200a和200b共享遠程DRAM地址空間的物理存儲器地址空間220和遠程快閃地址空間的物理存儲器地址空間240。存在分離的邏輯存儲器地址#1200a和#2200b、分離的邏輯DRAM地址空間210a、210b和分離的邏輯快閃地址空間230a、230b。
[0049]圖10示出主機服務器I中的設備發(fā)現(xiàn)表17的示例。遠程設備字段91是遠程存儲器設備的本地地址(本地RAM或者快閃存儲器)或者標識、比如Inifiniband (注冊商標)名稱標識符。存儲器設備類型字段92包含諸如DRAM、PRAM或者快閃存儲器之類的存儲器介質類型。分配容量字段93包含物理存儲器地址空間服務器分配的本地或者遠程分配容量。
[0050]圖11示出主機服務器I中的地址映射表16的示例。虛擬存儲器地址字段101是主機OS虛擬地址空間200的地址空間。遠程設備字段102是遠程存儲器設備的本地地址(本地RAM或者快閃存儲器)或者諸如Inifiniband (注冊商標)名稱標識符之類的標識。存儲器設備類型字段103包含諸如DRAM、PRAM或者快閃之類的存儲器介質類型。分配物理存儲器地址字段104包含本地或者遠程物理存儲器地址。
[0051]圖12示出存儲裝置2中的存儲器分區(qū)表26的示例。存儲器分區(qū)表26將存儲裝置的DRAM存儲器或者快閃存儲器劃分成服務器存儲器數(shù)據(jù)區(qū)域和存儲裝置高速緩存數(shù)據(jù)區(qū)域。物理存儲器地址字段111包含存儲裝置快閃存儲器或者存儲裝置DRAM存儲器的物理存儲器地址。存儲器設備類型字段112包含諸如DRAM、PRAM或者快閃之類的存儲器介質類型。分區(qū)類型字段113包含存儲裝置高速緩存存儲器區(qū)域或者服務器存儲器數(shù)據(jù)區(qū)域的存儲器區(qū)域類型。遠程設備字段114包含遠程主機服務器的標識、比如Inifiniband(注冊商標)名稱標識符。
[0052]圖13示出存儲裝置2中的服務器存儲器分配表27的示例。服務器存儲器分配表27使得能夠在多個服務器之中共享服務器存儲數(shù)據(jù)的物理地址空間。遠程設備字段121包含遠程主機服務器的標識、比如Inifiniband(注冊商標)名稱標識符。存儲器設備類型字段122包含諸如DRAM、PRAM或者快閃存儲器之類的存儲器本地資源介質類型。物理存儲器地址字段123包含本地物理存儲器地址。
[0053]圖14是圖示存儲器設備發(fā)現(xiàn)和初始化過程的過程流程的流程圖的示例。在網(wǎng)絡51檢測到新服務器或者存儲設備時,網(wǎng)絡51通知所有設備。然后主機服務器I發(fā)現(xiàn)具有遠程存儲器設備能力的新存儲設備2 (步驟S131)。主機服務器I向設備發(fā)現(xiàn)表17的遠程設備條目91添加遠程存儲器設備資源(圖10)。在步驟S132中,主機服務器I獲得用于每個新發(fā)現(xiàn)遠程存儲器設備的每個介質類型的容量信息并且構造設備發(fā)現(xiàn)表17的存儲器類型條目92和分配容量條目93。在步驟S136中,存儲裝置2向參考存儲器分區(qū)表26返回容量信息。存儲器分區(qū)表包含主機用于遠程物理存儲器的遠程物理存儲器可用容量。在S136中,存儲裝置返回遠程物理存儲器的容量信息。在步驟S133中,主機服務器I確定哪個主機服務器具有足夠存儲器容量或者存儲器性能。如果容量或者性能足夠(是),則程序跳過步驟S134并且前進至步驟S135。否則,程序執(zhí)行步驟S134,在該步驟中,主機服務器I請求向特定存儲器類型分配更多容量。在存儲裝置2接收請求時,存儲裝置2返回具有存儲器類型和分配容量的良好結果。如果存儲裝置2無用于向主機服務器分配任何容量的更多資源,則存儲裝置返回具有容量缺乏錯誤的不良狀態(tài)。在步驟S135中,主機OS更新存儲器容量。主機OS動態(tài)更新物理容量而無OS重新引導或者關停過程。
[0054]圖15是圖示存儲器設備發(fā)現(xiàn)和初始化過程的過程流程的流程圖的示例。在步驟S141中,管理員停止服務器OS,或者運行主機服務器I的應用程序發(fā)出釋放存儲器調用。在步驟S142中,存儲裝置2收回與主機服務器對應的存儲器。在步驟S143中,如果主機服務器I的遠程存儲器接口被停止,則存儲裝置2去除服務器存儲器分配表27 (圖13)的具體服務器設備(遠程設備)條目的條目。
[0055]圖16是圖示服務器存儲器分配(alloc)過程流程的流程圖的示例。在步驟S151中,主機OS請求新服務器存儲器數(shù)據(jù)。主機I的應用向主機發(fā)出存儲器分配系統(tǒng)調用。在步驟S152中,如果主機服務器的本地存儲器具有充分容量(是),則主機OS分配本地存儲器并且前進至步驟S156。如果主機服務器的本地存儲器無充分容量或者更高性能存儲器容量、比如DRAM不足(否),則程序在步驟S156之前執(zhí)行步驟S153至S155。
[0056]在步驟S153中,主機服務器I使用設備發(fā)現(xiàn)表17來檢查遠程存儲器容量。如果遠程存儲器可用(是),則下一步驟是S154。如果遠程存儲器不可用(否),則存儲器分配已經(jīng)失敗并且主機OS需要交換操作以擴展全部存儲器的容量。交換操作是用于向文件塊移動存儲器數(shù)據(jù)并且存儲到塊存儲裝置的數(shù)據(jù)存儲庫的虛擬存儲器地址映射。在步驟S154中,主機存儲器向存儲裝置存儲器接口發(fā)出遠程存儲器綁定請求、比如RDMA操作存儲器分配功能。主機請求與遠程DRAM區(qū)域或者遠程快閃區(qū)域的所需容量和存儲器性能或者存儲器分配位置范圍綁定的存儲器。在步驟S155中,存儲裝置2更新服務器存儲器分配表27,并且返回主機請求特定性能或者遠程存儲器地址空間的遠程DRAM或者快閃地址空間的物理存儲器地址。存儲裝置返回具有映射地址信息的存儲器綁定結果。在步驟S156中,主機OS更新地址映射表16以分配本地或者遠程存儲器。應用用來訪問使用RDMA映射到本地存儲器區(qū)域或者遠程存儲器區(qū)域的服務器存儲器數(shù)據(jù)。
[0057]圖17是圖示服務器存儲器收回(釋放)系統(tǒng)調用過程流程的流程圖的示例。在步驟S161中,主機OS請求釋放服務器存儲器數(shù)據(jù)。主機I的應用向主機OS發(fā)出存儲器收回(存儲器釋放)系統(tǒng)調用。在步驟S162中,如果分配區(qū)域是主機服務器的本地存儲器(是),則主機OS收回本地存儲器并且前進至步驟S166。如果分配區(qū)域是遠程存儲器(否),則程序在步驟S166之前執(zhí)行步驟S163至S165。
[0058]在步驟S163中,主機存儲器向存儲裝置2的遠程存儲器接口 25發(fā)出遠程存儲器釋放請求。在步驟S164中,存儲裝置2使用設備發(fā)現(xiàn)表17來檢查遠程存儲器容量。如果分配遠程存儲器(是),則下一步驟是S165。如果未分配遠程存儲器(否),則存儲器釋放請求已經(jīng)由于違反存儲器地址而失敗。存儲裝置2的遠程存儲器接口 25返回具有存儲器違反錯誤響應的結果,并且繼而主機OS執(zhí)行存儲器錯誤處置。在步驟S165中,存儲裝置2更新服務器存儲器分配表27以去除存儲器釋放請求的具體條目和返回結果。在步驟S166中,主機OS更新地址映射表16以去除特定遠程存儲器分配條目、并且繼而收回本地或者遠程存儲器。主機服務器的虛擬存儲器地址空間清理服務器存儲器數(shù)據(jù)。[0059]圖18是圖示存儲器讀取操作的流程圖的示例。主機I向存儲裝置2發(fā)出存儲器讀取操作。存儲裝置針對分配的物理地址123檢查服務器存儲器分配表27、向主機發(fā)送來自服務器存儲器數(shù)據(jù)區(qū)域100的讀取的數(shù)據(jù)并且向主機返回存儲器讀取操作的結果。從存儲裝置向主機的數(shù)據(jù)傳送在存儲裝置向主機發(fā)送來自服務器存儲器數(shù)據(jù)區(qū)域100的讀取的數(shù)據(jù)時出現(xiàn)。
[0060]圖19是圖示存儲器寫入操作的流程圖的示例。主機I向存儲裝置2發(fā)出存儲器寫入操作。存儲裝置針對分配的物理地址123檢查服務器存儲器分配表27、從主機向存儲裝置的服務器存儲器數(shù)據(jù)區(qū)域100讀取數(shù)據(jù)并且向主機返回存儲器寫入操作的結果。從存儲裝置向數(shù)據(jù)并且往回向存儲裝置的數(shù)據(jù)傳送在存儲裝置從主機向存儲裝置的服務器存儲器數(shù)據(jù)區(qū)域100讀取數(shù)據(jù)時出現(xiàn)。這一流程用于“服務器向遠程存儲器寫入服務器本地存儲器中的存儲器數(shù)據(jù)”。服務器經(jīng)由RDMA接口向存儲裝置發(fā)出存儲器寫入命令。在下一步驟中,存儲裝置接收RDMA存儲器寫入命令。存儲裝置針對分配的物理地址123檢查服務器存儲器分配表27。然后,存儲裝置獲得(讀取)已經(jīng)在服務器本地存儲器中存在的寫入數(shù)據(jù)(主機寫入數(shù)據(jù))。目標啟動RDMA數(shù)據(jù)傳送操作。主機向存儲裝置發(fā)送寫入存儲器數(shù)據(jù)。存儲裝置執(zhí)行RDMA寫入操作以讀取主機本地存儲器數(shù)據(jù)。
[0061]圖20是圖示塊I / 0寫入操作的流程圖的示例。主機I向存儲裝置2發(fā)出塊I /0寫入操作。存儲裝置針對分區(qū)類型113 (存儲裝置高速緩存)和物理存儲器地址111檢查存儲器分區(qū)表26并且向主機I通知它何時準備好用于數(shù)據(jù)傳送。作為響應,主機向存儲裝置發(fā)送寫入數(shù)據(jù)。存儲裝置向存儲高速緩存區(qū)域110存儲寫入數(shù)據(jù)、向主機返回塊I / 0寫入操作的結果并且向數(shù)據(jù)存儲庫28轉送(destage)來自存儲高速緩存區(qū)域110的臟數(shù)據(jù)。從主機向存儲裝置的數(shù)據(jù)傳送在主機向存儲裝置發(fā)送寫入數(shù)據(jù)時出現(xiàn)。
[0062]圖21是圖示塊I / 0讀取操作的流程圖的示例。主機I向存儲裝置2發(fā)送塊I /0讀取操作。存儲裝置針對分區(qū)類型113 (存儲裝置高速緩存)和物理存儲器地址111檢查存儲器分區(qū)表26、執(zhí)行讀取的數(shù)據(jù)從數(shù)據(jù)存儲庫28向高速緩沖存儲器區(qū)域110的臨時存儲(stage)、向主機發(fā)送塊讀取I / 0數(shù)據(jù)并且向主機返回塊I / 0讀取操作的結果。從存儲裝置向主機的數(shù)據(jù)傳送在存儲裝置向主機返回塊讀取I/0數(shù)據(jù)時出現(xiàn)。
[0063]當然,圖1、6和7中所示系統(tǒng)配置僅純粹舉例說明其中可以實施本發(fā)明的信息系統(tǒng),并且本發(fā)明不限于具體硬件配置。實施本發(fā)明的計算機和存儲系統(tǒng)也可以具有已知I / 0設備(例如⑶和DVD驅動、軟盤驅動、硬盤驅動等),這些I / 0設備可以存儲和讀取用來實施以上描述的本發(fā)明的模塊、程序和數(shù)據(jù)結構??梢栽谶@樣的計算機可讀介質上編碼這些模塊、程序和數(shù)據(jù)結構。例如可以與在本發(fā)明中使用的程序駐留于其上的一個或者多個計算機可讀介質獨立地在計算機可讀介質上存儲本發(fā)明的數(shù)據(jù)結構。任何形式或者介質的數(shù)字數(shù)據(jù)通信、例如通信網(wǎng)絡可以互連系統(tǒng)的部件。通信網(wǎng)絡的示例包括局域網(wǎng)、廣域網(wǎng)、例如因特網(wǎng)、無線網(wǎng)絡、存儲區(qū)域網(wǎng)絡等。
[0064]在說明書中,出于說明的目的而闡述許多細節(jié)以便提供本發(fā)明的透徹理解。然而本領域技術人員將清楚,這些具體細節(jié)中的并非所有具體細節(jié)是為了實現(xiàn)本發(fā)明而需要的。也注意可以描述本發(fā)明為如下過程,通常描繪該過程為過程圖、流程圖、結構圖或者框圖。雖然流程圖可以描述操作為依次過程,但是可以并行或者并發(fā)執(zhí)行操作中的許多操作。此外,可以重排操作的順序。[0065]如本領域所知,以上描述的操作可以由硬件、軟件或者軟件和硬件的某一組合執(zhí)行。可以使用電路和邏輯器件(硬件)來實施本發(fā)明的實施例的各種方面,而可以使用機器可讀介質上存儲的指令(軟件)來實施其它方面,這些指令如果由處理器執(zhí)行則將使處理器執(zhí)行用于實現(xiàn)本發(fā)明的實施例的方法。另外,可以僅在硬件中實現(xiàn)本發(fā)明的一些實施例,而可以僅在軟件中實施其它實施例。另外,可以在單個單元中執(zhí)行描述的各種功能或者可以用任何數(shù)目的方式跨越多個部件散布這些功能。在由軟件執(zhí)行時,處理器、比如通用計算機可以基于計算機可讀介質上存儲的指令執(zhí)行方法。如果需要,則可以用壓縮和/或加密格式在介質上存儲指令。
[0066]從前文將清楚本發(fā)明提供用于使用RDMA技術在服務器與存儲系統(tǒng)之間的分級存儲器管理的在計算機可讀介質上存儲的方法、裝置和程序。此外,盡管已經(jīng)在本說明書中圖示和描述具體實施例,但是本領域普通技術人員理解可以用被設計用于實現(xiàn)相同目的的任何布置替換公開的具體實施例。本公開內容旨在于覆蓋本發(fā)明的任何和所有適配或者變化,并且將理解不應解釋所附權利要求中使用的措詞使本發(fā)明限于在說明書中公開的具體實施例。實際上,本發(fā)明的范圍將完全由將根據(jù)建立的權利要求解釋原則解釋的所附權利要求以及向這樣的權利要求給予的完全等效范圍確定。
【權利要求】
1.一種存儲系統(tǒng),包括: 第一類型接口,其可操作用于使用遠程存儲器訪問來與服務器通信; 第二類型接口,其可操作用于使用塊I / O(輸入/輸出)訪問來與所述服務器通信; 存儲器;以及 控制器,其可操作用于管理:(I)分配用于存儲數(shù)據(jù)的所述存儲器的存儲區(qū)域的第一部分,被存儲的數(shù)據(jù)將被存儲在由所述服務器上的操作系統(tǒng)所管理的物理地址空間中,并且所述被存儲的數(shù)據(jù)從所述服務器經(jīng)由所述第一類型接口而發(fā)送;以及(2)分配用于高速緩存數(shù)據(jù)的所述存儲器的所述存儲區(qū)域的第二部分,被高速緩存的數(shù)據(jù)從所述服務器經(jīng)由所述第二類型接口向所述存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在所述存儲系統(tǒng)的與所述邏輯卷相對應的存儲設備中。
2.根據(jù)權利要求1所述的存儲系統(tǒng), 其中所述控制器可操作用于管理所述存儲系統(tǒng)中的所述存儲器的每個介質類型的容量信息。
3.根據(jù)權利要求1所述的存儲系統(tǒng), 其中所述存儲器包括DRAM存儲器或者快閃存儲器中的至少一個存儲器。
4.根據(jù)權利要求 1所述的存儲系統(tǒng), 其中所述控制器可操作用于管理(3)分配用于存儲數(shù)據(jù)的所述存儲器的存儲區(qū)域的第三部分,被存儲的數(shù)據(jù)將被存儲在由另一服務器上的操作系統(tǒng)所管理的物理地址空間中,并且所述被存儲的數(shù)據(jù)從所述另一服務器經(jīng)由所述第一類型接口發(fā)送,以及管理分配用于高速緩存數(shù)據(jù)的所述存儲器的所述存儲區(qū)域的所述第二部分,被高速緩存的數(shù)據(jù)從所述另一服務器經(jīng)由所述第二類型接口向所述存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在所述存儲系統(tǒng)的與所述邏輯卷相對應的存儲設備中。
5.根據(jù)權利要求1所述的存儲系統(tǒng), 其中所述控制器可操作用于響應于來自所述服務器的請求,向所述服務器提供所述存儲系統(tǒng)中的所述存儲器的存儲區(qū)域的所述第一部分的每個介質類型的容量信息。
6.根據(jù)權利要求1所述的存儲系統(tǒng), 其中所述控制器可操作用于如果所述服務器的用于與所述第一類型接口通信的遠程存儲器接口被停止,則從服務器存儲器分配表的條目去除所述服務器,所述服務器存儲器分配表存儲關于由所述存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息。
7.根據(jù)權利要求1所述的存儲系統(tǒng), 其中所述控制器可操作用于響應于來自所述服務器的具有所需容量和存儲器性能之一或者所述存儲器的存儲區(qū)域的所述第一部分的存儲器分配位置范圍的遠程存儲器綁定請求,向所述服務器返回具有映射地址信息的存儲器綁定結果。
8.根據(jù)權利要求1所述的存儲系統(tǒng), 其中所述控制器可操作用于響應于來自所述服務器的遠程釋放請求,從服務器存儲器分配表的條目去除所述服務器,所述服務器存儲器分配表存儲關于由所述存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息。
9.一種用于存儲系統(tǒng)的存儲器管理的方法,所述存儲系統(tǒng)具有:第一類型接口,其可操作用于使用遠程存儲器訪問來與服務器通信;第二類型接口,其可操作用于使用塊I /0(輸入/輸出)訪問來與所述服務器通信;以及存儲器,所述方法包括: 管理:(1)分配用于存儲數(shù)據(jù)的所述存儲器的存儲區(qū)域的第一部分,被存儲的數(shù)據(jù)將被存儲在由所述服務器上的操作系統(tǒng)所管理的物理地址空間中,并且所述被存儲的數(shù)據(jù)從所述服務器經(jīng)由所述第一類型接口發(fā)送;以及(2)分配用于高速緩存數(shù)據(jù)的所述存儲器的所述存儲區(qū)域的第二部分,被高速緩存的數(shù)據(jù)從所述服務器經(jīng)由所述第二類型接口向所述存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在所述存儲系統(tǒng)的與所述邏輯卷相對應的存儲設備中。
10.根據(jù)權利要求9所述的方法,還包括: 管理(3)分配用于存儲數(shù)據(jù)的所述存儲器的存儲區(qū)域的第三部分,被存儲的數(shù)據(jù)將被存儲在由另一服務器上的操作系統(tǒng)所管理的物理地址空間中,并且所述被存儲的數(shù)據(jù)從所述另一服務器經(jīng)由所述第一類型接口發(fā)送,以及管理分配用于高速緩存數(shù)據(jù)的所述存儲器的所述存儲區(qū)域的所述第二部分,被高速緩存的數(shù)據(jù)從所述另一服務器經(jīng)由所述第二類型接口向所述存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在所述存儲系統(tǒng)的與所述邏輯卷相對應的存儲設備中。
11.根據(jù)權利要求9所述的方法,還包括: 響應于來自所述服務器的請求,向所述服務器提供所述存儲系統(tǒng)中的所述存儲器的存儲區(qū)域的所述第一部分的每個介質類型的容量信息。
12.根據(jù)權利要求9所述的方法,還包括: 如果所述服務器的用于與所述第一類型接口通信的遠程存儲器接口被停止,或者如果從所述服務器接收到遠程釋放請求,則從服務器存儲器分配表的條目去除所述服務器,所述服務器存儲器分配表存儲關于由所述存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息。
13.根據(jù)權利要求9所述的方法,還包括: 響應于來自所述服務器的具有所需容量和存儲器性能之一或者所述存儲器的存儲區(qū)域的所述第一部分的存儲器分配位置范圍的遠程存儲器綁定請求,向所述服務器返回具有映射地址信息的存儲器綁定結果。
14.一種存儲多個指令的計算機可讀存儲介質,所述多個指令用于控制數(shù)據(jù)處理器以管理用于存儲系統(tǒng)的存儲器,所述存儲系統(tǒng)具有:第一類型接口,其可操作用于使用遠程存儲器訪問來與服務器通信;第二類型接口,其可操作用于使用塊I / 0(輸入/輸出)訪問來與所述服務器通信;以及存儲器,所述多個指令包括: 使所述數(shù)據(jù)處理器管理以下各項的指令:(I)分配用于存儲數(shù)據(jù)的所述存儲器的存儲區(qū)域的第一部分,被存儲的數(shù)據(jù)將被存儲在由所述服務器上的操作系統(tǒng)所管理的物理地址空間中,并且所述被存儲的數(shù)據(jù)從所述服務器經(jīng)由所述第一類型接口發(fā)送;以及(2)分配用于高速緩存數(shù)據(jù)的所述存儲器的所述存儲區(qū)域的第二部分,被高速緩存的數(shù)據(jù)從所述服務器經(jīng)由所述第二類型接口向所述存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在所述存儲系統(tǒng)的與所述邏輯卷相對應的存儲設備中。
15.根據(jù)權利要求14所述的計算機可讀存儲介質,其中所述多個指令還包括: 使所述數(shù)據(jù)處理器管理所述存儲系統(tǒng)中的所述存儲器的每個介質類型的容量信息的指令;其中所述存儲器包括DRAM存儲器或者快閃存儲器中的至少一個。
16.根據(jù)權利要求14所述的計算機可讀存儲介質,其中所述多個指令還包括: 使所述數(shù)據(jù)處理器管理(3)分配用于存儲數(shù)據(jù)的所述存儲器的存儲區(qū)域的第三部分的指令,被存儲的數(shù)據(jù)將被存儲在由另一服務器上的操作系統(tǒng)所管理的物理地址空間中,并且所述被存儲的數(shù)據(jù)從所述另一服務器經(jīng)由所述第一類型接口發(fā)送,以及使所述數(shù)據(jù)處理器管理分配用于高速緩存數(shù)據(jù)的所述存儲器的所述存儲區(qū)域的所述第二部分的指令,被高速緩存的數(shù)據(jù)從所述另一服務器經(jīng)由所述第二類型接口向所述存儲系統(tǒng)的邏輯卷發(fā)送,并且所述被高速緩存的數(shù)據(jù)將被存儲在所述存儲系統(tǒng)的與所述邏輯卷相對應的存儲設備中。
17.根據(jù)權利要求14所述的計算機可讀存儲介質,其中所述多個指令還包括: 使所述數(shù)據(jù)處理器響應于來自所述服務器的請求,向所述服務器提供所述存儲系統(tǒng)中的所述存儲器的存儲區(qū)域的所述第一部分的每個介質類型的容量信息的指令。
18.根據(jù)權利要求14所述的計算機可讀存儲介質,其中所述多個指令還包括: 如果所述服務器的用于與所述第一類型接口通信的遠程存儲器接口被停止,則使所述數(shù)據(jù)處理器從服務器存儲器分配表的條目去除所述服務器的指令,所述服務器存儲器分配表存儲關于由所述存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息。
19.根據(jù)權利要求14所述的計算機可讀存儲介質,其中所述多個指令還包括: 使所述數(shù)據(jù)處理器響應于來自所述服務器的具有所需容量和存儲器性能之一或者所述存儲器的存儲區(qū)域的所述第一部分的存儲器分配位置范圍的遠程存儲器綁定請求,向所述服務器返回具有映射地址信息的存儲器綁定`結果的指令。
20.根據(jù)權利要求14所述的計算機可讀存儲介質,其中所述多個指令還包括: 使所述數(shù)據(jù)處理器響應于來自所述服務器的遠程釋放請求,從服務器存儲器分配表的條目去除所述服務器的指令,所述服務器存儲器分配表存儲關于由所述存儲系統(tǒng)為一個或者多個服務器分配的存儲器的信息。
【文檔編號】H04L29/08GK103699496SQ201310447130
【公開日】2014年4月2日 申請日期:2013年9月24日 優(yōu)先權日:2012年9月27日
【發(fā)明者】中嶋昭夫, 出口彰 申請人:株式會社日立制作所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1