基于剩余授權在閃存設備之間控制磨損的制作方法【
技術領域:
】[0001]本發明涉及在多個閃存設備之間分配數據寫操作的方法。【
背景技術:
】[0002]閃存是用于高速和高密度數據存儲解決方案的非易失計算機可讀存儲媒介的一種形式。然而,閃存設備內的閃存單元在許多次的寫循環之后會經歷磨損。許多閃存廠商會將他們的閃存設備的寫循環次數或類似的使用參數設定為給定數值。[0003]閃存設備典型的包括本地控制器用于處理所述閃存的讀寫操作。所述本地控制器可以使用磨損定級算法以在所述閃存設備內所有存儲單元塊之間分配寫操作。這樣的磨損定級保證所述存儲單元塊以大致相同的比率磨損,而不是某些存儲單元塊使用過度而另外的存儲單元塊卻未充分使用。【
發明內容】[0004]本發明的一個實施例提供一種方法,包括為系統內多個閃存設備的每一個標識產品授權,其中所述產品授權包括最大寫操作次數和最大使用年限,跟蹤每個閃存設備已經執行的寫操作次數和每個閃存設備的使用年限。所述方法進一步包括為每個閃存設備確定產品授權中剩余的寫操作次數比例,其中所述產品授權中剩余的寫操作次數比例被確定為到所述閃存設備達到所述產品授權標識的最大寫操作次數為止還剩余的寫操作的次數除以到所述閃存設備達到所述產品授權標識的最大使用年限為止還剩余的時間。所述方法使得數據被寫入具有產品授權中剩余寫操作次數比例最大的閃存設備。【附圖說明】[0005]圖1是包括管理為多個閃存設備分配寫操作的控制器的系統框圖。[0006]圖2是由為系統中每個閃存設備確定在所述授權中剩余寫操作次數比例的控制器維護的假設表(hypotheticaltable)。[0007]圖3是由確定授權中剩余天數最少的閃存設備的控制器維護的假設表。[0008]圖4是根據本發明一個實施例的方法的流程圖。具體實施例[0009]本發明的一個實施例提供一種方法,包括為系統內多個閃存設備的每一個標識產品授權,其中所述產品授權包括最大寫操作次數和最大使用年限,跟蹤每個閃存設備已經執行的寫操作次數和每個閃存設備的使用年限。所述方法進一步包括為每個閃存設備確定產品授權中剩余的寫操作次數比例,其中所述產品授權中剩余的寫操作次數比例被確定為到所述閃存設備達到所述產品授權標識的最大寫操作次數為止還剩余的寫操作的次數除以到所述閃存設備達到所述產品授權標識的產品年限為止還剩余的時間。所述方法使得數據被寫入產品授權中剩余寫操作次數比例最大的閃存設備。[0010]所述為每個閃存設備確定產品授權中剩余寫操作次數比例的步驟,例如,可以由與所述多個閃存設備通信的計算機操作系統,由耦合到所述多個閃存設備的控制器或某些設備的組合來執行。[0011]所述產品授權可以作為數據文件從獨立的閃存設備獲得或從在線的產品授權信息源下載。用戶可以手工將產品授權輸入圖形用戶界面到執行所述方法的控制器或操作系統。[0012]追蹤每個閃存設備已經執行的寫操作次數和每個閃存設備的使用年限可以由執行所述方法的控制器或操作系統來執行。可替代的,所述追蹤可以由那些獨立的閃存設備執行,然后所述控制器或操作系統從每個所述閃存設備獲得最總數據的更新。[0013]在本發明的一個可選方面,所述方法可以進一步包括識別出所述閃存設備中到所述產品授權標識的所述產品年限為止還剩余的時間最少的那一個,增加向所識別的閃存設備寫數據的比率,這樣向所識別的閃存設備寫操作的次數達到所述產品授權標識的最大寫操作次數與所識別的閃存設備的使用年限達到所述產品授權標識的最大使用年限的時間近似相等。相應地,額外的寫操作被集中到那些將要因為使用年限而超出權限的閃存設備,這樣寫操作的授權次數可以被先于或同步于所述閃存設備達到授權標識的最大使用年限而執行。[0014]所述閃存設備可以采用多種形式或配置,并且系統可以包括一個或多個設備形式或配置。所述閃存設備的非限制性例子包括固態驅動,串行總線連接數據存儲設備,閃存模塊卡,通用串行總線(USB)閃光驅動,和硬盤驅動緩存。可選地,所述多個閃存設備可以構成一個單獨邏輯存儲設備。[0015]更進一步,所述方法可以進一步包括在每個閃存設備存儲磨損定級數據。磨損定級由屬于獨立閃存設備的一部分并且工作以使得在整個閃存中寫操作的次數近似相等的本地控制器執行。相應地,所述磨損定級解決了獨立閃存設備的壽命,而所述將每個閃存設備產品授權的有效利用通過使得數據被寫到產品授權中剩余寫操作次數比例最多的閃存設備解決。[0016]本發明的一個實施例提供一種具有編寫的程序指令的計算機可讀存儲介質,所述程序質量有處理器執行以使得所述處理器執行方法。所述方法包括為系統內的多個閃存設備的每一個標識產品授權,其中所述產品授權包括寫操作的最大次數和最大使用年限,并且追蹤每個閃存設備已經執行的寫操作次數和每個閃存設備的使用年限。所述方法進一步包括為每個閃存設備確定產品授權中剩余寫操作次數比例,其中所述產品授權中剩余寫操作次數比例被確定為到所述閃存設備達到所述產品授權標識的最大寫操作次數為止還剩余的寫操作的次數除以到所述閃存設備達到所述產品授權標識的產品年限為止還剩余的時間。所述方法使得數據被寫入具有產品授權中剩余寫操作次數比例最大的閃存設備。[0017]前面的計算機可讀存儲介質可以進一步具體實現為程序指令用于執行或初始化此處描述的方法的任何一個或多個方面。相應地,所述方法的單獨描述不會在計算機可讀存儲介質的上下文中被重復。[0018]圖1是包含管理向多個閃存設備40分配寫數據操作的控制器20的系統10的框圖。所述控制器20獲得或確定每個閃存設備40的產品授權22,每個產品授權包括最大寫操作次數24和由所述產品授權覆蓋的最大使用年限26。所述控制器20還獲得或確定每個閃存設備40的產品使用數據28,所述產品設用數據標識在所述設備上執行的實際寫操作次數30和所述設備的實際使用年限32。然后由所述控制器20執行的設備控制邏輯34使用所述產品授權22和所述產品使用數據28以便動態優化向所述閃存設備40寫數據。例如,接近基于使用年限的授權的終點但是在授權中還有很多剩余寫操作次數的閃存設備40被賦予更高的優先級,而距離達到基于使用年限的授權終點還有更長的時期的其他閃存設備40可被賦予較低的優先級。更進一步可選的,每個設備的寫操作率被動態調整以保證兩個權限同時用盡。[0019]多個閃存設備40中的每一個可以是不同的類型和大小,但是被示意為每一個都包括本地控制器42和閃存44組成硬盤驅動46的緩存層。有或者沒有硬盤驅動46,所述本地控制器42都會在所述閃存44上執行磨損定級。[0020]如圖所示,所述閃存44被作為緩存層使用以提供比所述硬盤驅動46的盤片旋轉(spinningplatter)更快的寫訪問,同樣是非易失的因此任何時候掉電數據都不會丟失。更進一步,系統10可以形成單獨的邏輯單元作為單獨數據存儲單元接收和執行寫操作。[0021]圖2是可以由系統10中為每個閃存設備40確定產品授權中剩余寫操作次數比例的控制器20維護的假設表50。表50包括每個閃存設備40的數據,此處以每個閃存設備1-4一排數據舉例說明。對于每個所述閃存設備,表50在產品授權22中標識了最大的寫操作24和最大的使用年限(天數)26。相應地,所述設備選擇邏輯34可以確定所述授權中剩余寫操作比例52(每天的寫操作次數)。所述寫操作比例可以用下面的等式確定:寫操作比例=(最大寫操作-已用寫操作)/(最大使用年限-已用使用年限)。如圖所示,所述控制器標識閃存設備3具有最高的級別54或優先權用于接收寫操作,因為閃存設備3需要3949次寫操作/天以便在設備達到授權中最大使用年限時授權中的寫操作用盡。.盡可能的,所述控制器應該發送比別的設備更多的寫操作到閃存設備3。優選地,所述控制器可以按照剩余寫操作比例向閃存設備1-4發送寫操作。[0022]圖3是由用于確定具有授權中最少剩余天數的閃存設備的控制器維護的假設表60。表60的前5列與圖2表50的前5列相同。然而,授權中剩余天數62由設備的產品授權22中標識的最大使用年限26中減去已用年限32確定。然后級別64標識閃存設備4的授權中剩余天數最少。所述方法可選地在最后40天調整向閃存設備4的寫操作次數直到它的授權期滿以便在設備達到授權中標識的最大使用年前時使用了全部或大部分的剩余寫操作次數。相應地,盡管閃存設備3具有最高的剩余寫操作比例52(圖2),控制器應該優先向閃存設備4發送1289次寫操作每天以便最大化授權的有效利用。[0023]圖4是根據本發明一個實施例的方法70的流程圖。在步驟72中,系統中的多個閃存設備的每一個都被標識產品授權,其中所述產品授權包括最大寫操作次數和最大使用年限。在步驟74中追蹤已經向每個閃存設備執行的寫操作次數和每個閃存設備的使用年限。然后步驟當前第1頁1 2