本發(fā)明專利技術(shù)公開(kāi)了一種固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整方法及其系統(tǒng),所述方法包括:A、獲取固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度;B、根據(jù)所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度,設(shè)置所述固態(tài)硬盤(pán)的垃圾收集參數(shù);C、根據(jù)所述垃圾收集參數(shù),在所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度內(nèi),執(zhí)行所述固態(tài)硬盤(pán)的垃圾收集操作。借此,本發(fā)明專利技術(shù)提高了固態(tài)硬盤(pán)垃圾收集的效率,以及固態(tài)硬盤(pán)運(yùn)行時(shí)的響應(yīng)速度和讀寫(xiě)性能。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整方法及其 系統(tǒng)。
技術(shù)介紹
在計(jì)算機(jī)技術(shù)迅速發(fā)展的同時(shí),計(jì)算機(jī)存儲(chǔ)介質(zhì)也有了長(zhǎng)足的發(fā)展。由普通硬盤(pán) 發(fā)展到了 SSD(Solid State Disk,固態(tài)硬盤(pán))。由于固態(tài)硬盤(pán)不使用普通硬盤(pán)的機(jī)械旋轉(zhuǎn) 裝置,因而抗震性極佳。固態(tài)硬盤(pán)的存儲(chǔ)模塊是半導(dǎo)體閃存NAND Flash芯片。NAND Flash 芯片操作單元一般分兩級(jí)block (塊)和page (頁(yè))。頁(yè)的大小有1KB,2KB,4KB,8KB等,且 隨著制造工藝的發(fā)展,有增大的趨勢(shì);每一個(gè)塊一般包含16、32、64或更多數(shù)量的頁(yè)。對(duì)于 NAND顆粒可以有三種操作1、讀一個(gè)頁(yè);2、寫(xiě)一個(gè)頁(yè);3、擦除一個(gè)塊。各操作所需要的時(shí)間 大致如下表(以Micron 73系列NAND顆粒為例)操作頁(yè)讀取頁(yè)寫(xiě)入塊擦除所需時(shí)間50微秒1. 3毫秒3毫秒可見(jiàn),對(duì)NAND的讀操作時(shí)比較快的,而塊擦除操作時(shí)最慢的。NAND顆粒具有一個(gè)比較特別的特性即NAND Flash芯片不能原地進(jìn)行in-place update (更新),在一個(gè)頁(yè)已經(jīng)寫(xiě)入數(shù)據(jù)的情況下,如果要想在這個(gè)頁(yè)繼續(xù)寫(xiě)入新的數(shù)據(jù), 則必須先對(duì)該頁(yè)進(jìn)行擦除操作。因?yàn)椴脸僮鞅仨毷且詨K為單位進(jìn)行的,所以其耗時(shí)是比 較長(zhǎng)的。因而在SSD使用過(guò)程中如何最優(yōu)地進(jìn)行擦除對(duì)其性能的影響是非常大的。由于NAND顆粒的上述特性,導(dǎo)致在SSD使用了一段時(shí)間后會(huì)出現(xiàn)大量的“垃圾 頁(yè)”。其產(chǎn)生原因解釋如下由于擦除一個(gè)塊時(shí)間太長(zhǎng),因此現(xiàn)有的SSD在遇到需要對(duì)一個(gè)頁(yè)中的數(shù)據(jù)進(jìn)行更 新的情況時(shí),都是將所需更新的數(shù)據(jù)寫(xiě)入到一個(gè)新分配的空白頁(yè)中,然后將原來(lái)的一頁(yè)舊 數(shù)據(jù)標(biāo)記為“無(wú)效”。這樣的頁(yè)就是垃圾頁(yè)。隨著SSD使用時(shí)間逐漸增加,這樣的垃圾頁(yè)將 越來(lái)越多,大大降低了系統(tǒng)中可供使用的存儲(chǔ)容量。因?yàn)檫@些垃圾頁(yè)中包含的數(shù)據(jù)都是無(wú) 效的,可以擦除,因此就需要一個(gè)過(guò)程來(lái)吧這些垃圾頁(yè)都收集起來(lái)并進(jìn)行擦除,從而產(chǎn)生出 新的可供寫(xiě)入數(shù)據(jù)的空白頁(yè)來(lái),這樣的過(guò)程就稱為“垃圾收集”。在垃圾收集過(guò)程中,主要需要完成如下操作1、選擇垃圾塊。由于擦除操作是以塊為單位進(jìn)行的,因此需要選擇一個(gè)塊作為垃 圾以便于進(jìn)行擦除操作。一個(gè)閃存塊中有很多頁(yè)(比如256個(gè)),其中垃圾頁(yè)的數(shù)量越多, 越適合被選作垃圾塊。2、申請(qǐng)空白塊。每一個(gè)被選中的垃圾塊可能包含一些有效的頁(yè),這些頁(yè)需要被搬 移到新的閃存塊中,因此需先申請(qǐng)一個(gè)或多個(gè)空白塊,以便將這些有效頁(yè)搬移到這些空白 塊中。3、有效頁(yè)搬移。4、擦除垃圾塊。5、SSD管理數(shù)據(jù)的更新。由于垃圾收集將改變地址映射關(guān)系和其他SSD管理數(shù)據(jù), 因此需要對(duì)這些數(shù)據(jù)進(jìn)行相應(yīng)的更新。下面是垃圾收集的示例,如圖1所示,假設(shè)我們已選擇B0、B1、B2、B3作為垃圾塊, 每個(gè)塊中有8個(gè)頁(yè)。其中標(biāo)記為“V”的頁(yè)表示是有效數(shù)據(jù)頁(yè);標(biāo)記為“X”的頁(yè)表示是無(wú)效 數(shù)據(jù)頁(yè);其余的是空白頁(yè),空白頁(yè)表示未使用。在垃圾收集過(guò)程中,每一個(gè)垃圾塊中的有效 頁(yè)都將被搬移到新的空白頁(yè)中,如圖2所示。在上述搬移過(guò)程完成之后,即可對(duì)垃圾塊進(jìn)行 擦除操作,擦除操作完成后的狀態(tài)如圖3所示。可以看到,在垃圾收集前,一共有19個(gè)空白 頁(yè)。垃圾收集完成之后,卻有四個(gè)空白頁(yè),因此顯著增加了系統(tǒng)的空白頁(yè)數(shù)量。而垃圾收集是SSD中不可避免的操作,當(dāng)系統(tǒng)的空白頁(yè)數(shù)量降低到一定程度后, 每一次寫(xiě)數(shù)據(jù)操作都有可能引起垃圾收集操作。根據(jù)上面的介紹我們可以知道,每次垃 圾收集操作都包含了大量的頁(yè)寫(xiě)入和塊擦除操作,因此其耗時(shí)是比較長(zhǎng)的,輕易就能達(dá)到 500ms以上。因此,如何降低垃圾收集操作對(duì)系統(tǒng)性能的影響,尤其是如何降低系統(tǒng)的寫(xiě)入 延遲是一個(gè)重要的問(wèn)題。但是在現(xiàn)有技術(shù)中尚未有有效的進(jìn)行固態(tài)硬盤(pán)垃圾收集的處理方 法。綜上可知,現(xiàn)有的固態(tài)硬盤(pán)的垃圾處理技術(shù),在實(shí)際使用上,顯然存在不便與缺 陷,所以有必要加以改進(jìn)。
技術(shù)實(shí)現(xiàn)思路
針對(duì)上述的缺陷,本專利技術(shù)的目的在于提供一種固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整方 法及其系統(tǒng),以提高固態(tài)硬盤(pán)垃圾收集的效率,以及固態(tài)硬盤(pán)運(yùn)行時(shí)的響應(yīng)速度和讀寫(xiě)性 能。為了實(shí)現(xiàn)上述目的,本專利技術(shù)提供一種固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整方法,所述 方法包括A、獲取固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度;B、根據(jù)所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度,設(shè)置所述固態(tài)硬盤(pán)的垃圾收集參數(shù);C、根據(jù)所述垃圾收集參數(shù),在所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度內(nèi),執(zhí)行所述固 態(tài)硬盤(pán)的垃圾收集操作。根據(jù)的固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整方法,在所述步驟C之后還包括D、根據(jù)所述固態(tài)硬盤(pán)空閑時(shí)間的實(shí)際長(zhǎng)度,調(diào)整所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度。根據(jù)的固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整方法,所述步驟A包括Al、設(shè)置所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度的算法及所述算法的參數(shù);A2、根據(jù)所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度的算法及所述算法的參數(shù),獲取所述 固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度。根據(jù)的固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整方法,所述算法的參數(shù)包括與多個(gè)用戶 的所述固態(tài)硬盤(pán)的操作數(shù)據(jù)相關(guān)的固態(tài)硬盤(pán)空閑時(shí)間長(zhǎng)度的分布集、所述固態(tài)硬盤(pán)的歷史 工作情況數(shù)據(jù)及當(dāng)前工作負(fù)載數(shù)據(jù);所述垃圾收集參數(shù)包括所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度、在單位所述固態(tài)硬 盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度內(nèi)收集所述固態(tài)硬盤(pán)垃圾塊的數(shù)目;所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度的算法包括根據(jù)所述算法的參數(shù)設(shè)置所述固 態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度;或者在每次進(jìn)行所述固態(tài)硬盤(pán)空閑時(shí)間長(zhǎng)度預(yù)測(cè)時(shí),將上一次所述固態(tài)硬盤(pán)空閑時(shí)間 作為下一次所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)值。根據(jù)的固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整方法,所述步驟D包括D1、當(dāng)所述固態(tài)硬盤(pán)當(dāng)前空閑時(shí)間長(zhǎng)度比所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度長(zhǎng) 時(shí),則增加所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度;D2、當(dāng)所述固態(tài)硬盤(pán)當(dāng)前空閑時(shí)間長(zhǎng)度比所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度短 時(shí),則減小所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度。本專利技術(shù)還提供了一種固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整系統(tǒng),所述系統(tǒng)包括獲取模塊,用于獲取固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度;設(shè)置模塊,用于根據(jù)所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度,設(shè)置所述固態(tài)硬盤(pán)的垃 圾收集參數(shù);收集模塊,用于根據(jù)所述垃圾收集參數(shù),在所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度內(nèi), 執(zhí)行所述固態(tài)硬盤(pán)的垃圾收集操作。根據(jù)所述的固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整系統(tǒng),所述系統(tǒng)還包括調(diào)整模塊,用于根據(jù)所述固態(tài)硬盤(pán)空閑時(shí)間的實(shí)際長(zhǎng)度,調(diào)整所述固態(tài)硬盤(pán)空閑 時(shí)間的預(yù)測(cè)長(zhǎng)度。根據(jù)所述的固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整系統(tǒng),所述獲取模塊還包括第一設(shè)置子模塊,用于設(shè)置所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度的算法及所述算法 的參數(shù);獲取子模塊,用于根據(jù)所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度的算法及所述算法的參 數(shù),獲取所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度。根據(jù)所述的固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整系統(tǒng),所述算法的參數(shù)包括與多個(gè) 用戶的所述固態(tài)硬盤(pán)的操作數(shù)據(jù)相關(guān)的固態(tài)硬盤(pán)空閑時(shí)間長(zhǎng)度的分布集、所述固態(tài)硬盤(pán)的 歷史工作情況數(shù)據(jù)及當(dāng)前工作負(fù)載數(shù)據(jù);所述垃圾收集參數(shù)包括所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度、在單位所述固態(tài)硬 盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度內(nèi)收集所述固態(tài)硬盤(pán)垃圾塊的數(shù)目;所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度的算法包括根據(jù)所述算法的參數(shù)設(shè)置所述固 態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度;或者在每次進(jìn)行所述固態(tài)硬盤(pán)空閑時(shí)間長(zhǎng)度預(yù)測(cè)時(shí),將上一次所述固態(tài)硬盤(pán)空閑本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種固態(tài)硬盤(pán)垃圾收集參數(shù)動(dòng)態(tài)調(diào)整方法,其特征在于,所述方法包括:A、獲取固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度;B、根據(jù)所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度,設(shè)置所述固態(tài)硬盤(pán)的垃圾收集參數(shù);C、根據(jù)所述垃圾收集參數(shù),在所述固態(tài)硬盤(pán)空閑時(shí)間的預(yù)測(cè)長(zhǎng)度內(nèi),執(zhí)行所述固態(tài)硬盤(pán)的垃圾收集操作。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:劉偉,
申請(qǐng)(專利權(quán))人:記憶科技深圳有限公司,
類型:發(fā)明
國(guó)別省市:94
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。