向主機服務質量指標分配權重的制作方法
【專利摘要】本申請公開了向主機服務質量指標分配權重。經由主機接口接收從主機提供的服務質量指標。所述服務質量指標涉及通過所述主機存儲在非易失性數據存儲器中的數據。測量涉及到所述服務質量指標的工作量指標,以及響應于服務質量指標和所測量的工作量指標之間的相關性,分配權重給主機。當響應來自主機的數據訪問請求時,向所述服務質量指標應用權重。
【專利說明】向主機服務質量指標分配權重
[0001]發明概述
[0002]本發明涉及向主機服務質量指標分配權重。在一個示例中,方法和裝置便于經由主機接口接收所述服務質量指標,所述服務質量指標通過主機從涉及在非易失性數據存儲器中存儲的數據的主機提供。測定有關服務質量指標的工作量指標,以及響應于服務質量指標和所測量的工作量指標之間的相關性向主機分配權重。當從主機響應數據訪問請求時,權重應用到服務質量指標。
[0003]在另一個示例中,一種裝置包括兩個或更多的非分層存儲器單元。每個單元具有不同類型的非易失性存儲器,并且類型的非易失性存儲器的至少一個包括基于電阻的存儲器。控制器耦合到所述兩個或更多的存儲器單元。所述控制器經配置以至少執行通過主機從裝置上存儲數據相關的主機所提供的的服務質量指標。測量和所存儲服務質量指標相關的工作量指標,以及響應于所存儲的服務質量指標和所測量的工作量指標之間的相關性,向主機分配權重。響應于隨后的主機數據訪問請求,當存儲后續數據時,加權被應用到隨后的服務質量指標用于在兩個或多個存儲器單元之間進行選擇。
[0004]鑒于如下的詳細討論和附圖,可以理解各種實施例的這些和其他特征以及各方面。
[0005]附圖簡述
[0006]在下面的圖中,相同的附圖標記可以被用于識別在多個附圖中類似/相同的部件。
[0007]圖1是根據示例實施例的裝置的方框圖;
[0008]圖2是示出根據示例實施例的主機和工作量指標數據的方框圖;
[0009]圖3是表示根據示例實施例當比較工作量指標和主機所提供的指標時如何調整權重的表格;
[0010]圖4是表示根據示例性實施例如何鑒于多個工作量指標調整權重的表格;
[0011]圖5-7是根據示例實施例的方法的流程圖。
[0012]發明詳述
[0013]在各種示例實施例的以下描述中,參考了形成其一部分的附圖,并且在附圖中通過圖示示出各種示例實施例的方式。但是應當理解的是:當做出結構和操作上的改變而不背離所附的權利要求的范圍時,可以利用其他實施例,。
[0014]本發明大體上涉及到持久性數據存儲設備,諸如使用固態存儲器的那些設備。固態存儲器的存儲設備可以包括(但不限于)磁盤、閃存(例如,NAND或NOR型存儲器)、基于電阻的存儲器(例如,電阻式隨機存取存儲器,相變存儲器)和旋轉移扭矩的隨機存取存儲器。雖然這些類型的存儲器可以具有不同的特征和優點,有效地利用使用不同存儲器類型的存儲設備可涉及有效表征和設備中存儲的主機數據相關的工作量屬性/指標。
[0015]術語“工作量屬性”或“工作量指標”是指在正常操作期間和所測量的特定數據單元相關聯的基于時間和位置的特征。例如,可基于讀取數據的頻率、寫入/改變數據的頻率、保留時間、數據被順序或隨機訪問的任意組合將指標分配到數據單元,指標不僅可通過針對數據單元的操作,而且通過針對相鄰數據單元的操作進行確定。
[0016]屬性涉及的數據單元可基于計算體系的哪一層正管理數據存儲而有所不同。例如,主機應用程序可在文件或文件系統元數據的方面瀏覽數據單元。較低等級的主機驅動程序可以在邏輯塊地址(LBNA)的范圍瀏覽數據單元。該設備的內部處理器可以在邏輯和物理地址范圍瀏覽數據單元。
[0017]本發明涉及到表征和管理持久性數據存儲設備中的工作量屬性。類似的指標也可以從主機設備傳送并與工作量屬性/指標進行比較。本發明可用于數據存儲設備,諸如圖1所示的設備100。
[0018]在圖1中,框圖示出了根據示例實施例的數據存儲設備100。該設備100可經配置為利用固態存儲器的任意組合的固態驅動器(SSD)(或它們的子部件)。該設備100的特征可以適用于其它類型的硬盤驅動器設備,諸如使用固態存儲器和磁盤組合的混合驅動器。該設備100的特征也可以適用于不利用標準硬盤驅動器數據接口的特殊用途的固態和/或盤數據存儲設備(或子組件體)。例如,設備100可經配置為主機主電路板的基礎設施的一部分,例如,與主機114的中央處理單元(CPU)和存儲器控制器緊密集成。
[0019]該設備100包括兩個或多個存儲單元102、103,該存儲單元102、103包含設備100的非易失性存儲器中的一個或全部。存儲器單元102、103可包括一個或多個相應的分離物理單元104、105 (例如,存儲器芯片)。在這個示例中,存儲器單元102和103都是非分層單位,以及相應的物理單元104、105各包含來自不同類型的非易失性存儲器的存儲介質。在每個物理單元104、105中,存儲器可以被分成更小的塊106、107。因為該物理單位104的底層介質105是不同的,塊106、107的存儲器容量可有所不同。而設備100的一些特征也適用于非分層混合介質存儲器,該理念也可用于使用單個存儲介質類型的設備中,但具有單元102、103之間的不同配置,將導致相對于內存大小、讀取延遲、寫入延遲、功耗、停留時間、可靠性等中一個或多個的不同性能屬性。
[0020]該設備100可以包括一個或多個控制器110,其便于服務通過主機接口 112從主機114接收的請求。主機接口 112可以包括硬盤驅動器接口、或其他類型的計算機接口(例如,存儲控制器接口,外圍總線接口)。控制器110通常可以從引用邏輯地址的主機114接收讀取或寫入請求。控制器110將邏輯地址轉換為物理地址,并對存儲器單元102、103的相應物理地址執行相應的讀或寫操作。
[0021]存儲器單元102、103可包括單獨的控制器(未示出),該控制器至少進行編碼、解碼、以及其他將信號應用于介質,以執行適合于特定存儲器類型的讀/寫操作。該獨立的控制器也可以執行適用于特定的存儲器架構的其自己的邏輯到物理映射。在這種情況下,主控制器110可將邏輯主機地址轉換為由存儲器單元102、103可以使用的內部邏輯地址。
[0022]該設備100可以包括非易失性隨機存取存儲器(RAM) 116,其可用于非易失性存儲器單元102、103的易失性高速緩沖存儲器118,等等。一般情況下,易失性緩存118是鏡像非易失性存儲器102、103的部分的分層存儲器結構,但可以比所述非易失性存儲器102、103更快速地讀出從和/或寫入。對于某些情況,例如,在一段短期間內該數據認為重復讀/寫活動,易失性緩存118將提高性能。
[0023]正如前面提到的,存儲器單元102和103包含不同類型的存儲器存儲介質的非分層單位。例如,存儲器單元102、103各自可以是不同的閃速存儲器,電阻RAM (ReRAM)、自旋力矩RAM (STRAM),或相變存儲器(PSM)的單元。控制器110可以根據與數據相關聯的工作量屬性選擇數據用于存儲在單元102、103中特定的一個。例如,存儲單元102、103可在內存大小、讀/寫延遲,讀/寫吞吐量,功耗,停留時間,可靠性等方面具有不同表現。主機114也可以根據相對于所存儲數據的所期望性能屬性針對特定數據用于存儲在單元102和103。所需的數據屬性包括需要快速訪問、寫入/更新頻率、需要可靠性、較長的停留時間、順序或隨機存取等。
[0024]一般而言,配合所需的數據屬性和其中存儲數據的存儲器單元102、103的特性是有用的。例如,被頻繁寫入的數據可最好存儲在高持久性的存儲器類型中。需要快速訪問的數據可最好存儲在低讀取延遲的存儲器類型中。不頻繁寫入但需要高可靠性的數據最好存儲在具有良好可靠性和保留特性的相對高延遲存儲器類型中。數據可更好或更容易地與特定存儲器大小一致。例如,請求大小可匹配到存儲器頁面大小,或者未一致的請求可匹配到最好適用于讀-修改-寫操作(例如,低讀取時延,高耐力)的存儲器。
[0025]因為存儲器單元102、103是非分層的,沒有必要像在分層緩存配置一樣同步單元之間的冗余數據102、103。通常,一旦單元102、103被選擇用于存儲數據(例如,數據的邏輯地址被映射到所選存儲器單元102、103中的物理地址),只要需要該數據,所述數據可保持在該單元中。有可能有如下實例:當數據屬性被重新評估并且基于所述重新評估該數據從一個單元102、103移動到另一個。再評價可能是或可能不是定期調度過程,例如,當設備根據用戶請求經受重要活動、變得更充分、經歷增加的誤比特率等,這種情況會發生,如果在重新評價期間,基于數據初始分類,影響數據的當前活動脫離預期活性,該數據可以被移動。
[0026]在所示實施例中,主機114可向設備100報告所需的存儲屬性,例如,通過經由主機接口 114發送信號。當數據正在傳輸或在其他時間可出現該信令。為了本公開的目的,在在該信令所需屬性中使用的數據將被稱為服務質量(QoS)指標。
[0027]該QoS指標可用來指示本文所述的所需存儲屬性的任意組合,諸如需要快速接入、寫入/更新頻率、需要可靠性、長的停留時間、順序或隨機存取等。QoS指標可以明確描述目標屬性,例如訪問速度、可靠性、隨機性等。QoS指標可以是隱含的,例如,來自不涉及工作量指標的其他主機元數據,但從中可以導出QoS要求。該隱含的服務質量指標可以包括(但不限于)文件標識符、主機標識符、邏輯黑色的地址范圍、應用程序名等。這些隱含指標可從歷史分析、帶外信令等確定。主機114可關聯QoS指標與存儲的數據,諸如邏輯塊地址(LBA)范圍、文件、目錄、應用程序等。主機114可在主機請求影響邏輯地址之前、之間或之后通過關聯QoS指標與邏輯地址而向設備100通信該指標。
[0028]如圖所示。如圖1所示,設備100包括存儲器的保留部分120,功能模塊可操作地通過控制器Iio和數據庫122用于存儲由設備內部使用的持久性數據。例如,主機屬性模塊124可以在設備100的操作期間監控從主機114接收的QoS指標。主機屬性模塊124還可以在數據庫122中存儲QoS數據。可以使用單獨的邏輯地址或地址范圍作為索引將QoS數據存儲在數據庫中。
[0029]如果該主機提供的QoS指標關于數據的工作量需求總是正確的,則有可能沒有必要存儲QoS指標。在這樣的情況下,使用主機提供的QoS指標決定是否存儲數據,以及所述QoS指標然后可以安全地丟棄。然而,可能存在主機提供的指標是不正確的情況。例如,主機程序或操作系統可作出不正確的假設,可依靠不正確或次優的默認值,等等。
[0030]即使當數據首先寫入時主機提供的QoS數據是正確的情況下,主機信協議可沒有更新QoS的規定,例如,在隨后的讀取或更新所存儲數據的期間。作為結果,當首先存儲數據時,被最佳地置備在存儲器單元102、103之一的某些數據量可優化后置備,稍后當數據隨時間變化時使用。
[0031]為了有效地管理主機提供的QoS數據,該設備100包括工作量屬性模塊126,用于隨時間跟蹤數據的工作量活動,并在數據庫122中存儲活動的指標。可以通過監控傳入的寫入數據并測量后續讀取確定工作量。也可以通過對空間位置監測時間上相關聯的命令來
確定工作量。
[0032]時間位置涉及到在一個時間點引用或訪問并可能會在不久的將來再次引用的信息。空間位置涉及如下理念:如果附近的數據被最近訪問過,則數據更可能被訪問。當多個命令具有適合一定空間位置的時間位置時,確定順序數據。當兩個或多個不同組的LBA范圍(或文件)作為集合一起訪問(例如,所有的inode,文件和inode,鍵加值等)時,可能發生這種情況。工作量屬性可以被配置為:通過比較在時間上相關聯的命令和分組具有共同時間聯系的命令來確定工作量相關數據集。
[0033]工作量數據提供給分辨率/加權模塊128,該模塊128比較來自工作量屬性模塊126和主機屬性模塊124的數據。分辨率/加權模塊128解析主機114為特定數據單元提供的QoS指標和為這些數據單元實際測量的工作量活動之間的差異。這可以被用來創建主機QoS指標的權重。
[0034]選擇在哪里將數據存儲在存儲器單元102、103時,該權重可以由數據分配部130應用。該權重可導致QoS指標被認為是由測量的工作量屬性補充的“提示”。在另一個示例中,QoS指標可以根據來自主機114的之前QoS指標準確性進行縮放。單一權重可應用于特定主機114的所有指標,或者多個權重可用于不同的粒度級別,例如,QoS指標類型、主機命令類型、存儲器范圍、主機命令或數據的上下文,等。
[0035]該權重可通過主機接口 112傳送回給主機114,以幫助主機114在不同的存儲類型之間更好的數據遷移/分配。權重可被應用于其它的提示(諸如數據修剪),其中由于預測的數據變化不進行映射數據狀態的變化,或其中一旦修剪數據集則清除之前的內部跟蹤數據。可以響應于存儲器單元102、103之間的數據的背景再分配,進行加權。后臺進程可偶爾重新檢查現有數據的QoS值,并如果它導致更好地利用資源則重新分配數據。例如,如果主機提供的QoS建議將被頻繁訪問,但工作量指標表明它沒有用于長時間訪問,該過程可導致數據降級。
[0036]本文所描述實施例的方面在于:可不需要不同層的抽象(主機文件、設備、LBA、控制器、物理地址)。例如,設備100和控制器110可以與文件或對象的更抽象概念合作,從而減少系統中層的數目。主機114和存儲設備100之間的該通信類型的概念可以是:設備100實際上看作是主機114的一部分,例如,操作系統和/或內核級訪問直接由設備控制器110(例如,類似于智能DRAM控制器)理解。在這種情況下,服務質量指標的通信可以由請求性質來暗示。例如,操作系統分頁可得到高速存儲,應用程序分頁得到低速存儲,動態鏈接庫(DLL)加載得到中等速度等。
[0037]現在參照圖2,框圖示出了根據示例實施例的屬性數據集200的比較。塊202-205代表為四個不同的地址(例如,LBA)收集的元數據。在塊202-205中的元數據可描述與單獨地址和/或地址塊相關聯的活動。每個塊202-205中的數據被劃分成兩大類,例如,如塊202所示的主機指標202A和工作量指標202B。
[0038]主機指標202A包括由主機提供的QoS指標,其在本示例中涉及速度(例如,延遲,吞吐量)、保留時間以及該數據是否是隨機的。這些指標的前2個由2位數字(0-3)指定,并且隨機性是單個位,‘I’為隨機,以及‘0’為順序。在這個示例中,期望該主機指標將使用最少的字大小,以減少主機和存儲設備之間的通信開銷。然而,本實施例并不局限于主機或工作量指標任何特定形式或字長。
[0039]工作量指標202B由存儲設備測定。工作量指標202B也顯示為兩位數字,便于與主機指標202A比較。在實踐中,工作量指標202B可以使用更高精度(例如8位的數字或更高)來表示,因為工作量指標可以在數學上由相對大的數據集導出。在這種情況下,工作量指標202B可分為匹配主機指標202A的可用值的范圍。
[0040]在本例中通過該設備測量的工作量指標包括“讀取熱度”和“寫入熱度”,其一般是讀取/寫入數量和/或讀取/寫入在時間上接近程度的測量。讀取熱度和讀取熱度的高值表示受到顯著活動量的數據塊,而它們可能會或可能不會根據活動發生在多久以前進行加權。這可能不同于讀取緩存或寫入緩存如何跟蹤活動,因為緩存通常需要只跟蹤最近的讀或寫活動。但是,出于性能的目的,即使活動發生相對較少(例如,僅在系統啟動期間),也可期望提供快速訪問體驗活動反復爆發的某些數據單元。
[0041]在圖2的示例中的設備還測量讀取到地址范圍以相同順序發生的頻率,由隨機工作量指標所指示。順序數據單元(例如,介質文件)通常會以可預見順序讀回。其他數據,諸如硬盤驅動元數據(例如,日志,文件分配表)可以被寫入,讀取和/或隨機順序更新。某些數據存儲類型和相關存取算法可以使用隨機數據相對較好執行,以及其他使用連續數據。
[0042]分析模塊(諸如圖1中的分辨率/加權模塊128)經配置以關聯主機指標202A與工作量指標202B。例如,如果遇到頻繁或不頻繁活動突發的數據被放置在更快的存儲介質中,系統性能通常可以改善。因此,速度QoS指標可以關聯到讀取/寫入熱度工作量指標。指標202A、202B之間可能具有負相關關系。例如,QoS指標202A的保留時間可負相關工作量指標202B的寫入熱度,因為長期保留可不是經常重復寫入數據的優先級。這方面的示例是虛擬內存,它可以在只有很短一段時間被依賴。
[0043]在塊202,一些主機指標202A似乎沒有很好地關聯某些所測量的工作量指標202B。例如,主機已表示速度的最高指標,但因為它是首次存儲,讀取熱度和寫入熱度表明數據還沒有看到顯著的讀/寫訪問。然而,雖然該參數可能對性能的影響較小,因為在這種情況下數據很少使用,數據的隨機性似乎關聯由主機表示的指標,。
[0044]塊203和204中的相關主機指標看上去與被測量的工作量指標密切相關,如高/低速的QoS指標匹配于高/低讀取/寫入熱度工作量指標。在塊205,讀取和寫入熱度指標看上去對于速度和保留時間與主機指標是矛盾的。結果,可以得出結論:對于這個小樣本,主機似乎很好分類隨機/順序數據,但也可以高估需要的存取速度,低估需要進行數據保留時間。正因為如此,存儲系統可傾向于在未來當分配數據到不同存儲單元時給予主機提供的速度和保留指標較小的權重。
[0045]現在參照如圖3,表格300示出權重根據示例實施例如何應用在系統中。表格300可以適用于由主機向存儲設備提供的、可由存儲設備獨立評估的任何度量或者指標。縱軸表示主機提供指標,而橫軸表示所測量的工作量指標。在這個示例中,如橫軸和縱軸上標簽“低”和“高”所看出的,指標可以具有值的范圍。
[0046]在圖中四個區域302-305示出了取決于主機提供指標如何比較于所測量的工作量指而如何對主機指標加權。區域303和304指示所測量的工作量指標與主機提供指標一致的位置。區域302表示主機指標和所測量的工作量指標相比較高的位置,區域304表示主機指標和所測量的工作量指標相比較低的位置。
[0047]雖然區域302-305可以提供主機提供指標精度的一般指標,權重相應增加或減少不需要被均勻地施加于各區域302-305。例如,如果絕大多數的主機提供指標在區域304和305之間平均劃分,這可表示主機主要推定為低。如果由區域304和305所指示的權重變化被同樣適用,則主機將具有中性權重。然而,區域304中的正確指標可由于隨機機會,并且因此區域304中的指標對于權重具有較小影響(或沒有影響)是理想的。類似的分析可應用于區域303和區域302中的指標。
[0048]如果主機一致估計低或高,則可也提供了當映射QoS指標到不同存儲單元時主機指標如何被解釋和應用的指示。利用圖2的示例速度指標,如果主機是相當準確的,并有不同速度屬性的兩個存儲單元類型,則具有主機提供速度O或I的數據將被映射到較慢的存儲器單元。具有主機提供度量2或3的數據將被映射到較快的存儲器單元。
[0049]基于主機加權可調整上述映射。例如,如果主機指標一致地位于區域302和303(主機被高估需要速度)中,則具有主機提供度量0-2的數據將被施加到較慢的存儲器單元,并且具有主機提供度量3的數據將被施加到較快的存儲器單元。在另一方面,如果主機的指標一致地位于區域304和305 (主機被低估需要速度)中,則具有主機提供度量O的數據將被施加到較慢的存儲器單元,以及具有主機提供度量1-3的數據將被施加到較快的存儲器單元。
[0050]應當理解的是,如果主機提供一個以上的QoS指標,對主機提供指標的加權和糾正不用隔離地對待每個指標。使用圖2的度量作為示例,每當速度指標較低,主機可以提供準確的保留指標,但每當速度指標較高,可能提供不準確的保留指標。結果,是否存儲數據的決定可以使用共同決定表(諸如圖4中的),圖4顯示根據一個示例實施例的共同決定表400。
[0051]在圖4中,用于在兩個或更多的存儲器單元類型中存儲單元的決定可以取決于兩個主機提供指標,Il和12。可以使用Q=W* (C*I1+C2*I2)尋找QoS值Q,其中Cl和C2是比例常數。當Q≥QT時,其中QT為閾值,則該數據可被放置在一個存儲單元中,以及當Q〈QT時,則數據可以被放置在另一個存儲單元中。這可通過使用多個閾值QT擴展到任何數量的存儲器單元。權重W可以取決于主機指標落在表400的哪個象限402-405進行調整。這可進一步通過設置Q=W1*C1*I1+W2*C2*I2加以完善。在這種情況下,可根據主機指標落在的表400的象限402-405獨立確定/調整每個Wl和W2。
[0052]應當理解的是:表格300和400可以被修改以包括另外的劃分,這種劃分可以是相對于彼此線性或非線性的調整尺寸。表格300和400還可以用于二進制的主機提供或工作量指標,標簽“低”/ “高”用“0”/ “1”,“真”/ “假”等取代。這種二元指標也可以用在一個或兩個軸上,并且可以與之前情況下的多值軸一起使用。[0053]現在參照圖5,流程圖示出了根據示例實施例的過程。該流程圖由從影響存儲位置的主機接收500的請求(例如,讀,寫,更新)觸發。存儲單元可以包括一個或多個地址(例如,連續范圍內)。該請求可以包括或不包括QoS指標,如由判定框502所示。一些請求(諸如讀取)可不包括QoS指標,雖然對于跟蹤內部度量仍然是重要的。如果請求確實具有QoS指標,它被添加504到數據庫,以及遞增506度量計數器。
[0054]該度量計數器用于偶然觸發主機提供的QoS指標的權重的更新,盡管也可以使用其它觸發器(諸如經過時間)。如果如在判定框508測試的,度量計數器超過閾值,則使用圖6更詳細描述的功能510調整該權重。在調整510權重之后,計數器被復位512,以便不重復調整510,直到所需數量的操作再次發生。
[0055]無論在方框502是否發現QoS指標,該請求可仍用于更新514有關存儲位置的內部工作量指標。例如,如果QoS指標僅用于第一次的數據寫入,則隨后的讀或更新操作不具有QoS指標,但仍用于更新514工作量指標。更新的工作量指標可以比較于數據被寫入時和提供的地址相關的QoS指標。工作量指標也可用于其他操作,諸如緩存和碎片收集。
[0056]如果在判定框516確定該事件需要定義新的存儲位置(例如,寫入新數據),則根據服務指標質量的權重值確定518其中存儲數據的相應的存儲單元。在其中即使對于請求寫入新數據QoS指標是可選的配置中,可在518使用諸如工作量指標(例如,涉及和時間或地址的當前數據的其他數據相關的指標)或默認值的其他數據,以代替加權QoS。即使在提供QoS的配置,如果主機權重足夠低,該設備可利用工作量指標或一些其他屬性,而不是QoS指標。
[0057]在退出程序之前完成520該請求。完成520請求可涉及讀取目標地址或地址的寫入、更新,等等。但應理解,這些操作的順序可以改變,并且某些操作并行執行。例如,可在例程的開始完成520該請求,并在以后的時間并行地執行或排隊其他操作。
[0058]現在參照圖6,流程圖示出用于根據示例性實施例調整主機權重的圖5的調整功能510的示例。該過程包括通過循環具有主機提供屬性的所有地址,如循環限制塊600所指示的。例如,如果主機提供的QoS屬性存儲在由LBA索引的數據庫中(例如,圖1中的數據庫122),則查詢由LBA分類的所有記錄可用來遍歷循環600。
[0059]對于循環600中的每個地址,尋找602主機提供的QoS指標。對于同一個地址,尋找604所測量的工作量指標。根據和工作量指標的比較,確定606主機提供的QoS指標的準確定。這種比較可以根據查找表的數值,或使用本領域中已知的任何其他相關功能。基于所述比較,調整608主機的權重。權重可作為整體應用于主機,或者可以包括用于不同主機提供QoS指標和/或QoS指標的組合的多個單獨權重。在循環600退出之后,存儲610所述一個或多個經調整的或新的權重。
[0060]權重的調整608可涉及修改現有的權重,或創建全新的權重。例如,每次迭代執行循環600可以增加或減少累加器。在退出循環之后但存儲610權重之前,累加器可以被平均化,并調整為適當的值,例如,O和I之間。這個比例值可以與先前的權重(如果存在)合并(例如,平均值),或可取代任何先前的權重。
[0061]現在參照圖7,流程圖示出了根據示例實施例的方法。該方法包括接收702(例如,通過主機接口)從主機提供的服務質量指標。服務質量指標涉及到通過主機存儲在非易失性數據存儲器中的數據。[0062]測量702涉及服務質量指標的工作量屬性,以及響應該屬性與所監視的工作量屬性之間的相關性向主機分配704權重。所測量的工作量指標和服務質量指標可以描述如下的至少一個:a)相關數據是否是隨機或順序;b)相關數據是否有望體驗顯著讀取活動和顯著寫活動中的至少一種;以及c)相關數據是否預計需要長時間的數據保留時間。
[0063]當響應后續主機數據訪問請求時,權重被應用706到服務質量指標。例如,響應于加權的后續服務指標質量,可從非易失性數據存儲的兩種或更多種類型的非分級存儲器選擇其上存儲后續數據的存儲器。兩種或多種類型的非分級存儲可被選擇,例如,基于相對于存儲器大小、讀取延遲、寫入延時、功耗、保留時間和可靠性中至少之一具有不同屬性,可選擇兩種或多種類型的非體系存儲器。權重可被傳回給主機,例如以幫助主機隨后分類數據和使用QoS指標。
[0064]在另一種配置中,服務質量測量可以包括兩個以上的值的范圍。在這種情況下,向隨后服務質量指標應用權重涉及調整范圍和兩種或多種類型的非分層存儲器之間的映射關系。兩種或更多種類型的非分級存儲器中至少之一可以包括電阻式存儲器(例如,ReRAM、PCM) ο
[0065]上述各種實施例可使用交互以提供特定結果的電路和/或軟件模塊來實現。計算領域的技術人員采用本領域技術人員的公知常識,可以容易地實現這樣描述的功能,無論以模塊級或作為整體。例如,本文中所示的流程圖可被用于創建由處理器執行的計算機可讀指令/代碼。這樣的指令可以存儲在計算機可讀介質上,并傳送到處理器,如在本領域已知的用于執行。上面所示的結構和程序僅是可用于促進如上所述的數據存儲設備中的管理緩的實施例的代表性示例。
[0066]已經出于說明和描述的目的提出示例性實施例。它不旨在窮盡或限制本發明概念所公開的精確形式。根據上述教導,許多修改和變化是可能的。所公開的實施例的任何或所有特征都可以單獨或以任何組合應用,并不意味著是限制性的,而純粹是說明性的。它意在范圍不受本詳細說明的限制,而是由所附的權利要求確定。
【權利要求】
1.一種裝置,包括: 能耦合到非易失性數據存儲器和主機接口的控制器,所述控制器經配置以至少執行: 經由所述主機接口接收從主機提供的服務質量指標,所述服務質量指標涉及通過所述主機存儲在非易失性數據存儲器中的數據; 測量涉及到所述服務質量指標的工作量指標; 響應于服務質量指標和所測量的工作量指標之間的相關性,分配權重給主機,以及 當響應來自主機的數據訪問請求時,向所述服務質量指標應用權重。
2.如權利要求1所述的裝置,其中,響應數據訪問請求包括:根據所述權重,從其上存儲主機數據的非易失性數據器的兩種或多種類型的非體系存儲器選擇存儲器。
3.如權利要求2所述的裝置,其中,基于相對于存儲器大小、讀取延遲、寫入延時、功耗、保留時間和可靠性中至少之一具有不同屬性,可選擇兩種或多種類型的非體系存儲器。
4.如權利要求2所述的裝置,其中,所述服務質量指標包括兩個以上的值的范圍,并且其中向所述服務質量指標應用權重包括調整范圍和兩種或多種類型的非分層存儲器之間的映射關系。
5.如權利要求2所述的裝置,其中,所述類型的非分層存儲器中的至少一種包括電阻式存儲器或自旋力矩存儲器。
6.如權利要求1所述的裝置,其中,所測量的工作量指標和服務質量指標描述相關聯的數據是否是隨機的或連續的。
7.如權利要求1所述的裝置,其中,所測量的工作量指標和所述服務質量指標描述相關聯的數據是否預期經歷的顯著讀取活動和顯著寫入活動中的至少之一。
8.如權利要求1所述的裝置,其中,所測量的工作量指標和所述服務質量指標描述相關聯的數據是否預期需要很長的數據保留時間。
9.如權利要求1所述的裝置,其中,所述服務質量指標是不直接涉及工作量指標的隱含的通過主機提供元數據。
10.如權利要求9所述的裝置,其中,所述主機提供元數據包括一個或多個主機標識符,邏輯塊地址范圍和文件標識符。
11.一種方法,包括: 經由所述主機接口接收從主機提供的服務質量指標,所述服務質量指標涉及通過所述主機存儲在非易失性數據存儲器中的數據; 測量涉及到所述服務質量指標的工作量指標; 響應于服務質量指標和所測量的工作量指標之間的相關性,分配權重給主機,以及 當響應來自主機的數據訪問請求時,向所述服務質量指標應用權重。
12.如權利要求11所述的方法,其中,響應數據訪問請求包括:根據所述權重,從其上存儲主機數據的非易失性數據器的兩種或多種類型的非體系存儲器選擇存儲器。
13.如權利要求12所述的方法,其中,基于相對于存儲器大小、讀取延遲、寫入延時、功耗、保留時間和可靠性中至少之一具有不同屬性,可選擇兩種或多種類型的非體系存儲器。
14.如權利要求12所述的方法,其中,所述服務質量指標包括兩個以上的值的范圍,并且其中向所述服務質量指標應用權重包括調整范圍和兩種或多種類型的非分層存儲器之間的映射關系。
15.如權利要求11所述的方法,其中,所測量的工作量指標和所述服務質量指標描述如下的至少一個: 相關數據是否是隨機或順序; 相關數據是否有望經歷顯著讀取活動和顯著寫入活動的至少一種;和 相關數據是否預計需要長時間的數據保留時間。
16.如權利要求11所述的方法,還包括通信權重回所述主機。
17.一種存儲由處理器可操作以執行根據權利要求11的方法的指令的非臨時性計算機可讀介質。
18.一種裝置,包括: 兩個或更多的非分層存儲器單元,每個具有不同類型的非易失性存儲器,其中非易失性存儲器的類型的至少一個包括電阻式存儲器; 耦合到所述兩個或多個存儲單元的控制器,所述控制器被配置為至少執行: 存儲從主機提供的涉及通過主機存儲在所述裝置上的數據的服務質量指標; 測量涉及服務質量指標的工作量指標; 響應所存儲的服務 指標質量和所測量的工作量指標之間的相關性,分配權重給主機以,以及 響應于隨后的主機的數據訪問請求,向隨后的服務質量指標應用權重,用于當存儲后續數據時從所述兩個或更多存儲器單元之間選擇。
19.如權利要求18所述的裝置,其中,所述兩個或更多存儲器單元具有相對于數據的存取速度、功耗、保留時間和可靠性中至少一個的不同屬性。
20.如權利要求18所述的裝置,其中,所測量的工作量指標和所述服務質量指標描述如下的至少一個: 相關數據是否是隨機或順序; 相關數據是否有望經歷顯著讀取活動和顯著寫入活動的至少一種;和 相關數據是否預計需要長時間的數據保留時間。
【文檔編號】G06F9/50GK104008017SQ201410065323
【公開日】2014年8月27日 申請日期:2014年2月25日 優先權日:2013年2月26日
【發明者】R·J·高斯, M·J·斯坦納, M·A·蓋爾特納, D·S·艾布森 申請人:希捷科技有限公司