亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種數(shù)據(jù)存儲(chǔ)方法及數(shù)據(jù)存儲(chǔ)裝置與流程

文檔序號(hào):11133483閱讀:640來源:國(guó)知局
一種數(shù)據(jù)存儲(chǔ)方法及數(shù)據(jù)存儲(chǔ)裝置與制造工藝

本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)存儲(chǔ)方法及數(shù)據(jù)存儲(chǔ)裝置。



背景技術(shù):

Nandflash閃存由于其功耗低、體積小、防震抗摔和訪問速度快等優(yōu)點(diǎn)而選用于簡(jiǎn)易型可移動(dòng)和嵌入式設(shè)備的存儲(chǔ)領(lǐng)域。Nandflash以物理塊為擦除單位,以物理頁為編程單位,寫入新的數(shù)據(jù)必須擦除一個(gè)物理塊,一個(gè)物理頁一個(gè)物理頁分別寫入。由于NandFlash的擦除次數(shù)有限,為了提高存儲(chǔ)設(shè)備的使用壽命,均要均衡使用Nandflash,防止某些物理塊的擦除次數(shù)過大,而某些物理塊的擦除次數(shù)過小。

現(xiàn)實(shí)生活中的存儲(chǔ)設(shè)備通常呈現(xiàn)出較高的數(shù)據(jù)訪問局部性,即有些數(shù)據(jù)會(huì)被頻繁訪問,經(jīng)常更新,這部分?jǐn)?shù)據(jù)稱為熱數(shù)據(jù);有些數(shù)據(jù)則很少或幾乎不被訪問,更新頻率很小,這部分?jǐn)?shù)據(jù)稱為冷數(shù)據(jù)。

為了提高存儲(chǔ)設(shè)備的使用壽命,現(xiàn)在通用的做法是將所有數(shù)據(jù)都直接寫入到存儲(chǔ)設(shè)備中,然后在空閑時(shí)將冷數(shù)據(jù)搬移到擦除次數(shù)比較大的物理塊中。

但由于需要將冷數(shù)據(jù)搬移一次,因此會(huì)增加整個(gè)存儲(chǔ)設(shè)備的寫入放大,在一定程度上會(huì)降低存儲(chǔ)設(shè)備的使用壽命。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)方法及數(shù)據(jù)存儲(chǔ)裝置,用于解決現(xiàn)有技術(shù)中冷數(shù)據(jù)搬移增加存儲(chǔ)設(shè)備的寫入放大的問題。

為達(dá)到上述目的,本發(fā)明實(shí)施例的一方面提供了一種數(shù)據(jù)存儲(chǔ)方法,包括:

接收主機(jī)系統(tǒng)的第二寫命令,所述第二寫命令攜帶有第二待寫數(shù)據(jù)以及所述第二待寫數(shù)據(jù)的第二邏輯地址信息;

根據(jù)所述第二邏輯地址信息判斷所述第二寫命令與第一寫命令是否連續(xù),所述第一寫命令為所述第二寫命令之前的最近一條寫命令;

若是,則確定所述第二待寫數(shù)據(jù)為第一冷數(shù)據(jù);

將所述第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn),所述第一冷數(shù)據(jù)寫入點(diǎn)使用第一物理塊,所述第一物理塊的第一擦除次數(shù)大于閾值。

結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,若判定所述第二寫命令與所述第一寫命令不連續(xù),所述方法還包括:

判斷所述第二待寫數(shù)據(jù)的長(zhǎng)度是否小于預(yù)置長(zhǎng)度;

若是,則確定所述第二待寫數(shù)據(jù)為熱數(shù)據(jù);

將所述第二待寫數(shù)據(jù)存入熱數(shù)據(jù)寫入點(diǎn),所述熱數(shù)據(jù)寫入點(diǎn)使用第二物理塊,所述第二物理塊的第二擦除次數(shù)小于所述閾值。

結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述預(yù)置長(zhǎng)度為系統(tǒng)的分配單元大小。

結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式或第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述方法還包括:

若判定所述第二待寫數(shù)據(jù)的長(zhǎng)度大于所述預(yù)置長(zhǎng)度,則確定所述第二待寫數(shù)據(jù)為第二冷數(shù)據(jù);

將所述第二待寫數(shù)據(jù)存入第二冷數(shù)據(jù)寫入點(diǎn),所述第二冷數(shù)據(jù)寫入點(diǎn)使用第三物理塊,所述第三物理塊的第三擦除次數(shù)小于所述第一擦除次數(shù),且大于所述閾值。

結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式、第一方面的第二種可能的實(shí)現(xiàn)方式和第一方面的第三種可能的實(shí)現(xiàn)方式之中任意一種,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述第一物理塊為擦除次數(shù)記錄表中擦除次數(shù)最大的物理塊,所述第二物理塊為擦除次數(shù)記錄表中擦除次數(shù)最小的物理塊。

本發(fā)明實(shí)施例的第二方面提供了一種數(shù)據(jù)存儲(chǔ)裝置,包括:

接收模塊,用于接收主機(jī)系統(tǒng)的第二寫命令,所述第二寫命令攜帶有第二待寫數(shù)據(jù)以及所述第二待寫數(shù)據(jù)的第二邏輯地址信息;

第一判斷模塊,用于根據(jù)所述第二邏輯地址信息判斷所述第二寫命令與第一寫命令是否連續(xù),所述第一寫命令為所述第二寫命令之前的最近一條寫命令;

第一確定模塊,用于當(dāng)所述第一判斷模塊判定所述第二寫命令與所述第一寫命令連續(xù)時(shí),確定所述第二待寫數(shù)據(jù)為第一冷數(shù)據(jù);

第一存儲(chǔ)模塊,用于在所述第一確定模塊判定所述第二待寫數(shù)據(jù)為第一冷數(shù)據(jù)之后,將所述第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn),所述第一冷數(shù)據(jù)寫入點(diǎn)使用第一物理塊,所述第一物理塊的第一擦除次數(shù)大于閾值。

結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)存儲(chǔ)裝置還包括:

第二判斷模塊,用于判斷所述第二待寫數(shù)據(jù)的長(zhǎng)度是否小于預(yù)置長(zhǎng)度;

第二確定模塊,用于當(dāng)所述第二判斷模塊判定所述第二待寫數(shù)據(jù)的長(zhǎng)度小于預(yù)置長(zhǎng)度時(shí),確定所述第二待寫數(shù)據(jù)為熱數(shù)據(jù);

第二存儲(chǔ)模塊,用于在所述第二確定模塊確定所述第二待寫數(shù)據(jù)為熱數(shù)據(jù)之后,將所述第二待寫數(shù)據(jù)存入熱數(shù)據(jù)寫入點(diǎn),所述熱數(shù)據(jù)寫入點(diǎn)使用第二物理塊,所述第二物理塊的第二擦除次數(shù)小于所述閾值。

結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述預(yù)置長(zhǎng)度為系統(tǒng)的分配單元大小。

結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式或第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)存儲(chǔ)裝置還包括:

第三確定模塊,用于當(dāng)所述第二判斷模塊判定所述第二待寫數(shù)據(jù)的長(zhǎng)度大于所述預(yù)置長(zhǎng)度時(shí),確定所述第二待寫數(shù)據(jù)為第二冷數(shù)據(jù);

第三存儲(chǔ)模塊,用于當(dāng)所述第三確定模塊確定所述第二待寫數(shù)據(jù)為第二冷數(shù)據(jù)時(shí),將所述第二待寫數(shù)據(jù)存入第二冷數(shù)據(jù)寫入點(diǎn),所述第二冷數(shù)據(jù)寫入點(diǎn)使用第三物理塊,所述第三物理塊的第三擦除次數(shù)小于所述第一擦除次數(shù),且大于所述閾值。

結(jié)合第二方面、第二方面的第一種可能的實(shí)現(xiàn)方式、第二方面的第二種可能的實(shí)現(xiàn)方式和第二方面的第三種可能的實(shí)現(xiàn)方式之中任意一種,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述第一物理塊為擦除次數(shù)記錄表中擦除次數(shù)最大的物理塊,所述第二物理塊為擦除次數(shù)記錄表中擦除次數(shù)最小的物理塊。

從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):

本發(fā)明實(shí)施例在接收第二寫命令之后,首先判斷第二寫命令攜帶的第二待寫數(shù)據(jù)是否為冷數(shù)據(jù),若是,則將第二待寫數(shù)據(jù)寫入擦除次數(shù)較大的第一物理塊,可以減少冷數(shù)據(jù)搬移過程中的寫入放大,延長(zhǎng)閃存存儲(chǔ)設(shè)備的使用壽命,并且本發(fā)明提供的冷熱數(shù)據(jù)識(shí)別方法步驟簡(jiǎn)單,只占用較小的內(nèi)存系統(tǒng)資源,有利于實(shí)際的運(yùn)用。

附圖說明

圖1是本發(fā)明數(shù)據(jù)存儲(chǔ)方法一個(gè)實(shí)施例示意圖;

圖2是本發(fā)明數(shù)據(jù)存儲(chǔ)方法另一個(gè)實(shí)施例示意圖;

圖3是本發(fā)明數(shù)據(jù)存儲(chǔ)方法另一個(gè)實(shí)施例示意圖;

圖4是本發(fā)明數(shù)據(jù)存儲(chǔ)裝置一個(gè)實(shí)施例示意圖;

圖5是本發(fā)明數(shù)據(jù)存儲(chǔ)裝置另一個(gè)實(shí)施例示意圖;

圖6是本發(fā)明數(shù)據(jù)存儲(chǔ)裝置另一個(gè)實(shí)施例示意圖。

具體實(shí)施方式

本發(fā)明實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)方法及數(shù)據(jù)存儲(chǔ)裝置,用于減少閃存物理塊的擦寫,延長(zhǎng)閃存存儲(chǔ)設(shè)備的使用壽命。

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。

本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。

隨著科學(xué)技術(shù)的飛速發(fā)展,以及智能手機(jī)的普及,對(duì)高速大容量的閃存存儲(chǔ)設(shè)備的需求也越來越大。Nandflash閃存由于其功耗低、體積小、防震抗摔和訪問速度快等優(yōu)點(diǎn)而選用于簡(jiǎn)易型可移動(dòng)和嵌入式設(shè)備的存儲(chǔ)領(lǐng)域?,F(xiàn)在市面上比較通用的嵌入式閃存設(shè)備有嵌入式多媒體卡EMMC和微安全數(shù)碼卡Micro SD卡等。近年來,為了適應(yīng)閃存存儲(chǔ)設(shè)備的高速、低延時(shí)、大容量的需求,固態(tài)技術(shù)協(xié)會(huì)JEDEC推出一種新的接口協(xié)議,即通用閃存標(biāo)準(zhǔn)UFS,現(xiàn)在最新標(biāo)準(zhǔn)為UFS 2.0,該標(biāo)準(zhǔn)下的讀寫速度最大可達(dá)每秒1400MB,性能遠(yuǎn)遠(yuǎn)大于EMMC,Micro SD卡接口。

不過對(duì)于高速大容量來說,對(duì)冷熱數(shù)據(jù)處理的好壞會(huì)直接影響到整個(gè)閃存的使用壽命和整體性能。我們將閃存上經(jīng)常更新的那部分?jǐn)?shù)據(jù)稱為熱數(shù)據(jù),寫入之后更新頻率很小的那部分?jǐn)?shù)據(jù)稱為冷數(shù)據(jù)。由于閃存的擦除次數(shù)有限,因此為了提高閃存存儲(chǔ)設(shè)備的使用壽命,我們盡量將冷數(shù)據(jù)寫入到擦除次數(shù)較大的物理塊中,將熱數(shù)據(jù)寫入到擦除次數(shù)較小的物理塊中,以避免某些物理塊的擦除次數(shù)過大,而其他物理塊的擦除次數(shù)過小。

現(xiàn)在通用的做法是將所有數(shù)據(jù)都寫入到閃存中,然后在空閑時(shí)候?qū)⒗鋽?shù)據(jù)都搬移到擦除次數(shù)比較大的物理塊中。但是,由于需要將冷數(shù)據(jù)搬移一次,因此會(huì)增加整個(gè)存儲(chǔ)設(shè)備的寫入放大,在一定程度上會(huì)影響到存儲(chǔ)設(shè)備的使用壽命。

為了解決上述問題,本發(fā)明提出一種數(shù)據(jù)存儲(chǔ)方法及數(shù)據(jù)存儲(chǔ)裝置,用于閃存存儲(chǔ)設(shè)備中冷熱數(shù)據(jù)的區(qū)分管理。具體的,在對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)之前,便對(duì)數(shù)據(jù)的類型進(jìn)行判斷,即判斷待寫數(shù)據(jù)是否為冷數(shù)據(jù)。一般來說,若待寫入的數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度較大,比如大于一條命令的最大數(shù)據(jù)長(zhǎng)度,一般為64K Byte,其有很大概率為冷數(shù)據(jù),即更新頻率很低,比如,用戶需要存儲(chǔ)的文檔、視頻、圖片等。若待寫入的數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度很小,比如小于系統(tǒng)的分配單元大小,一般為4K Byte,那么其有很大概率為與文件系統(tǒng)相關(guān)的數(shù)據(jù),這部分?jǐn)?shù)據(jù)由于將大量重復(fù)的寫入,因此為熱數(shù)據(jù)。因此,可以根據(jù)待寫入的數(shù)據(jù)的長(zhǎng)度來判斷數(shù)據(jù)類型。若判定待寫入的數(shù)據(jù)為冷數(shù)據(jù),則將數(shù)據(jù)寫入到擦除次數(shù)較大的物理塊中,這樣可以減少空閑時(shí)冷數(shù)據(jù)搬移的次數(shù),有利于延長(zhǎng)存儲(chǔ)設(shè)備的使用壽命。

為了便于本領(lǐng)域技術(shù)人員的理解,本發(fā)明通過以下實(shí)施例對(duì)本發(fā)明提供的技術(shù)方案的具體實(shí)現(xiàn)過程進(jìn)行說明。

請(qǐng)參閱圖1,本發(fā)明實(shí)施例中數(shù)據(jù)存儲(chǔ)方法一個(gè)實(shí)施例包括:

101、接收主機(jī)系統(tǒng)的第二寫命令;

在本實(shí)施例中,主機(jī)系統(tǒng)可以為可存儲(chǔ)數(shù)據(jù)的任意系統(tǒng),例如電腦系統(tǒng)、數(shù)據(jù)相機(jī)、攝影機(jī)、通信裝置、音訊播放器、視訊播放器等系統(tǒng)。接收主機(jī)系統(tǒng)的操作命令可以為讀寫操作命令,當(dāng)操作命令為第二寫命令時(shí),第二寫命令可以攜帶有第二待寫數(shù)據(jù)以及第二待寫數(shù)據(jù)的第二邏輯地址信息。

102、判斷第二寫命令與第一寫命令是否連續(xù),若是,執(zhí)行步驟103,若否,執(zhí)行步驟104;

在接收主機(jī)系統(tǒng)的第二寫命令之后,可以根據(jù)第二寫命令中攜帶的第二待寫數(shù)據(jù)的第二邏輯地址信息,判斷第二寫命令與第一寫命令是否連續(xù)。其中,第一寫命令為上一次寫命令,也就是第二寫命令之前接收的最近一條寫命令。第一寫命令攜帶有第一待寫數(shù)據(jù)以及第一待寫數(shù)據(jù)的第一邏輯地址信息,判斷第二寫命令與第一寫命令是否連續(xù),可以通過判斷第二邏輯地址信息與第一邏輯地址信息是否連續(xù)來實(shí)現(xiàn)。比如,若第二邏輯地址信息中的起始位置與第一邏輯地址信息中的終止位置相連續(xù),則判定第二寫命令與第一寫命令連續(xù),否則,則判定第二寫命令與第一寫命令不連續(xù)。

103、確定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù);

若第二寫命令與第一寫命令連續(xù),那么待存儲(chǔ)的文件的數(shù)據(jù)長(zhǎng)度通常大于一條命令的最大數(shù)據(jù)長(zhǎng)度(一般為64K Byte),由于數(shù)據(jù)長(zhǎng)度大于一條命令的最大數(shù)據(jù)長(zhǎng)度的文件,在存儲(chǔ)之后的使用頻率通常較低,其通常為冷數(shù)據(jù)。因此,若根據(jù)第二邏輯地址信息判定第二寫命令與第一寫命令連續(xù),則確定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù)。

104、執(zhí)行其他步驟;

若根據(jù)第二邏輯地址信息判定第二寫命令與第一寫命令不連續(xù),則第二待寫數(shù)據(jù)不為第一冷數(shù)據(jù),此時(shí)可以執(zhí)行其他步驟,此處不做具體限定。

105、將第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn)。

在確定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù)之后,可以將第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn),第一冷數(shù)據(jù)寫入點(diǎn)可以使用第一物理塊,第一物理塊的第一擦除次數(shù)大于閾值。第一物理塊的第一擦除次數(shù)大于閾值,用以表明第一物理塊的第一擦除次數(shù)較大,具體使用時(shí),閾值可以為各物理塊的平均擦除次數(shù),此處不做具體限定。

本發(fā)明實(shí)施例在接收第二寫命令之后,首先判斷第二寫命令攜帶的第二待寫數(shù)據(jù)是否為冷數(shù)據(jù),若是,則將第二待寫數(shù)據(jù)寫入擦除次數(shù)較大的第一物理塊,可以減輕冷數(shù)據(jù)搬移所增加的寫入放大,減少物理塊的擦寫,延長(zhǎng)閃存存儲(chǔ)設(shè)備的使用壽命,并且本發(fā)明提供的冷熱數(shù)據(jù)識(shí)別方法步驟非常簡(jiǎn)單,只占用非常小的內(nèi)存系統(tǒng)資源,有利于實(shí)際的運(yùn)用。

請(qǐng)參閱圖2,本發(fā)明實(shí)施例中數(shù)據(jù)存儲(chǔ)方法另一個(gè)實(shí)施例包括:

201、接收主機(jī)系統(tǒng)的第二寫命令;

202、判斷第二寫命令與第一寫命令是否連續(xù),若是,執(zhí)行步驟203,若否,執(zhí)行步驟205;

203、確定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù);

步驟201至步驟203與圖1對(duì)應(yīng)的實(shí)施例中的步驟101至步驟103相同,此處不再贅述。

204、將第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn);

在確定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù)之后,可以將第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn),第一冷數(shù)據(jù)寫入點(diǎn)可以使用第一物理塊,第一物理塊的第一擦除次數(shù)大于閾值。在實(shí)際使用中,第一物理塊可以為擦除次數(shù)記錄表中擦除次數(shù)較大的物理塊,比如擦除次數(shù)大于擦除次數(shù)均值,或者第一物理塊也可以為擦除次數(shù)最大的物理塊。此處不做具體限定。

205、判斷第二待寫數(shù)據(jù)的長(zhǎng)度是否小于預(yù)置長(zhǎng)度,若否,則執(zhí)行步驟206,若是,則執(zhí)行步驟207;

若根據(jù)第二邏輯地址信息判定第二寫命令與第一寫命令不連續(xù),則判斷第二待寫數(shù)據(jù)的長(zhǎng)度是否小于預(yù)置長(zhǎng)度,若不小于預(yù)置長(zhǎng)度,則執(zhí)行步驟206,若小于預(yù)置長(zhǎng)度,則執(zhí)行步驟207。在實(shí)際使用中,預(yù)置長(zhǎng)度可以為系統(tǒng)的分配單元大小,一般為4K Byte。

206、執(zhí)行其他步驟;

若判定第二待寫數(shù)據(jù)的長(zhǎng)度不小于預(yù)置長(zhǎng)度,則不執(zhí)行步驟207,執(zhí)行其他步驟,比如對(duì)第二待寫數(shù)據(jù)隨機(jī)分配物理地址進(jìn)行存儲(chǔ)。

207、確定第二待寫數(shù)據(jù)為熱數(shù)據(jù);

若待寫入的數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度很小,比如小于系統(tǒng)的分配單元大小,一般為4K Byte,那么其有很大概率為與文件系統(tǒng)相關(guān)的數(shù)據(jù),這部分?jǐn)?shù)據(jù)由于將大量重復(fù)的寫入,因此為熱數(shù)據(jù)。因此,若判定第二待寫數(shù)據(jù)的長(zhǎng)度小于預(yù)置長(zhǎng)度,在本實(shí)施例中,可以為4K Byte,則可以確定第二待寫數(shù)據(jù)為熱數(shù)據(jù)。

208、將第二待寫數(shù)據(jù)存入熱數(shù)據(jù)寫入點(diǎn)。

在確定第二待寫數(shù)據(jù)為熱數(shù)據(jù)之后,可以將第二待寫數(shù)據(jù)存入熱數(shù)據(jù)寫入點(diǎn),熱數(shù)據(jù)寫入點(diǎn)使用第二物理塊,第二物理塊的第二擦除次數(shù)小于閾值。在實(shí)際使用中,第二物理塊可以為擦除次數(shù)記錄表中擦除次數(shù)較小的物理塊,比如擦除次數(shù)小于擦除次數(shù)均值,或者第二物理塊也可以為擦除次數(shù)最小的物理塊。此處不做具體限定。

本發(fā)明實(shí)施例除了在判定第二待寫數(shù)據(jù)為冷數(shù)據(jù)之后,可以將第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn)以外,還能夠在第二待寫數(shù)據(jù)不是冷數(shù)據(jù)時(shí),進(jìn)一步判斷第二待寫數(shù)據(jù)是否為熱數(shù)據(jù),若為熱數(shù)據(jù),則將第二待寫數(shù)據(jù)存入熱數(shù)據(jù)寫入點(diǎn),以盡量避免熱數(shù)據(jù)存入擦除次數(shù)較大的物理塊,有利于延長(zhǎng)閃存存儲(chǔ)設(shè)備的使用壽命。

請(qǐng)參閱圖3,本發(fā)明實(shí)施例中數(shù)據(jù)存儲(chǔ)方法另一個(gè)實(shí)施例包括:

301、接收主機(jī)系統(tǒng)的第二寫命令;

302、根據(jù)第二邏輯地址信息判斷第二寫命令與第一寫命令是否連續(xù),若是,執(zhí)行步驟203,若否,執(zhí)行步驟205;

303、確定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù);

304、將第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn)。

步驟301至步驟304與圖2對(duì)應(yīng)的實(shí)施例中的步驟201至步驟204相同,此處不再贅述。

305、判斷第二待寫數(shù)據(jù)的長(zhǎng)度是否小于預(yù)置長(zhǎng)度,若否,則執(zhí)行步驟306,若是,則執(zhí)行步驟307;

若根據(jù)第二邏輯地址信息判定第二寫命令與第一寫命令不連續(xù),則判斷第二待寫數(shù)據(jù)的長(zhǎng)度是否小于預(yù)置長(zhǎng)度,若不小于預(yù)置長(zhǎng)度,則執(zhí)行步驟306,若小于預(yù)置長(zhǎng)度,則執(zhí)行步驟307。在實(shí)際使用中,預(yù)置長(zhǎng)度可以為系統(tǒng)的分配單元大小,一般為4K Byte。

306、確定第二待寫數(shù)據(jù)為第二冷數(shù)據(jù);

若判定第二待寫數(shù)據(jù)的長(zhǎng)度不小于預(yù)置長(zhǎng)度,則確定第二待寫數(shù)據(jù)為第二冷數(shù)據(jù)。

307、確定第二待寫數(shù)據(jù)為熱數(shù)據(jù);

若待寫入的數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度很小,比如小于系統(tǒng)的分配單元大小,一般為4K Byte,那么其有很大概率為與文件系統(tǒng)相關(guān)的數(shù)據(jù),這部分?jǐn)?shù)據(jù)由于將大量重復(fù)的寫入,因此為熱數(shù)據(jù)。因此,若判定第二待寫數(shù)據(jù)的長(zhǎng)度小于預(yù)置長(zhǎng)度,在本實(shí)施例中,可以為4K Byte,則可以確定第二待寫數(shù)據(jù)為熱數(shù)據(jù)。

308、將第二待寫數(shù)據(jù)存入熱數(shù)據(jù)寫入點(diǎn)。

在確定第二待寫數(shù)據(jù)為熱數(shù)據(jù)之后,可以將第二待寫數(shù)據(jù)存入熱數(shù)據(jù)寫入點(diǎn),熱數(shù)據(jù)寫入點(diǎn)使用第二物理塊,第二物理塊的第二擦除次數(shù)小于閾值。在實(shí)際使用中,第二物理塊可以為擦除次數(shù)記錄表中擦除次數(shù)較小的物理塊,比如擦除次數(shù)小于擦除次數(shù)均值,或者第二物理塊也可以為擦除次數(shù)最小的物理塊。此處不做具體限定。

309、將第二待寫數(shù)據(jù)存入第二冷數(shù)據(jù)寫入點(diǎn)。

在確定第二待寫數(shù)據(jù)為第二冷數(shù)據(jù)之后,可以將第二待寫數(shù)據(jù)存入第二冷數(shù)據(jù)寫入點(diǎn),第二冷數(shù)據(jù)寫入點(diǎn)使用第三物理塊。由于第二冷數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度介于熱數(shù)據(jù)與第一冷數(shù)據(jù)之間,因此,若第二待寫數(shù)據(jù)為第二冷數(shù)據(jù),其為與文件系統(tǒng)相關(guān)的數(shù)據(jù)的可能性較小,因此更新頻率一般較低,可將其存儲(chǔ)于第三物理塊,第三物理塊的第三擦除次數(shù)也需要大于閾值,或者,第三物理塊的第三擦除次數(shù)小于第一擦除次數(shù),且大于閾值。

本發(fā)明實(shí)施例與圖2對(duì)應(yīng)的實(shí)施例相比,對(duì)第二待寫數(shù)據(jù)類型進(jìn)行了更加精細(xì)的劃分,可以防止第二冷數(shù)據(jù)存入擦除次數(shù)最大或擦除次數(shù)最小的物理塊,減少閃存塊的擦寫,延長(zhǎng)閃存存儲(chǔ)設(shè)備的使用壽命。

上面對(duì)本發(fā)明實(shí)施例中的終端控制方法進(jìn)行了描述,下面對(duì)本發(fā)明實(shí)施例中的終端設(shè)備進(jìn)行描述。

請(qǐng)參閱圖4,本發(fā)明實(shí)施例中數(shù)據(jù)存儲(chǔ)裝置的一個(gè)實(shí)施例包括:

接收模塊401,用于接收主機(jī)系統(tǒng)的第二寫命令,第二寫命令攜帶有第二待寫數(shù)據(jù)以及第二待寫數(shù)據(jù)的第二邏輯地址信息;

第一判斷模塊402,用于根據(jù)第二邏輯地址信息判斷第二寫命令與第一寫命令是否連續(xù),第一寫命令為第二寫命令之前的最近一條寫命令;

第一確定模塊403,用于當(dāng)?shù)谝慌袛嗄K402判定第二寫命令與第一寫命令連續(xù)時(shí),確定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù);

第一存儲(chǔ)模塊404,用于在第一確定模塊403判定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù)之后,將第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn),第一冷數(shù)據(jù)寫入點(diǎn)使用第一物理塊,第一物理塊的第一擦除次數(shù)大于閾值。

本實(shí)施例中的數(shù)據(jù)存儲(chǔ)裝置各模塊間的關(guān)系參照?qǐng)D1對(duì)應(yīng)的實(shí)施例,此處不再贅述。

請(qǐng)參閱圖5,本發(fā)明實(shí)施例中數(shù)據(jù)存儲(chǔ)裝置的一個(gè)實(shí)施例包括:

接收模塊501,用于接收主機(jī)系統(tǒng)的第二寫命令,第二寫命令攜帶有第二待寫數(shù)據(jù)以及第二待寫數(shù)據(jù)的第二邏輯地址信息;

第一判斷模塊502,用于根據(jù)第二邏輯地址信息判斷第二寫命令與第一寫命令是否連續(xù),第一寫命令為第二寫命令之前的最近一條寫命令;

第一確定模塊503,用于當(dāng)?shù)谝慌袛嗄K502判定第二寫命令與第一寫命令連續(xù)時(shí),確定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù);

第一存儲(chǔ)模塊504,用于在第一確定模塊503判定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù)之后,將第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn),第一冷數(shù)據(jù)寫入點(diǎn)使用第一物理塊,第一物理塊的第一擦除次數(shù)大于閾值。

第二判斷模塊505,用于判斷第二待寫數(shù)據(jù)的長(zhǎng)度是否小于預(yù)置長(zhǎng)度;

第二確定模塊506,用于當(dāng)?shù)诙袛嗄K505判定第二待寫數(shù)據(jù)的長(zhǎng)度小于預(yù)置長(zhǎng)度時(shí),確定第二待寫數(shù)據(jù)為熱數(shù)據(jù);

第二存儲(chǔ)模塊507,用于在第二確定模塊506確定第二待寫數(shù)據(jù)為熱數(shù)據(jù)之后,將第二待寫數(shù)據(jù)存入熱數(shù)據(jù)寫入點(diǎn),熱數(shù)據(jù)寫入點(diǎn)使用第二物理塊,第二物理塊的第二擦除次數(shù)小于閾值。

本實(shí)施例中的數(shù)據(jù)存儲(chǔ)裝置各模塊間的關(guān)系參照?qǐng)D2對(duì)應(yīng)的實(shí)施例,此處不再贅述。

請(qǐng)參閱圖6,本發(fā)明實(shí)施例中數(shù)據(jù)存儲(chǔ)裝置的一個(gè)實(shí)施例包括:

接收模塊601,用于接收主機(jī)系統(tǒng)的第二寫命令,第二寫命令攜帶有第二待寫數(shù)據(jù)以及第二待寫數(shù)據(jù)的第二邏輯地址信息;

第一判斷模塊602,用于根據(jù)第二邏輯地址信息判斷第二寫命令與第一寫命令是否連續(xù),第一寫命令為第二寫命令之前的最近一條寫命令;

第一確定模塊603,用于當(dāng)?shù)谝慌袛嗄K602判定第二寫命令與第一寫命令連續(xù)時(shí),確定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù);

第一存儲(chǔ)模塊604,用于在第一確定模塊603判定第二待寫數(shù)據(jù)為第一冷數(shù)據(jù)之后,將第二待寫數(shù)據(jù)存入第一冷數(shù)據(jù)寫入點(diǎn),第一冷數(shù)據(jù)寫入點(diǎn)使用第一物理塊,第一物理塊的第一擦除次數(shù)大于閾值。

第二判斷模塊605,用于判斷第二待寫數(shù)據(jù)的長(zhǎng)度是否小于預(yù)置長(zhǎng)度;

第二確定模塊606,用于當(dāng)?shù)诙袛嗄K605判定第二待寫數(shù)據(jù)的長(zhǎng)度小于預(yù)置長(zhǎng)度時(shí),確定第二待寫數(shù)據(jù)為熱數(shù)據(jù);

第二存儲(chǔ)模塊607,用于在第二確定模塊606確定第二待寫數(shù)據(jù)為熱數(shù)據(jù)之后,將第二待寫數(shù)據(jù)存入熱數(shù)據(jù)寫入點(diǎn),熱數(shù)據(jù)寫入點(diǎn)使用第二物理塊,第二物理塊的第二擦除次數(shù)小于閾值。

第三確定模塊608,用于當(dāng)?shù)诙袛嗄K605判定第二待寫數(shù)據(jù)的長(zhǎng)度大于預(yù)置長(zhǎng)度時(shí),確定第二待寫數(shù)據(jù)為第二冷數(shù)據(jù);

第三存儲(chǔ)模塊609,用于當(dāng)?shù)谌_定模塊608確定第二待寫數(shù)據(jù)為第二冷數(shù)據(jù)時(shí),將第二待寫數(shù)據(jù)存入第二冷數(shù)據(jù)寫入點(diǎn),第二冷數(shù)據(jù)寫入點(diǎn)使用第三物理塊,第三物理塊的第三擦除次數(shù)小于第一擦除次數(shù),且大于閾值。

本實(shí)施例中的數(shù)據(jù)存儲(chǔ)裝置各模塊間的關(guān)系參照?qǐng)D3對(duì)應(yīng)的實(shí)施例,此處不再贅述。

本發(fā)明可以應(yīng)用在基于閃存的固態(tài)存儲(chǔ)系統(tǒng)或設(shè)備中,應(yīng)用于計(jì)算機(jī)存儲(chǔ)、服務(wù)器存儲(chǔ)、移動(dòng)設(shè)備存儲(chǔ)、多媒體存儲(chǔ)等領(lǐng)域。

在本申請(qǐng)所提供目標(biāo)區(qū)域可以為默認(rèn)的區(qū)域,也可以為用戶預(yù)設(shè)的區(qū)域。并且,所述的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1