專利名稱:一種基于負載控制的提高閃存固態(tài)硬盤持久性方法
技術領域:
本發(fā)明涉及提高基于固態(tài)硬盤的存儲系統(tǒng)持久性的方法,尤其是在多級存儲體系結構中通過控制負載分流和負載寫入時間間隔來提高閃存固態(tài)硬盤持久性,確保閃存固態(tài)硬盤持久性達到用戶預期要求的方法。
背景技術:
近幾年,隨著計算機技術不斷發(fā)展,存儲應用的需求不斷提高。閃存固態(tài)硬盤以其卓越的響應速率和低能耗成為新一代存儲系統(tǒng)中日益重要的組成部分。然而,閃存固態(tài)硬盤成本較高,且擦寫次數(shù)有限。閃存固態(tài)硬盤的持久性是指其每個比特位的擦除次數(shù)有上限,當超過此上限后,該比特位出錯率大幅上升直至不可使用。因而如何提高其持久性從而降低成本成為存儲系統(tǒng)設計中的重要問題。在典型的基于閃存固態(tài)硬盤的多級存儲體系結構中,閃存固態(tài)硬盤通常作為多級存儲體系結構中的一級,數(shù)據(jù)首先在內存中緩沖,然后寫入閃存固態(tài)硬盤,由于閃存固態(tài)硬盤的容量有限,數(shù)據(jù)最終會從閃存固態(tài)硬盤移到機械磁盤,這就造成了閃存固態(tài)硬盤的數(shù)據(jù)擦除,當這種擦除達到閃存固態(tài)硬盤的額定上限后,閃存固態(tài)硬盤的壽命用盡。目前常見的提高閃存固態(tài)硬盤持久性方法包括I)基于閃存轉換層(FTL)的提高持久性方法。FTL是閃存固態(tài)硬盤設備自帶的軟件管理層,位于硬盤設備上,負責管理固態(tài)硬盤上的閃存芯片。數(shù)據(jù)寫入硬盤后,F(xiàn)TL對其進行虛實地址映射,實現(xiàn)原地址更新、垃圾回收、擦寫均衡等功能,并采用改進地址映射方式、數(shù)據(jù)放置策略、垃圾回收機制等方法提高硬盤持久性。這類方法的缺點是,由于FTL位于硬盤設備上,因此基于FTL的方法是在硬盤設備層優(yōu)化持久性,不能從根本上減輕硬盤的負載壓力,只能在既定負載下盡力提高硬盤壽命。2)基于輸入輸出(IO)模式的提高持久性方法。這類方法是通過改進上層系統(tǒng)對閃存固態(tài)硬盤的IO方式,感知閃存固態(tài)硬盤設備隨機讀取速度高、隨機寫入速度低、更新開銷大等特點,將不適合閃存固態(tài)硬盤的IO訪問轉換為其適合的IO模式,從而最大限度發(fā)揮閃存固態(tài)硬盤的優(yōu)勢同時避開其劣勢。現(xiàn)有的很多研究通過改進數(shù)據(jù)的組織和索引結構、采用緩沖和批處理方法、采用順序添加或環(huán)形槽機制等,優(yōu)化系統(tǒng)IO模式,提高閃存固態(tài)硬盤持久性。這一類方法在系統(tǒng)層優(yōu)化負載寫入方式,可減輕閃存固態(tài)盤的負載,但和上一類方法一樣,依然只能盡力增加閃存固態(tài)硬盤的持久性,不能保證硬盤使用壽命達到用戶指定的時間。3)基于負載控制的提高持久性方法?;贔TL和基于IO模式的持久化方法只能盡力延長閃存固態(tài)硬盤的壽命,不能保證其使用壽命達到用戶預設的要求,而基于負載控制的方法可很好地解決這個問題。韓國首爾國立大學和三星電子于2012年聯(lián)合提出了一種基于負載控制的提高持久性方法,步驟如下第一步根據(jù)閃存固態(tài)硬盤的最大擦寫能力和用戶期望壽命(用戶自己設定的希望閃存固態(tài)硬盤使用的時間壽命),計算出單位時間的額定寫入負載量;
第二步記錄單位時間的負載寫入量,當達到額定量時,停止寫入,從而保證在期望壽命到達前總寫入負載不會超過固態(tài)盤報銷上限。第三步根據(jù)歷史負載寫入情況和閃存自恢復性,動態(tài)調整單位時間寫入門限?;谪撦d控制的方法可保證達到用戶的期望壽命,如韓國首爾國立大學和三星電子提出的方法,但該方法未考慮存儲系統(tǒng)的結構和IO模式,未能對負載進行優(yōu)化,對系統(tǒng)讀寫響應性能的影響較大。如何保證對系統(tǒng)讀寫響應性能的影響小的條件下提高閃存固態(tài)硬盤持久性是本領域技術人員極為關注的技術問題。
發(fā)明內容
本發(fā)明要解決的技術問題在于針對基于固態(tài)硬盤的存儲系統(tǒng)中的持久性問題, 提出通過控制負載分流和負載寫入時間間隔來提高閃存固態(tài)硬盤持久性的方法,既保證閃存固態(tài)硬盤達到用戶提出的合理期望壽命,又減小對系統(tǒng)讀寫響應性能的影響。為了解決上述技術問題,本發(fā)明的技術方案為第一步,構建分流緩沖持久性保障系統(tǒng)在內存中建立分流緩沖器,分流緩沖器分為三個區(qū)候選區(qū)、緩沖區(qū)和溢出區(qū)。每條數(shù)據(jù)大小相等,寫入的數(shù)據(jù)按到達時間順序先放置在候選區(qū),候選區(qū)裝滿后從候選區(qū)移入緩沖區(qū),緩沖區(qū)裝滿后從緩沖區(qū)移入溢出區(qū)。閃存固態(tài)硬盤通過主板上的外部設備擴展接口(PCI)連接中央處理器(CPU)。閃存固態(tài)硬盤上存儲的數(shù)據(jù)以塊(Block)為單位進行寫入和擦除。分流緩沖器中的三個區(qū)都與Block大小相等。第二步,在計算機操作系統(tǒng)應用層安裝主控軟件,由主控軟件對分流緩沖器、閃存固態(tài)硬盤、機械磁盤的讀寫進行控制,并在內存中建立各種計數(shù)器模塊 分流緩沖器計時器,用于記錄從上次分流緩沖器刷寫數(shù)據(jù)到當前時刻經過了多久; 分流緩沖器熱度記錄器,用于記錄分流緩沖器中的每個數(shù)據(jù)的熱度,分流緩沖器第m條數(shù)據(jù)的熱度記為Cm,每當該條數(shù)據(jù)被訪問一次時,它對應的熱度Cm加1,m為正整數(shù)。 閃存固態(tài)硬盤熱度記錄器,用于記錄閃存固態(tài)硬盤中存儲的每個Block的熱度,每當某個Block中的任意一條數(shù)據(jù)被訪問一次,該Block的熱度加I ; 閃存固態(tài)硬盤計時器,用于記錄每個Block數(shù)據(jù)在閃存固態(tài)硬盤中存放了多久; 熱度閥值C,當數(shù)據(jù)熱度小于C時將該數(shù)據(jù)從分流緩沖器移出寫入機械磁盤。C的值將在第三步初始化中進行設定。第三步,由主控軟件對分流緩沖持久性保障系統(tǒng)進行初始化3.1根據(jù)所使用的閃存固態(tài)硬盤設備信息設定最大擦除次數(shù)PE (約為每數(shù)據(jù)位3000次),并根據(jù)用戶需求和負載情況設定一個期望壽命Le (約為8*107到15*107秒)。3. 2讀取當前內核時間,記為開始時間3. 3對各計數(shù)器模塊賦值將分流緩沖器計時器初始化為0并開始計時;將分流緩沖器熱度記錄器、閃存固態(tài)硬盤熱度記錄器、閃存固態(tài)硬盤計時器、熱度閥值C均初始化為0,令變量m = 0 ;3. 4將分流緩沖器中的三個區(qū)清空。第四步,采用以下方法對閃存固態(tài)硬盤進行持久性保證。4.1計算負載寫入最小間隔時間
權利要求
1.一種基于負載控制的提高閃存固態(tài)硬盤持久性方法,其特征在于包括以下步驟第一步,構建分流緩沖持久性保障系統(tǒng)在內存中建立分流緩沖器,分流緩沖器分為三個區(qū)候選區(qū)、緩沖區(qū)和溢出區(qū);寫入的數(shù)據(jù)按到達時間順序先放置在候選區(qū),候選區(qū)裝滿后從候選區(qū)移入緩沖區(qū),緩沖區(qū)裝滿后從緩沖區(qū)移入溢出區(qū);閃存固態(tài)硬盤通過主板上的外部設備擴展接口 PCI連接中央處理器CPU ; 第二步,在計算機操作系統(tǒng)應用層安裝主控軟件,由主控軟件對分流緩沖器、閃存固態(tài)硬盤、機械磁盤的讀寫進行控制,并在內存中建立各種計數(shù)器模塊,包括 分流緩沖器計時器,用于記錄從上次分流緩沖器刷寫數(shù)據(jù)到當前時刻經過了多久; 分流緩沖器熱度記錄器,用于記錄分流緩沖器中每個數(shù)據(jù)的熱度,分流緩沖器第m條數(shù)據(jù)的熱度記為Cm,每當該條數(shù)據(jù)被訪問一次時,它對應的熱度Cm加1,m為正整數(shù); 閃存固態(tài)硬盤熱度記錄器,用于記錄閃存固態(tài)硬盤中存儲的每個Block的熱度,每當某個Block中的任意一條數(shù)據(jù)被訪問一次,該Block的熱度加I ; 閃存固態(tài)硬盤計時器,用于記錄每個Block數(shù)據(jù)在閃存固態(tài)硬盤中存放了多久; 熱度閥值C,當數(shù)據(jù)熱度小于C時將該數(shù)據(jù)從分流緩沖器移出寫入機械磁盤; 第三步,由主控軟件對分流緩沖持久性保障系統(tǒng)進行初始化 .3.1根據(jù)所使用的閃存固態(tài)硬盤設備信息設定最大擦除次數(shù)PE,并根據(jù)用戶需求和負載情況設定一個期望壽命Le ; .3.2讀取當前內核時間,記為開始時間h ; .3.3對各計數(shù)器模塊賦值將分流緩沖器計時器初始化為O并開始計時;將分流緩沖器熱度記錄器、閃存固態(tài)硬盤熱度記錄器、閃存固態(tài)硬盤計時器、熱度閥值C均初始化為0,令變量m = O ; .3.4將分流緩沖器中的三個區(qū)清空; 第四步,采用以下方法對閃存固態(tài)硬盤進行持久性保證 .4.1計算負載寫入最小間隔時間TH,
2.如權利要求1所述的基于負載控制的提高閃存固態(tài)硬盤持久性方法,其特征在于 Block所述分流緩沖器中的三個區(qū)都與Block大小相等,Block是閃存固態(tài)硬盤上存儲的數(shù) 據(jù)單位,即塊。
3.如權利要求1所述的基于負載控制的提高閃存固態(tài)硬盤持久性方法,其特征在于最 大擦除次數(shù)PE設定為每數(shù)據(jù)位3000次,期望壽命LE設定為8*107到15*107秒。
4.如權利要求1所述的基于負載控制的提高閃存固態(tài)硬盤持久性方法,其特征在于計 算候選區(qū)單位時間熱度的方法是將分流緩沖器熱度記錄器中記錄的候選區(qū)中所有數(shù)據(jù)的 熱度求和,得到候選區(qū)數(shù)據(jù)總熱度,將數(shù)據(jù)總熱度除以TSB得到候選區(qū)單位時間熱度;計算 閃存固態(tài)硬盤中每個Block的單位時間熱度的方法是用閃存固態(tài)硬盤熱度記錄器中每個 Block的熱度除以閃存固態(tài)硬盤計時器中對應的Block存放時間,得到閃存固態(tài)硬盤中每 個Block的單位時間熱度。
全文摘要
本發(fā)明公開了一種基于負載控制的提高閃存固態(tài)硬盤持久性方法,目的是提出一種通過控制負載分流和負載寫入時間間隔來提高閃存固態(tài)硬盤持久性的方法,既保證閃存固態(tài)硬盤達到用戶提出的合理期望壽命,又減小對系統(tǒng)讀寫響應性能的影響。技術方案是先構建分流緩沖持久性保障系統(tǒng),在計算機操作系統(tǒng)應用層安裝主控軟件,由主控軟件對分流緩沖持久性保障系統(tǒng)進行初始化,通過控制負載分流和負載寫入時間間隔對閃存固態(tài)硬盤進行持久性保證。采用本發(fā)明既可有效提高閃存固態(tài)硬盤的持久性,保證硬盤使用時間達到用戶預期壽命要求,又可提高閃存固態(tài)硬盤利用率。
文檔編號G06F3/06GK103019615SQ201210251408
公開日2013年4月3日 申請日期2012年7月19日 優(yōu)先權日2012年7月19日
發(fā)明者張菁, 廖湘科, 任怡, 吳慶波, 易曉東, 何連躍, 戴華東, 管劍波 申請人:中國人民解放軍國防科學技術大學