两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種數(shù)據(jù)寫入方法和裝置與流程

文檔序號:12362572閱讀:263來源:國知局
一種數(shù)據(jù)寫入方法和裝置與流程

本發(fā)明屬于數(shù)據(jù)存儲領(lǐng)域,尤其涉及一種數(shù)據(jù)寫入方法和裝置。



背景技術(shù):

NAND閃存具有存儲容量大、體積小、能耗低、抗振動、溫度適應(yīng)范圍寬等優(yōu)點。相比于傳統(tǒng)的電磁存儲設(shè)備,NAND閃存具有塊擦除和不可以在原有比特位上直接更新的硬件特性。因此,將NAND閃存應(yīng)用于現(xiàn)有計算機存儲系統(tǒng)時,NAND閃存必須采用特定的閃存管理機制。

現(xiàn)有的NAND閃存管理機制采用的數(shù)據(jù)寫入方法為:存儲系統(tǒng)按照內(nèi)置物理塊的地址將數(shù)據(jù)依次寫入物理塊,當(dāng)寫入到最后一個物理塊時,系統(tǒng)按照物理塊地址進行掃描,尋找空白物理塊,并將數(shù)據(jù)寫入到空白物理塊中。采用現(xiàn)有的數(shù)據(jù)寫入方法會發(fā)生大量無法糾正的錯誤位,同時會導(dǎo)致數(shù)據(jù)丟失,存儲系統(tǒng)的可靠性較低。



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

本發(fā)明提供一種數(shù)據(jù)寫入方法和裝置,旨在解決數(shù)據(jù)寫入時發(fā)生的錯誤位而導(dǎo)致數(shù)據(jù)丟失,存儲系統(tǒng)的可靠性低的問題。

為解決上述技術(shù)問題,本發(fā)明是這樣實現(xiàn)的一種數(shù)據(jù)寫入方法,所述方法包括:

數(shù)據(jù)存儲系統(tǒng)根據(jù)獲取的數(shù)據(jù)查找邏輯塊,并確定所述邏輯塊的更新次數(shù);根據(jù)所述邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取所述數(shù)據(jù)寫入的物理塊;將所述數(shù)據(jù)寫入所述物理塊,并更新所述邏輯塊的更新次數(shù)。

一種數(shù)據(jù)寫入裝置,所述裝置包括:

確定模塊用于根據(jù)獲取的數(shù)據(jù)查找邏輯塊,并確定所述邏輯塊的更新次數(shù);選取模塊用于根據(jù)所述邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取所述數(shù)據(jù)寫入的物理塊;寫入模塊用于將所述數(shù)據(jù)寫入所述物理塊,并更新所述邏輯塊的更新次數(shù)。

本發(fā)明與現(xiàn)有技術(shù)相比,有益效果在于:本發(fā)明中,數(shù)據(jù)存儲系統(tǒng)根據(jù)獲取的數(shù)據(jù)查找邏輯塊,并獲取該邏輯塊的更新次數(shù);根據(jù)該邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取該數(shù)據(jù)寫入的物理塊;將該數(shù)據(jù)寫入選取的物理塊,并更新該邏輯塊的更新次數(shù)。本發(fā)明通過邏輯塊的更新次數(shù)判斷該數(shù)據(jù)的更新次數(shù),通常,數(shù)據(jù)的更新次數(shù)可以反應(yīng)數(shù)據(jù)的重要性,根據(jù)該數(shù)據(jù)的更新次數(shù)在多個物理塊中選取合適的物理塊寫入數(shù)據(jù),即根據(jù)數(shù)據(jù)的重要程度寫入合適的物理塊,減少了數(shù)據(jù)寫入發(fā)生的錯誤位,提高了存儲系統(tǒng)的可靠性。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例。

圖1是本發(fā)明第一實施例提供的一種數(shù)據(jù)寫入方法的實現(xiàn)流程示意圖;

圖2是本發(fā)明第二實施例提供的一種數(shù)據(jù)寫入方法的實現(xiàn)流程示意圖;

圖3是本發(fā)明第三實施例提供的一種數(shù)據(jù)寫入裝置的示意圖;

圖4是本發(fā)明第四實施例提供的一種數(shù)據(jù)寫入裝置的示意圖。

具體實施方式

為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例提供的數(shù)據(jù)寫入方法可以應(yīng)用于閃存盤、安全數(shù)字存儲卡、固態(tài)硬盤等存儲設(shè)備的核心存儲器件中。

請參閱圖1,圖1為本發(fā)明第一實施例提供的數(shù)據(jù)寫入方法的實現(xiàn)流程示意圖,可應(yīng)用于所有具有數(shù)據(jù)寫入功能的存儲器件中,圖1所示的數(shù)據(jù)寫入方法主要包括以下步驟:

S101、數(shù)據(jù)存儲系統(tǒng)根據(jù)獲取的數(shù)據(jù)查找邏輯塊,并確定該邏輯塊的更新次數(shù);

該數(shù)據(jù)存儲系統(tǒng)可以為:閃存盤、安全數(shù)字存儲卡、固態(tài)硬盤等存儲設(shè)備的核心存儲器件。

該數(shù)據(jù)存儲系統(tǒng)獲取該數(shù)據(jù)的方法不作限定,可以獲取終端的數(shù)據(jù),可以獲取網(wǎng)絡(luò)下載的數(shù)據(jù),還可以從其它存儲設(shè)備中獲取數(shù)據(jù)。

該邏輯塊與物理塊為映射關(guān)系,通過該邏輯塊與物理塊的映射關(guān)系,查找該物理塊,該邏輯塊對應(yīng)的物理塊寫入數(shù)據(jù)的次數(shù)與該邏輯塊的更新次數(shù)相關(guān)聯(lián)。

S102、根據(jù)該邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取該數(shù)據(jù)寫入的物理塊;

該邏輯塊的更新次數(shù)與該數(shù)據(jù)的更新的次數(shù)相關(guān)聯(lián),在實際應(yīng)用中,該數(shù)據(jù)的更新的次數(shù)反映該數(shù)據(jù)的重要程度,若數(shù)據(jù)更新次數(shù)少,則該數(shù)據(jù)重要,若數(shù)據(jù)更新頻繁,則該數(shù)據(jù)不重要。

S103、將該數(shù)據(jù)寫入該物理塊,并更新該邏輯塊的更新次數(shù)。

將該數(shù)據(jù)寫入選取的物理塊中,并更新該邏輯塊的更新次數(shù),以便當(dāng)再次發(fā)生數(shù)據(jù)寫入時,可根據(jù)更新后的邏輯塊的更新次數(shù)進行判斷。

本發(fā)明實施例,數(shù)據(jù)存儲系統(tǒng)根據(jù)獲取的數(shù)據(jù)查找邏輯塊,并獲取該邏輯塊的更新次數(shù);根據(jù)該邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取該數(shù)據(jù)寫入的物理塊;將該數(shù)據(jù)寫入選取的物理塊,并更新該邏輯塊的更新次數(shù)。本發(fā)明通過邏輯塊的更新次數(shù)可判斷該數(shù)據(jù)的更新次數(shù),通常,該數(shù)據(jù)的更新次數(shù)可以反應(yīng)該數(shù)據(jù)的重要性,根據(jù)該數(shù)據(jù)的更新次數(shù)在多個物理塊中選取合適的物理塊寫入數(shù)據(jù),即按照數(shù)據(jù)的重要程度寫入適合的物理塊,減少了數(shù)據(jù)寫入發(fā)生的錯誤位,提高了存儲系統(tǒng)的可靠性。

請參閱圖2,圖2為本發(fā)明第二實施例提供的數(shù)據(jù)寫入方法的實現(xiàn)流程示意圖,可應(yīng)用于所有具有數(shù)據(jù)寫入功能的存儲器件中,圖2所示的數(shù)據(jù)寫入方法主要包括以下步驟:

S201、數(shù)據(jù)存儲系統(tǒng)根據(jù)獲取的數(shù)據(jù)查找邏輯塊;

該數(shù)據(jù)存儲系統(tǒng)可以為:閃存盤、安全數(shù)字存儲卡、固態(tài)硬盤等存儲設(shè)備的核心存儲器件。

該數(shù)據(jù)存儲系統(tǒng)獲取數(shù)據(jù)的方法不作限定,可以獲取終端數(shù)據(jù),也可以獲取網(wǎng)絡(luò)上下載的數(shù)據(jù),還可以獲取其它存儲設(shè)備中的數(shù)據(jù)。

S202、根據(jù)該邏輯塊獲取映射表,并根據(jù)該映射表確定該邏輯塊的更新次數(shù);

該映射表包括該邏輯塊與該物理塊的映射關(guān)系,以及該邏輯塊的更新次數(shù)。通過該邏輯塊,在該映射表中查找該邏輯塊的更新次數(shù)。該邏輯塊與該物理塊為映射關(guān)系,該物理塊包括多個物理頁,將數(shù)據(jù)寫入到該物理塊,即將數(shù)據(jù)寫入到該物理塊包含的物理頁中。該邏輯塊的更新次數(shù)為物理塊中目標物理頁的數(shù)據(jù)寫入次數(shù),該目標物理頁為該物理塊中數(shù)據(jù)寫入次數(shù)最多的物理頁。

S203、將該數(shù)據(jù)存儲系統(tǒng)中的多個物理塊劃分為第一物理塊集合和第二物理塊集合;

該數(shù)據(jù)存儲系統(tǒng)中,物理塊性能各不相同,將數(shù)據(jù)寫入性能好的物理塊時,出現(xiàn)錯誤位的概率低,數(shù)據(jù)存儲可靠性高,而將數(shù)據(jù)寫入性能差的物理塊時,會出現(xiàn)大量錯誤位從而導(dǎo)致數(shù)據(jù)永久丟失,數(shù)據(jù)存儲可靠性低。一般情況下,可通過塊擦除次數(shù)來判斷該物理塊的性能,塊擦除次數(shù)越多,該物理塊的性能越差,塊擦除次數(shù)越少,該物理塊的性能越好。

根據(jù)該物理塊的塊擦除次數(shù)將多個該物理塊分為第一物理塊集合和第二物理塊集合,其中,設(shè)定該第一物理塊集合包括塊擦除次數(shù)小于預(yù)設(shè)值的多個物理塊,即為性能好的物理塊,該預(yù)設(shè)值為整數(shù),設(shè)定該第二物理塊集合包括塊擦除次數(shù)大于等于預(yù)設(shè)值的多個物理塊,即為性能差的物理塊。

該預(yù)設(shè)值的具體數(shù)字可根據(jù)該存儲系統(tǒng)的實際情況進行設(shè)置。

需要說明的是,步驟S203的順序不作限定,在步驟S204之前即可。

S204、根據(jù)該邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取該數(shù)據(jù)寫入的物理塊;

進一步的,根據(jù)該邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取該數(shù)據(jù)寫入的物理塊,具體步驟如下:

當(dāng)該邏輯塊的更新次數(shù)為0時,從該第一物理塊集合中選取空白的第一物理塊作為該數(shù)據(jù)寫入的物理塊;

該邏輯塊的更新次數(shù)為0時,從性能好的第一物理塊集合中選取空白的第一物理塊寫入數(shù)據(jù)。設(shè)定該邏輯塊的更新次數(shù)為0為第一條件。在實際應(yīng)用中,當(dāng)該邏輯塊的更新次數(shù)為0時,從該第一物理塊集合中選取空白的第一物理塊作為該數(shù)據(jù)寫入的物理塊的步驟之前還包括:在該映射表中查找該邏輯塊的更新次數(shù)。

當(dāng)邏輯塊的更新次數(shù)為1時,判斷在該第一條件下選取的第一物理塊的空間是否被寫滿;

該第一條件下選取的第一物理塊為該第一條件下,在空白的第一物理塊寫入數(shù)據(jù)后的物理塊。設(shè)定該邏輯塊的更新次數(shù)為1為第二條件。判斷在該第一條件下選取的第一物理塊的空間是否被寫滿即判斷在該第一條件下選取的第一物理塊的物理頁是否被寫滿。

若在該第一條件下選取的第一物理塊的空間沒有被寫滿,確定在該第一條件下選取的第一物理塊為該數(shù)據(jù)寫入的物理塊;

若在該第一條件下選取的第一物理塊的空間已被寫滿,從該第一物理塊集合中選取空白的第一物理塊作為該數(shù)據(jù)寫入的物理塊;

當(dāng)該邏輯塊的更新次數(shù)大于1且小于預(yù)置閾值時,判斷在該第二條件下選取的第一物理塊的空間是否被寫滿;

該第二條件下選取的物理塊包括:在第一條件下選取的第一物理塊寫入數(shù)據(jù)后的物理塊和第二條件下在空白的第一物理塊寫入數(shù)據(jù)后的物理塊。設(shè)定該邏輯塊的更新次數(shù)大于1且小于該預(yù)置閾值為第三條件。該預(yù)置閾值為大于2的自然數(shù),可以按照實際情況對該預(yù)置閾值進行設(shè)置。判斷在該第二條件下選取的第一物理塊的空間是否被寫滿即判斷在該第二條件下選取的第一物理塊的物理頁是否被寫滿。

若在該第二條件下選取的第一物理塊的空間沒有被寫滿,確定在該第二條件下選取的第一物理塊為該數(shù)據(jù)寫入的物理塊;

若在該第二條件下選取的第一物理塊的空間已被寫滿,從該第一物理塊集合中選取空白的第一物理塊作為該數(shù)據(jù)寫入的物理塊;

當(dāng)該邏輯塊的更新次數(shù)大于或等于該預(yù)置閾值時,判斷在該第三條件下選取的第一物理塊的空間是否被寫滿;

該第三條件下選取的第一物理塊包括:在第二條件下選取的第一物理塊寫入數(shù)據(jù)后的物理塊和第三條件下在空白的第一物理塊寫入數(shù)據(jù)后的物理塊。判斷在該第三條件下選取的第一物理塊的空間是否被寫滿即判斷在該第三條件下選取的第一物理塊的物理頁是否被寫滿。

若在該第三條件下選取的第一物理塊的空間沒有被寫滿,確定在該第三條件下選取的第一物理塊為該數(shù)據(jù)寫入的物理塊;

若在該第三條件下選取的第一物理塊的空間已被寫滿,從該第二物理塊集合中選取空白的第二物理塊作為該數(shù)據(jù)寫入的物理塊。

S205、將該數(shù)據(jù)寫入該物理塊,并更新該邏輯塊的更新次數(shù)。

具體的,對該邏輯塊的更新次數(shù)進行更新,即對該映射表中的該邏輯塊更新次數(shù)進行更新。

進一步地,將該數(shù)據(jù)寫入該物理塊,并更新該邏輯塊的更新次數(shù),具體包括:

將該數(shù)據(jù)寫入該物理塊的物理頁;

獲取該物理塊中每一物理頁寫入數(shù)據(jù)的次數(shù),并在多個該物理頁中,選取該數(shù)據(jù)寫入次數(shù)最多的目標物理頁;

將該目標物理頁對應(yīng)的數(shù)據(jù)寫入次數(shù)作為該邏輯塊的更新次數(shù);

該目標物理頁為該物理塊中數(shù)據(jù)寫入次數(shù)最多的物理頁。

需要說明的是,該物理塊中每個物理頁的數(shù)據(jù)寫入次數(shù)不同,當(dāng)數(shù)據(jù)寫入物理頁后,對該物理頁的數(shù)據(jù)寫入次數(shù)進行更新,若更新后的該物理頁為數(shù)據(jù)寫入次數(shù)最多的物理頁,將該物理頁作為目標物理頁,若更新后該物理頁不是數(shù)據(jù)寫入次數(shù)最多的物理頁,則以該目標物理頁的數(shù)據(jù)寫入次數(shù)作為該邏輯塊的更新次數(shù)。

該邏輯塊的更新次數(shù)與該數(shù)據(jù)的寫入次數(shù)相關(guān)聯(lián),該邏輯塊的更新次數(shù)反映該數(shù)據(jù)的重要程度,根據(jù)該邏輯塊的更新次數(shù)判斷該數(shù)據(jù)是否更新頻繁,若該邏輯塊的更新次數(shù)大于該預(yù)置閾值,則表示該數(shù)據(jù)更新頻繁,進而判定該數(shù)據(jù)不重要;若該邏輯塊的更新次數(shù)小于該預(yù)置閾值,則表示該數(shù)據(jù)更新次數(shù)少,進而判定該數(shù)據(jù)重要。

本發(fā)明實施例,數(shù)據(jù)存儲系統(tǒng)根據(jù)獲取的數(shù)據(jù)查找邏輯塊,通過該邏輯塊獲取映射表,并根據(jù)該映射表確定邏輯塊的更新次數(shù);將該數(shù)據(jù)存儲系統(tǒng)中的多個物理塊分為第一物理塊集合和第二物理塊集合;根據(jù)該邏輯塊的更新次數(shù),在該第一物理塊集合和該第二物理塊集合中選取該數(shù)據(jù)寫入的物理塊;將該數(shù)據(jù)寫入該物理塊中,并更新該邏輯塊的更新次數(shù)。本發(fā)明邏輯塊的更新次數(shù)反映該數(shù)據(jù)的重要性,將內(nèi)置的多個物理塊分為性能好的第一物理塊集合和性能差的第二物理塊集合,并將重要的數(shù)據(jù)寫入從第一物理塊集合中選取的性能好的第一物理塊,不重要的數(shù)據(jù)寫入從第二物理塊集合中選取的性能差的第二物理塊,從而減少了重要數(shù)據(jù)寫入時發(fā)生的錯誤位,提高了存儲系統(tǒng)的可靠性。

請參閱圖3,圖3是本發(fā)明第三實施例提供的數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。圖3示例的數(shù)據(jù)寫入裝置可以是前述圖1和圖2所示實施例提供的數(shù)據(jù)寫入方法的執(zhí)行主體,可以是數(shù)據(jù)存儲器件或數(shù)據(jù)存儲器件中的一個控制模塊。圖3示例的數(shù)據(jù)寫入裝置,主要包括:確定模塊31、選取模塊32及寫入模塊33。以上各功能模塊詳細說明如下:

確定模塊31,用于根據(jù)獲取的數(shù)據(jù)查找邏輯塊,并確定該邏輯塊的更新次數(shù);

該邏輯塊與物理塊為映射關(guān)系,通過該邏輯塊與物理塊的映射關(guān)系,查找該物理塊,該邏輯塊對應(yīng)的物理塊寫入數(shù)據(jù)的次數(shù)與該邏輯塊的更新次數(shù)相關(guān)聯(lián)。

選取模塊32,用于根據(jù)該邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取該數(shù)據(jù)寫入的物理塊;

該邏輯塊的更新次數(shù)與該數(shù)據(jù)的更新的次數(shù)相關(guān)聯(lián),在實際應(yīng)用中,該數(shù)據(jù)的更新的次數(shù)反映該數(shù)據(jù)的重要程度,若數(shù)據(jù)更新次數(shù)少,則該數(shù)據(jù)重要,若數(shù)據(jù)更新頻繁,則該數(shù)據(jù)不重要。

寫入模塊33,用于將該數(shù)據(jù)寫入該物理塊,并更新該邏輯塊的更新次數(shù)。

將該數(shù)據(jù)寫入選取的物理塊中,并更新該邏輯塊的更新次數(shù),以便當(dāng)再次發(fā)生數(shù)據(jù)寫入時,可根據(jù)更新后的邏輯塊的更新次數(shù)進行判斷。

本實施例的未盡細節(jié),請參照圖1所示的第一實施例,在此不再贅述。

本發(fā)明實施例,數(shù)據(jù)存儲系統(tǒng)中確定模塊31根據(jù)獲取的數(shù)據(jù)查找邏輯塊,并獲取該邏輯塊的更新次數(shù);選取模塊32根據(jù)該邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取該數(shù)據(jù)寫入的物理塊;寫入模塊33將該數(shù)據(jù)寫入選取的物理塊,并更新該邏輯塊的更新次數(shù)。本發(fā)明通過邏輯塊的更新次數(shù)判定該數(shù)據(jù)的更新次數(shù),通常,數(shù)據(jù)的更新次數(shù)可以反映該數(shù)據(jù)的重要性,根據(jù)該數(shù)據(jù)的更新次數(shù)在多個物理塊中選取合適的物理塊寫入數(shù)據(jù),即按照數(shù)據(jù)的重要程度寫入合適的物理塊,減少了數(shù)據(jù)寫入發(fā)生的錯誤位,提高了存儲系統(tǒng)的可靠性。

請參閱圖4,圖4是本發(fā)明第四實施例提供的數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。圖4示例的數(shù)據(jù)寫入裝置可以是前述圖1和圖2所示實施例提供的數(shù)據(jù)寫入方法的執(zhí)行主體,可以是數(shù)據(jù)存儲器件或數(shù)據(jù)存儲器件中的一個控制模塊。圖4示例的數(shù)據(jù)寫入裝置,主要包括:確定模塊41、劃分模塊42、選取模塊43和寫入模塊44,其中,確定模塊41包括:第一獲取模塊411和查找模塊412;選取模塊43包括:第一選取模塊431;選取模塊43還包括:第一判斷模塊432和第二選取模塊433;選取模塊43還包括:第二判斷模塊434和第三選取模塊435;選取模塊43還包括:第三判斷模塊436和第四選取模塊437;寫入模塊44包括:數(shù)據(jù)寫入模塊441、第二獲取模塊442和更新模塊443。以上各功能模塊詳細說明如下:

確定模塊41,用于根據(jù)獲取的數(shù)據(jù)查找邏輯塊,并確定該邏輯塊的更新次數(shù);

其中,確定模塊41包括:

第一獲取模塊411,用于根據(jù)該邏輯塊獲取映射表;

該映射表包括:該邏輯塊與該物理塊的映射關(guān)系以及該邏輯塊的更新次數(shù)。

查找模塊412,用于在該映射表中,查找該邏輯塊的更新次數(shù)。

查找模塊412通過該邏輯塊在該映射表中查找該邏輯塊的更新次數(shù)。該邏輯塊與物理塊為映射關(guān)系,該物理塊包括多個物理頁,將數(shù)據(jù)寫入到該物理塊,即將數(shù)據(jù)寫入到該物理塊包含的物理頁中。該邏輯塊的更新次數(shù)為物理塊中目標物理頁的數(shù)據(jù)寫入次數(shù),該目標物理頁為該物理塊中數(shù)據(jù)寫入次數(shù)最多的物理頁。

劃分模塊42,用于將該數(shù)據(jù)存儲系統(tǒng)中的多個物理塊分為第一物理塊集合和第二物理塊集合;

該數(shù)據(jù)存儲系統(tǒng)中,物理塊性能各不相同,將數(shù)據(jù)寫入性能好的物理塊時,出現(xiàn)錯誤位的概率低,數(shù)據(jù)存儲可靠性高,而將數(shù)據(jù)寫入性能差的物理塊時,會出現(xiàn)大量錯誤位從而導(dǎo)致數(shù)據(jù)永久丟失,數(shù)據(jù)存儲可靠性低。一般情況下,可通過塊擦除次數(shù)來判斷該物理塊的性能,塊擦除次數(shù)越多,該物理塊的性能越差,塊擦除次數(shù)越少,該物理塊的性能越好。

劃分物理塊42根據(jù)該物理塊的塊擦除次數(shù)將多個該物理塊分為第一物理塊集合和第二物理塊集合,其中,設(shè)定該第一物理塊集合包括塊擦除次數(shù)小于預(yù)設(shè)值的多個物理塊,即為性能好的物理塊,該預(yù)設(shè)值為整數(shù),優(yōu)選為2,設(shè)定該第二物理塊集合包括塊擦除次數(shù)大于等于該預(yù)設(shè)值的多個物理塊,即為性能差的物理塊。

選取模塊43,用于根據(jù)該邏輯塊的更新次數(shù),在內(nèi)置的多個物理塊中選取該數(shù)據(jù)寫入的物理塊;

其中,選取模塊43包括:

第一選取模塊431,用于當(dāng)該邏輯塊的更新次數(shù)為0時,從該第一物理塊集合中選取空白的第一物理塊作為該數(shù)據(jù)寫入的物理塊;

該邏輯塊的更新次數(shù)為0時,第一選取模塊431從性能好的第一物理塊集合中選取空白的第一物理塊寫入數(shù)據(jù)。設(shè)定該邏輯塊的更新次數(shù)為0為第一條件。在實際應(yīng)用中,選取模塊43還包括:更新查找模塊,用于在該映射表中查找該邏輯塊的更新次數(shù)。

選取模塊43還包括:

第一判斷模塊432,用于當(dāng)該邏輯塊的更新次數(shù)為1時,判斷在該第一條件下選取的第一物理塊的空間是否被寫滿;

該第一條件下選取的第一物理塊為該第一條件下,在空白的第一物理塊寫入數(shù)據(jù)后的物理塊。設(shè)定該邏輯塊的更新次數(shù)為1為第二條件。

第二選取模塊433,用于在該第一條件下選取的第一物理塊的空間沒有被寫滿時,確定在該第一條件下選取的第一物理塊為該數(shù)據(jù)寫入的物理塊;

第二選取模塊433,還用于在該第一條件下選取的第一物理塊的空間已被寫滿時,從該第一物理塊集合中選取空白的第一物理塊作為該數(shù)據(jù)寫入的物理塊。

選取模塊43還包括:

第二判斷模塊434,用于當(dāng)該邏輯塊的更新次數(shù)大于1且小于預(yù)置閾值時,判斷在該第二條件下選取的第一物理塊的空間是否被寫滿;

該第二條件下選取的物理塊包括:在第一條件下選取的第一物理塊寫入數(shù)據(jù)后的物理塊和第二條件下在空白的第一物理塊寫入數(shù)據(jù)后的物理塊。設(shè)定該邏輯塊的更新次數(shù)大于1且小于該預(yù)置閾值為第三條件。該預(yù)置閾值為大于2的自然數(shù),可以按照實際情況對該預(yù)置閾值進行設(shè)置。

第三選取模塊435,用于在該第二條件下選取的第一物理塊的空間沒有被寫滿時,確定在該第二條件下選取的第一物理塊為該數(shù)據(jù)寫入的物理塊;

第三選取模塊435,還用于在該第二條件下選取的第一物理塊的空間已被寫滿時,從該第一物理塊集合中選取空白的第一物理塊作為該數(shù)據(jù)寫入的物理塊。

選取模塊43還包括:

第三判斷模塊436,用于當(dāng)該邏輯塊的更新次數(shù)大于或等于該預(yù)置閾值時,判斷在該第三條件下選取的第一物理塊的空間是否被寫滿;

該第三條件下選取的第一物理塊包括:在第二條件下選取的第一物理塊寫入數(shù)據(jù)后的物理塊和第三條件下在空白的第一物理塊寫入數(shù)據(jù)后的物理塊。

第四選取模塊437,用于在該第三條件下選取的第一物理塊的空間沒有被寫滿時,確定在該第三條件下選取的第一物理塊為該數(shù)據(jù)寫入的物理塊;

第四選取模塊437,還用于在該第三條件下選取的第一物理塊的空間已被寫滿時,從該第二物理塊集合中選取空白的第二物理塊作為該數(shù)據(jù)寫入的物理塊。

寫入模塊44,用于將該數(shù)據(jù)寫入該物理塊,并更新該邏輯塊的更新次數(shù)。

對該邏輯塊的更新次數(shù)進行更新,即對該映射表中的邏輯塊更新次數(shù)進行更新。

其中,寫入模塊44包括:

數(shù)據(jù)寫入模塊441,用于將該數(shù)據(jù)寫入該物理塊的物理頁中;

第二獲取模塊442,用于獲取該物理塊中每一物理頁的數(shù)據(jù)寫入次數(shù);

更新模塊443,用于在多個該物理頁中,選取該數(shù)據(jù)寫入次數(shù)最多的目標物理頁,將該目標物理頁對應(yīng)的寫入次數(shù)作為該邏輯塊的更新次數(shù)。

該目標物理頁為該物理塊中數(shù)據(jù)寫入次數(shù)最多的物理頁。需要說明的是,數(shù)據(jù)寫入模塊441對該物理塊中每個物理頁的數(shù)據(jù)寫入次數(shù)不同,當(dāng)數(shù)據(jù)寫入物理頁后,更新模塊443對該物理頁的數(shù)據(jù)寫入次數(shù)進行更新,若更新后的該物理頁為數(shù)據(jù)寫入次數(shù)最多的物理頁,更新模塊443將該物理頁作為目標物理頁,若更新后該物理頁不是數(shù)據(jù)寫入次數(shù)最多的物理頁,更新模塊443則以該目標物理頁的數(shù)據(jù)寫入次數(shù)作為該邏輯塊的更新次數(shù)。

本實施例的未盡細節(jié),請參照圖2所示的第二實例,在此不再贅述。

本發(fā)明實施例,數(shù)據(jù)存儲系統(tǒng)中的確定模塊41根據(jù)獲取的數(shù)據(jù)查找邏輯塊,通過該邏輯塊獲取映射表,并根據(jù)該映射表確定邏輯塊的更新次數(shù);劃分模塊42將該數(shù)據(jù)存儲系統(tǒng)中的多個物理塊分為第一物理塊集合和第二物理塊集合,選取模塊43根據(jù)該邏輯塊的更新次數(shù),在該第一物理塊集合和該第二物理塊集合選取該數(shù)據(jù)寫入的物理塊;寫入模塊44將該數(shù)據(jù)寫入該物理塊,并更新該邏輯塊的更新次數(shù)。本發(fā)明邏輯塊的更新次數(shù)反映該數(shù)據(jù)的重要性,將內(nèi)置的多個物理塊分為性能好的第一物理塊集合和性能差的第二物理塊集合,并將重要的數(shù)據(jù)寫入從該第一物理塊集合中選取的性能好的第一物理塊,不重要的數(shù)據(jù)寫入從該第二物理塊集合中選取的性能差的第二物理塊,從而減少了重要數(shù)據(jù)寫入發(fā)生的錯誤位,提高了存儲系統(tǒng)的可靠性。

在本申請所提供的多個實施例中,應(yīng)該理解到,所揭露方法和裝置,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個模塊或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信鏈接可以是通過一些接口,裝置或模塊的間接耦合或通信鏈接,可以是電性,機械或其它的形式。

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

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

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

需要說明的是,對于前述的各方法實施例,為了簡便描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其它順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定都是本發(fā)明所必須的。

在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其它實施例的相關(guān)描述。

以上為對本發(fā)明所提供的數(shù)據(jù)寫入方法及裝置的描述,對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明實施例的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
二连浩特市| 平安县| 封开县| 吉林市| 石楼县| 靖州| 余干县| 新蔡县| 兴宁市| 彭阳县| 勃利县| 开封县| 灌阳县| 乡城县| 广饶县| 大庆市| 九台市| 宿松县| 衡南县| 虎林市| 江永县| 二手房| 新宁县| 芒康县| 体育| 普兰县| 马公市| 霍邱县| 自贡市| 沅陵县| 寿宁县| 闻喜县| 尉氏县| 桦南县| 桃源县| 鄂伦春自治旗| 巩留县| 海阳市| 南投县| 潢川县| 亚东县|