智能主動(dòng)-主動(dòng)式高可用性das系統(tǒng)的制作方法
【專利摘要】智能主動(dòng)-主動(dòng)式高可用性DAS系統(tǒng)。高可用性DAS系統(tǒng)采用固態(tài)緩存以在DAS集群中提供主動(dòng)-主動(dòng)性能,同時(shí)保留了主動(dòng)-被動(dòng)或雙主動(dòng)系統(tǒng)的簡(jiǎn)單實(shí)現(xiàn)。集群中的每個(gè)節(jié)點(diǎn)可能包括一個(gè)在主動(dòng)-主動(dòng)模式下存儲(chǔ)熱I/O的固態(tài)緩存,只有當(dāng)“熱區(qū)”的訪問入口冷卻或高速緩存缺失的情況下,允許數(shù)據(jù)被讀取或?qū)懭氲降讓拥碾p主動(dòng)或主動(dòng)/被動(dòng)DASRAID系統(tǒng)。熱I/O數(shù)據(jù)包括動(dòng)態(tài)累計(jì)的熱讀取數(shù)據(jù),不管永久存儲(chǔ)熱讀取數(shù)據(jù)的驅(qū)動(dòng)器的控制權(quán)。熱I/O數(shù)據(jù)還包括熱寫數(shù)據(jù),其鏡像整個(gè)固態(tài)高速緩沖存儲(chǔ)器以避免潛在的廢寫數(shù)據(jù)沖突并在服務(wù)器出現(xiàn)故障的情況下提供高可用性。
【專利說明】智能主動(dòng)-主動(dòng)式高可用性DAS系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)的高可用集群系統(tǒng),尤其涉及一種采用固態(tài)緩存用以在雙主動(dòng)式或主動(dòng)式/被動(dòng)式DAS RAID系統(tǒng)中提供近似主動(dòng)-主動(dòng)的性能的高可用性DAS系統(tǒng)。
【背景技術(shù)】
[0002]目前,為了防止磁盤故障并保護(hù)磁盤,已經(jīng)進(jìn)行了獨(dú)立磁盤冗余陣列(RAID)系統(tǒng)的開發(fā)。然而,由于自定義的數(shù)據(jù)存儲(chǔ)系統(tǒng)是嵌入到服務(wù)器中的,直接連接存儲(chǔ)(DAS)RAID控制器針對(duì)服務(wù)器的故障不能起到預(yù)防作用。如果服務(wù)器停止工作,RAID控制器也將停止工作,直到服務(wù)器和RAID控制器恢復(fù)之前,存儲(chǔ)數(shù)據(jù)將暫時(shí)無法使用。為了應(yīng)對(duì)這一問題,擁有關(guān)鍵數(shù)據(jù)的企業(yè)客戶通常采用包括兩個(gè)或多個(gè)服務(wù)器節(jié)點(diǎn)的高可用性DAS集群,各有一個(gè)帶有RAID控制器的嵌入式DAS系統(tǒng),所述RAID控制器依次連接到一個(gè)外殼中的同一組磁盤。所述磁盤單獨(dú)供電,即使服務(wù)器停止工作,其他服務(wù)器的RAID系統(tǒng)也能在無干擾模式中讀取磁盤為IO提供服務(wù)。
[0003]當(dāng)多個(gè)服務(wù)器試圖訪問同一驅(qū)動(dòng)器上存儲(chǔ)的數(shù)據(jù)時(shí),這些多服務(wù)器的DAS集群會(huì)導(dǎo)致多啟動(dòng)程序問題的產(chǎn)生。這個(gè)問題的傳統(tǒng)解決方案包括雙主動(dòng)配置,其中的每個(gè)驅(qū)動(dòng)器只屬于一臺(tái)服務(wù)器,它提供了訪問自己獨(dú)有驅(qū)動(dòng)器的控制權(quán)。雖然這種方法避免了多啟動(dòng)程序沖突,但是它會(huì)形成服務(wù)器之間的高容量的數(shù)據(jù)(IO)傳送?;蛘?,驅(qū)動(dòng)器可以配置為主動(dòng)-被動(dòng)配置,在同一時(shí)間只有一個(gè)服務(wù)器是活躍的,且只有當(dāng)?shù)谝环?wù)器出現(xiàn)故障時(shí),第二服務(wù)器才開始工作。由于發(fā)送到非擁有磁盤的IO需要被運(yùn)到其他服務(wù)器,因此當(dāng)上層發(fā)送IO到兩個(gè)服務(wù)器時(shí),這兩種方法都有缺點(diǎn)。
[0004]因此,有必要繼續(xù)改進(jìn)高可用性DAS系統(tǒng)。更具體地說,是需要改進(jìn)DAS群集以克服傳統(tǒng)的主動(dòng)-被動(dòng)式和雙主動(dòng)式DAS群集的缺點(diǎn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種采用固態(tài)緩存的高可用性DAS系統(tǒng),以在DAS集群中提供智能主動(dòng)-主動(dòng)性能。集群中的每個(gè)節(jié)點(diǎn)都可能包括在主動(dòng)-主動(dòng)模式下存儲(chǔ)(緩存)有“熱I/O” (I/ O訪問最頻繁的磁盤位置)的固態(tài)高速緩存,只有當(dāng)一個(gè)高速緩存缺失時(shí),才允許數(shù)據(jù)被讀取或?qū)懭胂嚓P(guān)雙主動(dòng)或主動(dòng)/被動(dòng)DAS RAID系統(tǒng),即數(shù)據(jù)不在SSD緩存中尋找,需從底層的硬盤驅(qū)動(dòng)器中提取。熱I / O數(shù)據(jù)包括動(dòng)態(tài)積累的熱讀取數(shù)據(jù),而不管永久存儲(chǔ)熱讀取數(shù)據(jù)的直接連接驅(qū)動(dòng)器。此外,熱I / O數(shù)據(jù)還包括跨兩臺(tái)服務(wù)器的固態(tài)高速緩沖存儲(chǔ)器鏡像的熱寫數(shù)據(jù),這樣在服務(wù)器出現(xiàn)故障的情況下,廢數(shù)據(jù)可以由幸存的服務(wù)器提供,也避免了潛在的廢寫數(shù)據(jù)沖突。本發(fā)明可以但不必在雙主動(dòng)或主動(dòng)-被動(dòng)的RAID系統(tǒng)中的一個(gè)DAS集群上實(shí)施。
[0006]更具體地說,“熱讀”數(shù)據(jù)存儲(chǔ)在只取決于所讀IO來源的每個(gè)節(jié)點(diǎn)上的固態(tài)高速緩沖存儲(chǔ)器上,與底層VD的控制權(quán)無關(guān)。例如,假設(shè)服務(wù)器A擁有VD,但大多數(shù)IO連接到了服務(wù)器B,在這種情況下,讀取緩存將積聚在服務(wù)器B,而不是在服務(wù)器A。對(duì)于一個(gè)緩存命中,緩存讀取數(shù)據(jù)將被直接送達(dá)從服務(wù)器B的高速緩存中,而不需要通過IO發(fā)送到服務(wù)器A。該系統(tǒng)允許基于使用模式動(dòng)態(tài)的建立熱讀取數(shù)據(jù),不管其是否為永久存儲(chǔ)熱讀數(shù)據(jù)的物理連接驅(qū)動(dòng)器所控制。這消除了熱讀數(shù)據(jù)的多個(gè)運(yùn)送處理,不管哪個(gè)節(jié)點(diǎn)控制永久存儲(chǔ)熱讀數(shù)據(jù)的驅(qū)動(dòng)器。
[0007]對(duì)于熱寫數(shù)據(jù),固態(tài)存儲(chǔ)器的每個(gè)節(jié)點(diǎn)上包含任何廢數(shù)據(jù)的鏡像副本。這維持了服務(wù)器之間的廢數(shù)據(jù)的完整性,直到它被寫入到永久存儲(chǔ)器,同時(shí)允許每個(gè)節(jié)點(diǎn)在自己的固態(tài)高速緩存中存儲(chǔ)寫數(shù)據(jù),不管是哪個(gè)服務(wù)器擁有永久存儲(chǔ)數(shù)據(jù)的物理驅(qū)動(dòng)器。雖然固態(tài)高速緩存技術(shù)可以應(yīng)用于熱讀數(shù)據(jù)或僅僅是熱寫數(shù)據(jù),但是本發(fā)明最大有益效果來自于熱讀取和熱寫數(shù)據(jù)的主動(dòng)-主動(dòng)緩存。
[0008]本發(fā)明還可以在DAS系統(tǒng)中實(shí)施,其中一臺(tái)服務(wù)器包含多個(gè)I/O控制器,每個(gè)控制器都有一組專用的連接數(shù)據(jù)驅(qū)動(dòng)器。此系統(tǒng)包括每個(gè)I/o控制器連接專用的單獨(dú)的超高速緩沖存儲(chǔ)器,它反過來介導(dǎo)訪問其專用的一組數(shù)據(jù)驅(qū)動(dòng)器。高速緩沖存儲(chǔ)器被配置以實(shí)施本發(fā)明的智能主動(dòng)-主動(dòng)式超高速緩沖存儲(chǔ)器系統(tǒng),其中熱讀取數(shù)據(jù)動(dòng)態(tài)的積累在每個(gè)高速緩存中,不管其控制權(quán)和跨高速緩沖存儲(chǔ)器鏡像的廢寫數(shù)據(jù)。單服務(wù)器、多個(gè)控制器DAS系統(tǒng)與多個(gè)服務(wù)器的DAS系統(tǒng)相似,除了單個(gè)服務(wù)器上執(zhí)行的多個(gè)控制器取代了不同的服務(wù)器上執(zhí)行的多個(gè)控制器。DAS系統(tǒng)可以類似的方式進(jìn)行其他操作。以該種方式,也可以在本發(fā)明所述的專用驅(qū)動(dòng)器的I/O控制器的任何一組間實(shí)施,而不管任何特定的服務(wù)器上實(shí)現(xiàn)的I/O控制器的數(shù)量。
[0009]應(yīng)清楚的是,前面的一般性描述和下面的詳細(xì)描述只是舉例和說明,并不是本發(fā)明的權(quán)利要求的必要限制。并入說明書中并構(gòu)成本說明書的一部分的附圖,說明本發(fā)明的實(shí)施例,與一般性的描述一起用于解釋本發(fā)明原理。
[0010]附圖簡(jiǎn)要說明
為了更好理解本發(fā)明的眾多有益效果,參考附圖中:
圖1是一種DAS主動(dòng)-主動(dòng)集群固態(tài)緩存的功能框圖。
[0011]圖2是利用主動(dòng)-主動(dòng)固態(tài)緩存系統(tǒng)對(duì)DAS群集的節(jié)點(diǎn)上存儲(chǔ)的數(shù)據(jù)的讀請(qǐng)求的數(shù)據(jù)流程圖。
[0012]圖3是利用主動(dòng)-主動(dòng)固態(tài)緩存系統(tǒng)對(duì)DAS群集對(duì)等體節(jié)點(diǎn)上存儲(chǔ)的數(shù)據(jù)的讀請(qǐng)求的數(shù)據(jù)流程圖。
[0013]圖4是利用主動(dòng)-主動(dòng)固態(tài)緩存系統(tǒng)對(duì)DAS群集節(jié)點(diǎn)上存儲(chǔ)的數(shù)據(jù)的寫請(qǐng)求的數(shù)據(jù)流程圖。
[0014]圖5是利用主動(dòng)-主動(dòng)固態(tài)緩存系統(tǒng)對(duì)DAS群集對(duì)等體節(jié)點(diǎn)上存儲(chǔ)的數(shù)據(jù)的寫請(qǐng)求的數(shù)據(jù)流程圖。
[0015]圖6是主動(dòng)-主動(dòng)式的超高速緩沖存儲(chǔ)器系統(tǒng)操作的邏輯流程圖。
[0016]圖7是具有多個(gè)I/O控制器的形成的具有主動(dòng)-主動(dòng)固態(tài)緩存的DAS集群的服務(wù)器的功能框圖。
【具體實(shí)施方式】
[0017]本發(fā)明可以具體化為被動(dòng)-主動(dòng)或雙主動(dòng)集群,具有位于群集的每個(gè)節(jié)點(diǎn)的主動(dòng)-主動(dòng)固態(tài)高速緩沖存儲(chǔ)器(SSD)。雖然為了方便描述,在下圖中所示和討論的均為兩臺(tái)服務(wù)器的DAS群集,但應(yīng)明白,本發(fā)明可以擴(kuò)展至任意數(shù)量節(jié)點(diǎn)的DAS系統(tǒng)。此外,“主機(jī)”通常是指接收一個(gè)I/O請(qǐng)求的服務(wù)器,“主控者”通常是指擁有物理存儲(chǔ)有I/O的物理驅(qū)動(dòng)器的服務(wù)器,而“對(duì)等”通常指的是在集群中的任何其他的服務(wù)器。雖然DAS節(jié)點(diǎn)通常被稱作為主機(jī),一個(gè)特定的I/O事務(wù)的所有者或?qū)Φ润w的節(jié)點(diǎn),名稱是相對(duì)的,任何節(jié)點(diǎn)都可以是一個(gè)特定的I/O事務(wù)的主機(jī),主控者或?qū)Φ润w的節(jié)點(diǎn),這取決于主體節(jié)點(diǎn)是否接收I/O的請(qǐng)求或是否控制請(qǐng)求的I/O永久處于的物理驅(qū)動(dòng)器。還應(yīng)清楚的是,圖示的實(shí)施例中,包括獨(dú)立磁盤冗余陣列(RAID)系統(tǒng)介導(dǎo)的DAS系統(tǒng)的示例應(yīng)用程序,且本發(fā)明可以應(yīng)用到利用由多臺(tái)服務(wù)器的DAS集群控制的磁盤存儲(chǔ)器的任何類型的系統(tǒng)或應(yīng)用程序。
[0018]在這種多服務(wù)器類型的高可用性DAS數(shù)據(jù)存儲(chǔ)系統(tǒng)中,直接連接驅(qū)動(dòng)器通常為兩個(gè)控制器(通常簡(jiǎn)稱為“處理器”,“服務(wù)器”,“啟動(dòng)程序”或“節(jié)點(diǎn)”)都可以訪問的光存儲(chǔ)驅(qū)動(dòng)器(由于“只是基本的舊驅(qū)動(dòng)器”,有時(shí)被稱為JB0DS)。然而,如果兩個(gè)控制器都試圖配置、旋轉(zhuǎn)預(yù)備、或發(fā)送I/O到同一個(gè)存儲(chǔ)設(shè)備,被稱為多啟動(dòng)程序問題的訪問沖突可能會(huì)出現(xiàn)。例如,一個(gè)啟動(dòng)程序可能在其他啟動(dòng)程序并不知道的情況下啟動(dòng)任務(wù)管理,超時(shí)后復(fù)位。然后其他節(jié)點(diǎn)可能啟動(dòng)另一個(gè)復(fù)位,導(dǎo)致“復(fù)位風(fēng)暴”。此外,有效的存儲(chǔ)管理要求帶寬談判在各種背景操作的控制器之間協(xié)同,如重建、重組、使一致等等。
[0019]雖然這些問題可能被服務(wù)器之間的協(xié)調(diào)和通信解決,但通信開銷很快就變得過重,代碼過于復(fù)雜。因此,DAS集群通常選擇主動(dòng)-被動(dòng)或雙主動(dòng)配置,以防止多啟動(dòng)程序沖突發(fā)生。在主動(dòng)-被動(dòng)配置中,兩個(gè)啟動(dòng)器被連接到所控制的驅(qū)動(dòng)器,但只有第一個(gè)啟動(dòng)器是主動(dòng)模式,而第二啟動(dòng)器保持在被動(dòng)模式。只有當(dāng)?shù)谝粋€(gè)啟動(dòng)器出于某種原因離線,第二個(gè)啟動(dòng)器才變?yōu)橹鲃?dòng)。因此,在主動(dòng)-被動(dòng)配置下的同一時(shí)間只有一個(gè)啟動(dòng)器是活躍的。雖然這種做法防止了多啟動(dòng)程序問題的產(chǎn)生,但它也使DAS控制器成為隨時(shí)無效的服務(wù)器之一 O
[0020]另外,在雙主動(dòng)配置下,兩個(gè)啟動(dòng)器在同一時(shí)間都是主動(dòng)的。為了避免多啟動(dòng)的問題,每個(gè)驅(qū)動(dòng)器可以只由潛在啟動(dòng)器節(jié)點(diǎn)(例如,服務(wù)器)中的一個(gè)控制(也簡(jiǎn)稱為“所擁有的”)。在這種情況下,位于非主控節(jié)點(diǎn)上的I/o不得不被運(yùn)到所屬節(jié)點(diǎn)。雖然這種做法也能有效消除多啟動(dòng)問題,但節(jié)點(diǎn)之間的I/o請(qǐng)求的傳輸會(huì)降低系統(tǒng)的性能,并在系統(tǒng)地使用兩個(gè)控制器擁有的驅(qū)動(dòng)器空間的配置中尤為嚴(yán)重。例如,當(dāng)每個(gè)物理驅(qū)動(dòng)器上的多個(gè)虛擬驅(qū)動(dòng)器和一個(gè)特定的物理驅(qū)動(dòng)器上的虛擬驅(qū)動(dòng)器被分配到不同的節(jié)點(diǎn)上時(shí),會(huì)發(fā)生服務(wù)器開銷數(shù)據(jù)傳送。另外,當(dāng)配置操作系統(tǒng)的上層,在主動(dòng)-主動(dòng)模式下故意發(fā)送I/o以傳播的節(jié)點(diǎn)之間的數(shù)據(jù)時(shí),傳送請(qǐng)求會(huì)變得嚴(yán)格。某些RAID控制器,例如,可以作為RAID的數(shù)據(jù)的安全性協(xié)議的一部分被配置以故意傳播在一個(gè)主動(dòng)-主動(dòng)模式下存儲(chǔ)的數(shù)據(jù)。允許來賓訪問驅(qū)動(dòng)器也可以增加傳送,因?yàn)閬碣e操作系統(tǒng)的可能沒有考慮主機(jī)節(jié)點(diǎn)系統(tǒng)來進(jìn)行操作配置。
[0021]本發(fā)明可以應(yīng)用在任何在每個(gè)服務(wù)器中具有一個(gè)本地的SSD高速緩存加速器的DAS群集。例如,SSD可以是只一臺(tái)服務(wù)器可見的本地磁盤,或控制器上的板載SSD。熱I/O (即在同一本地塊地址[LBA]范圍內(nèi)頻繁出現(xiàn)的I/ O)均基于I/O模式緩存在主控者和對(duì)等的本地SSD中,不管其控制權(quán)。
[0022]由于緩存不考慮控制權(quán),基于I/O模式,熱讀取數(shù)據(jù)動(dòng)態(tài)的建立在的本地高速緩存上,不考慮其控制權(quán)。緩存命中(大部分1/0,因?yàn)镾SD高速緩存通常是非常大的)數(shù)據(jù)將只從本地控制器服務(wù),也不考慮其控制權(quán)。所有慢的、旋轉(zhuǎn)綁定磁盤I/O將依舊遵循I/O運(yùn)輸機(jī)制。區(qū)域鎖將只保持在主控者方,從主控者處獲得鎖之后,I/o可以從對(duì)等端SSD緩存完成。
[0023]所有旋轉(zhuǎn)的磁盤仍然有一個(gè)單獨(dú)的主控者控制器。因此不分控制性質(zhì),熱讀取數(shù)據(jù)維持在兩個(gè)控制器中,而冷數(shù)據(jù)根據(jù)底層的多服務(wù)器DAS協(xié)議存儲(chǔ)在自有驅(qū)動(dòng)器中。因此,熱讀取I/O緩存在接收I/O的控制器中,并不取決于控制權(quán)并在I/O模式基礎(chǔ)上動(dòng)態(tài)的變化。對(duì)于任何從對(duì)等節(jié)點(diǎn)傳送的1/0,所有者節(jié)點(diǎn)通常不會(huì)運(yùn)行熱邏輯,但可以執(zhí)行其他操作,如搜索SSD、解除區(qū)域鎖等等。熱寫數(shù)據(jù)跨服務(wù)器鏡像于緩存以避免潛在的廢寫數(shù)據(jù)沖突。
[0024]因此,本發(fā)明對(duì)雙主動(dòng)DAS系統(tǒng)產(chǎn)生了重大的性能改進(jìn),因?yàn)橄藦腟SD緩存中訪問的大多數(shù)I/o的I/O傳送。對(duì)于一個(gè)從節(jié)點(diǎn)上接收的存儲(chǔ)在SSD該節(jié)點(diǎn)的熱讀取數(shù)據(jù)的讀請(qǐng)求,該節(jié)點(diǎn)通過直接存儲(chǔ)器存取為數(shù)據(jù)提供服務(wù),不需要任何跨SAS鏈路傳送。對(duì)于一個(gè)從主機(jī)節(jié)點(diǎn)上接收的存儲(chǔ)在SSD另一個(gè)節(jié)點(diǎn)(SSD所有者節(jié)點(diǎn))上的熱讀取的數(shù)據(jù)的讀請(qǐng)求,對(duì)等節(jié)點(diǎn)需要一個(gè)SSD的主控者節(jié)點(diǎn)的鎖,并且DMA數(shù)據(jù)從主控者SSD接收到主機(jī)(對(duì)等)系統(tǒng)內(nèi)存。因此,在使用基礎(chǔ)上動(dòng)態(tài)的建立不分控制性質(zhì)的熱讀取數(shù)據(jù),并以最多一個(gè)橫跨SAS鏈路傳輸為SSD提供服務(wù)。對(duì)于任何存儲(chǔ)在SSD緩存的熱讀取數(shù)據(jù),不會(huì)從底層驅(qū)動(dòng)器發(fā)生傳送。
[0025]對(duì)于主機(jī)節(jié)點(diǎn)的熱寫數(shù)據(jù)的寫請(qǐng)求,數(shù)據(jù)只有當(dāng)在SAS鏈路上鏡像SSD緩存對(duì)等節(jié)點(diǎn)上的熱寫數(shù)據(jù)時(shí)發(fā)生移動(dòng)。對(duì)于一個(gè)對(duì)等節(jié)點(diǎn)熱寫數(shù)據(jù)的寫請(qǐng)求,數(shù)據(jù)只有當(dāng)在SAS鏈路上鏡像SSD緩存對(duì)等節(jié)點(diǎn)上的熱寫數(shù)據(jù)時(shí)發(fā)生移動(dòng)。因此,熱寫反映在服務(wù)器上的SSD高速緩存中,并由一個(gè)具有橫跨SAS鏈路的單一傳輸?shù)腟SD服務(wù)。同樣的,對(duì)于存儲(chǔ)在SSD緩存中的熱寫數(shù)據(jù),底層的驅(qū)動(dòng)器不發(fā)生的任何傳送。數(shù)據(jù)一旦冷卻下來,廢寫數(shù)據(jù)將最終存儲(chǔ)到正確的主控者驅(qū)動(dòng)器上的永久存儲(chǔ)器(例如,對(duì)數(shù)據(jù)的訪問已放緩至閾值以下)。
[0026]現(xiàn)參照附圖,圖1是多服務(wù)器系統(tǒng)10的一個(gè)功能方框圖,包括本發(fā)明中配置為實(shí)現(xiàn)智能主動(dòng)-主動(dòng)模式的超高速緩沖存儲(chǔ)器系統(tǒng)的DAS群集30。所述實(shí)施例中,DAS群集30包括:主機(jī)服務(wù)器12a和對(duì)等服務(wù)器12b。主機(jī)服務(wù)器12a包括CPU14a復(fù)合體和系統(tǒng)存儲(chǔ)器15a,典型的DDR或DDR3或其它合適的SDRAM。主機(jī)服務(wù)器12a還包括DAS高可用性存儲(chǔ)系統(tǒng),在這個(gè)例子中由RAID控制器16a的介導(dǎo)。此外,主機(jī)服務(wù)器12a包括高速緩沖存儲(chǔ)器18a,在這個(gè)例子中的諸如閃存的固態(tài)裝置(SSD)。類似的,對(duì)等服務(wù)器12b包括一個(gè)復(fù)合CPU14b,一個(gè)系統(tǒng)存儲(chǔ)器15b,一個(gè)RAID控制器16b,和高速緩沖存儲(chǔ)器SSD18b。應(yīng)當(dāng)注意,雖然高速緩沖存儲(chǔ)器18a- b在這些特定的實(shí)施例中表示為一種駐留在各自的服務(wù)器的固態(tài)設(shè)備(SSD),高速緩存可以通過一個(gè)專用的連接驅(qū)動(dòng)器、連接驅(qū)動(dòng)器的專用部分,或任何其他合適的在本發(fā)明中分配給超高速緩沖存儲(chǔ)器功能的計(jì)算機(jī)內(nèi)存來實(shí)現(xiàn)。
[0027]DAS高可用存儲(chǔ)系統(tǒng)依賴于主機(jī)和對(duì)等服務(wù)器12a_b、與主機(jī)服務(wù)器12a相關(guān)第一組數(shù)據(jù)驅(qū)動(dòng)24a,和與對(duì)等服務(wù)器12b相關(guān)的第二組數(shù)據(jù)驅(qū)動(dòng)24b之間的功能連接。這兩臺(tái)服務(wù)器12a_b連接到在故障模式下具有備份用途的服務(wù)器或驅(qū)動(dòng)器的兩套驅(qū)動(dòng)器24a_b,但正常運(yùn)行期間限制驅(qū)動(dòng)器的同時(shí)訪問,以避免多啟動(dòng)的問題。例如,所述驅(qū)動(dòng)器24a_b可以在個(gè)一雙主動(dòng)的配置下工作,就是指“控制”第一組數(shù)據(jù)驅(qū)動(dòng)器24a的主機(jī)服務(wù)器12a和“控制”第二組數(shù)據(jù)驅(qū)動(dòng)器24b的對(duì)等服務(wù)器12b。在這種情況下,屬于非所屬的服務(wù)器上的I/O請(qǐng)求,必須傳送到擁有服務(wù)器,來維持其“控制”驅(qū)動(dòng)器的???。另外,數(shù)據(jù)驅(qū)動(dòng)器24a-b可以在主動(dòng)-被動(dòng)配置下工作,其中在同一時(shí)間只有一組數(shù)據(jù)驅(qū)動(dòng)器是主動(dòng)的。在所述兩種配置中,DAS集群30缺乏真正的同時(shí)到兩組數(shù)據(jù)驅(qū)動(dòng)器24a-b的主動(dòng)-主動(dòng)訪問以避免多啟動(dòng)的問題。
[0028]在此示例的配置中,RAID控制器16a_b介導(dǎo)訪問底層的DAS數(shù)據(jù)驅(qū)動(dòng)器和高速緩沖存儲(chǔ)器器18a-b,以實(shí)現(xiàn)本發(fā)明中的智能主動(dòng)-主動(dòng)模式的超高速緩沖存儲(chǔ)器系統(tǒng)32。月艮務(wù)器(也稱為“控制器或節(jié)點(diǎn))可以具有不同的配置,從圖示的實(shí)施例中,除了 RAID控制器以外的DAS控制器可以控制高速緩沖存儲(chǔ)器,可以使用除了固態(tài)硬盤以外的高速緩沖存儲(chǔ)器,且在集群中可能有兩個(gè)以上的節(jié)點(diǎn),圖1中所示的基本要素足以提供一個(gè)合適的環(huán)境實(shí)施本發(fā)明的實(shí)施例。也可以理解為,系統(tǒng)30可包括范圍廣泛的其他元件,來賓控制器可能被允許訪問DAS系統(tǒng)。為方便起見,在圖中所示的,只是本發(fā)明實(shí)施過程中所涉及的最基本的一組服務(wù)器和組件。
[0029]主動(dòng)-主動(dòng)緩存32為DAS集群30提供智能主動(dòng)-主動(dòng)訪問暫時(shí)存儲(chǔ)在被確定為固態(tài)硬盤18a-b的高速緩沖存儲(chǔ)器中的“熱I/O”。駐留在主機(jī)服務(wù)器12a上的SSDlSa為“熱I/O”提供一個(gè)高速緩沖存儲(chǔ)器,其中包括“熱讀”和“熱寫”1/0。類似的,駐留在對(duì)等服務(wù)器12b的SSD18b為“熱1/0”,包括“熱讀”和“熱寫”1/0提供一高速緩沖存儲(chǔ)器。熱I/O數(shù)據(jù)包括經(jīng)常發(fā)生在同一本地地址(LBA)范圍(即經(jīng)常訪問的I/O數(shù)據(jù))的讀取和寫數(shù)據(jù)。基于固態(tài)硬盤18a-b的內(nèi)存容量和其他因素,定義熱I/O數(shù)據(jù)的訪問頻率可以設(shè)置為一個(gè)設(shè)計(jì)參數(shù)。
[0030]與預(yù)期的I/O流量相比,高速緩沖存儲(chǔ)器應(yīng)該足夠大,讓絕大多數(shù)的I/O在幕后或在使用率較低或閑置期間允許廢寫永久存儲(chǔ)的緩存中出現(xiàn)。熱讀取數(shù)據(jù)可以在使用模式的基礎(chǔ)上在每個(gè)高速緩存中動(dòng)態(tài)地建立,而不用考慮永久存儲(chǔ)讀取數(shù)據(jù)驅(qū)動(dòng)器的所有者。熱讀取數(shù)據(jù)可以根據(jù)維持高速緩存存儲(chǔ)容量的需要清除,例如,為了給新的熱讀取數(shù)據(jù)騰出空間,需要及時(shí)遠(yuǎn)程清除讀取數(shù)據(jù)訪問。
[0031]熱寫數(shù)據(jù)可能會(huì)被稱為“廢寫”數(shù)據(jù),因?yàn)樗赡馨ㄍ赵谟谰么鎯?chǔ)器中的用戶修改副本。熱寫數(shù)據(jù)鏡像于本地緩存中的兩臺(tái)服務(wù)器上,以避免潛在的廢寫數(shù)據(jù)沖突。
[0032]圖2是利用主動(dòng)-主動(dòng)固態(tài)緩存系統(tǒng)存儲(chǔ)在DAS集群節(jié)點(diǎn)上的數(shù)據(jù)讀請(qǐng)求的數(shù)據(jù)流程圖40。每個(gè)固態(tài)硬盤18a-b根據(jù)動(dòng)態(tài)使用模式存儲(chǔ)熱讀取數(shù)據(jù),不考慮永久存儲(chǔ)數(shù)據(jù)的所在的驅(qū)動(dòng)器的控制權(quán)。因此,SSDlSa存儲(chǔ)通過服務(wù)器12a請(qǐng)求熱讀取數(shù)據(jù),不管是哪個(gè)服務(wù)器控制永久存儲(chǔ)數(shù)據(jù)的驅(qū)動(dòng)器。同樣的,SSDlSa存儲(chǔ)通過服務(wù)器12a請(qǐng)求熱讀取數(shù)據(jù),不管是哪個(gè)服務(wù)器控制永久存儲(chǔ)數(shù)據(jù)的驅(qū)動(dòng)器。因此,由服務(wù)器12a接收的一個(gè)熱讀I/O請(qǐng)求可能指向存儲(chǔ)在高速緩存SSD18a或SSD18b的熱讀取數(shù)據(jù)。圖2說明了服務(wù)器12a接收一個(gè)熱讀I/O請(qǐng)求并指向自己的SSD18a的情況。在這種情況下,從SSD18a到系統(tǒng)存儲(chǔ)器15a,熱讀I/O請(qǐng)求通過在服務(wù)器上12a的高速緩存儲(chǔ)器入口 42a被作為DMA請(qǐng)求處理。類似地,圖2說明了服務(wù)器12b接收一個(gè)熱讀I/O請(qǐng)求并指向自己的SSDlSb的情況。在這種情況下,從SSD18a到系統(tǒng)存儲(chǔ)器15b,熱讀I/O請(qǐng)求通過在服務(wù)器上12b的高速緩存儲(chǔ)器入口 42b被作為DMA請(qǐng)求處理。
[0033]圖3是稱贊情形的數(shù)據(jù)流程圖50,其中一個(gè)服務(wù)器收到一個(gè)存儲(chǔ)在對(duì)等SSD上的數(shù)據(jù)的熱讀取I/o請(qǐng)求。如本例所示,服務(wù)器12a接收到一個(gè)對(duì)存儲(chǔ)在對(duì)等服務(wù)器12b上的SSD18b高速緩沖存儲(chǔ)器中的數(shù)據(jù)的熱讀取I/O請(qǐng)求。在這種情況下,請(qǐng)求的I/O被視為一個(gè)直接從SSD18到對(duì)等體的高速緩沖存儲(chǔ)器入口 42b服務(wù)的DMA請(qǐng)求。然后請(qǐng)求的數(shù)據(jù)通過SAS鏈路44到運(yùn)輸主機(jī)的高速緩沖存儲(chǔ)器入口 42a和系統(tǒng)內(nèi)存15a。因此,I/O請(qǐng)求看起來像一個(gè)傳統(tǒng)的連接到主機(jī)服務(wù)器的DMA請(qǐng)求,所需的熱讀取I/O在高速緩沖存儲(chǔ)器入口模塊42a_b之間傳送不需要額外的服務(wù)器18a_b中任意一個(gè)數(shù)據(jù)傳送控制開銷。本發(fā)明的緩存數(shù)據(jù)讀取和RAID介導(dǎo)的SAS鏈路運(yùn)輸主動(dòng)-主動(dòng)模式的數(shù)據(jù)存取程序取代了傳統(tǒng)的磁盤數(shù)據(jù)讀取和CPU介導(dǎo)數(shù)據(jù)傳送處理。
[0034]圖4是對(duì)DAS群集節(jié)點(diǎn)上存儲(chǔ)數(shù)據(jù)的寫請(qǐng)求的數(shù)據(jù)流程圖60。在所示的例子中,主機(jī)服務(wù)器12a接收對(duì)于永久地存儲(chǔ)在主機(jī)服務(wù)器上的數(shù)據(jù)的寫請(qǐng)求。寫數(shù)據(jù)被寫入到SSDlSa的熱寫數(shù)據(jù)段并從SAS鏈路44運(yùn)送到對(duì)等服務(wù)器12b,其中反映了 SSDlSb的熱寫數(shù)據(jù)段。這確保了任何廢寫數(shù)據(jù)都在這兩個(gè)高速緩沖存儲(chǔ)器18a-b中被反映處理,以避免任何潛在的廢寫數(shù)據(jù)沖突。
[0035]圖5是稱贊情形的數(shù)據(jù)流程圖70,其中一個(gè)服務(wù)器收到一個(gè)永久存儲(chǔ)在對(duì)等服務(wù)器驅(qū)動(dòng)器上的數(shù)據(jù)的熱寫I/O請(qǐng)求。如本例所示,服務(wù)器12a接收了一個(gè)永久存儲(chǔ)在對(duì)等服務(wù)器12b驅(qū)動(dòng)器中數(shù)據(jù)的熱寫I/O請(qǐng)求。寫入的數(shù)據(jù)最初存儲(chǔ)在主機(jī)SSDlSa中。然后寫數(shù)據(jù)通過SAS鏈路44從主機(jī)服務(wù)器12a上的高速緩沖存儲(chǔ)器入口 42a傳輸?shù)降膶?duì)等服務(wù)器12b上的高速緩沖存儲(chǔ)器入口 42b。之后熱寫數(shù)據(jù)被寫入到對(duì)等SSDlSb的熱寫數(shù)據(jù)段來反映這兩個(gè)高速緩沖存儲(chǔ)器18a-b的熱寫數(shù)據(jù),以避免任何潛在的廢寫數(shù)據(jù)沖突。
[0036]圖6是操作主動(dòng)-主動(dòng)式的超高速緩沖存儲(chǔ)器系統(tǒng)的邏輯流程圖80。在步驟82中,系統(tǒng)確定在主機(jī)服務(wù)器上收到的熱讀I/o請(qǐng)求是否指向主機(jī)服務(wù)器上的固態(tài)高速緩存。如果從主機(jī)服務(wù)器上收到的熱讀取I/o請(qǐng)求指向主機(jī)服務(wù)器上的固態(tài)高速緩存,第82步至84步后會(huì)發(fā)生“是”分支,其中I/O請(qǐng)求被直接從主機(jī)服務(wù)器上的固態(tài)高速緩存內(nèi)讀取。這種情況對(duì)應(yīng)于圖2中所示的數(shù)據(jù)流程圖。
[0037]如果熱讀I/O請(qǐng)求尚未被主機(jī)服務(wù)器收到并指向主機(jī)服務(wù)器上的固態(tài)高速緩存,第82步到86步后會(huì)發(fā)生“否”分支,系統(tǒng)確定在主機(jī)服務(wù)器上收到的熱讀I/O請(qǐng)求是否指向?qū)Φ确?wù)器的固態(tài)高速緩沖存儲(chǔ)器。如果已收到指向?qū)Φ确?wù)器上的固態(tài)高速緩沖存儲(chǔ)器的主機(jī)服務(wù)器的熱讀取I/O請(qǐng)求,第86步到88步后會(huì)發(fā)生“是”分支,其中I/O請(qǐng)求被直接從對(duì)等服務(wù)器上的固態(tài)高速緩存讀取。步驟88后為步驟90,其中熱讀取數(shù)據(jù)通過SAS鏈路被輸送到主機(jī)服務(wù)器的固態(tài)高速緩沖存儲(chǔ)器,其中主機(jī)服務(wù)器通過直接存取從主機(jī)固態(tài)高速緩沖存儲(chǔ)器訪問數(shù)據(jù)。這種情況對(duì)應(yīng)于圖3中所示的數(shù)據(jù)流程圖。
[0038]如果尚未收到主機(jī)服務(wù)器上的熱讀I/O請(qǐng)求并指向?qū)Φ确?wù)器上的固態(tài)高速緩沖存儲(chǔ)器,步驟86到步驟92之后會(huì)發(fā)生“否”分支,其中該系統(tǒng)確定指向主機(jī)服務(wù)器上永久存儲(chǔ)器是否收到主機(jī)服務(wù)器的一個(gè)熱寫I/O請(qǐng)求。如果指向主機(jī)服務(wù)器永久存儲(chǔ)器已經(jīng)收到主機(jī)服務(wù)器的上的熱寫I/O請(qǐng)求,那么步驟92到步驟94之后會(huì)發(fā)生“是”分支,其中寫數(shù)據(jù)被寫入到主機(jī)服務(wù)器上的固態(tài)高速緩沖存儲(chǔ)器。步驟84之后是步驟99,其中熱寫數(shù)據(jù)通過SAS鏈路被輸送到對(duì)等服務(wù)器的固態(tài)高速緩沖存儲(chǔ)器中,反映服務(wù)器之間的寫數(shù)據(jù),以防止存儲(chǔ)在不同的服務(wù)器上的廢寫數(shù)據(jù)中的可能沖突。這種情況對(duì)應(yīng)于圖4中所示的數(shù)據(jù)流程圖。[0039]如果尚未收到主機(jī)服務(wù)器上的熱寫I/O請(qǐng)求并指向?qū)Φ确?wù)器的永久存儲(chǔ)器,步驟92到步驟98之后會(huì)發(fā)生“否”分支,其中該系統(tǒng)確定指向?qū)Φ确?wù)器的永久存儲(chǔ)器是否收到主機(jī)服務(wù)器的一個(gè)熱寫I/O請(qǐng)求。如果指向?qū)Φ确?wù)器的永久存儲(chǔ)器已經(jīng)收到主機(jī)服務(wù)器的上的熱寫I/O請(qǐng)求,那么步驟98到步驟102之后會(huì)發(fā)生“是”分支,其中寫數(shù)據(jù)被寫入到主機(jī)服務(wù)器上的高速緩沖內(nèi)存。步驟102之后是步驟104,其中熱寫數(shù)據(jù)通過SAS鏈路被輸送到對(duì)等服務(wù)器的固態(tài)高速緩沖存儲(chǔ)器中,步驟104之后是步驟106,熱寫數(shù)據(jù)被存儲(chǔ)在對(duì)等服務(wù)器的高速緩沖存儲(chǔ)器中,反映服務(wù)器之間的寫數(shù)據(jù),以防止存儲(chǔ)在不同的服務(wù)器上的廢寫數(shù)據(jù)中的可能沖突。這種情況對(duì)應(yīng)于圖5中所示的數(shù)據(jù)流程圖。
[0040]圖7是另一種在其中一臺(tái)服務(wù)器上包含多個(gè)I / O控制器來實(shí)現(xiàn)本發(fā)明的智能主動(dòng)-主動(dòng)式高速緩沖存儲(chǔ)器系統(tǒng)的DAS系統(tǒng)71的功能框圖。圖7的DAS系統(tǒng)71類似于圖1中的DAS系統(tǒng)30,除了在單個(gè)服務(wù)器上實(shí)現(xiàn)多個(gè)控制器取代了在不同的服務(wù)器上實(shí)現(xiàn)多個(gè)控制器。另外,圖7的DAS以類似圖1的DAS的方式操作。不難理解,該系統(tǒng)每個(gè)I /O控制器都包括一個(gè)獨(dú)立的高速緩沖存儲(chǔ)器,它反過來又介導(dǎo)訪問其專用的數(shù)據(jù)驅(qū)動(dòng)器組。高速緩沖存儲(chǔ)器被配置以實(shí)施本發(fā)明的智能主動(dòng)-主動(dòng)式超高速緩沖存儲(chǔ)器系統(tǒng),其中熱讀取的數(shù)據(jù)動(dòng)態(tài)的積累在每個(gè)高速緩存中,不考慮其控制權(quán)和廢寫數(shù)據(jù)在高速緩沖存儲(chǔ)器中的鏡像。單服務(wù)器、多個(gè)控制器DAS系統(tǒng)筒多個(gè)服務(wù)器的DAS系統(tǒng)相似,除了在單個(gè)服務(wù)器上實(shí)現(xiàn)多個(gè)控制器取代了在不同的服務(wù)器上實(shí)現(xiàn)多個(gè)控制器。DAS系統(tǒng)以類似的方式進(jìn)行其他操作。以這種方式,本發(fā)明可以在擁有專用驅(qū)動(dòng)器的I/O控制器的任何一組之間實(shí)施,而不管在任何特定的服務(wù)器上實(shí)施的I/O控制器的數(shù)量。
[0041]更具體地,DAS高可用存儲(chǔ)器71包括一個(gè)具有CPU復(fù)合體13和系統(tǒng)存儲(chǔ)器17的服務(wù)器11,典型的DDR或DDR3或其它合適的SDRAM。本例中的DAS高可用內(nèi)存系統(tǒng)71專有多個(gè)RAID控制器19a-n。主機(jī)服務(wù)器11包括一個(gè)具有多個(gè)高速緩沖存儲(chǔ)器21a的主動(dòng)-主動(dòng)高速緩沖存儲(chǔ)器系統(tǒng)72,例如固態(tài)設(shè)備(SSD)如閃存。每個(gè)超高速緩沖存儲(chǔ)器專有相關(guān)聯(lián)的I/O控制器,專用于I/O控制器19a的高速緩存21a,專用于I/O控制器19b的高速緩存21b等等。此外,每個(gè)I/O控制器“控制”一組相關(guān)的專用數(shù)據(jù)驅(qū)動(dòng)器,I/O控制器19a擁有驅(qū)動(dòng)器25a-n,I/O控制器19b擁有驅(qū)動(dòng)器27a_n等等。
[0042]DAS系統(tǒng)71依賴于服務(wù)器11和數(shù)據(jù)驅(qū)動(dòng)器組25a_n,27a_n等之間的功能連接。服務(wù)器連接到所有的驅(qū)動(dòng)器組用于在服務(wù)器或硬盤故障模式備份,但在正常運(yùn)行期間控制器限制并調(diào)解同時(shí)訪問,以避免多啟動(dòng)的問題。例如,控制器19a下的驅(qū)動(dòng)器25a-n只能通過控制器19a被訪問,控制器19b下的驅(qū)動(dòng)器27a-n只能通過控制器19b被訪問等等。每個(gè)驅(qū)動(dòng)器組可以任意工作在雙主動(dòng)或主動(dòng)-被動(dòng)配置下。例如,由控制器19a控制的驅(qū)動(dòng)器25a-n可以在一個(gè)主動(dòng)-被動(dòng)模式下操作,并且由控制器19b控制的驅(qū)動(dòng)器27a_n可以一個(gè)在主動(dòng)-被動(dòng)模式下操作。更一般地,驅(qū)動(dòng)器控制模式的任意組合可根據(jù)需要被用于任何一個(gè)I/O控制器中。
[0043]要實(shí)現(xiàn)智能主動(dòng)-主動(dòng)式高速緩存系統(tǒng),高速緩沖存儲(chǔ)器21a??赜贗/O控制器19a,其具有驅(qū)動(dòng)器25a-n ;高速緩沖存儲(chǔ)器21b??赜贗/O控制器19b,其具有驅(qū)動(dòng)器27a-n ;等等。一旦每個(gè)驅(qū)動(dòng)器組都有一個(gè)專用的I/O控制器和高速緩沖存儲(chǔ)器,則高速緩沖存儲(chǔ)器系統(tǒng)可參考前面所述圖1中的DAS系統(tǒng)30,以相同的方式操作,其中,在DAS71(圖7)的單個(gè)服務(wù)器上的I/O的控制器19a-b取代了在雙服務(wù)器DAS系統(tǒng)30 (圖1)中的I/O控制器16a-b。單服務(wù)器,多控制器配置也消除了跨SAS數(shù)據(jù)傳輸。每個(gè)DAS系統(tǒng)30和71可以隨意被擴(kuò)展為包括更大數(shù)量“η”的I/O控制器。此外,如果每個(gè)控制器都有其專用的驅(qū)動(dòng)器和高速緩沖存儲(chǔ)器組,多功能控制服務(wù)器可與單控制器服務(wù)器相結(jié)合。即本發(fā)明也可以在專用驅(qū)動(dòng)器的I/O控制器的任何一組之間實(shí)施,而不管任何特定的服務(wù)器上實(shí)施的I/O控制器的數(shù)量。
[0044]本發(fā)明可以包括(不是必需包括)目前現(xiàn)有的系統(tǒng)的調(diào)整或重新配置。此外,本發(fā)明實(shí)施時(shí)可能提供原始設(shè)備。
[0045]本文所描述的所有方法,可包括實(shí)施例中存儲(chǔ)在存儲(chǔ)介質(zhì)方法中的一個(gè)或多個(gè)步驟的結(jié)果。結(jié)果可包括這里所描述的任何結(jié)果,并且可以用本領(lǐng)域中已知的任何方式存儲(chǔ)。其中,所述的存儲(chǔ)介質(zhì)可包括本文所描述的任何存儲(chǔ)介質(zhì),或本領(lǐng)域中已知的其他任何合適的存儲(chǔ)介質(zhì)。在結(jié)果被存儲(chǔ)后,所述結(jié)果可以使用實(shí)施例中所描述的任何方法或系統(tǒng)在存儲(chǔ)介質(zhì)中訪問,以及使用另一軟件模塊,方法或系統(tǒng)等等進(jìn)行格式化以用于用戶顯示。此夕卜,結(jié)果可以被存儲(chǔ)為“永久”,“半永久”,暫時(shí),或一段時(shí)間。例如,該存儲(chǔ)介質(zhì)可以是隨機(jī)存取存儲(chǔ)器(RAM),并且結(jié)果可能未必在存儲(chǔ)介質(zhì)中無限地持續(xù)下去。
[0046]可以進(jìn)一步設(shè)想,上述實(shí)施例中的每一個(gè)方法,可以包括所述的任何其它方法的任何其他的步驟。此外,上述實(shí)施例中的每個(gè)方法,可以通過本文所述的任何系統(tǒng)執(zhí)行。
[0047]本【技術(shù)領(lǐng)域】的技術(shù)人員易于理解,所述的過程和/或系統(tǒng)和/或其他技術(shù)可采用各種媒介(例如,硬件,軟件和/或固件),而最優(yōu)媒介會(huì)根據(jù)上下文中的進(jìn)程和/或系統(tǒng)和/或其他技術(shù)變化。例如,如果實(shí)施者認(rèn)為速度和精度是最重要的,他可能選擇一個(gè)主要的硬件和/或固件媒介;如果靈活性是最重要的,實(shí)施者可能選擇一個(gè)主要的軟件實(shí)現(xiàn);此外,實(shí)施者還可能選擇硬件,軟件和/或固件的一些組合。因此,根據(jù)本文所描述的過程和/或設(shè)備和/或的其它技術(shù),會(huì)產(chǎn)生幾種可能的媒介。本質(zhì)上,其中沒有任何要利用的媒介是最優(yōu)的,這取一種決于在上下文實(shí)施者具體部署和關(guān)注問題(例如,速度,靈活性,或可預(yù)測(cè)性)的媒介選擇,其中任何一個(gè)因素都可能會(huì)發(fā)生變化。本領(lǐng)域技術(shù)人員可以認(rèn)識(shí)到,光學(xué)方面的實(shí)現(xiàn)通常采用光學(xué)導(dǎo)向的硬件,軟件,或固件。
[0048]本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,這里所闡述的時(shí)下流行的設(shè)備和/或過程,和之后使用工程實(shí)踐整合所述的設(shè)備和/或過程到數(shù)據(jù)處理系統(tǒng),在本【技術(shù)領(lǐng)域】?jī)?nèi)是很常見的。也就是說,通過合理的實(shí)驗(yàn),本文所描述的設(shè)備和/或過程中的至少一部分可以被集成一個(gè)數(shù)據(jù)處理系統(tǒng)。本【技術(shù)領(lǐng)域】的技術(shù)人員可以認(rèn)識(shí)到,一個(gè)典型的數(shù)據(jù)處理系統(tǒng)一般包括一個(gè)或多個(gè)系統(tǒng)單元外殼,一個(gè)視頻顯示裝置,一個(gè)存儲(chǔ)器例如易失性和非易失性存儲(chǔ)器,處理器例如微處理器和數(shù)字信號(hào)處理器,計(jì)算實(shí)體例如操作系統(tǒng),驅(qū)動(dòng)程序,圖形用戶界面,應(yīng)用程序,一個(gè)或多個(gè)交互設(shè)備,如觸摸板或屏幕,和/或反饋回路和控制電機(jī)(例如,用于檢測(cè)位置的反饋控制系統(tǒng),和/或用于移動(dòng)和/或調(diào)節(jié)組件和/或數(shù)量的速度控制電機(jī),)。一個(gè)典型的數(shù)據(jù)處理系統(tǒng)可以使用任何合適的可利用組件實(shí)現(xiàn),例如那些代表性的出現(xiàn)數(shù)據(jù)計(jì)算/通信和/或網(wǎng)絡(luò)計(jì)算/通信系統(tǒng)中的組件。
[0049]本文所述的主旨間或闡明了包含在內(nèi)的不同組件或連接的其它不同的組件。但是應(yīng)當(dāng)明白的是,描述這種硬件架構(gòu)的僅僅是示例性的,實(shí)際上可以由許多其他的體系結(jié)構(gòu)實(shí)現(xiàn)相同的功能。概念上講,實(shí)現(xiàn)相同的功能的任何配置的組件都可以被有效地“關(guān)聯(lián)”,以實(shí)現(xiàn)所需的功能。因此,任意兩個(gè)為實(shí)現(xiàn)特定功能而結(jié)合的組件可以被視為彼此“關(guān)聯(lián)”以實(shí)現(xiàn)所期望的功能,不管其硬件架構(gòu)或中間的組件。同樣的,任何兩個(gè)相關(guān)的組件也可以被看作是“連接”或“耦合”,彼此實(shí)現(xiàn)期望的功能,并且任何兩個(gè)能夠如此相關(guān)的組件也可以被看作是“耦接”,彼此實(shí)現(xiàn)期望的功能。耦接的具體例子包括但不限于物理上可配對(duì)和/或物理相互作用的組件和/或無線相互作用性和/或無線交互的組件和/或邏輯上的相互作用和/或邏輯相互作用性的組件。
[0050]因?yàn)橐呀?jīng)展示和描述了本文所述主題的細(xì)節(jié),根據(jù)上述的教導(dǎo),可能會(huì)在不偏離本文主題和更廣泛的方面的情況下作出改變和修改,這對(duì)本領(lǐng)域技術(shù)人員是顯而易見的,因此,所附的權(quán)利要求書包括本文所描述的本質(zhì)和范圍以及在其范圍內(nèi)的所有這些變化和修改。
[0051]此外,還應(yīng)當(dāng)了解,本發(fā)明由從屬權(quán)利要求限定。
[0052]盡管已經(jīng)展示了本發(fā)明的特定實(shí)施例,但明顯的,本領(lǐng)域的技術(shù)人員可以在不偏離上述公開的范圍和實(shí)質(zhì)的情況下對(duì)本發(fā)明進(jìn)行各種修改和實(shí)施。因此,本發(fā)明的保護(hù)范圍應(yīng)當(dāng)僅由附屬權(quán)利要求限定。
[0053]由前面的描述,相信可以理解本發(fā)明中公開的信息和相應(yīng)的優(yōu)點(diǎn),明顯的,在不脫離所公開的主題或不犧牲其所有材料的優(yōu)勢(shì)的情況下,形式上會(huì)有變化,結(jié)構(gòu)和布置也可以進(jìn)行各種改變。所描述的形式僅是說明性的,所述權(quán)利要求的意圖是包含和包括此類更改。
【權(quán)利要求】
1.一種多服務(wù)器計(jì)算機(jī)系統(tǒng),包括主機(jī)服務(wù)器、對(duì)等服務(wù)器和高可用性直接連接存儲(chǔ)系統(tǒng),該高可用性直接連接存儲(chǔ)系統(tǒng)包括: 由所述主機(jī)服務(wù)器控制的第一組直接連接數(shù)據(jù)驅(qū)動(dòng)器; 由所述對(duì)等服務(wù)器控制的第二組直接連接數(shù)據(jù)驅(qū)動(dòng)器; 一高速緩沖存儲(chǔ)器系統(tǒng),其包括駐留或連接到所述主機(jī)服務(wù)器的一主機(jī)高速緩沖存儲(chǔ)器和駐留在或連接到所述對(duì)等服務(wù)器的對(duì)等高速緩沖存儲(chǔ)器; 其中,所述高速緩沖存儲(chǔ)器系統(tǒng)提供存儲(chǔ)在所述高速緩沖存儲(chǔ)器系統(tǒng)中的熱I/o數(shù)據(jù)的主動(dòng)-主動(dòng)訪問,同時(shí)避免與所述熱I/O數(shù)據(jù)相關(guān)的所述第一組和第二組直接連接數(shù)據(jù)驅(qū)動(dòng)器之間的多啟動(dòng)程序沖突; 其中,所述主機(jī)高速緩沖存儲(chǔ)器被配置用以存儲(chǔ)由動(dòng)態(tài)系統(tǒng)使用產(chǎn)生的熱讀取數(shù)據(jù),不考慮永久存儲(chǔ)所述熱讀取數(shù)據(jù)的所述連接數(shù)據(jù)驅(qū)動(dòng)器的控制權(quán); 其中,所述對(duì)等高速緩沖存儲(chǔ)器被配置用以存儲(chǔ)由動(dòng)態(tài)系統(tǒng)使用產(chǎn)生的熱讀取數(shù)據(jù),不考慮永久存儲(chǔ)所述熱讀取數(shù)據(jù)的所述連接數(shù)據(jù)驅(qū)動(dòng)器的控制權(quán);以及 其中,所述主機(jī)和對(duì)等高速緩沖存儲(chǔ)器進(jìn)一步被配置用以存儲(chǔ)跨所述主機(jī)和對(duì)等高速緩沖存儲(chǔ)器鏡像的熱寫數(shù)據(jù),以防止存儲(chǔ)在所述主機(jī)和對(duì)等高速緩沖存儲(chǔ)器的廢寫數(shù)據(jù)中產(chǎn)生數(shù)據(jù)沖突,以及在服務(wù)器或控制器故障情況下提供不受約束的數(shù)據(jù)可用性。
2.根據(jù)權(quán)利要求1所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:所述第一組和第二組直接連接數(shù)據(jù)驅(qū)動(dòng)器包括雙主動(dòng)配置。
3.根據(jù)權(quán)利`要求1所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:所述第一組和第二組的直接連接數(shù)據(jù)驅(qū)動(dòng)器包括主動(dòng)-被動(dòng)配置。
4.根據(jù)權(quán)利要求1所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:所述多個(gè)服務(wù)器用作主動(dòng)-被動(dòng)和雙主動(dòng)模式的組合。
5.根據(jù)權(quán)利要求1所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:進(jìn)一步包括駐留在所述主機(jī)服務(wù)器上的一第一 RAID控制器和駐留在所述對(duì)等服務(wù)器上的一第二 RAID控制器,其中所述第一 RAID控制器和第二 RAID控制器調(diào)解服務(wù)器訪問所述高可用性直接連接存儲(chǔ)系統(tǒng)。
6.根據(jù)權(quán)利要求1所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:由所述主機(jī)服務(wù)器接收的指向存儲(chǔ)在駐留于所述主機(jī)服務(wù)器上的所述高速緩沖存儲(chǔ)器中的熱讀取I/o數(shù)據(jù)的熱I/o讀取請(qǐng)求,通過訪問駐留在所述主機(jī)服務(wù)器上的所述高速緩沖存儲(chǔ)器的直接存儲(chǔ)器提供給所述主機(jī)服務(wù)器的系統(tǒng)內(nèi)存。
7.根據(jù)權(quán)利要求1所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:由所述主機(jī)服務(wù)器接收的指向存儲(chǔ)在駐留于所述對(duì)等服務(wù)器上的所述高速緩沖存儲(chǔ)器中的熱讀取I/o數(shù)據(jù)的熱I/o讀取請(qǐng)求,通過訪問駐留在所述主機(jī)服務(wù)器上的所述高速緩沖存儲(chǔ)器的直接存儲(chǔ)器提供給所述主機(jī)服務(wù)器的系統(tǒng)內(nèi)存。
8.根據(jù)權(quán)利要求1所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:由所述主機(jī)服務(wù)器接收的指向由所述主機(jī)服務(wù)器控制的所述直接訪問數(shù)據(jù)驅(qū)動(dòng)器的熱I/O寫入請(qǐng)求,存儲(chǔ)在駐留于所述主機(jī)服務(wù)器上的所述高速緩沖存儲(chǔ)器中,并在駐留于所述對(duì)等服務(wù)器上的所述高速緩沖存儲(chǔ)器中被鏡像,以避免存儲(chǔ)在所述主機(jī)和對(duì)等固態(tài)高速緩沖存儲(chǔ)器中的廢寫數(shù)據(jù)潛在的數(shù)據(jù)沖突。
9.根據(jù)權(quán)利要求8所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:由所述主機(jī)服務(wù)器接收的指向由所述主機(jī)服務(wù)器控制的所述直接訪問數(shù)據(jù)驅(qū)動(dòng)器的所述熱I/O寫入請(qǐng)求的高速緩存包括跨所述主機(jī)和對(duì)等服務(wù)器之間的SAS鏈路的所述熱寫數(shù)據(jù)的單個(gè)傳輸。
10.根據(jù)權(quán)利要求1所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:由所述主機(jī)服務(wù)器接收的指向由所述主機(jī)服務(wù)器控制的所述直接訪問數(shù)據(jù)驅(qū)動(dòng)器的熱I/o寫入請(qǐng)求,存儲(chǔ)在駐留于所述主機(jī)服務(wù)器上的所述高速緩沖存儲(chǔ)器中,并在駐留于所述對(duì)等服務(wù)器上的所述高速緩沖存儲(chǔ)器中被鏡像,以避免存儲(chǔ)在所述主機(jī)和對(duì)等固態(tài)高速緩沖存儲(chǔ)器中的廢寫數(shù)據(jù)的潛在數(shù)據(jù)沖突。
11.根據(jù)權(quán)利要求10所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:由所述主機(jī)服務(wù)器接收的指向所述對(duì)等服務(wù)器控制的所述直接訪問數(shù)據(jù)驅(qū)動(dòng)器的所述熱I/o寫數(shù)據(jù)的高速緩存包括跨所述主機(jī)和對(duì)等服務(wù)器之間的SAS鏈路的單個(gè)的所述熱寫數(shù)據(jù)。
12.根據(jù)權(quán)利要求1所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:所述主機(jī)高速緩沖存儲(chǔ)器包括駐留在所述主機(jī)服務(wù)器上的固態(tài)高速緩沖存儲(chǔ)器。
13.根據(jù)權(quán)利要求12所述的多服務(wù)器計(jì)算機(jī)系統(tǒng),其特征在于:所述對(duì)等高速緩沖存儲(chǔ)器包括駐留于所述對(duì)等服務(wù)器上的固態(tài)高速緩沖存儲(chǔ)器。
14.一種提供多服務(wù)器計(jì)算機(jī)系統(tǒng)的方法,該多服務(wù)器計(jì)算機(jī)系統(tǒng)包括主機(jī)服務(wù)器、對(duì)等服務(wù)器和高可用性直接連接存儲(chǔ)系統(tǒng),其特征在于,該方法包括以下步驟: 提供由所述主機(jī)服務(wù)器控制的第一組直接連接數(shù)據(jù)驅(qū)動(dòng)器; 提供由所述對(duì)等服務(wù)器控制的第二組直接連接數(shù)據(jù)驅(qū)動(dòng)器; 提供一高速緩沖存儲(chǔ)器系統(tǒng),其包括駐留在所述主機(jī)服務(wù)器上的主機(jī)高速緩沖存儲(chǔ)器和駐留在所述對(duì)等服務(wù)器上的對(duì)等高速緩沖存儲(chǔ)器; 其中,所述高速緩沖存儲(chǔ)器系統(tǒng)提供存儲(chǔ)在所述高速緩沖存儲(chǔ)器系統(tǒng)中的熱I/O數(shù)據(jù)的主動(dòng)-主動(dòng)訪問,同時(shí)避免與所述熱I/O數(shù)據(jù)相關(guān)的所述第一組和第二組直接連接數(shù)據(jù)驅(qū)動(dòng)器之間的多啟動(dòng)程序沖突; 其中,所述主機(jī)高速緩沖存儲(chǔ)器被配置用以存儲(chǔ)由動(dòng)態(tài)系統(tǒng)使用產(chǎn)生的熱讀取數(shù)據(jù),不考慮永久存儲(chǔ)所述熱讀取數(shù)據(jù)的所述連接數(shù)據(jù)驅(qū)動(dòng)器的控制權(quán); 其中,所述對(duì)等高速緩沖存儲(chǔ)器被配置用以存儲(chǔ)由動(dòng)態(tài)系統(tǒng)使用產(chǎn)生的熱讀取數(shù)據(jù),不考慮永久存儲(chǔ)所述熱讀取數(shù)據(jù)的所述連接數(shù)據(jù)驅(qū)動(dòng)器的控制權(quán);以及 其中,所述主機(jī)和對(duì)等高速緩沖存儲(chǔ)器進(jìn)一步被配置用以存儲(chǔ)跨所述主機(jī)和對(duì)等高速緩沖存儲(chǔ)器鏡像的熱寫數(shù)據(jù),以防止存儲(chǔ)在所述主機(jī)和對(duì)等高速緩沖存儲(chǔ)器的廢寫數(shù)據(jù)中產(chǎn)生數(shù)據(jù)沖突。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括步驟:在雙主動(dòng)配置中配置所述第一組和第二組直接連接數(shù)據(jù)驅(qū)動(dòng)器。
16.根據(jù)權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括步驟:在主動(dòng)-被動(dòng)配置中配置所述第一組和第二組直接連接數(shù)據(jù)驅(qū)動(dòng)器。
17.根據(jù)權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括步驟:提供駐留在所述主機(jī)服務(wù)器上的第一 RAID控制器和駐留在所述對(duì)等服務(wù)器上的第二 RAID控制器,其中所述第一和第二 RAID控制器調(diào)解服務(wù)器訪問所述高可用性直接連接存儲(chǔ)系統(tǒng)。
18.根據(jù)權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括步驟:接收所述主機(jī)服務(wù)器上指向存儲(chǔ)在駐留于所述主機(jī)服務(wù)器上的高速緩沖存儲(chǔ)器中的熱讀取I/O數(shù)據(jù)的熱I/O讀取請(qǐng)求,并通過直接存儲(chǔ)器訪問駐留在所述主機(jī)服務(wù)器上的所述高速緩沖存儲(chǔ)器提供所述請(qǐng)求數(shù)據(jù)給所述主機(jī)服務(wù)器的系統(tǒng)內(nèi)存。
19.根據(jù)權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括步驟:接收由所述主機(jī)服務(wù)器上指向存儲(chǔ)在駐留于所述對(duì)等服務(wù)器上的所述高速緩沖存儲(chǔ)器的熱讀取I/o數(shù)據(jù)的熱I/o讀取請(qǐng)求,并通過直接存儲(chǔ)器訪問駐留在所述對(duì)等服務(wù)器上的所述高速緩沖存儲(chǔ)器提供所述請(qǐng)求數(shù)據(jù)給所述主機(jī)服務(wù)器的系統(tǒng)內(nèi)存。
20.根據(jù)權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括步驟:接收所述主機(jī)服務(wù)器上指向由所述主機(jī)服務(wù)器控制的所述直接訪問數(shù)據(jù)驅(qū)動(dòng)器的熱I/o寫入請(qǐng)求,將所述熱寫數(shù)據(jù)存儲(chǔ)在駐留于所述主機(jī)服務(wù)器上的所述高速緩沖存儲(chǔ)器中,并將在駐留于所述對(duì)等服務(wù)器上的所述高速緩沖存儲(chǔ)器中鏡像所述熱寫數(shù)據(jù),以避免存儲(chǔ)在所述主機(jī)和對(duì)等固態(tài)高速緩沖存儲(chǔ)器中的廢寫數(shù)據(jù)潛在的數(shù)據(jù)沖突。
21.根據(jù)權(quán)利要求20所述的方法,其特征在于:由所述主機(jī)服務(wù)器接收的指向由所述主機(jī)服務(wù)器控制的所述直接訪問數(shù)據(jù)驅(qū)動(dòng)器的所述熱I/O寫入請(qǐng)求的高速緩存包括跨所述主機(jī)和對(duì)等服務(wù)器之間的SAS鏈路的所述熱寫數(shù)據(jù)的單個(gè)傳輸。
22.根據(jù)權(quán)利要求14所述的方法,其特征在于,進(jìn)一步包括步驟:由所述主機(jī)服務(wù)器接收指向由所述主機(jī)服務(wù)器控制的所述直接訪問數(shù)據(jù)驅(qū)動(dòng)器的熱I/O寫入請(qǐng)求,將熱讀取數(shù)據(jù)存儲(chǔ)在駐留于所述主機(jī)服務(wù)器上的所述高速緩沖存儲(chǔ)器中,并在駐留于所述對(duì)等服務(wù)器上的所述高速緩沖存儲(chǔ)器中鏡像熱寫數(shù)據(jù),以避免存儲(chǔ)在所述主機(jī)和對(duì)等固態(tài)高速緩沖存儲(chǔ)器中的廢寫數(shù)據(jù)的潛在數(shù)據(jù)沖突。
23.根據(jù)權(quán)利要求22所述的方法,其特征在于:所述主機(jī)服務(wù)器上接收的指向所述對(duì)等服務(wù)器控制的所述直接訪`問數(shù)據(jù)驅(qū)動(dòng)器的所述熱I/O寫數(shù)據(jù)的高速緩存包括跨所述主機(jī)和對(duì)等服務(wù)器之間的SAS鏈路的所述熱寫數(shù)據(jù)的單個(gè)傳輸。
24.根據(jù)權(quán)利要求14所述的方法,其特征在于:所述的主機(jī)高速緩沖存儲(chǔ)器包括駐留在所述主機(jī)服務(wù)器上的固態(tài)高速緩沖存儲(chǔ)器。
25.根據(jù)權(quán)利要求14所述的方法,其特征在于:所述的對(duì)等高速緩沖存儲(chǔ)器包括駐留于所述對(duì)等服務(wù)器上的固態(tài)高速緩沖存儲(chǔ)器。
26.—種多控制器計(jì)算機(jī)系統(tǒng),包括服務(wù)器、在該服務(wù)器上運(yùn)行的第一和第二 I/O控制器、和高可用性直接連接存儲(chǔ)系統(tǒng),該高可用性直接連接存儲(chǔ)系統(tǒng)包括: 由所述第一 I/O控制器控制的第一組直接連接數(shù)據(jù)驅(qū)動(dòng)器; 由所述第二 I/O控制器控制的第二組直接連接數(shù)據(jù)驅(qū)動(dòng)器; 駐留在所述服務(wù)器上的高速緩沖存儲(chǔ)器系統(tǒng),所述高速緩沖存儲(chǔ)器系統(tǒng)包括專用于所述第一 I/O控制器的第一高速緩沖存儲(chǔ)器和專用于所述第二 I/O控制器的第二高速緩沖存儲(chǔ)器; 其中,所述高速緩沖存儲(chǔ)器系統(tǒng)提供存儲(chǔ)在所述第一和第二高速緩沖存儲(chǔ)器中的熱I/O數(shù)據(jù)的主動(dòng)-主動(dòng)訪問,同時(shí)避免與所述熱I/O數(shù)據(jù)相關(guān)的所述第一組和第二組直接連接數(shù)據(jù)驅(qū)動(dòng)器之間的多啟動(dòng)程序沖突; 其中,所述第一高速緩沖存儲(chǔ)器被配置用以存儲(chǔ)由動(dòng)態(tài)系統(tǒng)使用產(chǎn)生的熱讀取數(shù)據(jù),不考慮永久存儲(chǔ)所述熱讀取數(shù)據(jù)的所述連接數(shù)據(jù)驅(qū)動(dòng)器的控制權(quán); 其中,所述第二高速緩沖存儲(chǔ)器被配置用以存儲(chǔ)由動(dòng)態(tài)系統(tǒng)使用產(chǎn)生的熱讀取數(shù)據(jù),不考慮永久存儲(chǔ)所述熱讀取數(shù)據(jù)的所述連接數(shù)據(jù)驅(qū)動(dòng)器的控制權(quán);以及 其中,所述第一和第二高速緩沖存儲(chǔ)器進(jìn)一步被配置用以存儲(chǔ)跨所述第一和第二高速緩沖存儲(chǔ)器鏡像的熱寫數(shù)據(jù),以防止存儲(chǔ)在所述第一和第二高速緩沖存儲(chǔ)器的廢寫數(shù)據(jù)中產(chǎn)生數(shù)據(jù)沖突,以及在服務(wù)器 或控制器故障情況下提供不受約束的數(shù)據(jù)可用性。
【文檔編號(hào)】G06F12/08GK103514108SQ201310224937
【公開日】2014年1月15日 申請(qǐng)日期:2013年6月7日 優(yōu)先權(quán)日:2012年6月19日
【發(fā)明者】薩瑪尼西·山姆塔, 蘇杰·必斯瓦思, 霍瑞亞·西米歐尼斯克 申請(qǐng)人:Lsi公司