国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種3D閃存的控制方法和系統(tǒng)與流程

      文檔序號:12363548閱讀:330來源:國知局
      一種3D閃存的控制方法和系統(tǒng)與流程

      本發(fā)明涉及數(shù)據(jù)存儲領(lǐng)域,尤其涉及一種3D閃存的控制方法和系統(tǒng)。



      背景技術(shù):

      傳統(tǒng)內(nèi)存芯片的存儲模式以平面分布為基礎(chǔ),所有存儲單元均分布于二維平面當中。3D閃存,是通過將原本平鋪的存儲單元堆疊起來,形成多層結(jié)構(gòu),來提供容量。

      現(xiàn)有的3D閃存,可將其分為若干層,每層有若干行,每行有若干個物理塊。在此結(jié)構(gòu)特點下,3D閃存具有以下性能特點,一方面,當對3D閃存進行數(shù)據(jù)讀寫操作訪問時,其每層物理塊的訪問速度要快于層間的訪問速度;另一方面,當對3D閃存中某個物理塊進行寫操作或擦除操作時,該物理塊周圍同層的物理塊比不同層的物理塊,會受到更大的影響。當前技術(shù)中并未充分根據(jù)3D閃存這一結(jié)構(gòu)性能特點,有針對性地設(shè)計合適的方法,來保證性能和穩(wěn)定性的平衡。

      現(xiàn)有技術(shù)中針對此問題主要涉及3D閃存管理技術(shù)中如下三個方面的技術(shù)細節(jié):

      1、空閑塊分配策略:當前空閑塊分配策略為線性分配策略,按照空閑塊物理地址從小到大,順次將物理地址空間中的空閑塊分配出去。當?shù)竭_最后一塊物理塊后,管理程序回到物理地址起始位置,重新掃描芯片,尋找空閑塊。一方面,此策略可能將同一物理塊鏈中的物理塊分散至多個物理層,導(dǎo)致在進行讀操作和擦除操作時,訪問性能降低。另一方面,該策略有可能將多個在某段時間連續(xù)訪問的物理塊鏈放置于同一層,導(dǎo)致該物理層中的物理塊被頻繁操作,物理塊穩(wěn)定性迅速降低,數(shù)據(jù)出錯的可能性大大增加。

      2、缺少對物理塊鏈更新頻度的監(jiān)測:當操作系統(tǒng)向芯片中寫入數(shù)據(jù)后,對于某些邏輯空間的數(shù)據(jù)將長期駐留在芯片中,且更新頻度較低。而某些邏輯空間的數(shù)據(jù),在一定時間段內(nèi)不斷進行數(shù)據(jù)更新。導(dǎo)致用于存儲未頻繁更新的邏輯空間數(shù)據(jù)的物理塊穩(wěn)定性較高,因此芯片性能下降不均勻。

      3、物理塊擦除回收策略:當前技術(shù)中,當芯片中無空閑塊可供分配時,則尋找最長物理塊鏈進行擦除回收操作。該策略嚴重影響用戶的單次訪問時間,降低芯片性能。



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

      本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種3D閃存的控制方法和系統(tǒng),解決現(xiàn)有技術(shù)中由空閑塊的線性分配策略導(dǎo)致的芯片訪問性能低,穩(wěn)定性差的問題。

      為了解決上述技術(shù)問題,本發(fā)明實施例提供了一種3D閃存的控制方法,在將數(shù)據(jù)寫入邏輯地址時,根據(jù)地址映射關(guān)系檢測是否有與所述邏輯地址對應(yīng)的物理地址,

      當檢測結(jié)果為是時,查找與所述物理地址對應(yīng)的物理塊,從所述物理塊對應(yīng)的物理層中分配空閑物理塊進行數(shù)據(jù)寫入;

      當檢測結(jié)果為否時,分配新的物理塊,并將數(shù)據(jù)寫入所述新的物理塊。

      相應(yīng)地,本發(fā)明實施例還提供了一種3D閃存的控制系統(tǒng),包括尋址模塊、第一寫操作分配模塊和第二寫操作分配模塊,

      所述尋址模塊用于在將數(shù)據(jù)寫入邏輯地址時,根據(jù)地址映射關(guān)系檢測是否有與邏輯地址對應(yīng)的物理地址,

      當檢測結(jié)果為是時,所述第一寫操作分配模塊查找與所述物理地址對應(yīng)的物理塊,并從與所述物理塊對應(yīng)的物理層中分配空閑物理塊進行數(shù)據(jù)寫入;

      當檢測結(jié)果為否時,所述第二寫操作分配模塊分配新的物理塊,并將數(shù)據(jù)寫入所述新的物理塊。

      實施本發(fā)明實施例,具有如下有益效果:一方面,在將數(shù)據(jù)寫入邏輯地址時,根據(jù)地址映射關(guān)系檢測是否有與所述邏輯地址對應(yīng)的物理地址,當檢測結(jié)果為是時,查找與所述物理地址對應(yīng)的物理塊,從所述物理塊對應(yīng)的物理層中分配空閑物理塊進行數(shù)據(jù)寫入,由于在3D閃存中,對比單次訪問多個物理層間的物理塊,連續(xù)訪問同一物理層中的物理塊的效率更高,因此本發(fā)明實施例通過讓同一物理塊鏈中的物理塊處于同一物理層,實現(xiàn)了芯片訪問速度的提升。另一方面,當上述檢測結(jié)果為否時,則需要構(gòu)建一個新的物理塊鏈,此時分配新的物理塊,并將數(shù)據(jù)寫入所述新的物理塊,進一步的,所述新的物理塊從評定值最小的物理層中選擇,由此保證了從芯片中穩(wěn)定性較強的物理層中構(gòu)建新的物理塊鏈,提升了芯片的穩(wěn)定性。

      附圖說明

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

      圖1是本發(fā)明提供的一種3D閃存的控制方法的第一實施例流程圖;

      圖2是圖1中分配新的物理塊的流程圖;

      圖3是圖1中從與物理地址對應(yīng)的物理塊所在物理層分配空閑物理塊的流程圖;

      圖4是圖3中分配同層的空閑物理塊的流程圖;

      圖5是圖4中對物理塊鏈進行擦除回收的流程圖;

      圖6是本發(fā)明提供的一種3D閃存的控制系統(tǒng)的第一實施例的結(jié)構(gòu)示意圖;

      圖7是圖6中第二寫操作分配模塊的結(jié)構(gòu)示意圖;

      圖8是圖6中第一寫操作分配模塊的結(jié)構(gòu)示意圖。

      具體實施方式

      下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

      請參見圖1,是本發(fā)明提供的一種3D閃存的控制方法的第一實施例流程圖,該方法包括:

      S101:根據(jù)邏輯地址查找映射表;

      在將數(shù)據(jù)寫入邏輯地址時,操作系統(tǒng)向存儲管理系統(tǒng)發(fā)起對邏輯頁號log_page的寫請求,存儲管理系統(tǒng)首先計算對應(yīng)的邏輯塊號log_block和塊內(nèi)偏移頁號offset,根據(jù)邏輯塊號查找映射表,找到對應(yīng)的物理塊號phy_block。

      S102:根據(jù)地址映射關(guān)系檢測是否有與所述邏輯地址對應(yīng)的物理地址,當檢測結(jié)果為是時,執(zhí)行步驟S103;若邏輯塊首次向芯片中寫入數(shù)據(jù),則映射表中找不到對應(yīng)的物理塊號,此時,執(zhí)行步驟S104。

      S103:查找與所述物理地址對應(yīng)的物理塊,從與該物理塊對應(yīng)的物理層中分配空閑物理塊進行數(shù)據(jù)寫入;

      S104:分配新的物理塊,并將數(shù)據(jù)寫入該新的物理塊。

      根據(jù)3D閃存的結(jié)構(gòu)特點,分別為每個物理層設(shè)置一個寫操作計數(shù)器,和擦除次數(shù)計數(shù)器,并分別組織成兩個隊列。對于以擦除次數(shù)指標組織的邏輯隊列,隊頭為當前擦除操作次數(shù)最多的物理層,隊尾為擦除操作次數(shù)最少的物理層。對于以寫操作次數(shù)為指標的隊列,隊頭為當前寫操作次數(shù)最多的物理層,隊尾為寫操作次數(shù)最少的物理層。當對某一個物理塊鏈進行回收擦除操作后,一方面修改對應(yīng)擦除隊列中某個層對應(yīng)的擦除次數(shù),并根據(jù)隊列的組織規(guī)則,移動該物理層在隊列中的位置;另一方面,首先根據(jù)擦除次數(shù)指標,然后再根據(jù)寫次數(shù)指標,找出評定值最小的物理層,將該物理層中的空閑塊進行分配。其中erase_time表示該物理層的擦除次數(shù),write_time表示該物理層中物理塊的寫操作次數(shù)。初始狀態(tài)下,兩個隊列均按照層號由小到大的順序進行排列。

      令對芯片執(zhí)行一次擦除操作的影響相當于執(zhí)行a次寫操作的影響,根據(jù)某一特定物理層的擦除操作次數(shù)erase_time和寫操作次數(shù)write_time,依據(jù)公式(1)計算出該物理層的評定值V,

      V=erase_time*a+write_time (1)

      圖2是圖1中分配新的物理塊的流程圖,具體的,步驟S104包括以下步驟:

      S201:存儲管理系統(tǒng)根據(jù)公式(1),對每個物理層計算評定值,從各物理層中,查找出評定值最小的物理層;

      S202:檢測所述評定值最小的物理層中是否有空閑物理塊,當檢測結(jié)果為是時,執(zhí)行步驟S203,否則,執(zhí)行步驟S204;

      S203:從評定值最小的物理層中選擇空閑物理塊進行分配;

      S204:對上述評定值最小的物理層中的物理塊鏈進行擦除回收,以便獲得空閑物理塊,將獲得的空閑的物理塊進行分配。

      進一步的,圖3是圖1中從與物理地址對應(yīng)的物理塊所在物理層分配空閑物理塊的流程圖,步驟S103具體包括以下步驟,

      S301:檢測由所述物理塊組成的物理塊鏈中是否有空閑物理頁,當檢測結(jié)果為是時,執(zhí)行步驟S302,否則,執(zhí)行步驟S303;

      S302:將數(shù)據(jù)寫入所述空閑物理頁;

      S303:判斷所述物理塊鏈的長度是否達到操作系統(tǒng)的最大限定長度,

      當判斷為是時,執(zhí)行步驟S304,否則執(zhí)行步驟S305;

      S304:沿所述物理塊鏈從后向前開始查找空閑物理頁,并向所述空閑物理頁寫入數(shù)據(jù)。其中,令邏輯頁號為log_page,每個物理塊中共有page_per_block個物理頁。存儲管理系統(tǒng)首先在物理塊鏈中的第offset=log_page%page_per_block中寫入數(shù)據(jù),當物理塊鏈長度達到最大限度后,則從物理塊鏈的最后一個物理塊開始,尋找空閑的塊內(nèi)物理頁r_offset,并由后向前對r_offset頁寫入數(shù)據(jù)。該步驟保證了塊鏈中的空閑物理頁空間得到充分利用,避免了因空閑物理塊不足,而擦除大量未被使用的物理頁的情況發(fā)生。

      S305:從所述物理塊鏈對應(yīng)的物理層中分配新的物理塊,并將所述新的物理塊加入所述物理塊鏈中。

      圖4是圖3中分配同層的空閑物理塊的流程圖,其中,S305具體包括以下步驟,

      S401:存儲管理系統(tǒng)首先檢測上述物理塊鏈對應(yīng)的物理層中是否有空閑物理塊,

      當檢測結(jié)果為是時,執(zhí)行步驟S402,否則,執(zhí)行步驟S403,

      S402:從上述與物理塊鏈對應(yīng)的物理層中選擇空閑物理塊進行分配;

      S403:對上述物理塊鏈進行擦除回收以獲得空閑物理塊,對獲得的空閑物理塊進行分配。

      圖5是圖4中對物理塊鏈進行擦除回收的流程圖,上述擦除回收物理塊鏈包括以下步驟:

      S501:在上述物理塊鏈所對應(yīng)的物理層中獲取所有物理塊鏈,并將物理塊鏈根據(jù)長度從大到小排序,按排序從前開始選擇至少兩個物理塊鏈;

      S502:從上述至少兩個物理塊鏈中選擇最久未被更新的物理塊鏈,將該物理塊鏈中的數(shù)據(jù)進行擦除;

      S503:計算各個物理層的評定值,并根據(jù)公式(1)選擇評定值最小的物理層,從評定值最小的物理層中獲取空閑物理塊;

      S504:將上述最久未被更新的物理塊鏈中的數(shù)據(jù)復(fù)制到上述空閑物理塊中,完成對物理塊鏈的擦除回收操作。

      上述物理塊鏈還包括時間戳,時間戳用于記錄該物理塊鏈的最近一次被修改的時間,根據(jù)時間戳可獲得最久未被更新的物理塊鏈。存儲管理系統(tǒng)每隔若干次寫操作后,掃描一次物理塊鏈,查看該物理塊鏈的時間戳。當經(jīng)過第n次掃描后,取出前m個時間戳記錄時間較早的物理塊鏈,判定這前m個物理塊鏈中的物理塊更新頻率較低,進行擦除回收操作,釋放長期未被使用,穩(wěn)定性較高的物理塊,并根據(jù)(1),尋找評定值較大的物理層中的空閑物理塊,將數(shù)據(jù)寫入該物理塊中。其中,m和n為不小于1的整數(shù)。

      如圖6所示,為本發(fā)明提供的一種3D閃存的控制系統(tǒng)的第一實施例的結(jié)構(gòu)示意圖,該系統(tǒng)包括尋址模塊1、第一寫操作分配模塊2和第二寫操作分配模塊3,上述尋址模塊1用于在將數(shù)據(jù)寫入邏輯地址時,根據(jù)地址映射關(guān)系檢測是否有與邏輯地址對應(yīng)的物理地址,當檢測結(jié)果為是時,上述第一寫操作分配模塊2查找與上述物理地址對應(yīng)的物理塊,并從與上述物理塊對應(yīng)的物理層中分配空閑物理塊進行數(shù)據(jù)寫入;當檢測結(jié)果為否時,上述第二寫操作分配模塊3分配新的物理塊,并將數(shù)據(jù)寫入所述新的物理塊。

      圖7是圖6中第二寫操作分配模塊3的結(jié)構(gòu)示意圖,第二寫操作分配模塊3包括:評定值計算單元31、第一物理塊查找單元32、第一分配單元33和第二分配單元34,上述評定值計算單元31,令對芯片執(zhí)行一次擦除操作的影響相當于執(zhí)行a次寫操作的影響,

      根據(jù)某一特定物理層的擦除操作次數(shù)erase_time和寫操作次數(shù)write_time,依據(jù)公式(1)計算出該物理層的評定值V,

      V=erase_time*a+write_time (1)

      所述第一物理塊查找單元32,用于從各物理層中查找出評定值最小的物理層,并檢測所述評定值最小的物理層中是否有空閑物理塊,當檢測結(jié)果為是時,上述第一分配單元33從所述評定值最小的物理層中選擇空閑物理塊進行分配;當檢測結(jié)果為否時,上述第二分配單元34對所述評定值最小的物理層中的物理塊鏈進行擦除回收,以便獲得空閑物理塊,將獲得的空閑的物理塊進行分配。

      圖8是圖6中第一寫操作分配模塊2的結(jié)構(gòu)示意圖,上述第一寫操作分配模塊2包括物理頁查找單元21、第一寫入單元22、第二寫入單元23,上述物理頁查找單元21用于檢測由所述物理塊組成的物理塊鏈中是否有空閑物理頁,在檢測結(jié)果為是時,上述第一寫入單元22將數(shù)據(jù)寫入所述空閑物理頁;否則,第二寫入單元23判斷所述物理塊鏈的長度是否達到操作系統(tǒng)的最大限定長度,當判斷為是時,上述第二寫入單元23沿所述物理塊鏈從后向前開始查找空閑物理頁,并向所述空閑物理頁寫入數(shù)據(jù),當判斷為否時,上述第二寫入單元23從所述物理塊鏈對應(yīng)的物理層中分配新的物理塊,并將所述新的物理塊加入所述物理塊鏈中。

      上述第二寫入單元23包括第二物理塊查找單元231、第三分配單元232和第四分配單元233,上述第二物理塊查找單元231,用于檢測所述物理塊鏈對應(yīng)的物理層中是否有空閑物理塊,當檢測結(jié)果為是時,上述第三分配單元232從所述與物理塊鏈對應(yīng)的物理層中選擇空閑物理塊進行分配,當檢測結(jié)果為否時,上述第四分配單元233對所述物理塊鏈進行擦除回收以獲得空閑物理塊,對獲得的空閑物理塊進行分配。

      上述第二分配單元34包括:擦除單元341,用于從所述至少兩個物理塊鏈中選擇最久未被更新的物理塊鏈,將該物理塊鏈中的數(shù)據(jù)進行擦除;復(fù)制單元342,用于根據(jù)公式(1)選擇評定值最小的物理層,從所述評定值最小的物理層中獲取空閑物理塊,并將所述最久未被更新的物理塊鏈中的數(shù)據(jù)復(fù)制到所述空閑物理塊中。

      上述物理塊鏈包括時間戳,時間戳用于記錄所述物理塊鏈的最近一次被修改的時間;根據(jù)時間戳獲得最久未被更新的物理塊鏈。

      本發(fā)明實施例在將數(shù)據(jù)寫入邏輯地址時,一方面,對于已經(jīng)存在對應(yīng)物理塊鏈的寫請求,分配同層的空閑物理塊,通過讓同一物理塊鏈中的物理塊處于同一物理層,來保證較快的讀寫訪問速度;另一方面,對首次構(gòu)建物理塊鏈的寫請求,需要構(gòu)建一個新的物理塊鏈時,則根據(jù)計算出的評定值得出各個物理層的相對穩(wěn)定性,擇優(yōu)選擇穩(wěn)定性較強的物理層構(gòu)建新的塊鏈,最終獲得速度與穩(wěn)定性的平衡。進一步的,本發(fā)明實施例限定物理塊鏈的長度,當物理塊鏈到達最大長度限制時,對該塊鏈進行擦除操作。同時,當某個物理層中無空閑物理塊時,對更新頻度較低的物理塊鏈進行擦除回收,從而還保證了芯片的穩(wěn)定性整體均勻下降。

      以上所揭露的僅為本發(fā)明一種較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。

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