本公開的實施例總體上涉及存儲技術,更具體地涉及有助于固態(tài)硬盤的磨損平衡的方法和裝置。
背景技術:
隨著存儲技術的發(fā)展,固態(tài)硬盤(ssd)得到了廣泛應用,與傳統(tǒng)的硬盤驅動器(hdd)相比,ssd具有速度快、功耗低等優(yōu)點。通常,hdd存儲系統(tǒng)使用數(shù)百gb或數(shù)tb的ssd作為其高速緩存空間,用來存儲頻繁訪問的熱數(shù)據(jù),從而提高hdd存儲系統(tǒng)的數(shù)據(jù)訪問速度。
與hdd不一樣,ssd的生命周期受到寫操作的影響。過多的寫操作會使得ssd變得不可靠,因此,ssd閃存塊能夠執(zhí)行的寫操作的次數(shù)是有限的。不同類型的ssd能夠執(zhí)行的寫操作的次數(shù)不同,例如,多層單元(mlc)的寫操作的次數(shù)只有單層單元(slc)的十分之一,而三層單元(tlc)的寫操作的次數(shù)只有mlc的十分之一。此外,ssd的生命周期受到ssd磁盤溫度和工作電流的影響,溫度或工作電流越高,ssd的磨損程度將越大,從而導致更多的ssd數(shù)據(jù)塊發(fā)生故障。
在一些情況下,某些磁盤由于寫操作次數(shù)過多而造成磨損變大,使得ssd高速緩存整體性能下降,從而導致ssd高速緩存變得不穩(wěn)定或不可訪問。現(xiàn)有的存儲系統(tǒng)通常通過限制對ssd的訪問的數(shù)目來減小ssd的磁盤磨損速度,然而,由于減少了對存儲系統(tǒng)的訪問的數(shù)目,存儲系統(tǒng)的整體性能相應地也有所下降。
因此,如何能夠在不影響存儲系統(tǒng)的整體性能的情況下、提高ssd高速緩存的穩(wěn)定性,成為一個亟待解決的問題。
技術實現(xiàn)要素:
有鑒于此,本公開的實施例提供一種有助于固態(tài)硬盤的磨損平衡的方法和裝置。根據(jù)本公開的一個方面,公開了一種有助于固態(tài)硬盤的磨損平衡的方法,該方法包括:獲取固態(tài)硬盤ssd高速緩存中的多個ssd設備中的各個ssd設備的性能參數(shù),其中各個ssd設備包括一個或多個ssd磁盤;基于各個ssd設備的所述性能參數(shù),確定相應ssd設備的權重;以及根據(jù)各個ssd設備的所述權重,設置相應ssd設備的保留空間,其中所述保留空間是該ssd設備中不能被訪問的存儲空間。
根據(jù)本公開的另一個方面,公開了一種有助于固態(tài)硬盤的磨損平衡的裝置,包括:獲取裝置,用于獲取固態(tài)硬盤ssd高速緩存中的多個ssd設備中的各個ssd設備的性能參數(shù),其中各個ssd設備包括一個或多個ssd磁盤;確定裝置,用于基于各個ssd設備的所述性能參數(shù),確定相應ssd設備的權重;以及設置裝置,用于根據(jù)各個ssd設備的所述權重,設置相應ssd設備的保留空間,其中所述保留空間是該ssd設備中不能被訪問的存儲空間。
根據(jù)本公開的又一個方面,公開了一種有助于固態(tài)硬盤的磨損平衡的裝置,包括:存儲器;處理器,所述處理器被配置為:獲取固態(tài)硬盤ssd高速緩存中的多個ssd設備中的各個ssd設備的性能參數(shù),其中各個ssd設備包括一個或多個ssd磁盤;基于各個ssd設備的所述性能參數(shù),確定相應ssd設備的權重;以及根據(jù)各個ssd設備的所述權重,設置相應ssd設備的保留空間,其中所述保留空間是該ssd設備中不能被訪問的存儲空間。
在本公開的示例性實施例中,ssd中的各個ssd磁盤的磨損能夠達到平衡,從而能夠增加ssd磁盤的生命周期,有效地提高了sdd高速緩存的穩(wěn)定性。
附圖說明
結合附圖并參考以下詳細說明,本公開的各實施例的特征、優(yōu)點及其他方面將變得更加明顯,在此以示例性而非限制性的方式示出了本公開的若干實施例。在附圖中:
圖1圖示了現(xiàn)有技術的ssd高速緩存100的結構圖;
圖2圖示了現(xiàn)有技術的ssd高速緩存100發(fā)生故障的示圖;
圖3圖示了根據(jù)本公開的實施例的有助于固態(tài)硬盤的磨損平衡的方法300的流程圖;
圖4圖示了根據(jù)本公開的一個實施例的ssd高速緩存400的結構圖;
圖5圖示了根據(jù)本公開的一個實施例的ssd高速緩存400動態(tài)設置保留空間的示圖;
圖6圖示了根據(jù)本公開的實施例的有助于固態(tài)硬盤的磨損平衡的裝置600的流程圖;以及
圖7圖示了可以在其中實現(xiàn)根據(jù)本公開的實施例的有助于固態(tài)硬盤的磨損平衡的方法的計算機設備700的框圖。
具體實施方式
以下參考附圖詳細描述本公開的各個示例性實施例。附圖中的流程圖和框圖示出了根據(jù)本公開的各種實施例的方法和系統(tǒng)的可能實現(xiàn)的體系架構、功能和操作。應當注意,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分可以包括一個或多個用于實現(xiàn)各個實施例中所規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為備選的實現(xiàn)中,方框中所標注的功能也可以按照不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框實際上可以基本并行地執(zhí)行,或者它們有時也可以按照相反的順序執(zhí)行,這取決于所涉及的功能。同樣應當注意的是,流程圖和/或框圖中的每個方框、以及流程圖和/或框圖中的方框的組合,可以使用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以使用專用硬件與計算機指令的組合來實現(xiàn)。
本文所使用的術語“包括”、“包含”及類似術語應該被理解為是開放性的術語,即“包括/包含但不限于”。術語“基于”是“至少部分地基于”。術語“一個實施例”表示“至少一個實施例”;術語“另一個實施例”、“又一個實施例”表示“至少一個另外的實施例”。其他術語的相關定義將在下文描述中給出。
圖1圖示了現(xiàn)有技術的ssd高速緩存100的結構圖。如圖1所示,ssd高速緩存100包括4個ssd設備,分別為ssd設備101、ssd設備102、ssd設備103以及ssd設備104,其中每個設備由一對ssd磁盤組成,形成一組磁盤陣列raid。
通常,對ssd磁盤設置一定的保留空間以增加ssd磁盤的生命周期。然而,在ssd高速緩存的常規(guī)設計中,ssd磁盤保留空間的比例通常是固定的。例如,在每個ssd磁盤中,設置了一定比例的保留空間,其中保留空間是ssd磁盤中不能被訪問的存儲空間。如圖1所示,對于每個磁盤ssd,其存儲空間分為可用空間和保留空間,其中每個ssd設備的保留空間相同,均為50%。
在某些情況下,發(fā)送到ssd設備102的訪問操作可能是隨機的寫操作,而這些寫操作會導致ssd設備102的溫度和工作電流顯著增加。如果這種寫操作的次數(shù)過多,則會造成ssd設備102的磨損程度快于其他三個ssd設備。更加嚴重的是,由于ssd設備102的溫度和工作電流快速增加,造成ssd設備102的故障塊顯著增加。然而,現(xiàn)有技術中各個ssd設備設置固定比例的保留空間,并且不考慮溫度和工作電流對個體ssd的生命周期產生的影響。
如圖2所示,在某個時間點,ssd設備102的溫度和/或工作電流過高,導致ssd設備102的磨損程度持續(xù)增加。當ssd設備102的磨損程度超過安全閾值時,ssd設備102將發(fā)生故障或者變得不可訪問,從而造成整個ssd高速緩存100發(fā)生故障。如圖2所示,僅僅由于ssd設備102的過快磨損,造成了整個ssd高速緩存100不可使用,而其他3個設備的磨損比例還很小。因此,現(xiàn)有的固定比例的保留空間的方案嚴重影響了存儲系統(tǒng)的整體性能。
圖3圖示了根據(jù)本公開的實施例的有助于固態(tài)硬盤的磨損平衡的方法300的流程圖,方法300包括在步驟s302處,獲取固態(tài)硬盤ssd高速緩存中的多個ssd設備中的各個ssd設備的性能參數(shù),其中各個ssd設備包括一個或多個ssd磁盤??蛇x地,ssd設備的數(shù)目可以為大于等于2的任何值,諸如為4個、6個。另外,各個ssd設備可以僅僅只包括一塊ssd磁盤,即,每個ssd設備為一塊ssd磁盤。備選地,各個ssd設備也可以包括一對ssd磁盤,以形成一組磁盤陣列raid。
在一個實施例中,多個ssd設備可以組成存儲系統(tǒng)中的ssd高速緩存,該存儲系統(tǒng)可以包括另外的磁盤設備(例如磁盤驅動器(hdd))作為主存儲介質,而ssd可以作為hdd存儲系統(tǒng)中的高速緩存??蛇x地,ssd高速緩存使用高速緩存頁來存儲硬盤驅動器hdd中被頻繁訪問的熱數(shù)據(jù),其中所述熱數(shù)據(jù)是隨機數(shù)據(jù)并且所述熱數(shù)據(jù)的大小可以小于64千字節(jié)。備選地,可以根據(jù)需要調整高速緩存頁的大小。
在一個實施例中,ssd設備的性能參數(shù)表示ssd設備的當前工作狀態(tài),通過獲取ssd設備的性能參數(shù),能夠確定ssd設備當前的磨損程度。在一個實施例中,性能參數(shù)可以是ssd設備的溫度、工作電流或磨損比例等,例如,某個ssd設備的當前溫度為30°,當前工作電流為1a,當前磨損比例為1%。在另一個實施例中,性能參數(shù)也可以是ssd設備的寫操作次數(shù),例如某個ssd設備已經被寫300次。
在一個實施例中,可以周期性地獲取多個ssd設備中的各個ssd設備的性能參數(shù),例如,每天或每三個小時獲取各個每個ssd設備的溫度和工作電流。備選地,可以設置預警條件,并且基于預警條件來觸發(fā)獲取ssd設備的性能參數(shù)的操作。例如當某個ssd設備的溫度高于40°或者工作電流大于1.2a時,獲取多個ssd設備中的各個ssd設備的性能參數(shù)。
接下來,方法300繼續(xù)進行到步驟s304,基于各個ssd設備的所述性能參數(shù),確定相應ssd設備的權重。例如,基于ssd設備的溫度、工作電流或磨損比例,計算該ssd設備的權重,每個ssd設備的權重 可以與其性能參數(shù)的值成正比或成反比。例如,ssd設備n的權重wn=f(t,i,e),其中t表示設備n的溫度,i表示設備n的工作電流,e表示設備n已經磨損的數(shù)據(jù),當t增加時,wn的值增加,當i增加時,wn的值也增加。通常,ssd磁盤的溫度越高或工作電流越大,磁盤的損壞的可能性越大。
在一個實施例中,可以配置該權重,使得權重隨所述性能參數(shù)的增加而遞增;和/或可以配置該權重,使得權重隨所述性能參數(shù)的降低而遞減。也就是說,設備的性能參數(shù)的值越大,該設備的權重也就越大??蛇x地,在初始條件下,每個設備具有相同的溫度、工作電流和磨損比例,因而各個ssd設備的權重值可以相等,例如均為1。
接下來,在步驟s306處,根據(jù)各個ssd設備的所述權重,設置相應ssd設備的保留空間。每個ssd設備的存儲空間分為可用空間和保留空間,其中可用空間是ssd設備中可以被訪問的存儲空間,而保留空間是ssd設備中不能被訪問的存儲空間。根據(jù)權重來設置保留空間可以使得磨損較高的ssd設備的磨損程度降低。例如,ssd設備的權重son=s*r*f(w0,w1,w2,...,wn),其中s為ssd設備n的整個存儲空間,r為ssd設備n的默認保留空間的比例,wn為ssd設備n的權重。例如,存在4個ssd設備,每個設備的空間為100gb,默認保留空間的比例是50%,初始權重為1,則每個設備的初始保留空間為50gb。在ssd設備運行一段時間之后,由于各個ssd設備的訪問次數(shù)不一致,各個ssd設備具有不同的溫度、工作電流和磨損比例,因而各個ssd設備的權重和保留空間也不相同,以下表1示出了某一時間的設備的保留空間。
表1:設備的保留空間的示例
如表1所示,當某個ssd設備的權重越大,該ssd設備的保留空間就越大??蛇x地,對于權重最大的ssd設備,可以設置最大比例的保留空間,和/或對于權重最小的ssd設備,可以設置最小比例的保留空間。
一般來說,ssd設備的訪問次數(shù)與ssd設備的可用空間成正比。因此,ssd設備的訪問次數(shù)與ssd設備的保留空間成反比,即當特定ssd設備被設置最大比例的保留空間時,特定ssd設備被寫入的次數(shù)最小,和/或當特定ssd設備被設置最小比例的保留空間時,特定ssd設備被寫入的次數(shù)最大。因此,磨損比例較大的ssd設備的保留空間將增加,其磨損比例將減小,磨損比例較小的ssd設備的保留空間將減小,其磨損比例將增大,從而使得整個ssd高速緩存中的所有ssd設備達到磨損平衡。
圖4圖示了根據(jù)本公開的一個實施例的ssd高速緩存400的結構圖。如圖4所示,可選地,ssd高速緩存100包括4個ssd設備,即ssd設備401、ssd設備402、ssd設備403以及ssd設備404,其中每個設備一對ssd磁盤組成,形成一組磁盤陣列raid。在每個ssd磁盤中,設置了一定比例的保留空間,其中保留空間是ssd磁盤中不能被訪問的存儲空間。如圖4所示,對于每個磁盤ssd,其存儲空間分為可用空間和保留空間在初始條件下,每個設備具有相同的溫度、工作電流和磨損比例,因此每個ssd設備的保留空間相同,例如為50%。
在一個實施例中,各個ssd設備的空間可以為100gb,其可以包括多個高速緩存頁??蛇x地,每個高速緩存頁的大小可以為64kb,則對于各個ssd設備,存在162萬個頁。在初始條件下,如果默認的保留空間為50gb,則對于每個ssd設備,存在81萬個可用頁和81萬個保留頁。
在一個實施例中,可以對各個ssd設備設置權重。例如,可以配置該權重,使得權重隨所述性能參數(shù)的增加而遞增;和/或可以配置該權重,使得權重隨所述性能參數(shù)的降低而遞減。也就是說,設備的性能參數(shù)的值越大,該設備的權重也就越大??蛇x地,在初始條件下,每個設備具有相同的溫度、工作電流和磨損比例,因而各個ssd設備的權重值可以相等,例如均為1。
圖5圖示了根據(jù)本公開的一個實施例的ssd高速緩存400動態(tài)設置保留空間的示圖。如圖5所示,在ssd高速緩存工作一段時間之后,由于ssd設備402的寫操作次數(shù)增加,其溫度和工作電流顯著增加,根據(jù)本公開的實施例的ssd的磨損平衡的方法,ssd設備402的溫度或工作電流越大,其權重也就越大。相應地,ssd設備402的保留空間增加,例如保留空間的比例被設置為66.7%。相反,ssd設備401、403和404由于溫度和工作電流減小,其保留空間比例被設置為41.7%。在動態(tài)調整4個ssd設備的保留空間之后,ssd高速緩存繼續(xù)工作。
在對各個ssd設備設置新的保留空間之后,由于ssd設備401、403和404具有更多的可用空間,則對于這三個設備的寫操作將增加,它們的溫度和工作電流也相應地增加。而對于ssd設備402,由于其具有最少的可用空間,它的寫入操作將大幅度減少。因此,在一段時間之后,ssd設備402的權重將減小,而ssd設備401、403和404的權重將增加,相應地,402的保留空間將減小,而ssd設備401、403和404的保留空間將增加,ssd高速緩存中各個設備的狀態(tài)可選地又回到圖4中所示出的初始狀態(tài),使得各個ssd設備之間的磨損情況達到動態(tài)平衡。因此,ssd設備402不會因為暫時的溫度或工作電流升高而影響其生命周期,通過本公開的實施例的ssd的磨損平衡的方法300,能夠使得ssd高速緩存中的各個設備之間的磨損達到平衡,因而本公開的實施例有效地提高了ssd高速緩存的整體性能。
圖6圖示了根據(jù)本公開的實施例的有助于固態(tài)硬盤的磨損平衡的裝置600的流程圖,裝置600包括:獲取裝置602,用于獲取固態(tài)硬 盤ssd高速緩存中的多個ssd設備中的各個ssd設備的性能參數(shù),其中各個ssd設備包括一個或多個ssd磁盤;確定裝置604,用于基于各個ssd設備的所述性能參數(shù),確定相應ssd設備的權重;以及設置裝置606,用于根據(jù)各個ssd設備的所述權重,設置相應ssd設備的保留空間,其中所述保留空間是該ssd設備中不能被訪問的存儲空間。
在一個實施例中,其中所述ssd高速緩存使用高速緩存頁來存儲硬盤驅動器hdd中被頻繁訪問的熱數(shù)據(jù)??蛇x地,所述熱數(shù)據(jù)是隨機數(shù)據(jù)并且其大小可以小于64千字節(jié)。
在一個實施例中,其中性能參數(shù)可以包括以下各項中的至少一項:溫度、工作電流或磨損比例??蛇x地,其中所述獲取裝置602可以進一步用于:周期性地獲取所述ssd高速緩存中的所述多個ssd設備中的各個ssd設備的所述性能參數(shù)。在另一個實施例中,其中所述確定裝置604可以進一步用于:配置所述權重,使得所述權重隨所述性能參數(shù)的增加而遞增;和/或配置所述權重,使得所述權重隨所述性能參數(shù)的降低而遞減??蛇x地,每個ssd設備的初始權重相同。
在一個實施例中,其中所述設置裝置606可以進一步用于:對于權重最大的ssd設備,設置最大比例的保留空間;和/或對于權重最小的ssd設備,設置最小比例的保留空間。可選地,其中當特定ssd設備被設置最大比例的保留空間時,所述特定ssd設備被寫入的次數(shù)最?。缓?或當特定ssd設備被設置最小比例的保留空間時,所述特定ssd設備被寫入的次數(shù)最大。
在下文中,將參考圖7來描述可以在其中實現(xiàn)本公開的固態(tài)硬盤的磨損平衡方法的計算機設備。圖7圖示了可以在其中實現(xiàn)根據(jù)本公開的模擬方法的計算機設備700的框圖。
圖7中所示的計算機系統(tǒng)包括cpu(中央處理單元)701、ram(隨機訪問存儲器)702、rom(只讀存儲器)703、系統(tǒng)總線704、硬盤控制器705、鍵盤控制器706、串行接口控制器707、并行接口控制器708、顯示器控制器709、硬盤710、鍵盤711、串行外部設備712、并行外部 設備713和顯示器714。在這些部件中,與系統(tǒng)總線704相連的有cpu701、ram702、rom703、硬盤控制器705、鍵盤控制器706、串行接口控制器707、并行接口控制器708和顯示器控制器709。硬盤710與硬盤控制器705相連,鍵盤711與鍵盤控制器706相連,串行外部設備712與串行接口控制器707相連,并行外部設備713與并行接口控制器708相連,以及顯示器714與顯示器控制器709相連。需要說明的是,圖7所述的結構框圖僅僅為了示例的目的而示出的,并非是對本公開的限制。在一些情況下,可以根據(jù)需要添加或者減少其中的一些設備。本公開的實施方式可以作為計算機程序代碼存儲在上計算機的例如硬盤710的存儲設備中,在被載入諸如存儲器中運行時,將使得cpu701執(zhí)行根據(jù)本公開的實施例的磁盤驅動器模擬方法。
以上所述僅為本公開的實施例可選實施例,并不用于限制本公開的實施例,對于本領域的技術人員來說,本公開的實施例可以有各種更改和變化。凡在本公開的實施例的精神和原則之內,所作的任何修改、等效替換、改進等,均應包含在本公開的實施例的保護范圍之內。