欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)寫入方法及裝置制造方法

文檔序號(hào):6509543閱讀:162來源:國知局
數(shù)據(jù)寫入方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)寫入方法及裝置,其中,該數(shù)據(jù)寫入方法包括:在有目標(biāo)數(shù)據(jù)需要寫入的情況下,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,所述關(guān)聯(lián)數(shù)據(jù)塊的原有數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)具有關(guān)聯(lián)關(guān)系;將所述目標(biāo)數(shù)據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊的空白頁中。本發(fā)明實(shí)施例所提供的數(shù)據(jù)寫入方法,通過將目標(biāo)數(shù)據(jù)寫入關(guān)聯(lián)數(shù)據(jù)塊的空白頁中,能夠使具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)集中在關(guān)聯(lián)數(shù)據(jù)塊中,可以提高后續(xù)的清理效率。
【專利說明】數(shù)據(jù)寫入方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,尤其涉及一種數(shù)據(jù)寫入方法及裝置。
【背景技術(shù)】
[0002]一些存儲(chǔ)設(shè)備例如固態(tài)存儲(chǔ)設(shè)備(Solid State Drive,簡稱SSD)和緩存(Cache)可以利用閃存(Flash)芯片作為數(shù)據(jù)存儲(chǔ)的介質(zhì),可以是一種非易失性閃存,例如:與非門閃存(Nand Flash)和與或門閃存(Nor Flash)等類型的芯片。目前比較常見的以NandFlash為存儲(chǔ)介質(zhì)的居多。其中,每個(gè)片選(CE)包含8192個(gè)塊(Block),每個(gè)塊包含128或64個(gè)頁(Page),塊是Nand Flash的最小擦除(Erase)單元,頁是Nand Flash的最小讀寫單元,每個(gè)頁大小為4K字節(jié)(Byte)。
[0003]對(duì)于機(jī)械硬盤來說,硬盤可以直接用磁頭將對(duì)應(yīng)的區(qū)域磁化為“O”或者“1”,而Nand Flash的物理特性決定了以Nand Flash為存儲(chǔ)介質(zhì)的存儲(chǔ)設(shè)備在寫入目標(biāo)數(shù)據(jù)之前,必須執(zhí)行擦除操作(Erase before Overwrite)。若需要向某個(gè)塊中寫入目標(biāo)數(shù)據(jù),即使只更改I位(bit)也必須先對(duì)該塊整個(gè)進(jìn)行擦除操作,這種先擦后寫導(dǎo)致了寫放大。寫放大對(duì)存儲(chǔ)設(shè)備的性能造成很大的影響,尤其是在小輸入/輸出(I/O)情況下,存儲(chǔ)設(shè)備的寫特性效率低。
[0004]為了降低寫放大的影響,SSD可以定期進(jìn)行垃圾回收(Garbage Collection,簡稱GC),緩存可以定期啟動(dòng)淘汰機(jī)制。垃圾回收過程的一個(gè)例子為:假設(shè)SSD包括Blockl和Block3,其中,Blockl被寫入數(shù)據(jù)、Block3未被寫入數(shù)據(jù),若需要修改Blockl中的原有數(shù)據(jù),則需要將Blockl中原有的有效數(shù)據(jù)搬移至SSD的其他Block例如Block3,再擦除Blockl。若SSD初始預(yù)留了部分塊作為冗余空間(free space)使用,且SSD并不告知操作系統(tǒng),那么在目標(biāo)數(shù)據(jù)寫入時(shí),SSD可以將該目標(biāo)數(shù)據(jù)寫入到全新的塊中并將原有數(shù)據(jù)所占用的頁標(biāo)記為“Garbage”(可以回收再利用)。但是,由于可用冗余空間隨著SSD中寫入目標(biāo)數(shù)據(jù)的增加而減少,直至最終耗盡,繼而需要SSD定期回收,即將未被標(biāo)記為“Garbage”的無效頁復(fù)制到SSD的緩存并集中起來重新寫入一個(gè)新的擦除過的塊,再將全部頁都被標(biāo)記為“Garbage”的塊進(jìn)行擦除使之變成可用空白塊,進(jìn)而實(shí)現(xiàn)循環(huán)利用。該過程為垃圾回收過程,雖然垃圾回收降低了寫放大對(duì)SSD造成的影響,但是寫放大仍然存在,而且垃圾回收的時(shí)機(jī)和頻率可能會(huì)對(duì)主機(jī)的性能穩(wěn)定性和1/0延時(shí)造成影響。如何提升垃圾回收的效率是目如SSD亟待解決的問題。
[0005]目前可以采用兩種方法提升垃圾回收的效率,第一種方法是可以通過增加冗余空間的比例來提升垃圾回收效率,例如Intel X25-E系列企業(yè)的SSD擁有超過20%的冗余空間,需要進(jìn)行垃圾回收的塊上標(biāo)記為“Garbage”的無效頁,隨著冗余空間的增加而增加,只需要搬移少量頁即可回收該塊,進(jìn)而滿足實(shí)際使用的需求。舉例而言,若Blockl擁有
3.125%的冗余空間,Block2擁有96.875%的冗余空間,則Blockl搬移64-2=62個(gè)頁才回收兩個(gè)空白頁,而Block2僅搬移64-62=2個(gè)頁就回收62個(gè)空白頁。該方法存在以犧牲存儲(chǔ)容量為前提的問題,增加的冗余空間實(shí)際上是SSD容量的損失。另一種方法是可以通過分梯度進(jìn)行垃圾回收,即根據(jù)當(dāng)前可用于冗余空間的塊的數(shù)量確定垃圾回收力度,換言之,當(dāng)可用于冗余空間的塊較多時(shí),例如SSD全容量沒有用完時(shí),垃圾回收幾乎不啟動(dòng),以此來降低垃圾回收力度進(jìn)而降低垃圾回收對(duì)SSD業(yè)務(wù)的影響。該方法存在垃圾回收難以一直保持在較低力度的問題,若持續(xù)有業(yè)務(wù)寫入,垃圾回收保持在較低力度對(duì)SSD業(yè)務(wù)的影響會(huì)增加。
[0006]綜上所述,現(xiàn)有技術(shù)在不影響SSD性能如不增加冗余空間的情況下,垃圾回收過程中數(shù)據(jù)清理的效率低。

【發(fā)明內(nèi)容】

[0007]摶術(shù)問是頁
[0008]有鑒于此,本發(fā)明要解決的技術(shù)問題是,如何提升數(shù)據(jù)清理效率,降低數(shù)據(jù)清理對(duì)于系統(tǒng)業(yè)務(wù)的影響。
[0009]解決方案
[0010]為了解決上述技術(shù)問題,在第一方面,本發(fā)明提出了一種數(shù)據(jù)寫入方法,包括:
[0011]在有目標(biāo)數(shù)據(jù)需要寫入的情況下,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,所述關(guān)聯(lián)數(shù)據(jù)塊的原有數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)具有關(guān)聯(lián)關(guān)系;
[0012]將所述目標(biāo)數(shù)據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊的空白頁中。
[0013]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,包括:
[0014]確定所述目標(biāo)數(shù)據(jù)的邏輯扇區(qū)編號(hào)LBA ;
[0015]計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度;
[0016]根據(jù)所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度,查找熱度級(jí)別表,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊。
[0017]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度,包括:
[0018]根據(jù)公式H=N*T/N計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度;
[0019]其中,H為所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度;Τ為距離上次寫入所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的時(shí)間;Ν為所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的寫入次數(shù);Ν’為所有LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的平均寫入次數(shù)。
[0020]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述將所述目標(biāo)數(shù)據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊的空白頁中,包括:
[0021]在所述目標(biāo)數(shù)據(jù)的LBA的熱度對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊存在空白頁的情況下,將所述目標(biāo)數(shù)據(jù)寫入所述空白頁中。
[0022]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,還包括:
[0023]在所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊不存在空白頁的情況下,申請(qǐng)新的空白塊作為待寫入所述目標(biāo)數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)塊,將所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度與所述新的空白塊的對(duì)應(yīng)關(guān)系記錄在所述熱度級(jí)別表中。
[0024]結(jié)合第一方面,在第五種可能的實(shí)現(xiàn)方式中,所述關(guān)聯(lián)數(shù)據(jù)塊中的原有數(shù)據(jù)包括有效數(shù)據(jù)和無效數(shù)據(jù),所述確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,還包括:
[0025]計(jì)算所述目標(biāo)數(shù)據(jù)與所述原有數(shù)據(jù)中的有效數(shù)據(jù)的邏輯相關(guān)度;
[0026]在確定所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的邏輯相關(guān)度小于設(shè)定閾值的情況下,確定所述有效數(shù)據(jù)所在的塊為所述目標(biāo)數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)塊。
[0027]結(jié)合第一方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述計(jì)算所述目標(biāo)數(shù)據(jù)與所述原有數(shù)據(jù)中的有效數(shù)據(jù)的邏輯相關(guān)度,包括:
[0028]根據(jù)公式L=AN*AT計(jì)算所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的邏輯相關(guān)度;
[0029]其中,L為所述邏輯相關(guān)度;ΛΝ為所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)在所述SSD中存儲(chǔ)的份數(shù);ΛΤ為所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的寫入時(shí)間間隔。
[0030]結(jié)合第一方面或第一方面的第一種至第六種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)寫入方法還包括:
[0031]在固態(tài)硬盤進(jìn)入垃圾回收狀態(tài)時(shí),對(duì)所述關(guān)聯(lián)數(shù)據(jù)塊中的無效頁進(jìn)行垃圾回收;或
[0032]在緩存啟動(dòng)淘汰機(jī)制時(shí),對(duì)所述關(guān)聯(lián)數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行集中清理。
[0033]在第二方面,本發(fā)明提出了一種數(shù)據(jù)寫入裝置,包括:
[0034]確定單元,用于在有目標(biāo)數(shù)據(jù)需要寫入的情況下,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,所述關(guān)聯(lián)數(shù)據(jù)塊的原有數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)具有關(guān)聯(lián)關(guān)系;
[0035]寫入單元,與所述確定單元連接,用于將所述目標(biāo)數(shù)據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊的空白頁中。
[0036]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述確定單元包括:
[0037]第一確定子單元,用于確定所述目標(biāo)數(shù)據(jù)的邏輯扇區(qū)編號(hào)LBA ;
[0038]第一計(jì)算子單元,與所述第一確定子單元連接,用于計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度;
[0039]第二確定子單元,與所述第一計(jì)算子單元連接,用于根據(jù)所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度,查找熱度級(jí)別表,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊。
[0040]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述第一
計(jì)算子單元用于根據(jù)公式計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度;
[0041]其中,H為所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度;T為距離上次寫入所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的時(shí)間;Ν為所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的寫入次數(shù);Ν’為所有LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的平均寫入次數(shù)。
[0042]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述寫入單元包括:
[0043]第一寫入子單元,用于在所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊存在空白頁的情況下,將所述目標(biāo)數(shù)據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊。
[0044]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,還包括:
[0045]第二寫入子單元,與所述第一寫入子單元連接,用于在所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊不存在空白頁的情況下,申請(qǐng)新的空白塊作為寫入所述目標(biāo)數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)塊,將所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度與所述新的空白塊的對(duì)應(yīng)關(guān)系記錄在所述熱度級(jí)別表中。
[0046]結(jié)合第二方面,在第五種可能的實(shí)現(xiàn)方式中,所述關(guān)聯(lián)數(shù)據(jù)塊中的原有數(shù)據(jù)包括有效數(shù)據(jù)和無效數(shù)據(jù),所述確定單元包括:
[0047]第二計(jì)算子單元,用于計(jì)算所述目標(biāo)數(shù)據(jù)與所述原有數(shù)據(jù)中的有效數(shù)據(jù)的邏輯相關(guān)度;
[0048]第三確定子單元,與所述第二計(jì)算子單元連接,用于在確定所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的邏輯相關(guān)度小于設(shè)定閾值的情況下,確定所述有效數(shù)據(jù)所在的塊為所述目標(biāo)數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)塊。
[0049]結(jié)合第二方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述第二計(jì)算子單元用于根據(jù)公式L=AN*AT計(jì)算所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的邏輯相關(guān)度;
[0050]其中,L為所述邏輯相關(guān)度;ΛΝ為所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)在所述SSD中存儲(chǔ)的份數(shù);ΛΤ為所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的寫入時(shí)間間隔。
[0051]結(jié)合第二方面或第二方面的第一種至第六種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)寫入裝置還包括:
[0052]垃圾回收單元,與所述寫入單元連接,用于在固態(tài)硬盤進(jìn)入垃圾回收狀態(tài)時(shí),對(duì)所述關(guān)聯(lián)數(shù)據(jù)塊中的無效頁進(jìn)行垃圾回收;或
[0053]清理單元,與所述寫入單元連接,用于在緩存啟動(dòng)淘汰機(jī)制時(shí),對(duì)所述關(guān)聯(lián)數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行集中清理。
[0054]有益.效果
[0055]本發(fā)明實(shí)施例的數(shù)據(jù)寫入方法,通過將目標(biāo)數(shù)據(jù)寫入關(guān)聯(lián)數(shù)據(jù)塊的空白頁中,能夠使具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)集中在關(guān)聯(lián)數(shù)據(jù)塊中,可以提高后續(xù)的清理效率。
[0056]根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說明,本發(fā)明的其它特征及方面將變得清楚。
【專利附圖】

【附圖說明】
[0057]包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本發(fā)明的示例性實(shí)施例、特征和方面,并且用于解釋本發(fā)明的原理。
[0058]圖1為根據(jù)本發(fā)明實(shí)施例一的數(shù)據(jù)寫入方法的流程圖;
[0059]圖2a、圖2b為根據(jù)本發(fā)明實(shí)施例二的數(shù)據(jù)寫入方法的流程圖;
[0060]圖3為根據(jù)本發(fā)明實(shí)施例三的數(shù)據(jù)寫入方法的流程圖;
[0061]圖4為根據(jù)本發(fā)明實(shí)施例四的數(shù)據(jù)寫入裝置的結(jié)構(gòu)框圖;
[0062]圖5為根據(jù)本發(fā)明實(shí)施例五的數(shù)據(jù)寫入裝置的結(jié)構(gòu)框圖;
[0063]圖6為根據(jù)本發(fā)明實(shí)施例六的數(shù)據(jù)寫入裝置的結(jié)構(gòu)框圖;
[0064]圖7為根據(jù)本發(fā)明實(shí)施例七的數(shù)據(jù)寫入裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0065]以下將參考附圖詳細(xì)說明本發(fā)明的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
[0066]在這里專用的詞“示例性”意為“用作例子、實(shí)施例或說明性”。這里作為“示例性”所說明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。
[0067]另外,為了更好的說明本發(fā)明,在下文的【具體實(shí)施方式】中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有這些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。在另外一些實(shí)例中,對(duì)于大家熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨。
[0068]實(shí)施例1
[0069]圖1為根據(jù)本發(fā)明實(shí)施例一的數(shù)據(jù)寫入方法的流程圖。如圖1所示,該數(shù)據(jù)寫入方法主要包括:
[0070]步驟S100、在有目標(biāo)數(shù)據(jù)需要寫入的情況下,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,所述關(guān)聯(lián)數(shù)據(jù)塊的原有數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)具有關(guān)聯(lián)關(guān)系;
[0071]步驟S120、將所述目標(biāo)數(shù)據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊的空白頁中。
[0072]具體地,在有目標(biāo)數(shù)據(jù)寫入的情況下,首先需要確定寫入的位置。目標(biāo)數(shù)據(jù)既可以寫入空白塊,也可以寫入具有空白頁的非空白塊。為了使SSD中的無效頁集中,或者使采用非易失性閃存作為存儲(chǔ)介質(zhì)的緩存(Cache)中具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)集中,可以根據(jù)目標(biāo)數(shù)據(jù)與原有數(shù)據(jù)的關(guān)聯(lián)關(guān)系確定目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊。其中,目標(biāo)數(shù)據(jù)與原有數(shù)據(jù)的關(guān)聯(lián)關(guān)系可以包括:目標(biāo)數(shù)據(jù)要寫入的邏輯扇區(qū)編號(hào)(Logical Block Addressing,簡稱LBA)對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度與原有數(shù)據(jù)所在存儲(chǔ)區(qū)域的熱度相近或相同;或目標(biāo)數(shù)據(jù)與原有數(shù)據(jù)邏輯相關(guān)。例如:目標(biāo)數(shù)據(jù)與Blockl中原有數(shù)據(jù)的熱度相近或相同;再如:目標(biāo)數(shù)據(jù)與Blockl中原有數(shù)據(jù)中的有效數(shù)據(jù)邏輯相關(guān),表明目標(biāo)數(shù)據(jù)與原有數(shù)據(jù)具有關(guān)聯(lián)關(guān)系,如果關(guān)聯(lián)數(shù)據(jù)塊Blockl中具有空白頁(Page),就可以將目標(biāo)數(shù)據(jù)塊寫入Blockl。
[0073]對(duì)于SSD,隨著SSD中寫入數(shù)據(jù)的增加,在數(shù)據(jù)空間寫滿的情況下,可以將數(shù)據(jù)空間的有效數(shù)據(jù)搬移到冗余空間,冗余空間慢慢減少,在冗余空間小于一定閾值的情況下,無法進(jìn)行正常的寫入。SSD定期啟動(dòng)垃圾回收,可以將存在無效頁的塊進(jìn)行擦除,實(shí)現(xiàn)循環(huán)利用。其中,垃圾回收過程中,可以按照具有無效頁的數(shù)量從多到少的順序,對(duì)數(shù)據(jù)空間的塊進(jìn)行擦除。擦除的塊中被標(biāo)記為“Garbage”的無效頁越多,垃圾回收的效率就越高。例如:先將需要擦除的塊如Blockl中的有效數(shù)據(jù)復(fù)制到SSD的緩存后搬移至其他塊中,然后對(duì)Blockl中的無效頁中數(shù)據(jù)進(jìn)行擦除,擦除后的Blockl可以重新寫入數(shù)據(jù)。其中,一個(gè)塊中產(chǎn)生無效頁的情況可以有多種,例如:在一個(gè)塊Blockl中寫入新的數(shù)據(jù)時(shí),將該Blockl中原有的該數(shù)據(jù)所占用的頁標(biāo)記為“Garbage”,然后可以在垃圾回收過程中將Blockl中的無效頁擦除。
[0074]對(duì)于采用非易失性閃存作為存儲(chǔ)介質(zhì)的緩存,隨著緩存中寫入數(shù)據(jù)的增加,在緩存空間寫滿的情況下,無法進(jìn)行正常的寫入,緩存啟動(dòng)淘汰機(jī)制進(jìn)行清理,可以將集中具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)塊進(jìn)行擦除。擦除的塊中具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)越多,淘汰效率越聞。
[0075]本實(shí)施例的數(shù)據(jù)寫入方法,將目標(biāo)數(shù)據(jù)寫入關(guān)聯(lián)數(shù)據(jù)塊的空白頁,能夠使具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)集中在關(guān)聯(lián)數(shù)據(jù)塊中,可以提高后續(xù)的清理效率。在SSD的垃圾回收的過程中,無效頁可以集中在關(guān)聯(lián)數(shù)據(jù)塊中,擦除關(guān)聯(lián)數(shù)據(jù)塊可以回收較多的空白頁,提高了垃圾回收效率,減少SSD的顆粒磨損,延長了 SSD的使用壽命。在采用非易失性閃存作為存儲(chǔ)介質(zhì)的緩存中,可以將具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)集中在關(guān)聯(lián)數(shù)據(jù)塊中,如果緩存空間不足,需要采用淘汰機(jī)制進(jìn)行清理時(shí),擦除關(guān)聯(lián)數(shù)據(jù)塊可以回收較多的空白頁,提高了淘汰效率,減少緩存的顆粒磨損,延長了淘汰的使用壽命。
[0076]實(shí)施例2
[0077]圖2a、圖2b為根據(jù)本發(fā)明實(shí)施例二的數(shù)據(jù)寫入方法的流程圖。圖2a、圖2b中與圖1標(biāo)號(hào)相同的步驟具有相同的功能,為簡明起見,省略對(duì)這些步驟的詳細(xì)說明。
[0078]本實(shí)施例中可以通過熱點(diǎn)數(shù)據(jù)來確定關(guān)聯(lián)數(shù)據(jù)塊,其中,由于與數(shù)據(jù)清理相關(guān),影響熱點(diǎn)數(shù)據(jù)的判別標(biāo)準(zhǔn)的直接因素可以是寫入頻率,熱點(diǎn)數(shù)據(jù)被重新寫入的幾率要遠(yuǎn)遠(yuǎn)高于非熱點(diǎn)數(shù)據(jù),因此,可以通過目標(biāo)數(shù)據(jù)的LBA來確定。如圖2a、圖2b所示,與上一實(shí)施例的主要區(qū)別在于,步驟SlOO可以包括:
[0079]步驟S200、確定所述目標(biāo)數(shù)據(jù)的邏輯扇區(qū)編號(hào)LBA。
[0080]具體地,在有目標(biāo)數(shù)據(jù)需要寫入時(shí),以非易失性閃存作為存儲(chǔ)介質(zhì)的存儲(chǔ)設(shè)備接入的主機(jī)可以為該目標(biāo)數(shù)據(jù)分配對(duì)應(yīng)的邏輯扇區(qū)編號(hào)(LBA)。所述存儲(chǔ)設(shè)備接收到目標(biāo)數(shù)據(jù)時(shí),可以獲取該目標(biāo)數(shù)據(jù)的LBA。
[0081]步驟S220、計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度。
[0082]具體地,在寫入目標(biāo)數(shù)據(jù)之前,可以計(jì)算該目標(biāo)數(shù)據(jù)被指定存入的LBA對(duì)應(yīng)存儲(chǔ)
區(qū)域的熱度。計(jì)算時(shí)可以采用的一種可行的公式為:H=(N*T)/N,其中,H為該目標(biāo)數(shù)據(jù)的LBA


對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度,量化所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度情況,H值越小表示該目標(biāo)數(shù)據(jù)被重新寫入的概率越高;T為距離上次寫入所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的時(shí)間,隨著上次寫入所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的時(shí)間的增加,熱度不斷降低;N為所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的寫入次數(shù);N’為所有LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的平均寫入次數(shù),即所有LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的寫入次數(shù)之和除以總LBA數(shù)。
[0083]步驟S240、根據(jù)所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度,查找熱度級(jí)別表,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊。
[0084]具體地,所述存儲(chǔ)設(shè)備中可以存儲(chǔ)并維護(hù)一個(gè)熱度級(jí)別表,該熱度級(jí)別表中可以包括已經(jīng)寫入的原有數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度與該原有數(shù)據(jù)所在塊的對(duì)應(yīng)關(guān)系。在根據(jù)上述公式計(jì)算得到該目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度后,可以按熱度的值進(jìn)行熱度級(jí)別的劃分,并將該熱度的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域包含的數(shù)據(jù)塊寫入該熱度級(jí)別中。例如可以定義LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度值為100至200時(shí)的熱度級(jí)別為5,該存儲(chǔ)區(qū)域包含的數(shù)據(jù)塊Bl0Ckl、Bl0Ck2則為熱度級(jí)別5下的數(shù)據(jù)塊。根據(jù)不同的熱度將目標(biāo)數(shù)據(jù)分配到不同的關(guān)聯(lián)數(shù)據(jù)塊上去,可以使得熱度相近的數(shù)據(jù)集中在相同的關(guān)聯(lián)數(shù)據(jù)塊上,以達(dá)到局部富裕的目的。
[0085]表I熱度級(jí)別表
[0086]
【權(quán)利要求】
1.一種數(shù)據(jù)寫入方法,其特征在于,包括: 在有目標(biāo)數(shù)據(jù)需要寫入的情況下,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,所述關(guān)聯(lián)數(shù)據(jù)塊的原有數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)具有關(guān)聯(lián)關(guān)系; 將所述目標(biāo)數(shù)據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊的空白頁中。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫入方法,其特征在于,所述確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,包括: 確定所述目標(biāo)數(shù)據(jù)的邏輯扇區(qū)編號(hào)LBA ; 計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度; 根據(jù)所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度,查找熱度級(jí)別表,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)寫入方法,其特征在于,所述計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度,包括:
根據(jù)公式
4.根據(jù)權(quán)利要求2或3中所述的數(shù)據(jù)寫入方法,其特征在于,所述將所述目標(biāo)數(shù)據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊的空白頁中,包括: 在所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊存在空白頁的情況下,將所述目標(biāo)數(shù)據(jù)寫入所述空白頁中。
5.根據(jù)權(quán)利要求2或3中所述的數(shù)據(jù)寫入方法,其特征在于,還包括: 在所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊不存在空白頁的情況下,申請(qǐng)新的空白塊作為待寫入所述目標(biāo)數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)塊,將所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度與所述新的空白塊的對(duì)應(yīng)關(guān)系記錄在所述熱度級(jí)別表中。
6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫入方法,其特征在于,所述關(guān)聯(lián)數(shù)據(jù)塊中的原有數(shù)據(jù)包括有效數(shù)據(jù)和無效數(shù)據(jù),所述確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,還包括: 計(jì)算所述目標(biāo)數(shù)據(jù)與所述原有數(shù)據(jù)中的有效數(shù)據(jù)的邏輯相關(guān)度; 在確定所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的邏輯相關(guān)度小于設(shè)定閾值的情況下,確定所述有效數(shù)據(jù)所在的塊為所述目標(biāo)數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)塊。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)寫入方法,其特征在于,所述計(jì)算所述目標(biāo)數(shù)據(jù)與所述原有數(shù)據(jù)中的有效數(shù)據(jù)的邏輯相關(guān)度,包括: 根據(jù)公式L=AN*AT計(jì)算所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的邏輯相關(guān)度; 其中,L為所述邏輯相關(guān)度;ΛΝ為所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)在所述SSD中存儲(chǔ)的份數(shù);ΛΤ為所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的寫入時(shí)間間隔。
8.根據(jù)權(quán)利要求1-7中任一項(xiàng)所述的數(shù)據(jù)寫入方法,其特征在于,還包括: 在固態(tài)硬盤進(jìn)入垃圾回收狀態(tài)時(shí),對(duì)所述關(guān)聯(lián)數(shù)據(jù)塊中的無效頁進(jìn)行垃圾回收;或 在緩存啟動(dòng)淘汰機(jī)制時(shí),對(duì)所述關(guān)聯(lián)數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行集中清理。
9.一種數(shù)據(jù)寫入裝置,其特征在于,包括:確定單元,用于在有目標(biāo)數(shù)據(jù)需要寫入的情況下,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊,所述關(guān)聯(lián)數(shù)據(jù)塊的原有數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)具有關(guān)聯(lián)關(guān)系; 寫入?yún)g元,與所述確定單元連接,用于將所述目標(biāo)數(shù)據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊的空白頁中。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)寫入裝置,其特征在于,所述確定単元包括: 第一確定子単元,用于確定所述目標(biāo)數(shù)據(jù)的邏輯扇區(qū)編號(hào)LBA ; 第一計(jì)算子単元,與所述第一確定子單元連接,用于計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度; 第二確定子単元,與所述第一計(jì)算子單元連接,用于根據(jù)所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度,查找熱度級(jí)別表,確定所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊。
11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)寫入裝置,其特征在于,所述第一計(jì)算子単元用于根據(jù)公式計(jì)算所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度; 其中,Η為所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度;Τ為距離上次寫入所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的時(shí)間;Ν為所述LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的寫入次數(shù);Ν’為所有LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的平均寫入次數(shù)。
12.根據(jù)權(quán)利要求10或11中所述的數(shù)據(jù)寫入裝置,其特征在于,所述寫入?yún)g元包括: 第一寫入子単元,用于在所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊存在空白頁的情況下,將所述目標(biāo)數(shù)`據(jù)寫入所述關(guān)聯(lián)數(shù)據(jù)塊。
13.根據(jù)權(quán)利要求10或11中所述的數(shù)據(jù)寫入裝置,其特征在于,還包括: 第二寫入子単元,用于在所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度對(duì)應(yīng)的關(guān)聯(lián)數(shù)據(jù)塊不存在空白頁的情況下,申請(qǐng)新的空白塊作為待寫入所述目標(biāo)數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)塊,將所述目標(biāo)數(shù)據(jù)的LBA對(duì)應(yīng)存儲(chǔ)區(qū)域的熱度與所述新的空白塊的對(duì)應(yīng)關(guān)系記錄在所述熱度級(jí)別表中。
14.根據(jù)權(quán)利要求9所述的數(shù)據(jù)寫入裝置,其特征在于,所述關(guān)聯(lián)數(shù)據(jù)塊中的原有數(shù)據(jù)包括有效數(shù)據(jù)和無效數(shù)據(jù),所述確定單元還包括: 第二計(jì)算子単元,用于計(jì)算所述目標(biāo)數(shù)據(jù)與所述原有數(shù)據(jù)中的有效數(shù)據(jù)的邏輯相關(guān)度; 第三確定子単元,與所述第二計(jì)算子單元連接,用于在確定所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的邏輯相關(guān)度小于設(shè)定閾值的情況下,確定所述有效數(shù)據(jù)所在的塊為所述目標(biāo)數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)塊。
15.根據(jù)權(quán)利要求14所述的數(shù)據(jù)寫入裝置,其特征在于,所述第二計(jì)算子単元用于根據(jù)公式L= △ N* △ T計(jì)算所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的邏輯相關(guān)度; 其中,L為所述邏輯相關(guān)度;ΛΝ為所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)在所述SSD中存儲(chǔ)的份數(shù);ΛΤ為所述目標(biāo)數(shù)據(jù)與所述有效數(shù)據(jù)的寫入時(shí)間間隔。
16.根據(jù)權(quán)利要求9-15中任一項(xiàng)所述的數(shù)據(jù)寫入裝置,其特征在于,還包括: 垃圾回收單元,與所述寫入單元連接,用于在固態(tài)硬盤進(jìn)入垃圾回收狀態(tài)時(shí),對(duì)所述關(guān)聯(lián)數(shù)據(jù)塊中的無效頁進(jìn)行垃圾回收;或 清理單元,與所述寫入單元連接,用于在緩存啟動(dòng)淘汰機(jī)制時(shí),對(duì)所述關(guān)聯(lián)數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行集中清 理。
【文檔編號(hào)】G06F12/02GK103455435SQ201310386086
【公開日】2013年12月18日 申請(qǐng)日期:2013年8月29日 優(yōu)先權(quán)日:2013年8月29日
【發(fā)明者】周猛, 張頗, 王斐 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
营口市| 响水县| 宁陕县| 罗山县| 唐河县| 长葛市| 兰溪市| 镶黄旗| 五家渠市| 甘孜| 会昌县| 江安县| 华亭县| 海兴县| 宝应县| 永年县| 大化| 买车| 广水市| 秭归县| 望奎县| 大化| 郎溪县| 伊川县| 仪征市| 泽库县| 明溪县| 潢川县| 彩票| 化德县| 房产| 武胜县| 古丈县| 西青区| 天柱县| 当雄县| 常州市| 丹凤县| 台中县| 汨罗市| 娄底市|