国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      預(yù)防存儲控制器的分區(qū)高速緩存中寫?zhàn)囸I的裝置和方法

      文檔序號:6611910閱讀:235來源:國知局
      專利名稱:預(yù)防存儲控制器的分區(qū)高速緩存中寫?zhàn)囸I的裝置和方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及管理存儲控制器中的寫高速緩存,并且更特別地,涉及預(yù)防存儲控制器的分區(qū)寫高速緩存中的寫?zhàn)囸I(write starvation )。
      技術(shù)背景本發(fā)明是在現(xiàn)有技術(shù)上的改進(jìn),其包括涉及Kevin J. Ash于2004年8 月10日授權(quán)的美國專利No. 6,775,738的專利,下文通過引用的方式將其 并入本說明書。存儲控制器(例如,來自國際商業(yè)機(jī)器公司的Enterprise Storage Server )管理從網(wǎng)絡(luò)上的主計(jì)算機(jī)到一個或多個存儲設(shè)備的存儲 請求和檢索。存儲設(shè)備可以包括各種形式的硬盤驅(qū)動器,例如直接訪問存 ^i殳備("DASD")、廉價/獨(dú)立磁盤冗余陣列("RAID"),以及簡單 磁盤捆綁("JBOD")。存儲控制器還可以訪問諸如磁帶驅(qū)動器、光驅(qū)動器等的其它存儲設(shè)備。存儲控制器通常包括通用高速緩沖存儲器(高速緩存),其是易失性 存儲器,其中在存儲控制器斷電、在重新引導(dǎo)時等情況下,會丟失內(nèi)容。 另外,很多存儲控制器包括非易失性存儲器("VS")形式的寫高速緩 存,其包括某種形式的備用電力,例如電池,以便預(yù)防在斷電、重新引導(dǎo) 等情況下內(nèi)容的丟失。通常,當(dāng)存儲控制器接收到將文件更新或完整文件存儲到存儲控制器 可訪問的存#^殳備上的請求時,存儲控制器對數(shù)據(jù)使用快寫操作.在快寫 操作中,存儲控制器向高速緩存寫入文件更新或完整文件的一個副本以及 向?qū)懜咚倬彺鎸懭胛募禄蛲暾募囊粋€副本,并且然后通知主機(jī)寫 過程完成。(為了簡明起見,此后術(shù)語"更新"包括文件更新、完整文件, 或者請求存儲到存儲設(shè)備上的任何其它的數(shù)據(jù)。)存儲控制器然后使用離 臺(destage)過程將更新從高速緩存復(fù)制到目標(biāo)存儲設(shè)備。在向目標(biāo)存儲 設(shè)備寫入更新時,快寫過程比與主機(jī)保持連接更有效率。將更新的副M儲在寫高速緩存中,以確保在電力失效、系統(tǒng)重新引 導(dǎo)或其它問題造成高速緩存的內(nèi)容在將更新離臺至目標(biāo)存儲控制器之前丟 失的情況下不丟失更新。在將更新離臺至存儲設(shè)備之后,高速緩存和寫高 速緩存中該更新的位置可以被分配給另 一使用。通常寫高速緩存具有比寫 操作可用的高速緩存實(shí)質(zhì)上小的存儲空間。在對在存儲請求中可以使用多少寫高速緩存方面沒有任何限制的情況 下,存儲設(shè)備可以控制對損害請求存儲更新的其它主機(jī)的寫高速緩存的使 用。例如,在存在連接至存儲控制器的多個存^i殳備的情況下,例如RAID 陣列,高速緩存和寫高速緩存可以存儲打算給多個存儲設(shè)備的更新,倘若 寫高速緩存實(shí)質(zhì)上充滿了給一個目標(biāo)存^i更備的更新并且該目標(biāo)存^i殳備 出現(xiàn)故障,那么如果寫高速緩存充滿了來自故障存儲設(shè)備的數(shù)據(jù),則不能 夠?qū)χ赶蛐掖?surviving)存^i殳備的寫入返回完成狀態(tài)。除非將更新復(fù) 制到高速緩存和寫高速緩存二者才返回完成狀態(tài).在另一例子中,如果存^i殳^f氐速處理存餘清求,則該存儲設(shè)備可以 控制寫高速緩存??梢栽趯⒏码x臺至較慢者的程度上對提交存 求的 其它過程進(jìn)行延遲,控制存^i殳備。如果由于故障驅(qū)動器導(dǎo)致重建存^i殳 備中的一個或多個磁盤驅(qū)動器,或者如果到寫高速緩存中的控制存儲設(shè)備 的更新主要包括隨機(jī)(非順序)更新,則對控制存儲設(shè)備的離臺操作可以 低速運(yùn)行.隨機(jī)更新可能花費(fèi)較長時間離臺,因?yàn)樗鼈兙哂休^長的磁盤訪 問時間,并且在RAID環(huán)境中,需要對每個隨機(jī)更新進(jìn)行恒定的奇偶校驗(yàn) 重新計(jì)算.可以將一個或多個存^i殳備控制寫高速緩存并且對處理其它存 儲請求造成延遲稱為寫?zhàn)囸I。在所引用的Ash的專利(下文稱為"Ash")中給出了一種改進(jìn)。在 Ash中,向存儲控制器可訪問的存^i殳備分配存^i殳備可以使用的最大比 例的寫高速緩存。首先,確定存儲控制器可訪問的存賴欣備的數(shù)目。然后 將存^i殳備寫高速緩存限制(NVS閾值)分派給每個等級。等級可以包括
      單個存儲設(shè)備或一組存儲設(shè)備,例如在RAID陣列或JBOD中。然后可以 向每個等級分派統(tǒng)一的存儲設(shè)備寫高速緩存限制或者可以向每個等級分派 不同的存儲設(shè)備寫高速緩存限制,對于效率,每個等級可用的寫高速緩存的數(shù)量總計(jì)可以超過可用寫高 速緩存的100%。通常,如果有四個或更多的等級,則每個等級的存儲設(shè) 備寫高速緩存限制是25%。限制等級的寫高速緩存的可用性有助于解決存 儲設(shè)備或等級控制寫高速緩存并造成寫?zhàn)囸I的問題。然而,引入高容量、 低成本的鄰線(nearline )存儲設(shè)備給出了在預(yù)防寫高速緩存的寫?zhàn)囸I方面 的另外的挑戰(zhàn)。鄰線存儲設(shè)備是在線存^i殳備和離線存儲設(shè)備之間的折衷。 在線存儲設(shè)備可以以具有對數(shù)據(jù)恒定、非??焖俚脑L問為特征,離線存儲 設(shè)備的特征在于出于#目的或長期存儲的非常見訪問。諸如光纖信道ATA (高級技術(shù)配件)驅(qū)動器或串行ATA驅(qū)動器這樣 的鄰線存儲設(shè)備由于其每字節(jié)的低成本是具有吸引力的。然而,鄰線存儲 設(shè)備具有與在線、服務(wù)器類存^i殳備不同的可靠性特性,其中當(dāng)施加服務(wù) 器類存儲設(shè)備工作負(fù)荷時,服務(wù)器類存^f^殳備揭露鄰線存儲設(shè)備有故障. 鄰線存儲設(shè)通it基于工作負(fù)荷調(diào)整其操作行為來補(bǔ)償其限制。為了限制 機(jī)械部分上的壓力以及預(yù)防鄰線存^i殳備隨后的故障,供應(yīng)商已經(jīng)實(shí)現(xiàn)了 抑制設(shè)備活動的方法。雖然抑制設(shè)備活動限制了機(jī)械壓力,但卻降低了時 間響應(yīng)特性和性能。將鄰線存儲設(shè)備引入上述分區(qū)高速緩存系統(tǒng)造成了其中可能發(fā)生寫?zhàn)?餓的情況。如果存儲控制器可訪問多個鄰線存儲i殳備,而每個鄰線存儲設(shè) 備均可以由分配的存儲設(shè)備寫高速緩存限制所限制,則鄰線存儲i殳備的組 合可以各自使用其被分配的寫高速緩存并且引起寫查找.例如,四個或更 多的鄰線存儲設(shè)備可以由存儲控制器訪問,并且具有25%的存儲設(shè)備寫高 速緩存限制。隨著工作負(fù)荷在鄰線設(shè)備上增加,鄰線存^i殳備可能開始減 速(throttle back)。當(dāng)鄰線存儲儲設(shè)備減速時,到鄰線存儲設(shè)備的離臺花費(fèi) 比最優(yōu)操作更多的時間,并且處于負(fù)荷之下的每個鄰線存儲設(shè)備然后可能 占用更多的寫高速緩存。四個鄰線存儲設(shè)備中的每一個均可以占用達(dá)25%
      的寫高速緩存并且控制整個寫高速緩存。根據(jù)前述討論,存在對這樣一種裝置、系統(tǒng)和方法的需要應(yīng)該是顯而 易見的,即這種裝置、系統(tǒng)和方法預(yù)防了具有對鄰線、低性能存儲設(shè)備的 訪問的存儲控制器的寫?zhàn)囸I。有益地,這樣的裝置、系統(tǒng)和方法將限制存 儲控制器可訪問的鄰線、低性能存儲設(shè)備可用的寫高速緩存的數(shù)量。發(fā)明內(nèi)容響應(yīng)于現(xiàn)有技術(shù)的當(dāng)前狀況,并且特別地,響應(yīng)于現(xiàn)有技術(shù)中尚未由 當(dāng)前可用的存儲控制器完全解決的問題和需要已經(jīng)開發(fā)了本發(fā)明。因此, 已經(jīng)開發(fā)了本發(fā)明以提供一種用于預(yù)防在具有對低性能存儲設(shè)備的訪問的 存儲控制器中的寫?zhàn)嚩淼难b置、系統(tǒng)和方法,其克服了現(xiàn)有技術(shù)中上述很 多或所有缺點(diǎn)。給出了本發(fā)明的一種方法,用于預(yù)防在具有對低性能存^^殳備的訪問 的存儲控制器中的寫?zhàn)嚩?所公開的實(shí)施例中的方法實(shí)質(zhì)上包括實(shí)現(xiàn)以下關(guān)于所描述的裝置和系統(tǒng)的IMt所給出的功能所必需的步驟.在一個實(shí)施例中,所述方法包括為存儲控制器可訪問的每個存儲設(shè)備分》)M^ti殳備寫 高速緩存限制'所述存^i殳備寫高速緩存限制包括對于寫操作來iJ^H^殳 備可用的存儲控制器的寫高速緩存的最大數(shù)量,至少一個存^i殳備包括低 性能存儲設(shè)備,并且所述存^i殳備可用的存儲總量包括大于所述寫高速緩 存的總存儲容量的數(shù)量,所述方法包括設(shè)置低性能寫高速緩存限制.所述低性能寫高速緩存限 制包括對于寫操作來說可供所述至少一個低性能存儲設(shè)W用的寫高速緩 存的數(shù)量。所述至少一個低性能存儲i殳備可用的寫高速緩存的數(shù)量包括小 于所述寫高速緩存的總存儲容量的數(shù)量。在一個實(shí)施例中,所述低性能存 餘沒備包拾故配置以響應(yīng)于重工作負(fù)荷而降低性能的存^i殳備。在另一實(shí) 施例中,所述低性能存儲設(shè)備包括鄰線存儲設(shè)備.在另一實(shí)施例中,所述 寫高速緩存包括非易失性存儲器。所述方法還可以包括接收將更新存儲到低性能存儲設(shè)備的請求;響
      應(yīng)于所述更新的大小加上待寫入所述低性能存^i更備的更新所占用的寫高 速緩存的數(shù)量小于或等于所述存#^殳備寫高速緩存限制,以及所述更新的 大小加上待寫入所述存儲控制器可訪問的低性能存儲設(shè)備的更新所占用的 寫高速緩存的數(shù)量小于或等于所述低性能寫高速緩存限制,將所述更新存 儲在所述寫高速緩存中;以及將所述更新寫入所述低性能存儲設(shè)備。在另 一實(shí)施例中,所述方法包括接收將更新存儲到低性能存儲設(shè)備的請求; 以及響應(yīng)于所述更新的大小加上待寫入所述低性能存^i殳備的更新所占用 的寫高速緩存的數(shù)量大于所述存^i殳備寫高速緩存限制,或者所迷更新的 大小加上待寫入所述存儲控制器可訪問的低性能存^i殳備的更新所占用的 寫高速緩存的數(shù)量大于所述低性能寫高速緩存限制,延遲對所述更新的存 儲。在另一實(shí)施例中,延遲對所述更新的存儲包括對重新連接請求所述 更新的主機(jī)所要求的重新連接參數(shù)進(jìn)行排隊(duì),以及從所述主機(jī)斷開.在進(jìn)一 步的實(shí)施例中,至少 一個存儲設(shè)備包括廉價磁盤冗余陣列 ("RAID")陣列.在另一實(shí)施例中,每個存^i更備可用的寫高速緩存的 最大數(shù)量大于所述寫高速緩存的總存儲容量除以所述存儲控制器可訪問的 存^i殳備的總數(shù)。在另一實(shí)施例中,所述存儲控制器可訪問的每個存儲設(shè) 備的存儲設(shè)備寫高速緩存限制包括對于每個存^i殳備相等的數(shù)量,在又一 實(shí)施例中,所述存儲控制器可訪問的每個存儲設(shè)備的存儲設(shè)備寫高速緩存 限制包括對于每個存^i殳備不同的限制。在一個實(shí)施例中,當(dāng)所迷存儲控 制器可訪問四個或更多的存^i殳備時,存^i殳備的存^i殳備寫高速緩存限 制被限制在所述寫高速緩存的總存儲容量的25%。在另一實(shí)施例中,當(dāng)所 述存儲控制器可訪問兩個或更多的低性能存^f^殳備時,所述低性能寫高速 緩存限制不超過所述寫高速緩存的總存儲容量的 一半。提供了一種預(yù)防存儲控制器的分區(qū)高速緩存中的寫?zhàn)囸I的裝置,其具 有被配置以在功能上執(zhí)行分派存儲寫高速緩存限制以及低性能寫高速緩存 限制的必要步驟的多個模塊.所描述的實(shí)施例中的這些模塊包括存^i殳備 分配模塊,其為存儲控制器可訪問的每個存^i殳備分派存儲寫高速緩存限 制,所述存^i殳備寫高速緩存限制包括對于寫操作來it^f^殳備可用的存 儲控制器的寫高速緩存的最大數(shù)量。至少一個存儲設(shè)備包括低性能存^i殳 備,并且所迷存^i殳備可用的存儲總量包括大于所述寫高速緩存的總存儲 容量的數(shù)量。所述裝置包括低性能寫高速緩存限制模塊,其設(shè)置低性能寫 高速緩存限制。所述低性能寫高速緩存限制包括對于寫^^作來說可供所述 至少一個低性能存儲設(shè)^^吏用的寫高速緩存的數(shù)量。所述至少一個低性能 存儲設(shè)備可用的寫高速緩存的數(shù)量包括小于所述寫高速緩存的總存儲容量 的數(shù)量。在一個實(shí)施例中,所述裝置被配置以包括請求模塊,其接收將更新 存儲到低性能存儲設(shè)備的請求;寫高速緩存存儲模塊,其將所述更新存儲 在所述寫高速緩存中;以及離臺模塊,其將所述更新離臺至所述低性能存 ^i更備。響應(yīng)于所述更新的大小加上待寫入所述低性能存^i殳備的更新所 占用的寫高速緩存的數(shù)量小于或等于所述存儲設(shè)備寫高速緩存限制,以及 所述更新的大小加上待寫入所述存儲控制器可訪問的低性能存儲設(shè)備的更 新所占用的寫高速緩存的數(shù)量小于或等于所述低性能寫高速緩存限制,所 迷寫高速緩存存儲模塊將所述更新存儲在所述寫高速緩存中。在一個實(shí)施 例中,所述存儲控制器包括易失性高速緩存,并且所述寫高速緩存存儲模 塊將所述更新的副本存儲在所述寫高速緩存中以及將所述更新的副;M"儲 在所述易失性高速緩存中,并且所述離臺模塊將所述更新從所述易失性高 速緩存離臺至所述低性能存儲設(shè)備'在一個實(shí)施例中,所述裝置被進(jìn)一步配置以包括延i^塊,響應(yīng)于所 述更新的大小加上待寫入所述低性能存^i更備的更新所占用的寫高速緩存 的數(shù)量大于所述存^i殳備寫高速緩存限制,或者所述更新的大小加上待寫 入所述存儲控制器可訪問的低性能存^fti殳備的更新所占用的寫高速緩存的 數(shù)量大于所述低性能寫高速緩存限制,所^,塊延遲對所述更新的存 儲.還給出了本發(fā)明的一種預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控 制器中的寫卡幾俄的系統(tǒng).所述系統(tǒng)可以由多個存^i殳備來體現(xiàn),其中所述 存儲設(shè)備中的至少一個包括低性能存儲設(shè)備,以及連接至所述多個存儲設(shè) 備的存儲控制器。特別地,在一個實(shí)施例中,所述存儲控制器包括存^i殳 備分配模塊,其為所述存儲控制器可訪問的每個存儲設(shè)備分派存儲寫高速 緩存限制。所述存^f殳備寫高速緩存限制包括對于寫操作來說存^i更備可 用的存儲控制器的寫高速緩存的最大數(shù)量。至少一個存^i殳備包括低性能 存儲設(shè)備,并且所述存^i殳備可用的存儲總量包括大于所述寫高速緩存的 總存儲容量的數(shù)量。所述存儲控制器包括低性能寫高速緩存限制模塊,其設(shè)置低性能寫高 速緩存限制。所述低性能寫高速緩存限制包括對于寫操作來說可供所述至 少一個低性能存^i殳備使用的寫高速緩存的數(shù)量。所述至少一個低性能存 ^i殳備可用的寫高速緩存的數(shù)量包括小于所述寫高速緩存的總存儲容量的 數(shù)量。所述系統(tǒng)可以進(jìn)一步包括通過所述存儲控制器具有對所述存^i殳備 中至少一個的訪問的主機(jī),其中所迷存儲控制器用于將更新寫入所述至少 一個存儲設(shè)備。在一個實(shí)施例中,主機(jī)通過存儲區(qū)域網(wǎng)與所述存儲控制器 進(jìn)行通信。貫穿本說明書所談及的特征、優(yōu)點(diǎn)或類似的語言并不暗指隨本發(fā)明可 以實(shí)現(xiàn)的所有特征和優(yōu)點(diǎn)應(yīng)當(dāng)在或者是在本發(fā)明的任何單個的實(shí)施例中. 更確切地,將涉及特征和優(yōu)點(diǎn)的語言理解為意指在本發(fā)明的至少一個實(shí)施 例中包括了結(jié)合實(shí)施例所描述的具體特征、優(yōu)點(diǎn)或特性。因而,貫穿本說 明書所討論的特征和優(yōu)點(diǎn)以及類似的語言可以,但不一定,指的是相同的 實(shí)施例。此外,可以在一個或多個實(shí)施例中以任何適當(dāng)?shù)姆绞浇Y(jié)合所描述的本 發(fā)明的特征、優(yōu)點(diǎn)以及特性。相關(guān)領(lǐng)域的技術(shù)人員可以認(rèn)識到,在不具有 特定實(shí)施例的一個或多個具體特征或優(yōu)點(diǎn)的情況下仍然可以實(shí)踐本發(fā)明。 在其它的實(shí)例中,可以在特定的實(shí)施例中認(rèn)識到在本發(fā)明的所有實(shí)施例中 可能沒有呈現(xiàn)的另外的特征和優(yōu)點(diǎn),根據(jù)下面的描述以及所附的權(quán)利要求,本發(fā)明的這些特征和優(yōu)點(diǎn)將變 得更加充分顯見,或者通過下文所闡述的本發(fā)明的實(shí)踐可以獲悉本發(fā)明的 這些特征和優(yōu)點(diǎn)。


      為了將更容易理解本發(fā)明的優(yōu)點(diǎn),通過參照附圖中所說明的具體實(shí)施 例將給出對以上簡要描述的本發(fā)明的更具體的描述。理解到這些附圖僅描 繪了本發(fā)明的典型實(shí)施例,并不因此而被認(rèn)為是對其范圍的限制,通過使用附圖,將利用附加的特征和細(xì)節(jié)描述和解釋本發(fā)明,其中圖l是說明了依照本發(fā)明的系統(tǒng)的一個實(shí)施例的示意性框圖,該系統(tǒng) 預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫?zhàn)囸I;圖2是說明了依照本發(fā)明的存儲控制器的高速緩存的一個實(shí)施例的示 意性框圖,該存儲控制器具有對低性能存儲設(shè)備的訪問以及具有預(yù)防存儲 控制器中的寫?zhàn)囸I的裝置;圖3是說明了依照本發(fā)明的裝置的一個實(shí)施例的示意性框圖,該裝置 預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫?zhàn)囸I;圖4是說明了依照本發(fā)明的裝置的另一實(shí)施例的示意性框圖,該裝置 預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫々幾俄;圖5是說明了依照本發(fā)明的方法的一個實(shí)施例的示意性流程圖,該方 法用于預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫?zhàn)囸I;以 及圖6是說明了依照本發(fā)明的方法的另一實(shí)施例的示意性流程圖,該方 法用于預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫?zhàn)囸I。
      具體實(shí)施方式
      本說明書中所描述的很多功能單元已經(jīng)被標(biāo)記為模塊,以便更具體地 強(qiáng)調(diào)其實(shí)現(xiàn)獨(dú)立性.例如,模塊可以作為包括定制VLSI電路或門陣列的 硬件電路、諸如邏輯芯片、晶體管或其它分立元件的現(xiàn)成半導(dǎo)體來實(shí)現(xiàn). 模塊還可以在諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備 等的可編程硬件設(shè)備中實(shí)現(xiàn)。模塊還可以在由各種類型的處理器執(zhí)行的軟件中實(shí)現(xiàn)。舉例來i兌,可
      執(zhí)行代碼的標(biāo)識模塊可以包括可以例如組織為對象、過程或函數(shù)的計(jì)算機(jī) 指令的一個或多個物理或邏輯塊。然而,標(biāo)識模塊的可執(zhí)行體不需要在物 理上位于一起,但卻可以包括存儲在不同位置的不同指令,當(dāng)在邏輯上連 接在一起時,其包括該模塊并且實(shí)現(xiàn)對該模塊所規(guī)定的目的。實(shí)際上,可執(zhí)行代碼的模塊可以是單個指令或很多指令,并且甚至可 以分布在幾個不同的代碼段上、在不同的程序間,以及跨幾個存儲設(shè)備。 類似地,文中可以在模塊內(nèi)標(biāo)識和說明操作數(shù)據(jù),并且可以以任何適當(dāng)?shù)?形式體現(xiàn)以及在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)中組織操作數(shù)據(jù)。操作數(shù)據(jù)可以 作為單個數(shù)據(jù)集來收集,或者可以分布在不同位置上(包括分布在不同存 儲設(shè)備上),以及可以(至少部分地)僅作為系統(tǒng)或網(wǎng)絡(luò)上的電子信號而 存在。貫穿本{兌明書所談及的"一個實(shí)施例"、"實(shí)施例"或類似的語言意 味著在本發(fā)明的至少一個實(shí)施例中包括了結(jié)合實(shí)施例所描述的特定特征、 結(jié)構(gòu)或特性。因而,貫穿本說明書所出現(xiàn)的短語"在一個實(shí)施例中"、"在 實(shí)施例中"以及類似的語言可以,但不一定,都指的是相同的實(shí)施例,涉及的信號承載介質(zhì)可以采取能夠產(chǎn)生信號、導(dǎo)致信號產(chǎn)生或?qū)е聢?zhí) 行數(shù)字處理裝置上的機(jī)器可讀指令的程序的任何形式。信號承載介質(zhì)可以由傳輸線、壓縮磁盤、數(shù)字視盤、磁帶、Bernoulli驅(qū)動器、磁盤、穿孔卡 片、閃速存儲器、集成電路或其它數(shù)字處理裝置存儲設(shè)備來體現(xiàn)。此外,可以在一個或多個實(shí)施例中以任何適當(dāng)?shù)姆绞浇Y(jié)合所描述的本 發(fā)明的特征、結(jié)構(gòu)或特性。在下面的描述中,ll供了各種具體的細(xì)節(jié),例 如編程的例子、軟件模塊、用戶選擇、網(wǎng)絡(luò)事務(wù)、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié) 構(gòu)、硬件模塊、硬件電路、硬件芯片等,以便提供對本發(fā)明的實(shí)施例的透 徹理解。然而,相關(guān)領(lǐng)域的技術(shù)人員可以認(rèn)識到,在不具有一個或多個具 體細(xì)節(jié)的情況下,或者利用其它的方法、組件、材料等,仍然可以實(shí)踐本 發(fā)明。在其它的實(shí)例中,并未詳細(xì)示出或描述公知的結(jié)構(gòu)、材料或操作, 以免模糊本發(fā)明的方面。文中所描述的示意性流程圖通常作為邏輯流程圖來闡述。如此,圖示的順序以及標(biāo)記的步驟表示的是所給出的方法的一個實(shí)施例??梢詷?gòu)想出 在功能、邏輯或效果上等效于所說明的方法的一個或多個步驟或其部分的 其它步驟和方法。另外,提供了所采用的格式和符號來解釋該方法的邏輯 步驟,并且可以理解這些格式和符號并不對該方法的范圍進(jìn)行限制。盡管 在流程圖中可以采用各種箭頭類型和線條類型,然而要理解到它們并不對 相應(yīng)方法的范圍進(jìn)行限制。實(shí)際上,可以使用一些箭頭或其它連接符來僅 僅指示該方法的邏輯流程。例如,箭頭可以指示在所述方法的枚舉步驟之 間,未指定的持續(xù)時間的等待或監(jiān)控周期。另外,其中特定方法發(fā)生的順 序可以或不必嚴(yán)格遵守所示出的相應(yīng)步猓的順序。圖1描繪了說明依照本發(fā)明的系統(tǒng)100的一個實(shí)施例的示意性框圖, 該系統(tǒng)100預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫?zhàn)?餓。系統(tǒng)IOO包括存儲控制器102,其具有對存儲i殳備104、 106的訪問, 存^i殳備104、 106中的一些是低性能存儲設(shè)備106。存儲控制器102通過 計(jì)算機(jī)網(wǎng)絡(luò)110與一個或多個主機(jī)108進(jìn)行通信。存儲控制器102包括處 理器112、計(jì)算機(jī)代碼114、高速緩存116以及寫高速緩存118.下面對設(shè) 備和組件進(jìn)行描述。系統(tǒng)100包括存儲控制器102,存儲控制器102可以是Enterprise Storage ServeiKg)或類似的服務(wù)器或系統(tǒng)的一部分。存儲控制器102可以包 括單個計(jì)算機(jī)或計(jì)算機(jī)網(wǎng)絡(luò)。存儲控制器102可以是文件服務(wù)器的一部分 或者可以是獨(dú)立的計(jì)算機(jī)。存儲控制器102訪問多個存儲設(shè)備104、 106. 存儲控制器102可以通過存儲區(qū)域網(wǎng)("SAN")、廣域網(wǎng)、局域網(wǎng)、光 纖信道網(wǎng)絡(luò)、因特網(wǎng)等來訪問存儲設(shè)備104.存^(^i更備104、 106包括多個低性能存^i殳備106a、 b、 ...n。系統(tǒng)IOO 包括至少一個低性能存儲設(shè)備106a。存儲設(shè)備通常是硬盤驅(qū)動器,但卻還 可以包括閃速存儲器、光驅(qū)動器、磁帶驅(qū)動器、RAID陣列、JBOD、 DASD 等。低性能驅(qū)動器106可以是高容量、低成本的鄰線驅(qū)動器.低性能驅(qū)動 器106可以是鄰線存儲設(shè)備'低性能驅(qū)動器106通常在重工作負(fù)荷下具有有限的性能能力。例如,
      低性能驅(qū)動器106可以在重負(fù)荷期間減速以便在降低的性能級別操作.降 低的性能可以包括以較低的速度操作、允許較少的讀/寫操作等。低性能存 ^i殳備106可以包括光纖信道ATA和串行ATA存^i殳備。其它存儲設(shè)備 104通常是服務(wù)器類設(shè)備并且可以不在負(fù)荷下顯著降低性能。存儲控制器102通常從通過計(jì)算機(jī)網(wǎng)絡(luò)110連接的一個或多個主機(jī) 108接收寫請求。主機(jī)108可以力艮務(wù)器、工作站、個人計(jì)算機(jī)、大型計(jì) 算機(jī)、膝上型計(jì)算機(jī)等。計(jì)算機(jī)網(wǎng)絡(luò)110可以包括廣域網(wǎng)、局域網(wǎng)、SAN、 因特網(wǎng)、光纖信道網(wǎng)絡(luò)等,并且可以包括網(wǎng)絡(luò)類型的組合。計(jì)算機(jī)網(wǎng)絡(luò)110 可以包括集成服務(wù)器、集線器、交換機(jī)、電纜、路由器等。存儲控制器102包括處理器112,例如執(zhí)行4戈碼114以實(shí)現(xiàn)存儲控制 器操作的中央處理器("CPU")。計(jì)算機(jī)代碼114可以存儲在隨機(jī)訪問 存儲器("RAM")或處理器112可訪問的其它位置。存儲控制器102包 括高速緩存116。高速緩存116通常是易失性存儲器并且可以用于寫操作。 高速緩存116還可以用于存儲控制器102操作必要的其它操作。存儲控制器102還包括寫高速緩存118。在一個實(shí)施例中,寫高速緩 存118用于寫操作,并且可以被稱為非易失性存儲器("NVS")。在一 個實(shí)施例中,寫高速緩存118可以用于其它的輸A/輸出操作或者其中期望 在電力失效、重新引導(dǎo)或?qū)е赂咚賌存116中婆:據(jù)丟失的其它情況下不丟 失教:據(jù)的其它功能。寫高速緩存118可以由電池、不間斷電源等來維護(hù),或者可以包括閃速存儲器或者在缺少外加電力的情況下維護(hù)其內(nèi)容的其它 存儲器.本領(lǐng)域的技術(shù)人員可以認(rèn)識到在缺少外加電力的情況下能夠維護(hù)數(shù)據(jù)的寫高速緩存118的其它形式,圖2是說明了依照本發(fā)明的存儲控制器102的寫高速緩存118的一個 實(shí)施例的示意性框圖,該存儲控制器102具有對低性能存^i殳備106的訪 問以及具有預(yù)防存儲控制器102中的寫?zhàn)囸I的裝置。在一個實(shí)施例中,寫 高速緩存118包括存^i殳備寫高速緩存限制202以及低性能寫高速緩存限 制204。寫高速緩存118還可以包括重新連接隊(duì)列206a、 b、…n,使用的 百分比寫高速緩存208a、 b、…n,以及存儲控制器102可訪問的每個存儲 設(shè)備104、 106的中間計(jì)數(shù)器210a、 b、…n。限制202、 204、隊(duì)列206、使用的百分比寫高速緩存208以及計(jì)數(shù)器 210可以如所示位于寫高速緩存118中,或者可以位于其它地方,例如高 速緩存116、外部存儲器、RAM或處理器112可訪問的其它位置。P艮制 202、 204、隊(duì)列206、使用的百分比寫高速緩存208以及計(jì)數(shù)器210的位 置可以在一起或分開。限制202、 204、隊(duì)列206、使用的百分比寫高速緩 存208以及計(jì)數(shù)器210可以是變量并且可以位于數(shù)據(jù)結(jié)構(gòu)、陣列、表格等 中。在一個實(shí)施例中,限制202、 204、隊(duì)列206、使用的百分比寫高速緩 存208以及計(jì)數(shù)器210可以不全部存在。在下面的附圖中較為詳細(xì)地描述 了限制202、 204、隊(duì)列206、使用的百分比寫高速緩存208以及計(jì)數(shù)器210。圖3是說明了依照本發(fā)明的裝置300的一個實(shí)施例的示意性框圖,該 裝置300預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫?zhàn)囸I. 裝置300包括具有存儲設(shè)備分St模塊302和低性能寫高速緩存限制模塊 304的存儲控制器102,在下面對其進(jìn)行了描述。存儲控制器102實(shí)質(zhì)上類 似于關(guān)于圖1所描述的存儲控制器102。存^ 更^^配模塊302為存儲控制器102可訪問的每個存^i殳備104、 106分派存儲寫高速緩存限制202。在一個實(shí)施例中,存^i殳備寫高速緩存 限制202是對于寫操作來i)UM^i殳備104、 106可用的存儲控制器102的寫 高速緩存118的最大數(shù)量.在一個實(shí)施例中,存儲設(shè)備分配模塊302為存 儲設(shè)備104、 106分派一個存^i殳備寫高速緩存限制202。在另一實(shí)施例中, 存^i殳備分配模塊302為每個存儲設(shè)備104、 106分派唯一的存儲設(shè)備寫高 速緩存限制202。唯一的存儲設(shè)備寫高速緩存限制202對于一些存儲設(shè)備 104、 106可以是相同的值。在一個實(shí)施例中,存儲設(shè)備分S己模塊302為RAID陣列分^M^^i殳備 寫高速緩存限制202。在另一實(shí)施例中,存儲設(shè)^^S誠塊302為RAID 陣列中的每個存儲設(shè)備104、 106分派存儲設(shè)備寫高速緩存限制202,在另 一實(shí)施例中,存^i殳^^配模塊302基于存^i殳備104、 106的大小,為每 個存儲設(shè)備104、 106分派存^i殳備寫高速緩存限制202。在又一實(shí)施例中,
      存儲設(shè)M配模塊302基于優(yōu)先級系統(tǒng)分派存^i殳備寫高速緩存限制202。 本領(lǐng)域的技術(shù)人員可以認(rèn)識到存#^殳^^配# 302可以分^^i殳備寫 高速緩存限制202的其它方式。通常,裝置300包括至少一個低性能存^i殳備106。低性能存儲設(shè)備 106可以是鄰線存^i殳備并且實(shí)質(zhì)上類似于關(guān)于圖1所描述的低性能存儲 設(shè)備106。同樣,通常存儲設(shè)備104、 106可用的存儲總量包括大于寫高速 緩存118的總存儲容量的數(shù)量。選擇存^i殳備104、 106可用的存儲總量通 常比劃分存儲空間更有效率,所以分配的總量小于或等于可用空間。在存儲控制器102可訪問很多存儲設(shè)備104、 106的情況下,來自主機(jī) 108的存儲請求可以要求存儲設(shè)備104、 106在一段時間有效(需要高速緩存116和寫高速緩存118的相當(dāng)大的一部分用于一個或多個寫IMt),然 后卻可能待用相當(dāng)長一段時間。在一個實(shí)施例中,在有四個或更多的存儲 設(shè)備104、 106對于存儲控制器102是可訪問的情況下,存儲設(shè)備分配模塊 302分派寫高速緩存118的25%大小的存儲設(shè)備寫高速緩存限制202。本 領(lǐng)域的技術(shù)人員可以認(rèn)識到基于存儲控制器102可訪問的存^i殳備104、 106的其它存#^殳備寫高速緩存限制202.在存儲控制器102可訪問慢速存^i殳備104、 106的情況下,可能會產(chǎn) 生問題,其中慢速存^i殳備控制寫高速緩存118并且導(dǎo)致寫?zhàn)囸I,分^M^ ^^殳備寫高速緩存限制202緩解了該問題。然而,當(dāng)存儲控制器102可訪 問一組鄰線存儲設(shè)備或類似的低性能存儲設(shè)備106的時候,該組可能會在 存儲控制器102的典型工作負(fù)荷之下全部減速.盡管每個低性能存儲設(shè)備 106均可以由存^^i殳備寫高速^^存限制202來限制,然而該組仍可能控制 寫高速緩存118并且可能導(dǎo)致寫奴應(yīng)。為此,裝置300包括低性能寫高速緩存限制模塊304,其設(shè)置低性能 寫高速緩存限制204,在一個實(shí)施例中,低性能寫高速緩存限制204包括 對于寫IMt來說可供至少一個低性能存儲設(shè)備106使用的寫高速緩存118 的數(shù)量,低性能存^i殳備106可用的寫高速緩存118的數(shù)量包括小于寫高 速緩存118的總存儲容量的數(shù)量。通常,當(dāng)存儲控制器102可訪問一組低性能存儲設(shè)備106時,由于在負(fù)荷之下往回抑制性能或?qū)е碌托阅艿念愃?動作,該組可能控制寫高速緩存118。低性能寫高速緩存限制模塊304設(shè) 置低性能寫高速緩存限制204,以便預(yù)防該組低性能存儲設(shè)備106控制寫 高速緩存118和導(dǎo)致寫?zhàn)囸I。在一個實(shí)施例中,低性能寫高速緩存限制模 塊304設(shè)置寫高速緩存118的50%大小的低性能寫高速緩存限制204。本 領(lǐng)域的技術(shù)人員可以認(rèn)識到在存儲控制器102可訪問一組低性能存儲設(shè)備 106的情況下,適于寫高速緩存118的其它低性能寫高速緩存限制204.低性能寫高速緩存限制204通常限制可供存儲控制器102可訪問的低 性能存儲設(shè)備106使用的寫高速緩存118的數(shù)量。通常,由低性能存儲設(shè) 備106a所使用的寫高速緩存118的數(shù)量是由分派的存儲設(shè)備寫高速緩存限 制202以及低性能寫高速緩存限制204來限制的。例如,如果分派制氐性 能存儲設(shè)備106a的存儲設(shè)備寫高速緩存限制202是25%,并且寫高速緩 存118的10%具有將要離臺至低性能存儲設(shè)備106a的更新,則如果該更 新占用小于寫高速緩存118的15%,就會接受來自主機(jī)108的對打算錄4氐 性能存儲設(shè)備106a的更新進(jìn)行存儲的寫請求。然而,低性能寫高速緩存限 制204被設(shè)置在50%,并且寫高速緩存118的45。/。包括打算^f氐性能存儲 設(shè)備106a、 b、 ...n的更新,則不會接受該更新并且將對其進(jìn)行延遲。在一個實(shí)施例中,存儲控制器102的寫高速緩存118包括使用的寫高 速緩存百分比208變量.每個存^i殳備104、 106均具有使用的寫高速緩存 百分比變量208a、 b、 ...n。每個使用的寫高速緩存百分比變量208a、 b、 ...n 由存儲控制器102用來跟蹤有多少寫高速緩存118充滿了給特定存^i殳備 104、 106的更新,在另一實(shí)施例中,存儲控制器102的寫高速緩存118包 括每個存^^殳備104、 106的重新連接隊(duì)列206a、 b、…n。重新連接隊(duì)列 206用于在出于某種原因拒絕寫請求時存儲用于重新連接至主機(jī)108的參 數(shù)。圖4是說明了依照本發(fā)明的裝置400的另一實(shí)施例的示意性框圖,該 裝置400預(yù)防在具有對低性能存^i殳備的訪問的存儲控制器中的寫?zhàn)嚩恚?裝置400包括具有存^i殳備分配模塊302和低性能寫高速緩存限制模塊
      304的存儲控制器102,其實(shí)質(zhì)上類似于關(guān)于圖3的裝置300所描述的存儲 控制器102和模塊。另外,存儲控制器102包括下面描述的請求模塊402、 寫高速緩存存儲模塊404、離臺模塊406以及延i^塊408。存儲控制器102包括請求模塊402,其接收將更新存儲到低性能存儲 設(shè)備106a的請求。通常從主機(jī)108接收存儲更新的請求,但卻還可以從與 存儲控制器102通信的任何設(shè)備接收。更新可以包括完整文件、部分文件, 或者在低性能存儲設(shè)備106a上存儲數(shù)據(jù)的其它請求。將更新存儲到其它存 儲設(shè)備104之一的請求可以以類似的方式接收。請求模塊402通常通過計(jì) 算機(jī)網(wǎng)絡(luò)110接收更新,存儲控制器102包括寫高速緩存存儲模塊404,其在寫高速緩存118 中存儲更新。在更新的大小加上待寫入低性能存儲設(shè)備106a的更新所占用 的寫高速緩存118的數(shù)量小于或等于存^i殳備寫高速緩存限制202,并且 更新的大小加上待寫入存儲控制器102可訪問的低性能存儲設(shè)備106a、 b、 ...n的更新所占用的寫高速緩存的數(shù)量小于或等于低性能寫高速緩存限 制204的M下,寫高速緩存存儲模塊404存儲該更新。出現(xiàn)低性能存儲 設(shè)備106的地方,通常是兩個條件在寫高速緩存存儲模塊404將更新存儲 在寫高速緩存118中之前均得到滿足。在一個實(shí)施例中,寫高速緩存存儲 模塊404還將更新存儲在高速緩存116中。寫高速緩存存儲模塊404可以 將使用的寫高速緩存百分比變量208用于跟蹤使用中的寫高速緩存118的 數(shù)量。存儲控制器102包括離臺模塊406,其將更新離臺至低性能存^i殳備 106a。離臺模塊406還可以離臺打算給其它存^f^殳備104的更新.在一個 實(shí)施例中,寫高速緩存存儲模塊404和離臺模塊406是將成功狀態(tài)返回給 這樣的主機(jī)108的快寫操作的一部分,即該主機(jī)108請求寫操作并且在寫 高速緩存存儲模塊404將更新存儲在寫高速緩存118和高速緩存116中之 后發(fā)送更新,該類型的寫操作通常比在將更新存儲在存儲設(shè)備104、 106 中之后返回成功的操作花費(fèi)更少的時間。存儲控制器102包括延,塊408,其延^J"更新的存儲,如果以下
      兩個M之一得到滿足,則延i5^塊408延i5^t更新的存儲更新的大小 加上待寫入低性能存^li殳備106a的更新所占用的寫高速緩存118的數(shù)量大 于存^i殳備寫高速緩存限制202,或者更新的大小加上待寫入存儲控制器 102可訪問的低性能存^fti殳備106a、 b、 ...n的更新所占用的寫高速緩存 118的數(shù)量大于低性能寫高速緩存限制204,如果任一條件符合,則延遲模 塊408延遲對更新的存儲。在一個實(shí)施例中,重新連接隊(duì)列206用于在延遲模塊408延遲寫請求 時存儲重新連接參數(shù)。當(dāng)延i^t塊408確定有足夠的寫高速緩存118可用 于經(jīng)延遲的更新時,存儲控制器102重新連接至發(fā)送寫請求的主機(jī)108, 從而給予主機(jī)108將關(guān)聯(lián)更新存儲在寫高速緩存118中的另一機(jī)會。本領(lǐng) 域的技術(shù)人員可以認(rèn)識到存儲控制器102何時可以重新連接至主機(jī)108以 完成寫請求的條件。在一個實(shí)施例中,寫高速緩存118包括存儲控制器102可訪問的每個 存^i殳備104、 106的中間計(jì)數(shù)器210a、 b、 ...n。中間計(jì)數(shù)器210旨在當(dāng) 出現(xiàn)這樣的情形時允許一些更新,即存^^i更備寫高速緩存限制202或低性 能寫高速緩存限制204降低并且一個或多個存^i殳備104、 106的使用的寫 高速緩存百分比208實(shí)質(zhì)上超過存^i殳備寫高速緩存限制202或低性能寫 高速緩存限制204。在通過引用并入的Ash專利(參見圖5和相關(guān)文本) 中詳細(xì)描迷了關(guān)于存^i殳備寫高速緩存限制202 (NVS閾值30)的中間計(jì) 數(shù)器的IMt。中間計(jì)數(shù)器210還可以以類似的方式用于低性能寫高速緩存 限制204。在一個實(shí)施例中,中間計(jì)數(shù)器210n+l (未示出)可以結(jié)合低性新正在使用的寫高速緩存118的數(shù)量。本領(lǐng)域的技術(shù)人員可以認(rèn)識到存儲 控制器102以其它方式使用中間計(jì)數(shù)器210,以便當(dāng)一個或多個存^i更備 104、 106所使用的寫高速緩存118的數(shù)量超過存^i殳備寫高速緩存限制202 或低性能寫高速緩存限制204 &目當(dāng)大的數(shù)量時允許一些更新。圖5是說明了依照本發(fā)明的方法500的一個實(shí)施例的示意性流程圖, 該方法500用于預(yù)防在具有對低性能存^i殳備106的訪問的存儲控制器 102中的寫?zhàn)囸I。該方法500開始于鄰2,并且存^i更備分配模塊302確定 504存儲控制器102可訪問的存^i殳備104、 106的數(shù)目,存儲設(shè)備104、 106的數(shù)目可以確定多個等級,其中每個等級可以是例如在RAID陣列或 JBOD中的存儲設(shè)備104、 106或一組存^i殳備104、 106。存儲設(shè)備分配 模塊302分派506存儲設(shè)備寫高速緩存限制204。在一個實(shí)施例中,存儲 設(shè)備分配模塊302為所有等級或存儲設(shè)備104、 106分派506 —個存儲設(shè)備 寫高速緩存限制204。在另 一實(shí)施例中,存儲設(shè)備分配模塊302基于大小、 優(yōu)先級或其它準(zhǔn)則為每個存^l^i殳備104、 106或等級分派506存儲設(shè)備寫高 速緩存限制204。在一個實(shí)施例中,低性能寫高速緩存限制模塊304確定508存儲控制 器102可訪問的低性能存儲設(shè)備106a、 b、 ...n的數(shù)目,在一個實(shí)施例中, 低性能寫高速援存限制模塊304確定508低性能存^i殳備106的等級數(shù), 其中一些低性能存儲設(shè)備106包括RAID陣列、JBOD等。低性能寫高速 緩存限制模塊304設(shè)置510低性能寫高速緩存限制204并且方法500結(jié)束 于512。低性能寫高速緩存限制模塊304可以設(shè)置510與低性能存儲設(shè)備 106的數(shù)目無關(guān)的低性能寫高速緩存限制204。將低性能寫高速緩存限制 204設(shè)置510為小于寫高速緩存118的大小以預(yù)防寫?zhàn)囸I。在一個實(shí)施例 中,將低性能寫高速緩存限制204設(shè)置為寫高速緩存118的大小的50%。 本領(lǐng)域的技術(shù)人員可以認(rèn)識到用于設(shè)置510低性能寫高速緩存限制204的 其它準(zhǔn)則。圖6是說明了依照本發(fā)明的方法600的另一實(shí)施例的示意性流程圖, 該方法600用于預(yù)防在具有對低性能存^i殳備106的訪問的存儲控制器 102中的寫奴械。該方法600開始于602,并且存^i更備分配模塊302確定 604存儲控制器102可訪問的等級或存儲設(shè)備104、 106的數(shù)目。存儲設(shè)備 分配模塊302為每個存儲設(shè)備104、 106分派606存儲設(shè)備寫高速緩存限制 202,低性能寫高速緩存限制模塊304確定608存儲控制器102可訪問的低 性能存儲設(shè)備106a、 b、 ...n的數(shù)目,低性能寫高速緩存限制模塊304基
      于低性能存儲設(shè)備106的等級數(shù)以及寫高速緩存118的可用空間或大小設(shè) 置610低性能寫高速緩存限制204。請求模塊402接收612將更新存儲在 低性能存儲設(shè)備106a上的請求。寫高速緩存存儲模塊404確定614更新加 上充滿了打算存儲在低性能存^i殳備106a上的其它更新的寫高速緩存118 的數(shù)量是否會超過存儲設(shè)備寫高速緩存限制202。如果寫高速緩存存儲模塊404確定614不會超過存^i殳備寫高速緩存 限制202,則寫高速緩存存儲模塊404確定616更新加上充滿了打算i^氐 性能存儲設(shè)備106中任何一個的更新的寫高速緩存118的數(shù)量是否會超過 低性能寫高速緩存限制204。如果寫高速緩存存儲模塊404確定616更新 加上充滿了打算給低性能存儲設(shè)備106中任何一個的更新的寫高速緩存 118的數(shù)量不會超過低性能寫高速緩存限制204,則寫高速緩存存儲模塊 404向?qū)懜咚倬彺?18寫入618更新,離臺模塊406將更新離臺620至預(yù) 期的低性能存儲設(shè)備106并且該方法600結(jié)束于622。如果寫高速緩存存儲模塊404確定更新將超過存^i殳備寫高速緩存限 制202或低性能寫高速緩存限制204,則延id^ 408對重新連接請求主 機(jī)108所需要的M進(jìn)行排隊(duì)624并且斷開626主機(jī)108。離臺模塊406 將更新離臺620至存儲設(shè)備104、 106并且該方法600結(jié)束于622。隨后對 存儲更新的請求通常將不需要分派存^i殳備寫高速緩存限制202或低性能 寫高速緩存限制204,但通常會開始于接收612請求的請求模塊402。在不背離本發(fā)明的精神或本質(zhì)特性的情況下可以以其它具體形式來體現(xiàn)本發(fā)明。所描述的實(shí)施例應(yīng)當(dāng)被認(rèn)為在所有方面僅是作為說明性而非限 制性的。因此,本發(fā)明的范圍是由所附權(quán)利要求而不是由前迷說明來指出 的.屬于權(quán)利要求的等同物的含義和范圍內(nèi)的所有變化都將包括在本發(fā)明 的范圍之內(nèi)。
      權(quán)利要求
      1.一種用于預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫?zhàn)囸I的方法,其包括為存儲控制器可訪問的每個存儲設(shè)備分派存儲設(shè)備寫高速緩存限制,所述存儲設(shè)備寫高速緩存限制包括對于寫操作來說存儲設(shè)備可用的存儲控制器的寫高速緩存的最大數(shù)量,其中至少一個存儲設(shè)備包括低性能存儲設(shè)備,并且所述存儲設(shè)備可用的存儲總量包括大于所述寫高速緩存的總存儲容量的數(shù)量;以及設(shè)置低性能寫高速緩存限制,所述低性能寫高速緩存限制包括對于寫操作來說可供所述至少一個低性能存儲設(shè)備使用的寫高速緩存的數(shù)量,其中所述至少一個低性能存儲設(shè)備可用的寫高速緩存的數(shù)量包括小于所述寫高速緩存的總存儲容量的數(shù)量。
      2. 根據(jù)權(quán)利要求l的方法,其中所述低性能存儲設(shè)備包括被配置以響 應(yīng)于重工作負(fù)荷而降低性能的存儲設(shè)備。
      3. 根據(jù)權(quán)利要求l的方法,其中所述低性能存儲設(shè)備包括鄰線存儲設(shè)備。
      4. 根據(jù)權(quán)利要求1的方法,其中所述寫高速緩存包括非易失性存儲器。
      5. 根據(jù)權(quán)利要求l的方法,其進(jìn)一步包括 接收將更新存儲到低性能存儲設(shè)備的請求;以及 將所述更新存儲在所述寫高速緩存中,作為對以下的響應(yīng)所述更新的大小加上待寫入所述低性能存儲設(shè)備的更新所占用的 寫高速緩存的數(shù)量小于或等于所述存儲設(shè)備寫高速緩存限制;以及所述更新的大小加上待寫入所述存儲控制器可訪問的低性能存儲 設(shè)備的更新所占用的寫高速緩存的數(shù)量小于或等于所述低性能寫高速緩存 限制;以及將所述更新寫入所述低性能存儲設(shè)備.
      6. 根據(jù)權(quán)利要求1的方法,其進(jìn)一步包括 接收將更新存儲到低性能存儲設(shè)備的請求;以及 延遲對所述更新的存儲,作為對以下之一的響應(yīng)所述更新的大小加上待寫入所述低性能存^i殳備的更新所占用的 寫高速緩存的數(shù)量大于所述存條沒備寫高速緩存限制;以及所述更新的大小加上待寫入所述存儲控制器可訪問的低性能存儲 設(shè)備的更新所占用的寫高速緩存的數(shù)量大于所述低性能寫高速緩存限制。
      7. 根據(jù)權(quán)利要求6的方法,其中延遲對所述更新的存儲進(jìn)一步包括 對重新連接請求所述更新的主機(jī)所要求的重新連接^lt進(jìn)行排隊(duì),以及從 所述主機(jī)斷開。
      8. 根據(jù)權(quán)利要求l的方法,其中至少一個存^i殳備包括廉價磁盤冗余 陣列陣列,
      9. 根據(jù)權(quán)利要求l的方法,其中每個存儲設(shè)備可用的寫高速緩存的最 大數(shù)量大于所述寫高速緩存的總存儲容量除以所述存儲控制器可訪問的存 儲設(shè)備的總數(shù)。
      10. 根據(jù)權(quán)利要求1的方法,其中所述存儲控制器可訪問的每個存儲 設(shè)備的存儲設(shè)備寫高速緩存限制包括對于每個存^i殳備相等的數(shù)量。
      11. 根據(jù)權(quán)利要求l的方法,其中所i^儲控制器可訪問的每個存儲 設(shè)備的存儲設(shè)備寫高速緩存限制包括對于每個存儲設(shè)備不同的限制。
      12. 根據(jù)權(quán)利要求1的方法,其中當(dāng)所述存儲控制器可訪問四個或更 多的存^i殳備時,存儲設(shè)備的所迷存^i殳備寫高速緩存限制被限制在所述 寫高速緩存的總存儲容量的25%。
      13. 根據(jù)權(quán)利要求1的方法,其中當(dāng)所述存儲控制器可訪問兩個或更 多的低性能存^f^殳備時,所迷低性能寫高速緩存限制不超過所迷寫高速緩 存的總存儲容量的一半。
      14. 一種預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫 饑餓的裝置,所述裝置包括存^fti更備分配模塊,所述存^i殳備分配模塊被配置以為存儲控制器可 訪問的每個存儲設(shè)備分》)M!"^i殳備寫高速緩存限制,所述存^i殳備寫高速 緩存限制包括對于寫操作來i)t^^i殳備可用的存儲控制器的寫高速緩存的 最大數(shù)量,其中至少一個存^^殳備包括低性能存^i殳備,并且所述存^i更 備可用的存儲總量包括大于所述寫高速緩存的總存儲容量的數(shù)量;以及低性能寫高速緩存限制模塊,所述低性能寫高速緩存限制模塊被配置 以設(shè)置低性能寫高速緩存限制,其中所述低性能寫高速緩存限制包括對于 寫操作來說可供所述至少一個低性能存儲設(shè)^^吏用的寫高速緩存的數(shù)量, 其中所述至少 一個低性能存^i殳備可用的寫高速緩存的數(shù)量包括小于所述 寫高速緩存的總存儲容量的數(shù)量。
      15. 根據(jù)權(quán)利要求14的裝置,其進(jìn)一步包括請求模塊,所述請求模塊被配置以接收將更新存儲到低性能存儲設(shè)備 的請求;寫高速緩存存儲模塊,所述寫高速緩存存儲模塊被配置以將所述更新 存儲在所述寫高速緩存中,作為對以下的響應(yīng)所述更新的大小加上待寫入所迷低性能存^i殳備的更新所占用的 寫高速緩存的數(shù)量小于或等于所述存儲設(shè)備寫高速緩存限制;以及所述更新的大小加上待寫入所述存儲控制器可訪問的低性能存儲 設(shè)備的更新所占用的寫高速緩存的數(shù)量小于或等于所述低性能寫高速緩存 限制;以及離臺模塊,所述離臺模塊被配置以將所述更新離臺至所述低性能存儲 設(shè)備,
      16. 根據(jù)權(quán)利要求15的裝置,其中所i^儲控制器進(jìn)一步包括易失 性高速緩存,并且其中所述寫高速緩存存儲模塊在所述寫高速緩存中存儲 所述更新的副本以及在所述易失性高速緩存中存儲所述更新的副本,并且 所述離臺模塊將所述更新從所述易失性高速緩存離臺至所述低性能存^i殳 備'
      17. 根據(jù)權(quán)利要求15的裝置,其進(jìn)一步包括延id^塊,所^i^ 塊被配置以延遲對所述更新的存儲,作為對以下之一的響應(yīng)所述更新的大小加上待寫入所述低性能存儲i殳備的更新所占用的寫 高速緩存的數(shù)量大于所iW儲設(shè)備寫高速緩存限制;以及所述更新的大小加上待寫入所述存儲控制器可訪問的低性能存儲設(shè) 備的更新所占用的寫高速緩存的數(shù)量大于所述低性能寫高速緩存限制。
      18. —種預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫 饑餓的系統(tǒng),所述系統(tǒng)包括多個存^i更備,其中所述存^i殳備中的至少一個包括低性能存儲設(shè)備;以及連接至所述多個存儲設(shè)備的存儲控制器,所述存儲控制器包括存^i殳備分配模塊,所述存^i殳備分配模塊被配置以為所述存儲 控制器可訪問的每個存^i更備分M^i殳備寫高速緩存限制,所述存^i殳 備寫高速緩存限制包括對于寫操作來說存^f^i更備可用的存儲控制器的寫高 速緩存的最大數(shù)量,其中至少一個存儲設(shè)備包括低性能存^i殳備,并且所 述存儲設(shè)備可用的存儲總量包括大于所述寫高速緩存的總存儲容量的數(shù) 量;以及低性能寫高速緩存限制模塊,所述低性能寫高速緩存限制模塊被 配置以設(shè)置低性能寫高速緩存限制,其中所述低性能寫高速緩存P艮制包括 對于寫操作來說可供所述至少一個低性能存儲設(shè)備使用的寫高速緩存的數(shù)量,其中所述至少一個低性能存儲設(shè)備可用的寫高速緩存的數(shù)量包括小于 所述寫高速緩存的總存儲容量的數(shù)量.
      19. 根據(jù)權(quán)利要求18的系統(tǒng),其進(jìn)一步包括通過所述存儲控制器具 有對所述存^i殳備中至少一個的訪問的主機(jī),其中所述存儲控制器用于將 更新寫入所述至少 一個存儲設(shè)備。
      20. 根據(jù)權(quán)利要求18的系統(tǒng),其中主機(jī)通過存儲區(qū)域網(wǎng)與所述存儲 控制器進(jìn)行通信'
      全文摘要
      公開了一種裝置、系統(tǒng)和方法,用于預(yù)防在具有對低性能存儲設(shè)備的訪問的存儲控制器中的寫?zhàn)囸I。包括了存儲設(shè)備分配模塊來為存儲控制器可訪問的每個存儲設(shè)備分派存儲設(shè)備寫高速緩存限制。該存儲設(shè)備寫高速緩存限制包括對寫操作而言存儲設(shè)備可用的存儲控制器的寫高速緩存的最大數(shù)量。至少一個存儲設(shè)備包括低性能存儲設(shè)備,且該存儲設(shè)備可用的存儲總量包括大于該寫高速緩存的總存儲容量的數(shù)量。包括了低性能寫高速緩存限制模塊來設(shè)置低性能寫高速緩存限制。該低性能寫高速緩存限制包括對寫操作而言可供所述至少一個低性能存儲設(shè)備使用的寫高速緩存的數(shù)量。所述至少一個低性能存儲設(shè)備可用的寫高速緩存的數(shù)量包括小于該寫高速緩存的總存儲容量的數(shù)量。
      文檔編號G06F12/08GK101131675SQ200710146548
      公開日2008年2月27日 申請日期2007年8月20日 優(yōu)先權(quán)日2006年8月22日
      發(fā)明者K·J·阿什, M·J·卡洛斯, R·A·庫博 申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1