亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲器的磨損次數(shù)平衡方法及裝置與流程

文檔序號:11063424閱讀:451來源:國知局
存儲器的磨損次數(shù)平衡方法及裝置與制造工藝

本發(fā)明屬于存儲技術(shù)領(lǐng)域,尤其涉及存儲器的磨損次數(shù)平衡方法及裝置。



背景技術(shù):

閃存(flash)是一種容量大、讀寫速度高、功耗小且成本低的非易失性存儲器,其在斷電后仍能保存數(shù)據(jù),因此在存儲領(lǐng)域得到了廣泛應(yīng)用。閃存內(nèi)部的存儲介質(zhì)包含多個塊(block),當(dāng)有數(shù)據(jù)需要寫入閃存的某個區(qū)域時,若該區(qū)域已經(jīng)寫有數(shù)據(jù),則必須以塊為單位將該區(qū)域的已有數(shù)據(jù)擦除后再寫入新數(shù)據(jù),每個塊的可擦除次數(shù)有限,若擦除次數(shù)過于頻繁,將會產(chǎn)生壞塊,壞塊的數(shù)量累積到一定程度就會導(dǎo)致閃存的穩(wěn)定性下降,甚至無法被繼續(xù)使用。通常,閃存中塊的已擦除次數(shù)也被稱為塊的磨損次數(shù)。

在閃存的實際使用過程中,存儲冷數(shù)據(jù)的塊由于很少發(fā)生寫入操作,因此磨損次數(shù)通常較少,而存儲熱數(shù)據(jù)的塊會頻繁發(fā)生寫入操作,因此磨損次數(shù)通常較大,導(dǎo)致這兩類塊的磨損次數(shù)在閃存的使用過程中無法保持平衡,縮短了閃存的使用壽命?,F(xiàn)有技術(shù)采用將數(shù)據(jù)從磨損次數(shù)小的塊搬移到磨損次數(shù)大的空塊中的方案,使得磨損次數(shù)小的塊成為空塊以供數(shù)據(jù)寫入,由此來平衡塊的磨損次數(shù),然而,由于搬移到磨損次數(shù)大的空塊中的數(shù)據(jù)有可能是熱數(shù)據(jù),這樣反而會加大該塊的磨損次數(shù),使得閃存中塊的磨損次數(shù)的失衡程度加劇,影響了閃存的穩(wěn)定性及壽命。



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

有鑒于此,本發(fā)明實施例提供了存儲器的磨損次數(shù)平衡方法及裝置,以解決現(xiàn)有技術(shù)可能導(dǎo)致存儲器中塊的磨損次數(shù)的失衡程度加劇,影響存儲器的穩(wěn) 定性及壽命的問題。

第一方面,本發(fā)明實施例提供了一種存儲器的磨損次數(shù)平衡方法,包括:

創(chuàng)建并維護(hù)存儲器的塊信息表,所述塊信息表中記錄了所述存儲器的每個塊實時的磨損次數(shù);

當(dāng)所述存儲器執(zhí)行數(shù)據(jù)寫入操作時,在所述塊信息表中為寫入數(shù)據(jù)的塊配置第一磨損信息,所述第一磨損信息為當(dāng)前時刻所述塊信息表中記錄的所述磨損次數(shù)的最大值;

計算所述當(dāng)前時刻的第一差值和第二差值,所述第一差值為所述存儲器中所有空塊的所述磨損次數(shù)的最大值與所述存儲器中所有數(shù)據(jù)塊的所述磨損次數(shù)的最小值的差值,所述第二差值為所述寫入數(shù)據(jù)的塊的所述第一磨損信息與第二磨損信息的差值,所述第二磨損信息為所述塊信息表中已配置的所述第一磨損信息的最小值;

所述空塊是指沒有數(shù)據(jù)的可利用塊,所述數(shù)據(jù)塊是指已寫有數(shù)據(jù)的塊。

判斷所述第一差值是否不小于預(yù)設(shè)的第一閾值且所述第二差值是否不小于預(yù)設(shè)的第二閾值;

若所述第一差值不小于所述預(yù)設(shè)的第一閾值且所述第二差值不小于所述預(yù)設(shè)的第二閾值,將第一塊中的數(shù)據(jù)遷移至第二塊中,所述第一塊的所述第一磨損信息與所述第二磨損信息相等,所述第二塊為所述存儲器中所述磨損次數(shù)最大的空塊。

第二方面,本發(fā)明實施例提供了一種存儲器的磨損次數(shù)平衡裝置,包括:

塊信息表單元,用于創(chuàng)建并維護(hù)存儲器的塊信息表,所述塊信息表中記錄了所述存儲器的每個塊實時的磨損次數(shù);

配置單元,用于當(dāng)所述存儲器執(zhí)行數(shù)據(jù)寫入操作時,在所述塊信息表中為寫入數(shù)據(jù)的塊配置第一磨損信息,所述第一磨損信息為當(dāng)前時刻所述塊信息表中記錄的所述磨損次數(shù)的最大值;

計算單元,用于計算所述當(dāng)前時刻的第一差值和第二差值,所述第一差值 為所述存儲器中所有空塊的所述磨損次數(shù)的最大值與所述存儲器中所有數(shù)據(jù)塊的所述磨損次數(shù)的最小值的差值,所述第二差值為所述寫入數(shù)據(jù)的塊的所述第一磨損信息與第二磨損信息的差值,所述第二磨損信息為所述塊信息表中已配置的所述第一磨損信息的最小值;

判斷單元,用于判斷所述第一差值是否不小于預(yù)設(shè)的第一閾值且所述第二差值是否不小于預(yù)設(shè)的第二閾值;

數(shù)據(jù)遷移單元,用于若所述第一差值不小于所述預(yù)設(shè)的第一閾值且所述第二差值不小于所述預(yù)設(shè)的第二閾值,將第一塊中的數(shù)據(jù)遷移至第二塊中,所述第一塊的所述第一磨損信息與所述第二磨損信息相等,所述第二塊為所述存儲器中所述磨損次數(shù)最大的空塊。

本發(fā)明實施例所提供的存儲器的磨損次數(shù)平衡方法簡單有效,并可以保證在磨損平衡的過程中,往磨損次數(shù)最大的空塊里填充的是冷數(shù)據(jù),使得磨損次數(shù)最大的塊能夠被真正冷卻下來,逐漸達(dá)到存儲器的磨損次數(shù)平衡,提升了存儲器的穩(wěn)定性,延長了存儲器的使用壽命。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實施例提供的存儲器的磨損次數(shù)平衡方法的實現(xiàn)流程圖;

圖2是本發(fā)明另一實施例提供的存儲器的磨損次數(shù)平衡方法的實現(xiàn)流程圖;

圖3是本發(fā)明另一實施例提供的存儲器的磨損次數(shù)平衡方法的實現(xiàn)流程圖;

圖4是本發(fā)明實施例提供的存儲器的磨損次數(shù)平衡裝置的結(jié)構(gòu)框圖。

具體實施方式

為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進(jìn)行說明。以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、技術(shù)之類的具體細(xì)節(jié),以便透切理解本發(fā)明實施例。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,在沒有這些具體細(xì)節(jié)的其它實施例中也可以實現(xiàn)本發(fā)明。在其它情況中,省略對眾所周知的系統(tǒng)、裝置、電路以及方法的詳細(xì)說明,以免不必要的細(xì)節(jié)妨礙本發(fā)明的描述。

圖1示出了本發(fā)明實施例提供的存儲器的磨損次數(shù)平衡方法的實現(xiàn)流程,詳述如下:

在S101中,創(chuàng)建并維護(hù)存儲器的塊信息表,所述塊信息表中記錄了所述存儲器的每個塊實時的磨損次數(shù)。

所述存儲器,包括但不限于隨機(jī)存取存儲器(RAM)、閃存等,在塊信息表中,鍵名可以用于指示存儲器中的每個塊,例如塊的塊號信息,而對應(yīng)的鍵值則包括了該塊實時的磨損次數(shù),即該塊實時的已擦除次數(shù)。

在S102中,當(dāng)所述存儲器執(zhí)行數(shù)據(jù)寫入操作時,在所述塊信息表中為寫入數(shù)據(jù)的塊配置第一磨損信息,所述第一磨損信息為當(dāng)前時刻所述塊信息表中記錄的所述磨損次數(shù)的最大值。

在塊信息表中,鍵名對應(yīng)的鍵值除了包括塊實時的磨損次數(shù),還可以包括第一磨損信息,在存儲器執(zhí)行數(shù)據(jù)寫入操作時,第一磨損信息被添加為寫入數(shù)據(jù)的塊對應(yīng)的鍵值,其值為當(dāng)前時刻塊信息表中所記錄的所有塊的磨損次數(shù)的最大值。由于存儲器會不斷地執(zhí)行讀寫操作,因此,每個塊所被添加的第一磨損信息的值也可能會時刻發(fā)生變化。

此外,在本發(fā)明實施例中,在塊信息表中為寫入數(shù)據(jù)的塊配置第一磨損信息之前,若已在塊信息表中為該寫入數(shù)據(jù)的塊配置過第一磨損信息,則如圖2所示,所述方法還包括:

S106,在所述塊信息表中清除之前已為所述寫入數(shù)據(jù)的塊配置的所述第一磨損信息。

先將之前配置的第一磨損信息清除,再寫入當(dāng)前最新的第一磨損信息,以保證塊信息表的更新,同時保證在每個時間點上,塊信息表中每個塊對應(yīng)的第一磨損信息只有一個。

同時,如圖3所示,S102中所述存儲器執(zhí)行數(shù)據(jù)寫入操作可包括如下操作:

S301,檢測預(yù)寫入數(shù)據(jù)的塊是否為空塊。

S302,若所述預(yù)寫入數(shù)據(jù)的塊不為空塊,將所述預(yù)寫入數(shù)據(jù)的塊擦除為空塊。

S303,在確認(rèn)所述預(yù)寫入數(shù)據(jù)的塊為空塊后,將數(shù)據(jù)寫入該塊。

即,在每次向塊寫入數(shù)據(jù)之前,需要確保該塊為空塊(即未寫有數(shù)據(jù)的塊)才將數(shù)據(jù)寫入,若該塊為數(shù)據(jù)塊(即寫有數(shù)據(jù)的塊),則需要將該塊中的已有數(shù)據(jù)先擦除,再將當(dāng)前需要寫入的數(shù)據(jù)寫入該塊。

在S103中,計算所述當(dāng)前時刻的第一差值和第二差值,所述第一差值為所述存儲器中所有空塊的所述磨損次數(shù)的最大值與所述存儲器中所有數(shù)據(jù)塊的所述磨損次數(shù)的最小值的差值,所述第二差值為所述寫入數(shù)據(jù)的塊的所述第一磨損信息與第二磨損信息的差值,所述第二磨損信息為所述塊信息表中已配置的所述第一磨損信息的最小值。

其中,在第一差值的計算過程中,首先從塊信息表中獲取存儲器中當(dāng)前時刻所有空塊實時的磨損次數(shù)中的最大值,以及從塊信息表中獲取存儲器中當(dāng)前時刻所有數(shù)據(jù)塊實時的磨損次數(shù)中的最小值,再計算得到上述二者的差值。在第二差值的計算過程中,首先從塊信息表中獲取當(dāng)前時刻寫入數(shù)據(jù)的塊的第一磨損信息,以及從塊信息表中獲取當(dāng)前時刻已為不同的塊所配置的第一磨損信息中的最小值,再計算得到上述二者的差值。

在S104中,判斷所述第一差值是否不小于預(yù)設(shè)的第一閾值且所述第二差值是否不小于預(yù)設(shè)的第二閾值。

在S105中,若所述第一差值不小于所述預(yù)設(shè)的第一閾值且所述第二差值不小于所述預(yù)設(shè)的第二閾值,將第一塊中的數(shù)據(jù)遷移至第二塊中,所述第一塊的所述第一磨損信息與所述第二磨損信息相等,所述第二塊為所述存儲器中所述磨損次數(shù)最大的空塊。

在計算得到當(dāng)前時刻的上述第一差值和第二差值之后,分別判斷上述兩個差值是否均大于或等于各自對應(yīng)的預(yù)設(shè)閾值,其中,上述兩個差值各自對應(yīng)的預(yù)設(shè)閾值均為大于或等于1的整數(shù)。若上述兩個差值均大于或等于各自對應(yīng)的預(yù)設(shè)閾值,則對存儲器進(jìn)行磨損平衡處理。磨損平衡處理的具體方法為:將存儲器中第一磨損信息與第二磨損信息相等的塊中的數(shù)據(jù),搬移至存儲器中實時的磨損次數(shù)最大的空塊中,這樣一來,當(dāng)前存儲器中磨損次數(shù)最大的空塊就會被冷數(shù)據(jù)填充,以使其真正冷卻下來,從而減少存儲器各個塊磨損次數(shù)中的最大值與最小值之差,真正達(dá)到存儲器的磨損次數(shù)平衡。

本發(fā)明實施例所提供的存儲器的磨損次數(shù)平衡方法簡單有效,并可以保證在磨損平衡的過程中,往磨損次數(shù)最大的空塊里填充的是冷數(shù)據(jù),使得磨損次數(shù)最大的塊能夠被真正冷卻下來,逐漸達(dá)到存儲器的磨損次數(shù)平衡,提升了存儲器的穩(wěn)定性,延長了存儲器的使用壽命。

應(yīng)理解,上述實施例中各步驟的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實施例的實施過程構(gòu)成任何限定。

對應(yīng)于上文實施例所述的存儲器的磨損次數(shù)平衡方法,圖4示出了本發(fā)明實施例提供的存儲器的磨損次數(shù)平衡裝置的結(jié)構(gòu)框圖。為了便于說明,僅示出了與本實施例相關(guān)的部分。

參照圖4,該裝置包括:

塊信息表單元41,創(chuàng)建并維護(hù)存儲器的塊信息表,所述塊信息表中記錄了所述存儲器的每個塊實時的磨損次數(shù);

配置單元42,當(dāng)所述存儲器執(zhí)行數(shù)據(jù)寫入操作時,在所述塊信息表中為寫 入數(shù)據(jù)的塊配置第一磨損信息,所述第一磨損信息為當(dāng)前時刻所述塊信息表中記錄的所述磨損次數(shù)的最大值;

計算單元43,計算所述當(dāng)前時刻的第一差值和第二差值,所述第一差值為所述存儲器中所有空塊的所述磨損次數(shù)的最大值與所述存儲器中所有數(shù)據(jù)塊的所述磨損次數(shù)的最小值的差值,所述第二差值為所述寫入數(shù)據(jù)的塊的所述第一磨損信息與第二磨損信息的差值,所述第二磨損信息為所述塊信息表中已配置的所述第一磨損信息的最小值;

判斷單元44,判斷所述第一差值是否不小于預(yù)設(shè)的第一閾值且所述第二差值是否不小于預(yù)設(shè)的第二閾值;

數(shù)據(jù)遷移單元45,若所述第一差值不小于所述預(yù)設(shè)的第一閾值且所述第二差值不小于所述預(yù)設(shè)的第二閾值,將第一塊中的數(shù)據(jù)遷移至第二塊中,所述第一塊的所述第一磨損信息與所述第二磨損信息相等,所述第二塊為所述存儲器中所述磨損次數(shù)最大的空塊。

可選地,所述裝置還包括:

清除單元,在所述塊信息表中為寫入數(shù)據(jù)的塊配置第一磨損信息之前,在所述塊信息表中清除之前已為所述寫入數(shù)據(jù)的塊配置的所述第一磨損信息。

可選地,所述裝置還包括:

檢測單元,檢測預(yù)寫入數(shù)據(jù)的塊是否為空塊;

擦除單元,若所述預(yù)寫入數(shù)據(jù)的塊不為空塊,將所述預(yù)寫入數(shù)據(jù)的塊擦除為空塊;

寫入單元,在確認(rèn)所述預(yù)寫入數(shù)據(jù)的塊為空塊后,將數(shù)據(jù)寫入該塊。

可選地,所述第一閾值和所述第二閾值均為大于或等于1的整數(shù)。

可選地,所述存儲器包括閃存。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,僅以上述各功能單元、模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述裝置的內(nèi)部結(jié)構(gòu)劃分成不 同的功能單元或模塊,以完成以上描述的全部或者部分功能。實施例中的各功能單元、模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中,上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。另外,各功能單元、模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護(hù)范圍。上述系統(tǒng)中單元、模塊的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。

本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機(jī)軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

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

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

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

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

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

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

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