1.一種3D閃存的控制方法,其特征在于,所述控制方法包括下述步驟:
在將數(shù)據(jù)寫入邏輯地址時(shí),根據(jù)地址映射關(guān)系檢測(cè)是否有與所述邏輯地址對(duì)應(yīng)的物理地址,
當(dāng)檢測(cè)結(jié)果為是時(shí),查找與所述物理地址對(duì)應(yīng)的物理塊,從所述物理塊對(duì)應(yīng)的物理層中分配空閑物理塊進(jìn)行數(shù)據(jù)寫入;
當(dāng)檢測(cè)結(jié)果為否時(shí),分配新的物理塊,并將數(shù)據(jù)寫入所述新的物理塊。
2.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,所述分配新的物理塊,具體包括以下步驟,
令對(duì)芯片執(zhí)行一次擦除操作的影響相當(dāng)于執(zhí)行a次寫操作的影響,
根據(jù)某一特定物理層的擦除操作次數(shù)erase_time和寫操作次數(shù)write_time,依據(jù)公式(1)計(jì)算出該物理層的評(píng)定值V,
V=erase_time*a+write_time (1)
從各物理層中,查找出評(píng)定值最小的物理層,并檢測(cè)所述評(píng)定值最小的物理層中是否有空閑物理塊,
當(dāng)檢測(cè)結(jié)果為是時(shí),從所述評(píng)定值最小的物理層中選擇空閑物理塊進(jìn)行分配;
當(dāng)檢測(cè)結(jié)果為否時(shí),對(duì)所述評(píng)定值最小的物理層中的物理塊鏈進(jìn)行擦除回收,以便獲得空閑物理塊,將獲得的空閑的物理塊進(jìn)行分配。
3.根據(jù)權(quán)利要求1至2任一項(xiàng)所述的控制方法,其特征在于,所述查找與所述物理地址對(duì)應(yīng)的物理塊,從所述物理塊所對(duì)應(yīng)的物理層中分配空閑物理塊進(jìn)行數(shù)據(jù)寫入,具體包括以下步驟,
檢測(cè)由所述物理塊組成的物理塊鏈中是否有空閑物理頁,
當(dāng)檢測(cè)結(jié)果為是時(shí),將數(shù)據(jù)寫入所述空閑物理頁;
否則,判斷所述物理塊鏈的長(zhǎng)度是否達(dá)到操作系統(tǒng)的最大限定長(zhǎng)度,
當(dāng)判斷為是時(shí),沿所述物理塊鏈從后向前開始查找空閑物理頁,并向所述空閑物理頁寫入數(shù)據(jù),
當(dāng)判斷為否時(shí),從所述物理塊鏈對(duì)應(yīng)的物理層中分配新的物理塊,并將所述新的物理塊加入所述物理塊鏈中。
4.根據(jù)權(quán)利要求3所述的控制方法,其特征在于,從所述物理塊鏈對(duì)應(yīng)的物理層中分配新的物理塊,具體包括以下步驟,
檢測(cè)所述物理塊鏈對(duì)應(yīng)的物理層中是否有空閑物理塊,
當(dāng)檢測(cè)結(jié)果為是時(shí),從所述與物理塊鏈對(duì)應(yīng)的物理層中選擇空閑物理塊進(jìn)行分配,
當(dāng)檢測(cè)結(jié)果為否時(shí),對(duì)所述物理塊鏈進(jìn)行擦除回收以獲得空閑物理塊,對(duì)獲得的空閑物理塊進(jìn)行分配。
5.根據(jù)權(quán)利要求4所述的控制方法,其特征在于,擦除回收物理塊鏈具體包括以下步驟,
在所述物理塊鏈所對(duì)應(yīng)的物理層中獲取所有物理塊鏈,并將物理塊鏈根據(jù)長(zhǎng)度從大到小排序,按排序從前開始選擇至少兩個(gè)物理塊鏈,
從所述至少兩個(gè)物理塊鏈中選擇最久未被更新的物理塊鏈,將該物理塊鏈中的數(shù)據(jù)進(jìn)行擦除,
根據(jù)公式(1)選擇評(píng)定值最小的物理層,從所述評(píng)定值最小的物理層中獲取空閑物理塊,
將所述最久未被更新的物理塊鏈中的數(shù)據(jù)復(fù)制到所述空閑物理塊中。
6.根據(jù)權(quán)利要求5所述的控制方法,其特征在于,所述物理塊鏈包括時(shí)間戳,所述時(shí)間戳用于記錄所述物理塊鏈的最近一次被修改的時(shí)間;
所述從至少兩個(gè)物理塊鏈中選擇最久未被更新的物理塊鏈,包括:
根據(jù)時(shí)間戳獲得最久未被更新的物理塊鏈。
7.一種3D閃存的控制系統(tǒng),其特征在于,所述系統(tǒng)包括尋址模塊、第一寫操作分配模塊和第二寫操作分配模塊,
所述尋址模塊用于在將數(shù)據(jù)寫入邏輯地址時(shí),根據(jù)地址映射關(guān)系檢測(cè)是否有與邏輯地址對(duì)應(yīng)的物理地址,
當(dāng)檢測(cè)結(jié)果為是時(shí),所述第一寫操作分配模塊查找與所述物理地址對(duì)應(yīng)的物理塊,并從與所述物理塊對(duì)應(yīng)的物理層中分配空閑物理塊進(jìn)行數(shù)據(jù)寫入;
當(dāng)檢測(cè)結(jié)果為否時(shí),所述第二寫操作分配模塊分配新的物理塊,并將數(shù)據(jù)寫入所述新的物理塊。
8.根據(jù)權(quán)利要求7所述的控制系統(tǒng),所述第二寫操作分配模塊包括:評(píng)定值計(jì)算單元、第一物理塊查找單元、第一分配單元和第二分配單元,
所述評(píng)定值計(jì)算單元,令對(duì)芯片執(zhí)行一次擦除操作的影響相當(dāng)于執(zhí)行a次寫操作的影響,
根據(jù)某一特定物理層的擦除操作次數(shù)erase_time和寫操作次數(shù)write_time,依據(jù)公式(1)計(jì)算出該物理層的評(píng)定值V,
V=erase_time*a+write_time (1)
所述第一物理塊查找單元,用于從各物理層中查找出評(píng)定值最小的物理層,并檢測(cè)所述評(píng)定值最小的物理層中是否有空閑物理塊,
當(dāng)檢測(cè)結(jié)果為是時(shí),所述第一分配單元從所述評(píng)定值最小的物理層中選擇空閑物理塊進(jìn)行分配;
當(dāng)檢測(cè)結(jié)果為否時(shí),所述第二分配單元對(duì)所述評(píng)定值最小的物理層中的物理塊鏈進(jìn)行擦除回收,以便獲得空閑物理塊,將獲得的空閑的物理塊進(jìn)行分配。
9.根據(jù)權(quán)利要求7至8任一項(xiàng)所述的控制系統(tǒng),其特征在于,所述第一寫操作分配模塊包括物理頁查找單元、第一寫入單元、第二寫入單元,
所述物理頁查找單元用于檢測(cè)由所述物理塊組成的物理塊鏈中是否有空閑物理頁,
在檢測(cè)結(jié)果為是時(shí),所述第一寫入單元將數(shù)據(jù)寫入所述空閑物理頁;
否則,第二寫入單元判斷所述物理塊鏈的長(zhǎng)度是否達(dá)到操作系統(tǒng)的最大限定長(zhǎng)度,當(dāng)判斷為是時(shí),所述第二寫入單元沿所述物理塊鏈從后向前開始查找空閑物理頁,并向所述空閑物理頁寫入數(shù)據(jù),當(dāng)判斷為否時(shí),所述第二寫入單元從所述物理塊鏈對(duì)應(yīng)的物理層中分配新的物理塊,并將所述新的物理塊加入所述物理塊鏈中。
10.根據(jù)權(quán)利要求9所述的控制系統(tǒng),其特征在于,所述第二寫入單元包括第二物理塊查找單元、第三分配單元和第四分配單元,
所述第二物理塊查找單元,用于檢測(cè)所述物理塊鏈對(duì)應(yīng)的物理層中是否有空閑物理塊,
當(dāng)檢測(cè)結(jié)果為是時(shí),所述第三分配單元從所述與物理塊鏈對(duì)應(yīng)的物理層中選擇空閑物理塊進(jìn)行分配,
當(dāng)檢測(cè)結(jié)果為否時(shí),所述第四分配單元對(duì)所述物理塊鏈進(jìn)行擦除回收以獲得空閑物理塊,對(duì)獲得的空閑物理塊進(jìn)行分配。
11.根據(jù)權(quán)利要求10所述的控制系統(tǒng),其特征在于,所述第二分配單元包括:
擦除單元,用于從所述至少兩個(gè)物理塊鏈中選擇最久未被更新的物理塊鏈,將該物理塊鏈中的數(shù)據(jù)進(jìn)行擦除,
復(fù)制單元,用于根據(jù)公式(1)選擇評(píng)定值最小的物理層,從所述評(píng)定值最小的物理層中獲取空閑物理塊,并將所述最久未被更新的物理塊鏈中的數(shù)據(jù)復(fù)制到所述空閑物理塊中。
12.根據(jù)權(quán)利要求11所述的控制系統(tǒng),其特征在于,所述物理塊鏈包括時(shí)間戳,所述時(shí)間戳用于記錄所述物理塊鏈的最近一次被修改的時(shí)間;
所述擦除單元具體用于根據(jù)時(shí)間戳獲得最久未被更新的物理塊鏈。