1.一種降低混合映射算法中映射表內(nèi)存資源占用的方法,其特征在于包括,包括如下步驟:
步驟一:預(yù)先定義對(duì)應(yīng)于NAND Flash的數(shù)據(jù)結(jié)構(gòu)CPMT[N]及數(shù)據(jù)結(jié)構(gòu)LatestW[M],存儲(chǔ)項(xiàng)字節(jié)數(shù)分別為X、Y, 上述兩個(gè)數(shù)據(jù)結(jié)構(gòu)均存儲(chǔ)在內(nèi)存中;N、M、X、Y為預(yù)先定義好的整數(shù);所述CPMT[N]用于記錄物理塊內(nèi)物理頁(yè)邏輯地址到物理地址的映射信息;LatestW[M]用于記錄NAND Flash所有物理塊最后一次被寫的物理頁(yè)頁(yè)號(hào)信息;
步驟二:將NAND Flash每個(gè)物理頁(yè)的存儲(chǔ)空間分成兩個(gè)部分,一部分用于存儲(chǔ)用戶數(shù)據(jù),一部分用于存儲(chǔ)CPMT[N],每個(gè)物理塊最后一次寫入的物理頁(yè)上的CPMT[N]保存該物理塊最新的物理頁(yè)映射信息;
步驟三:對(duì)NAND Flash進(jìn)行讀操作,包括如下步驟:
步驟3.1 獲取用戶數(shù)據(jù);
步驟3.2 根據(jù)主機(jī)下發(fā)的邏輯地址計(jì)算對(duì)應(yīng)物理塊的塊號(hào)Block_Num;
步驟3.3 根據(jù)該Block_Num查詢LatestW[M]數(shù)據(jù)結(jié)構(gòu),得到該物理塊的最后一次寫入的數(shù)據(jù)頁(yè)號(hào)LatestW_Page_Num;
步驟3.3 讀取LatestW_Page_Num頁(yè)號(hào)數(shù)據(jù),獲得最新的CPMT[N] ,分配新的物理頁(yè),頁(yè)號(hào)為L(zhǎng)atestW_Page_Num+1;
步驟3.5 更新LatestW[M]數(shù)據(jù)結(jié)構(gòu),記錄最后操作的物理頁(yè)的頁(yè)號(hào),更新CPMT[N]數(shù)據(jù)結(jié)構(gòu),記錄最新的邏輯地址到物理地址映射信息;
步驟3.6 向新的物理頁(yè)寫入用戶數(shù)據(jù),同時(shí)寫入的CPMT[N]數(shù)據(jù)結(jié)構(gòu)到該物理頁(yè)中。
2. 如權(quán)利要求 1所述的降低混合映射算法中映射表內(nèi)存資源占用的方法,其特征在于還包括讀操作流程,所述流程包括如下步驟:
步驟1:根據(jù)主機(jī)下發(fā)的邏輯地址計(jì)算對(duì)應(yīng)物理塊的塊號(hào)Block_Num;
步驟2:根據(jù)Block_Num查詢LatestW[M]數(shù)據(jù)結(jié)構(gòu),得到該物理塊的最后一次寫入的數(shù)據(jù)頁(yè)號(hào)LatestW_Page_Num;
步驟3:讀取LatestW_Page_Num頁(yè)號(hào)數(shù)據(jù),獲取最新的CPMT[N];
步驟4:根據(jù)CPMT[N]獲取主機(jī)下發(fā)的邏輯地址對(duì)應(yīng)的實(shí)際物理頁(yè)的物理地址Page_Addr;
步驟5:讀取Page_Addr對(duì)應(yīng)物理頁(yè),得到主機(jī)所需的數(shù)據(jù)。
3.如權(quán)利要求1所述的降低混合映射算法中映射表內(nèi)存資源占用的方法,其特征在于,N等于物理頁(yè)頁(yè)數(shù)。
4.如權(quán)利要求1或2或3所述的降低混合映射算法中映射表內(nèi)存資源占用的方法,其特征在于,M等于物理塊塊數(shù)。
5. 如權(quán)利要求1所述的降低混合映射算法中映射表內(nèi)存資源占用的方法,其特征在于,CPMT[N] 的存儲(chǔ)項(xiàng)字節(jié)數(shù)為4。
6.如權(quán)利要求1所述的降低混合映射算法中映射表內(nèi)存資源占用的方法,其特征在于,LatestW[M] 的存儲(chǔ)項(xiàng)字節(jié)數(shù)為4。
7.如權(quán)利要求1或2或3所述的降低混合映射算法中映射表內(nèi)存資源占用的方法,其特征在于,NAND Flash物理頁(yè)內(nèi)用于存儲(chǔ)用戶數(shù)據(jù)的空間大小為該物理頁(yè)的總存儲(chǔ)字節(jié)數(shù)減去4*N的差值。