本發明專利技術涉及對具有使用位圖的存儲設備的有效訪問。在接收到分配存儲區域的請求之后,存儲設備可以將所述存儲設備的內容初始化為默認值(例如,零),以避免由存儲在所述存儲區域的位置中的未知數據引起的問題(例如,在將數據組寫入到鏡像關系中所涉及的位置之后,相應鏡位置中的未初始化數據可能導致損害寫入數據的失配)。然而,初始化存儲設備可能是耗時且低效率的。相反,對于所述存儲區域的相應位置組,可以產生使用位圖,所述使用位圖指示值是否存在于所述位置中。可以通過檢查所述使用位圖以確定值是否存在于指定位置中來完成讀取請求,并且如果不存在,那么可以返回默認值而不訪問存儲設備。也可以使用所述使用位圖來實現其它效率。
【技術實現步驟摘要】
對具有使用位圖的存儲設備的有效訪問
技術介紹
在該領域內,許多情景涉及將值存儲到包括至少一個存儲設備的存儲設備組,存儲設備諸如一些不昂貴的硬盤驅動器或磁盤冗余陣列(RAID)的集合。當第一次提供存儲設備時,或者當解除分配存儲設備上的容量并隨后重新分配時,可以初始化存儲設備的物理介質;例如,可以將存儲設備的位置擦除為默認值。初始化可以使得訪問存儲設備的尚未被寫入值的位置的過程能夠接收特定值(而非任意值),特定值包括所解除分配區域內預先寫入的值。在涉及包括至少兩個相關位置的位置組的存儲情景下,存儲設備的初始化也可能很重要,其中存儲在所述相關位置中的值具有特定關系。作為第一實例,在鏡像彈性計劃中,存儲組的相同拷貝可以被存儲在兩個或兩個以上位置(通常在不同存儲設備上),從而使得存儲在一個位置中的值預期匹配存儲在鏡像關系中所涉及的一個或多個其它位置中的值。作為第二實例,在奇偶性彈性計劃中,當將一組數據值寫入到位置組的數據位置時, 可以計算寫入值的奇偶性,并將其存儲在為所述奇偶性值保留的位置組的奇偶性位置中, 這可以使得能夠在存儲位置組的值的一些存儲設備故障的情況下進行誤差檢測、誤差校正和數據值的重構。在這些情景下,對位置進行初始化的失敗可能影響對相關數據組的有效性的信任;例如,如果將數據寫入到第一鏡位置但是在可以將相同數據寫入到相關位置之前發生故障,那么會出現如下的失配,該失配破壞對存儲在第一鏡位置中的值的信任并且可能破壞對存儲設備組的剩余部分的信任。
技術實現思路
提供本
技術實現思路
是來以簡化形式引入以下在具體實施方式中進一步描述的各個概念的選擇。本
技術實現思路
并不打算識別所主張的主題的關鍵因素或必要特征,也不打算用以限制所主張的主題的范圍。雖然初始化存儲設備的值可以避免一些缺點,但是初始化的過程可能存在幾種形式的低效率。作為第一實例,對分配存儲區域中的容量的請求可能涉及將初始化值(例如, 零)的每個位置寫入到存儲區域的全部內容,這可能包括拖長的過程,尤其是對于大容量和 /或慢吞吐的存儲區域。作為第二實例,位置的初始化隨后可以為包括寫入請求的第一次存取;因此這種情況下的初始化不會實現任何值,并且可能是可避免的。作為第三實例,初始化具有默認值的存儲區域并且隨后對存儲區域的未寫入位置讀取可以預期地返回默認值, 并且如果已經可以確定所述位置未寫入值,那么可能已經避免這種情況。本文呈現如下的技術通過僅不初始化存儲區域(例如,不將默認值寫入到存儲區域的位置)來減少由存儲區域的初始化引起的低效率。相反,計算機或其它設備可以產生使用位圖,所述使用位圖為存儲區域的相應位置組記錄如下的位(bit),該位指示從分配存儲區域開始是否已經寫入位置組。在接收到指定位置的讀取請求之后,計算機可以檢查使用位圖以確定數據值是否已被寫入到包括所述位置的位置組。如果所述使用位圖指示所述值存在于位置組的位置中,那么可以通過讀取并返回存儲在存儲設備上的位置中的值來滿足讀取請求。然而,如果使用位圖指示所述值不存在于位置組的位置中,那么計算機可以制止訪問存儲設備,并且可以僅返回默認值。如本文所呈現那樣產生的使用位圖的這些和其它使用可以改進存儲組的效率。為了實現上述和相關目的,以下描述和附圖闡述某些例示性的方面和實施。這些指示了可以實施一個或多個方面的各種方式中的僅一些方式。本公開的其它方面、優點和新穎特征將從結合附圖考慮的以下詳細描述變得顯而易見。附圖說明圖I為示出從存儲組讀取值的示例性方法的流程圖。圖2為包括處理器可執行的指令的示例性計算機可讀媒體的圖示,所述處理器可執行的指令被配置為實施本文闡述的規定中的一個或多個。圖3示出示例性計算環境,在所述環境中可以實施本文闡述的規定中的一個或多個。具體實施方式現在參考附圖來描述所主張的主題,其中全文中相同附圖標記用以指代相同元件。在以下描述中,為了進行解釋,闡述若干具體細節以提供對所主張的主題的透徹理解。 然而,可以顯而易見的是,可以在沒有這些具體細節的情況下實施所主張的主題。在其它實例中,以方框圖形式展示結構和設備,以有助于描述所主張的主題。A.背景在計算領域內,許多情景涉及訪問存儲設備組的非易失性存儲設備。這些存儲設備可以包括許多類型(例如,硬盤驅動器;固態存儲設備;和磁盤或光盤),并且可以用以存儲許多類型的數據(例如,文件、電子郵件消息、數據庫記錄或媒體對象,或其組合)。存儲設備可以附接到特定計算機或設備,或者可以連接到網絡或通過網絡訪問。存儲設備也可以獨立工作(例如,不互相通信或者甚至不會彼此意識到存儲設備組的其它存儲設備);具有松散協作(例如,在通信或狀態的互換通知中);或者具有緊密互操作(例如,一組硬盤驅動器裝載到存儲控制器中,諸如不昂貴的磁盤冗余陣列(RAID)裝置)。同樣,存儲設備的互操作和 /或使用可能導致存儲于其中的數據之間的邏輯或實際分區,或者可能導致數據的聚集。例如,兩個或兩個以上存儲設備的可用容量可以聚集為作為單個集成體積呈現給計算機的存儲池。存儲設備也可以實施各種布置計劃,如跨越(spanning)(例如,邏輯拼接存儲設備的容量);條帶化(例如,橫跨存儲設備插入有序的邏輯地址);鏡像(例如,將數據組的相同拷貝存儲在存儲設備組的相應存儲設備上,并且通過將數據組的改變自動并同時應用到所有拷貝來維持拷貝的身份);和奇偶性計算(例如,當將數據存儲在一個或多個存儲設備上時, 可以自動計算所存儲數據的檢查和并將其存儲在不同存儲設備上,以例如能夠從存儲設備的故障進行恢復)。此外,存儲設備的容量可以根據各種供應計劃來供應。作為第一實施例, 在固定供應計劃中,當接收到對分配存儲區域的請求時,一個或多個存儲設備可以迅速分配在供應請求中所請求的所有容量,并且可以向請求用戶或過程通知此容量可用(并且可以用默認值來視情況初始化容量)。作為第二實例,在延遲的供應計劃中,當接收到對分配存儲區域的請求時,存儲設備可以指示存儲區域可用于寫入,但是可能不會迅速分配用于存儲區域的容量。相反,存儲設備可以等待對存儲區域內的位置的訪問請求,并且在接收到訪問請求之后,可以迅速分配存儲設備的物理存儲(例如,范圍(extent)),并將其與位置的邏輯地址綁定起來。此“實時”延遲的供應可以呈現出一些性能改進(例如,迅速完成產生存儲設備的請求,和/或比分配仍未使用的存儲區域的容量更有效地分配存儲設備組的可用容量)。作為另一個變化,在“瘦”供應計劃中,存儲設備組可以授權請求分配超出存儲設備組的可用容量的容量。相反,存儲設備組可以分配所使用的容量,并且在可用容量較少到很低之后,可以通知管理員添加提供額外容量的存儲設備。這些和其它類型的布置和/或供應計劃可以應用于存儲設備。在分配了存儲設備的存儲區域之后,存儲設備可以被配置為用默認值(例如,零) 初始化存儲區域的位置,以從存儲區域去除未初始化的值,如先前解除分配的存儲區域的內容。所述初始化可以鑒于幾個原因而很重要。作為第一實例,在將值寫入到存儲區域的位置之前,過程可以請求從存儲區域的位置進行讀取。在沒有初始化的情況下,存儲在所述位置的值可能是無法預測的,并且在讀取無法預測的值之后的過程的行為可能是不確定的或無法預期的。作為第二實例,一些存儲區域可以存儲相應地包括具有相關性的兩個或兩個以上位置本文檔來自技高網...
【技術保護點】
一種呈現存儲在下述位置組中的值的方法(100),該位置組包括存儲區域的存儲組的至少兩個位置,所述存儲區域包括使用位圖,所述方法(100)在具有處理器(306)的計算機(302)上執行并且包括:在處理器(306)上執行(104)指令(206),所述指令被配置成在接收到對位置處的值的讀取請求之后:???????如果所述使用位圖指示值對于包括所述位置的所述位置組存在,那么返回(106)存儲在所述位置處的所述值;和???????如果所述使用位圖指示值對于包括所述位置的所述位置組不存在,那么返回(108)默認值。
【技術特征摘要】
...
【專利技術屬性】
技術研發人員:K梅拉,S費爾馬,JR迪崔克,
申請(專利權)人:微軟公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。