一種數(shù)據(jù)處理方法及電子設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電子信息技術(shù)領(lǐng)域中的存儲(chǔ)技術(shù),具體涉及一種數(shù)據(jù)處理方法及電子 設(shè)備。
【背景技術(shù)】
[0002] 目前,固態(tài)硬盤(pán)(SSD)在使用過(guò)程中不可避免的出現(xiàn)壞塊,壞塊分為:出廠壞塊和 使用過(guò)程中出現(xiàn)的壞塊。SSD通過(guò)壞塊表對(duì)壞塊進(jìn)行管理,所述出廠壞塊通過(guò)壞塊表中的標(biāo) 記很容易進(jìn)行識(shí)別;而使用過(guò)程中出現(xiàn)的壞塊則需要依靠閃存轉(zhuǎn)換層(FTL)中的壞塊管理 機(jī)制進(jìn)行管理。例如:
[0003] 當(dāng)SSD在初始化或進(jìn)行讀、寫(xiě)、擦的使用過(guò)程中,操作某一物理塊(存儲(chǔ)單元)失 敗時(shí),直接對(duì)該塊進(jìn)行標(biāo)記操作,然后繼續(xù)尋找下一個(gè)可操作的有效塊并執(zhí)行有效頁(yè)的相 關(guān)復(fù)制操作。這樣的壞塊管理方法只能在SSD塊的讀、寫(xiě)、擦操作失敗時(shí)進(jìn)行處理,阻塞了 正常的數(shù)據(jù)處理流程。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本發(fā)明實(shí)施例的主要目的在于提供一種數(shù)據(jù)處理方法及電子設(shè)備,以 至少解決現(xiàn)有技術(shù)存在的上述問(wèn)題。
[0005] 本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理方法,應(yīng)用于電子設(shè)備,所述電子設(shè)備至少包 括存儲(chǔ)器,所述存儲(chǔ)器中包括至少一個(gè)存儲(chǔ)單元;所述方法包括:
[0006] 獲取到預(yù)設(shè)時(shí)間段內(nèi)針對(duì)所述存儲(chǔ)器中每個(gè)存儲(chǔ)單元的操作信息;
[0007] 基于所述操作信息,獲取到所述存儲(chǔ)器中每個(gè)存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值;
[0008] 基于所述存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值以及至少一個(gè)預(yù)設(shè)的門(mén)限值,標(biāo)記所述存儲(chǔ) 器中的每個(gè)存儲(chǔ)單元;
[0009] 所述標(biāo)記,用于標(biāo)識(shí)所述存儲(chǔ)單元的屬性信息。
[0010] 一個(gè)實(shí)施例中,該方法還包括:
[0011] 獲取待處理數(shù)據(jù)的特征;
[0012] 基于所述標(biāo)記以及待處理數(shù)據(jù)的特征,控制針對(duì)所述每個(gè)存儲(chǔ)單元的數(shù)據(jù)寫(xiě)入操 作。
[0013] 其中,所述基于所述標(biāo)記以及待處理數(shù)據(jù)的特征,控制針對(duì)所述每個(gè)存儲(chǔ)單元的 數(shù)據(jù)寫(xiě)入操作,包括:
[0014] 確定與所述待處理數(shù)據(jù)的特征對(duì)應(yīng)的標(biāo)記;
[0015] 基于所述已確定的標(biāo)記,選擇與所述標(biāo)記對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行數(shù)據(jù)寫(xiě)入操作。
[0016] 其中,所述獲取待處理數(shù)據(jù)的特征,包括:
[0017] 對(duì)所述待處理數(shù)據(jù)進(jìn)行分析,確定所述待處理數(shù)據(jù)的特征;
[0018] 所述待處理數(shù)據(jù)的特征至少包括:處理類(lèi)型特征和處理頻率特征。
[0019] 其中,所述基于所述已確定的標(biāo)記,選擇與所述標(biāo)記對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行數(shù)據(jù)寫(xiě) 入操作,包括:
[0020] 選取與所述已確定標(biāo)記對(duì)應(yīng)的存儲(chǔ)單元、或高于所述已確定標(biāo)記對(duì)應(yīng)的存儲(chǔ)單元 進(jìn)行所述數(shù)據(jù)寫(xiě)入操作。
[0021 ] 本發(fā)明實(shí)施例還提供了一種電子設(shè)備,所述電子設(shè)備所述電子設(shè)備至少包括存儲(chǔ) 器,所述存儲(chǔ)器中包括至少一個(gè)存儲(chǔ)單元,所述電子設(shè)備包括:
[0022] 第一獲取模塊,用于獲取到預(yù)設(shè)時(shí)間段內(nèi)針對(duì)所述存儲(chǔ)器中每個(gè)存儲(chǔ)單元的操作 信息;基于所述操作信息,獲取到所述存儲(chǔ)器中每個(gè)存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值;
[0023] 標(biāo)記模塊,用于基于所述存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值以及至少一個(gè)預(yù)設(shè)的門(mén)限 值,標(biāo)記所述存儲(chǔ)器中的每個(gè)存儲(chǔ)單元;
[0024] 所述標(biāo)記,用于標(biāo)識(shí)所述存儲(chǔ)單元的屬性信息。
[0025] -個(gè)實(shí)施例中,所述電子設(shè)備還包括:
[0026] 第二獲取模塊,用于獲取待處理數(shù)據(jù)的特征;
[0027] 寫(xiě)入處理模塊,用于基于所述標(biāo)記以及待處理數(shù)據(jù)的特征,控制針對(duì)所述每個(gè)存 儲(chǔ)單元的數(shù)據(jù)寫(xiě)入操作。
[0028] 上述方案中,所述寫(xiě)入處理模塊,用于確定與所述待處理數(shù)據(jù)的特征對(duì)應(yīng)的標(biāo)記; 基于所述已確定的標(biāo)記,選擇與所述標(biāo)記對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行數(shù)據(jù)寫(xiě)入操作。
[0029] 上述方案中,所述第二獲取模塊,用于對(duì)所述待處理數(shù)據(jù)進(jìn)行分析,確定所述待處 理數(shù)據(jù)的特征;
[0030] 所述待處理數(shù)據(jù)的特征至少包括:處理類(lèi)型特征和處理頻率特征。
[0031] 上述方案中,所述寫(xiě)入處理模塊,用于選取與所述已確定標(biāo)記對(duì)應(yīng)的存儲(chǔ)單元、或 高于所述已確定標(biāo)記對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行所述數(shù)據(jù)寫(xiě)入操作。
[0032] 本發(fā)明實(shí)施例還提供了一種電子設(shè)備,所述電子設(shè)備包括:
[0033] 包括至少一個(gè)存儲(chǔ)單元的存儲(chǔ)器,用于存儲(chǔ)每個(gè)存儲(chǔ)單元的操作信息;
[0034] 控制器,用于獲取到預(yù)設(shè)時(shí)間段內(nèi)所述存儲(chǔ)器中存儲(chǔ)的每個(gè)存儲(chǔ)單元的操作信 息,并基于所述操作信息,獲取到所述存儲(chǔ)器中每個(gè)存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值;基于所述 存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值以及至少一個(gè)預(yù)設(shè)的門(mén)限值,標(biāo)記所述存儲(chǔ)器中的每個(gè)存儲(chǔ)單 元;其中,
[0035] 所述標(biāo)記,用于標(biāo)識(shí)所述每個(gè)存儲(chǔ)單元的屬性信息。
[0036] -個(gè)實(shí)施例中,所述控制器,還用于獲取待處理數(shù)據(jù)的特征,并基于所述標(biāo)記以及 待處理數(shù)據(jù)的特征,控制針對(duì)所述每個(gè)存儲(chǔ)單元的數(shù)據(jù)寫(xiě)入操作。
[0037] 本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法及電子設(shè)備,所述電子設(shè)備獲取到預(yù)設(shè)時(shí)間段 內(nèi)針對(duì)所述存儲(chǔ)器中每個(gè)存儲(chǔ)單元的操作信息,并基于所述操作信息,獲取到所述存儲(chǔ)器 中每個(gè)存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值;基于所述存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值以及至少一個(gè)預(yù) 設(shè)的門(mén)限值,標(biāo)記所述存儲(chǔ)器中的每個(gè)存儲(chǔ)單元;所述標(biāo)記,用于標(biāo)識(shí)所述存儲(chǔ)單元的屬性 信息??梢?jiàn),本發(fā)明實(shí)施例可對(duì)存儲(chǔ)器中的每個(gè)存儲(chǔ)單元進(jìn)行標(biāo)記,這樣,在數(shù)據(jù)處理過(guò)程 中可依據(jù)與存儲(chǔ)單元對(duì)應(yīng)的標(biāo)記有針對(duì)性地進(jìn)行相應(yīng)存儲(chǔ)單元的數(shù)據(jù)處理操作,避免在現(xiàn) 有數(shù)據(jù)處理過(guò)程中因遇到壞塊而導(dǎo)致的阻塞正常數(shù)據(jù)處理流程的問(wèn)題,因此,本發(fā)明實(shí)施 例可相應(yīng)提高數(shù)據(jù)處理效率。
【附圖說(shuō)明】
[0038] 圖1為本發(fā)明實(shí)施例所述數(shù)據(jù)處理方法流程示意圖一;
[0039] 圖2為本發(fā)明實(shí)施例所述數(shù)據(jù)處理方法流程示意圖二;
[0040] 圖3為本發(fā)明實(shí)施例所述數(shù)據(jù)處理方法流程示意圖三;
[0041] 圖4為本發(fā)明實(shí)施例所述電子設(shè)備的結(jié)構(gòu)不意圖一;
[0042] 圖5為本發(fā)明實(shí)施例所述電子設(shè)備的結(jié)構(gòu)示意圖二;
[0043] 圖6為本發(fā)明實(shí)施例所述電子設(shè)備的結(jié)構(gòu)不意圖三。
【具體實(shí)施方式】
[0044] 下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說(shuō)明。
[0045] 實(shí)施例一
[0046] 本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理方法,應(yīng)用于第一電子設(shè)備,所述電子設(shè)備至 少包括存儲(chǔ)器,所述存儲(chǔ)器中包括至少一個(gè)存儲(chǔ)單元;如圖1所示,包括:
[0047] 步驟101 :獲取到預(yù)設(shè)時(shí)間段內(nèi)針對(duì)所述存儲(chǔ)器中每個(gè)存儲(chǔ)單元的操作信息;
[0048] 步驟102 :基于所述操作信息,獲取到所述存儲(chǔ)器中每個(gè)存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參 考值;
[0049] 步驟103 :基于所述存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值以及至少一個(gè)預(yù)設(shè)的門(mén)限值,標(biāo) 記所述存儲(chǔ)器中的每個(gè)存儲(chǔ)單元;所述標(biāo)記,用于標(biāo)識(shí)所述存儲(chǔ)單元的屬性信息。
[0050] 本發(fā)明實(shí)施例中,所述存儲(chǔ)器可以為固態(tài)硬盤(pán)和機(jī)械硬盤(pán),其中固態(tài)硬盤(pán)采用的 存儲(chǔ)顆??梢詾閱螌訂卧⊿LC,SingleLayerCell單層單元)、(MLC,Multi-LevelCell 多層單元)或3BIT單元(TLC,Trinary-LevelCell);機(jī)械硬盤(pán)可以采用單磁碟、雙磁碟或 多磁碟的存儲(chǔ)結(jié)構(gòu)。
[0051] 其中,所述每個(gè)存儲(chǔ)單元的操作信息可包括以下信息至少之一:存儲(chǔ)單元的錯(cuò)誤 檢查和糾正(ECC,ErrorCorrectingCode)信息;存儲(chǔ)單元支持的擦除次數(shù);存儲(chǔ)單元的 讀取和擦除糾錯(cuò)的歷史信息。
[0052] 存儲(chǔ)單元可以是存儲(chǔ)介質(zhì)的物理劃分,也可是存儲(chǔ)介質(zhì)的邏輯劃分;存儲(chǔ)單元可 以采用存儲(chǔ)設(shè)備中的最小存儲(chǔ)單元,以SSD為例,存儲(chǔ)單元可以采用page(4KB),當(dāng)然也可 以采用page容量的整數(shù)倍;以機(jī)械硬盤(pán)為例,存儲(chǔ)單元可以為一個(gè)扇區(qū)(sector)的容量, 一般為4KB,當(dāng)然也可以采用扇區(qū)容量的整數(shù)倍。
[0053] 這里,由于針對(duì)每個(gè)存儲(chǔ)單元的操作信息是變化的,因此,需要獲取一段時(shí)間內(nèi)的 操作信息,例如:可設(shè)置每隔1分鐘獲取一次針對(duì)每個(gè)存儲(chǔ)單元的操作信息。
[0054] 本發(fā)明實(shí)施例中,所述存儲(chǔ)器中每個(gè)存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值,可基于所述獲 取的操作信息進(jìn)行計(jì)算得到,例如:可以設(shè)置損失函數(shù),所述損失函數(shù)的參數(shù)為上述獲取的 操作信息,作為一個(gè)應(yīng)用場(chǎng)景,所述損失函數(shù)為cost,可表示如下:
[0056] 其中,所述t為預(yù)設(shè)時(shí)間段的值,所述GlobalWrite表示當(dāng)前讀寫(xiě)操作的存儲(chǔ)器 (bank)中的所有物理塊被寫(xiě)入的次數(shù);所述BlockWrite表示當(dāng)前物理塊被寫(xiě)入的次數(shù);所 述GlobalValidPage表示當(dāng)前讀寫(xiě)操作的存儲(chǔ)器中總的有效頁(yè)數(shù);所述BlockValidPage表 示當(dāng)前物理塊的有效頁(yè)數(shù);所述Blockerase表示當(dāng)前物理塊被擦除的次數(shù)。
[0057] 本發(fā)明實(shí)施例中,所述基于所述存儲(chǔ)單元當(dāng)前對(duì)應(yīng)的參考值以及至少一個(gè)預(yù)設(shè)的 門(mén)限值,標(biāo)記所述存儲(chǔ)器中的每個(gè)存儲(chǔ)單元,包括:
[0058] 確定所述參考值小于第一預(yù)設(shè)門(mén)限值時(shí),將所述存儲(chǔ)單元標(biāo)記為第一屬性,用于 表征所述存儲(chǔ)單元支持第一預(yù)設(shè)次數(shù)(正常使用頻率)的數(shù)據(jù)讀取、擦除或?qū)懭氩僮鳎?br>[0059] 確定所述參考值大于第一預(yù)設(shè)門(mén)限值且小于等于第二預(yù)設(shè)門(mén)限值時(shí),將所述存儲(chǔ) 單元標(biāo)記為第二屬性,用于表征所述存儲(chǔ)單元支持第二預(yù)設(shè)次數(shù)的數(shù)據(jù)擦除或?qū)懭氩僮鳎?所述第二預(yù)設(shè)次數(shù)小于所述第一預(yù)設(shè)次數(shù);
[0060] 確定所述參考值大于第二預(yù)設(shè)門(mén)限值且小于等于第三預(yù)設(shè)門(mén)限值時(shí),將所述存儲(chǔ) 單元標(biāo)記為第三屬性,用于表征所述存儲(chǔ)單元只支持?jǐn)?shù)據(jù)讀取操作;
[0061] 確定所述參考值大于第三預(yù)設(shè)門(mén)限值時(shí),將所述存儲(chǔ)單元標(biāo)記為第四屬性,用于 表征所述存儲(chǔ)單元已損壞。
[0062] 這里,所述第一預(yù)設(shè)門(mén)限值小于第二預(yù)設(shè)門(mén)限值,所述第二預(yù)設(shè)門(mén)限值小于所述 第三預(yù)設(shè)門(mén)限值。當(dāng)然,基于實(shí)際的應(yīng)用場(chǎng)景的不同,這里可設(shè)置更多個(gè)預(yù)設(shè)門(mén)限值,相應(yīng) 的,可以將所述存儲(chǔ)器中的存儲(chǔ)單元標(biāo)記為更多個(gè)屬性。
[0063] 作為一個(gè)應(yīng)用場(chǎng)景,基于上述損失函數(shù),所述第一、二、三預(yù)設(shè)門(mén)限值可分別設(shè)置 為T(mén)1,T2,T