數(shù)據(jù)儲存裝置與快閃存儲器控制方法
【專利摘要】本發(fā)明提供一種數(shù)據(jù)儲存裝置與快閃存儲器控制方法。所述數(shù)據(jù)儲存裝置以快閃存儲器儲存數(shù)據(jù)、邏輯-物理位址映射表、及寫入保護標示表。寫入保護標示表標示各邏輯位址為寫入保護與否。數(shù)據(jù)儲存裝置的一控制器根據(jù)一主機發(fā)送的一動態(tài)容量管理要求所指示的一段空間釋出邏輯位址修改該邏輯-物理位址映射表,以斷開該段空間釋出邏輯位址原本的邏輯-物理位址對應關系。該控制器更將該寫入保護標示表中對應該段空間釋出邏輯位址的旗標切換為寫入保護狀態(tài)、且對應修正一壽命終了判斷參數(shù),以使得該快閃存儲器跳脫一壽命終了狀態(tài),允許數(shù)據(jù)寫入操作。
【專利說明】數(shù)據(jù)儲存裝置與快閃存儲器控制方法
【技術領域】
[0001]本發(fā)明有關于一種數(shù)據(jù)儲存裝置以及快閃存儲器控制方法。
【背景技術】
[0002]快閃存儲器(FLASH memory)為常見的一種非揮發(fā)性儲存技術,牽涉電性抹除與編程技術。
[0003]以非及閘型的快閃存儲器(NAND FLASH)為例,主要用作存儲卡(memorycard)、通用序列匯流排閃存裝置(USB flash device)、固態(tài)硬碟(SSD)…等產(chǎn)品。采多芯片封裝,將NAND Flash芯片與控制芯片包成一顆芯片者則稱為嵌入式快閃存儲器模組(eMMC)。
[0004]非及閘型的快閃存儲器的儲存陣列包括多個區(qū)塊(blocks),各區(qū)塊的空間更可劃分為多個“頁”(pages);作數(shù)據(jù)儲存用的區(qū)塊稱為數(shù)據(jù)區(qū)塊(data blocks),且另有閑置區(qū)塊(spare blocks)待配置使用。視使用狀況,儲存空間可能會有損毀發(fā)生。由于損壞的區(qū)塊需排除不再使用,閑置區(qū)塊的數(shù)量會隨之減少。一旦閑置區(qū)塊的數(shù)量低于一臨界量,整個快閃存儲器通常需切換成一壽命終了(End-of-Life,ELF)狀態(tài),只允許讀取而不能再寫入數(shù)據(jù)。
[0005]本領域一項重要課題即如何延長快閃存儲器的使用壽命,允許使用者正常讀寫之。
【發(fā)明內(nèi)容】
[0006]本發(fā)明揭露一種數(shù)據(jù)`儲存裝置以及一種快閃存儲器控制方法。
[0007]根據(jù)本發(fā)明一種實施方式所實現(xiàn)的數(shù)據(jù)儲存裝置包括:快閃存儲器以及控制器。快閃存儲器提供空間儲存數(shù)據(jù)、邏輯-物理位址映射表、以及寫入保護標示表。寫入保護標示表用于標示各邏輯位址為寫入保護與否??刂破鞲鶕?jù)主機發(fā)送的一動態(tài)容量管理要求所指示的一段空間釋出邏輯位址修改該邏輯-物理位址映射表,以斷開該段空間釋出邏輯位址原本的邏輯-物理位址對應關系。此外,該控制器更將該寫入保護標示表中對應該段空間釋出邏輯位址的旗標切換為寫入保護狀態(tài)、且對應修正一壽命終了判斷參數(shù),以使該快閃存儲器跳脫一壽命終了狀態(tài),允許數(shù)據(jù)寫入操作。
[0008]根據(jù)本發(fā)明一種實施方式所實現(xiàn)的快閃存儲器控制方法,包括:根據(jù)主機發(fā)送的一動態(tài)容量管理要求所指示的一段空間釋出邏輯位址修改一快閃存儲器所儲存的一邏輯-物理位址映射表,以斷開該段空間釋出邏輯位址原本的邏輯-物理位址對應關系;將該快閃存儲器所儲存的一寫入保護標示表中對應該段空間釋出邏輯位址的旗標切換為寫入保護狀態(tài),該寫入保護標示表以旗標標示各邏輯位址為寫入保護與否;以及,根據(jù)該寫入保護標示表的各旗標的狀態(tài)對應修正一壽命終了判斷參數(shù),以使該快閃存儲器跳脫一壽命終了狀態(tài),允許數(shù)據(jù)寫入操作。
[0009]為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附附圖,詳細說明如下?!緦@綀D】
【附圖說明】
[0010]圖1為一方塊圖,圖解有根據(jù)本發(fā)明一種實施方式所實現(xiàn)的一數(shù)據(jù)儲存裝置100 ;
[0011]圖2以流程圖圖解根據(jù)本發(fā)明一種實施方式所實現(xiàn)的一種快閃存儲器控制方法;且
[0012]圖3以流程圖圖解關于一復電狀況的快閃存儲器控制方法。
[0013]【主要元件符號說明】
[0014]100~數(shù)據(jù)儲存裝置;102~快閃存儲器;
[0015]104~控制器;106~隨機存取存儲器;
[0016]112~數(shù)據(jù)區(qū)塊;114~閑置區(qū)塊;
[0017]120~主機;
[0018]Blkl…BlkN…BlkN+l...BlkM~區(qū)塊;
[0019]H2F~邏輯-物理位址映射表;
[0020]H2F[H1:Hj]~邏輯_物理位址映射表H2F中對應邏輯位址Hi~Hj的欄位;
[0021 ] PoPlT斷電保護表PoffProt中對應 該段空間釋放邏輯位址HfHj的一旗標;
[0022]PoffProt~斷電保護表;
[0023]S202"接收一主機 120發(fā)送的動態(tài)容量管理要求;
[0024]S20r將斷電保護表PoffProt中對應該段空間釋出邏輯位址HfHj的一旗標PoPk設定為” 0N”狀態(tài);
[0025]S206~根據(jù)該段空間釋出邏輯位址HfHj修改邏輯-物理位址映射表H2F的欄位H2F[H1:Hj],以斷開該段空間釋出邏輯位址HfHj原本的邏輯-物理位址對應關系;
[0026]S208~將寫入保護標示表WriteProt中對應該段空間釋出邏輯位址HfHj的標簽WPGk設定為一寫入保護狀態(tài);
[0027]S21(T根據(jù)該寫入保護標示表WritePiOt中為寫入保護狀態(tài)的旗標數(shù)量修正上述壽命終了判斷參數(shù)E0L_para ;
[0028]S212~將斷電保護表PoffProt中對應該段空間釋出邏輯位址HfHj的旗標PoPk復原為” OFF”狀態(tài);
[0029]S302~掃描該斷電保護表PoffProt ;
[0030]S30r判定無未完成的動態(tài)容量管理要求存在,故等待主機120端其他控制信號;
[0031]S306~根據(jù)”0N”狀態(tài)的旗標所對應的邏輯位址重啟其動態(tài)容量管理要求(即執(zhí)行圖2的程序);
[0032]WPGlT寫入保護標示表WriteProt中對應該段空間釋出邏輯位址Hi~Hj的旗標;
[0033]WriteProt~寫入保護標示表。
【具體實施方式】
[0034]圖1為一方塊圖,圖解有根據(jù)本發(fā)明一種實施方式所實現(xiàn)的一數(shù)據(jù)儲存裝置100。
[0035]數(shù)據(jù)儲存裝置100包括:一快閃存儲器(Flash memory) 102、一控制器104以及一隨機存取存儲器(RAM) 106。快閃存儲器102的儲存空間可以區(qū)塊(block)劃分,使用過的區(qū)塊需整個區(qū)塊一同抹除(erase)后方能視為閑置空間待配置使用。如圖所示,用于數(shù)據(jù)儲存的區(qū)塊稱為數(shù)據(jù)區(qū)塊112(包括區(qū)塊Blkl…BlkN…BlkN+1...BlkM);尚待配置使用的區(qū)塊歸類成閑置區(qū)塊114 ;更有多個區(qū)塊用來儲存映射表一包括一邏輯-物理位址映射表H2F、一寫入保護標示表WriteProt以及一斷電保護表PoffProt。斷電保護表PoffProt為選用設計,使用方式稍后討論。邏輯-物理位址映射表H2F標示邏輯位址至物理空間的映射;一種實施方式以集合頁(superpage)為映射單位一各邏輯端索引會映射到物理端的一集合頁(superpage,占多頁(pages)空間)。寫入保護標示表WriteProt可以旗標(flags)標示各邏輯位址為寫入保護與否;在一種實施方式中,寫入保護標示表WriteProt各索引對應一寫入保護群組(writeprotect group,尺寸可達多個集合頁)??刂破?04用于控制該快閃存儲器102,且更可根據(jù)一主機120所發(fā)來的指令操作該快閃存儲器102。隨機存取存儲器106用于暫存該控制器104運算中所產(chǎn)生的數(shù)據(jù)一例如,關于上述表格H2F、WritePix)t或PofTPiOt的更新一控制器104先將更新內(nèi)容暫存于隨機存取存儲器106,再擇時一并更新至快閃存儲器102。
[0036]在一種實施方式中,數(shù)據(jù)儲存裝置100可為一嵌入式快閃存儲器模組(eMMC),主機120可為一行動通訊裝置或一平板電腦…等類似裝置。主機120的設計允許發(fā)出一動態(tài)容量管理(Dynamic Capacity Management)要求,其中指示有一段空間釋放邏輯位址Hi^Hj0如圖所示,該段空間釋放邏輯位址原本映射至區(qū)塊BlkN~BlkN+l,其內(nèi)容可為主機120端的系統(tǒng)信息(雖寫入該快閃存儲器102但無關實際欲以快閃存儲器102儲存的數(shù)據(jù))??刂破?04根據(jù)該段空間釋出邏輯位址HfHj修改該邏輯-物理位址映射表H2F,以斷開該段空間釋出邏輯位址HfHj原本的邏輯-物理位址對應關系(如圖所示,修正H2F中索引HfHj的內(nèi)容H2F[H1:Hj])。如此一來,區(qū)塊BlkN~BlkN+1不與任何邏輯位址相關,可歸類為閑置區(qū)塊114。此外,該控制器104更將該寫入保護標示表WriteProt中對應該段空間釋出邏輯位址HfHj的旗標WPGk切換為寫入保護狀態(tài)。如此一來,該段空間釋放邏輯位址Hf Hj所對應的系統(tǒng)信息為寫入保護,無須再于該快閃存儲器102規(guī)劃空間儲存之,可更節(jié)省使用該快閃存儲器102的儲存空間。隨著以上設計,控制器104得以一并修正一壽命終了判斷參數(shù)(以下標號為E0`L_para),使該快閃存儲器102跳脫一壽命終了狀態(tài),允許數(shù)據(jù)寫入操作。
[0037]在一種實施方式中,該壽命終了判斷參數(shù)E0L_para正相關于該快閃存儲器102中可用的閑置區(qū)塊數(shù)量,而該控制器104根據(jù)該寫入保護標示表WritePiOt中處于上述寫入保護狀態(tài)的旗標的數(shù)量對應修正該壽命終了判斷參數(shù)E0L_para。舉例來說,壽命終了判斷參數(shù)E0L_para可代表該快閃存儲器102中閑置且非損壞的區(qū)塊數(shù)量。若該寫入保護標示表WriteProt的旗標狀況掃描結果顯示有數(shù)量Release_Blk的區(qū)塊經(jīng)由本案所揭露的技術釋放為閑置區(qū)塊,則舊有的E0L_para數(shù)值加上區(qū)塊數(shù)量ReleaSe_Blk即可用來作為新的壽命終了判斷參數(shù)E0L_para。若該壽命終了判斷參數(shù)E0L_para低于一臨界量,控制器104設定該快閃存儲器102為壽命終了狀態(tài);反之,控制器104設定該快閃存儲器102不為壽命終了狀態(tài),允許寫入操作。經(jīng)由本案所揭露的技術所釋放出來的區(qū)塊數(shù)量ReleaSe_Blk即用來提升該壽命終了判斷參數(shù)E0L_para,使之超越該臨界量。如此一來,該快閃存儲器102得以跳脫該壽命終了狀態(tài),允許數(shù)據(jù)寫入操作。特別聲明之,區(qū)塊數(shù)量ReleaSe_Blk不限定由掃描該寫入保護標示表WriteProt的旗標狀況取得。區(qū)塊數(shù)量Release_Blk可常態(tài)儲存在快閃存儲器102中,凡寫入保護標示表WriteProt有新設定為“寫入保護狀態(tài)”的旗標即遞增其數(shù)值。
[0038]在一種實施方式中,該邏輯-物理位址映射表H2F各欄位儲存一物理位址指標,指示一物理區(qū)塊位址以及一物理頁編號。為了斷開一段空間釋出邏輯位址原本的邏輯-物理位址對應關系,控制器104可將該邏輯-物理位址映射表H2F中該段空間釋出邏輯位址所對應的物理位址指標皆填入數(shù)值零,或者,控制器104可修正該邏輯-物理位址映射表H2F中該段空間釋出邏輯位址所對應的物理位址指標,使之全指向一無效物理空間。
[0039]此段落討論選用的上述斷電保護表PoffProt。斷電保護表PoffProt可以旗標標示各邏輯位址是否有未完成的動態(tài)容量管理要求。參考圖1,控制器104接收到該動態(tài)容量管理要求后即可將該斷電保護表PoffProt中對應該段空間釋放邏輯位址HfHj的一旗標PoPk設定為” 0N”狀態(tài),直至映射表H2F與WriteProt以及壽命終了判斷參數(shù)E0L_para更新完畢后方將該旗標PoPk切換為”0FF”狀態(tài)。如此一來,若該動態(tài)容量管理要求執(zhí)行過程中有斷電發(fā)生,控制器104只要在復電時檢查該斷電保護表PoffProt,即可發(fā)現(xiàn)旗標PoPk仍為” 0N”狀態(tài),因而得以將中斷的動態(tài)容量管理程序重新啟動。
[0040]圖2以流程圖圖解根據(jù)本發(fā)明一種實施方式所實現(xiàn)的一種快閃存儲器控制方法。所述控制方法可以固件方式燒錄于圖1的控制器104的只讀存儲器中、或程序化于圖1的快閃存儲器102中,由控制器104內(nèi)的運算單元執(zhí)行實現(xiàn);或者,任何應用所述控制方法控制一快閃存儲器的技術也屬于本案所欲保護范圍。以下為了說明方便,搭配圖1說明各步驟。
[0041]步驟S202接收主機120發(fā)送的動態(tài)容量管理要求。該動態(tài)容量管理要求指示一段空間釋出邏輯位址HfHj,所對應的是該主機120的系統(tǒng)信息。步驟S204將斷電保護表PoffProt中對應該段空間釋出邏輯位址Hi?Hj的一旗標PoPk設定為”0N”狀態(tài)。步驟S206根據(jù)該段空間釋出邏輯位址HfHj修改該邏輯-物理位址映射表H2F的欄位H2F[H1:Hj],以斷開該段空間釋出邏輯位址HfHj原本的邏輯-物理位址對應關系。步驟S208則是將寫入保護標示表WriteProt中對應該段空間釋出邏輯位址Hf Hj的標簽WPGk設定為一寫入保護狀態(tài)。步驟S210根據(jù)該寫入保護標示表WritePiOt中為寫入保護狀態(tài)的旗標數(shù)量修正上述壽命終了判斷參數(shù)E0L_para。步驟S212將斷電保護表PoffProt中對應該段空間釋出邏輯位址HfHj的旗標PoPk復原為”0FF”狀態(tài)。通過以上壽命終了判斷參數(shù)E0L_para修正技術,快閃存儲器102得以脫離壽命終了狀態(tài),允許寫入操作。步驟S204以及S212所揭露的斷電保護設計(可視使用者需求選用)可更確保裝置的可靠度。
[0042]圖3以流程圖圖解關于一復電狀況的快閃存儲器控制方法。步驟S302掃描該斷電保護表PoffProt。若無”O(jiān)N”狀態(tài)的旗標存在,流程進入步驟S304,由于無未完成的動態(tài)容量管理要求存在,所述控制程序?qū)⒌却鳈C120端其他控制信號。若偵測到”0N”狀態(tài)的旗標,流程則進入步驟S306,根據(jù)” 0N”狀態(tài)的旗標所對應的邏輯位址重啟其動態(tài)容量管理要求(即執(zhí)行圖2的程序)。
[0043]雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明,任何熟悉此項技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當可做些許更動與潤飾,因此本發(fā)明的保護范圍當視后附的權利要求所界定者為準。
【權利要求】
1.一種數(shù)據(jù)儲存裝置,包括: 一快閃存儲器,提供空間儲存數(shù)據(jù)以及一邏輯-物理位址映射表以及一寫入保護標示表,該寫入保護標示表標示各邏輯位址為寫入保護與否;以及 一控制器,根據(jù)一主機發(fā)送的一動態(tài)容量管理要求所指示的一段空間釋出邏輯位址修改該邏輯-物理位址映射表,以斷開該段空間釋出邏輯位址原本的邏輯-物理位址對應關系,且更將該寫入保護標示表中對應該段空間釋出邏輯位址的旗標切換為寫入保護狀態(tài)、且對應修正一壽命終了判斷參數(shù)。
2.如權利要求1所述的數(shù)據(jù)儲存裝置,其特征在于,該壽命終了判斷參數(shù)正相關于該快閃存儲器中可用的閑置區(qū)塊數(shù)量,而該控制器根據(jù)該寫入保護標示表中處于上述寫入保護狀態(tài)的旗標的數(shù)量對應修正該壽命終了判斷參數(shù)。
3.如權利要求2所述的數(shù)據(jù)儲存裝置,其特征在于,該控制器根據(jù)該壽命終了判斷參數(shù)是否低于一臨界量設定該快閃存儲器是否為該壽命終了狀態(tài)。
4.如權利要求1所述的數(shù)據(jù)儲存裝置,其特征在于,于斷開該段空間釋出邏輯位址原本的邏輯-物理位址對應關系時,該控制器將該邏輯-物理位址映射表中該段空間釋出邏輯位址所對應的物理位址指標皆填入數(shù)值零。
5.如權利要求1所述的數(shù)據(jù)儲存裝置,其特征在于,于斷開該段空間釋出邏輯位址原本的邏輯-物理位址對應關系時,該控制器修正該邏輯-物理位址映射表中該段空間釋出邏輯位址所對應的物理位址指標皆指向一無效物理空間。
6.如權利要求1所述的數(shù)據(jù)儲存裝置,其特征在于,該控制器更于該快閃存儲器儲存一斷電保護表,標示各邏輯位址是否有未完成的動態(tài)容量管理要求。
7.如權利要求6所述的數(shù)據(jù)儲存裝置,其特征在于,該控制器于復電時包括檢查該斷電保護表,使未完成的動態(tài)容量管理要求重新啟動。`
8.—種快閃存儲器控制方法,包括: 根據(jù)一主機發(fā)送的一動態(tài)容量管理要求所指示的一段空間釋出邏輯位址修改一快閃存儲器所儲存的一邏輯-物理位址映射表,以斷開該段空間釋出邏輯位址原本的邏輯-物理位址對應關系; 將該快閃存儲器所儲存的一寫入保護標示表中對應該段空間釋出邏輯位址的旗標切換為寫入保護狀態(tài),該寫入保護標示表以旗標標示各邏輯位址為寫入保護與否;以及 根據(jù)該寫入保護標示表的各旗標的狀態(tài)對應修正一壽命終了判斷參數(shù)。
9.如權利要求8所述的快閃存儲器控制方法,其特征在于,根據(jù)該寫入保護標示表中處于上述寫入保護狀態(tài)的旗標的數(shù)量對應修正該壽命終了判斷參數(shù),該壽命終了判斷參數(shù)正相關于該快閃存儲器中可用的閑置區(qū)塊數(shù)量。
10.如權利要求9所述的快閃存儲器控制方法,其特征在于,更根據(jù)該壽命終了判斷參數(shù)是否低于一臨界量設定該快閃存儲器是否為該壽命終了狀態(tài)。
11.如權利要求8所述的快閃存儲器控制方法,其特征在于,于斷開該段空間釋出邏輯位址原本的邏輯-物理位址對應關系時將該邏輯-物理位址映射表中該段空間釋出邏輯位址所對應的物理位址指標皆填入數(shù)值零。
12.如權利要求8所述的快閃存儲器控制方法,其特征在于,于斷開該段空間釋出邏輯位址原本的邏輯-物理位址對應關系時修正該邏輯-物理位址映射表中該段空間釋出邏輯位址所對應的物理位址指標皆指向一無效物理空間。
13.如權利要求8所述的快閃存儲器控制方法,其特征在于,更于該快閃存儲器儲存一斷電保護表,標示各邏輯位址是否有未完成的動態(tài)容量管理要求。
14.如權利要求13所述的快閃存儲器控制方法,其特征在于,更于復電時檢查該斷電保護表使未完成的動態(tài)容量`管理要求重新啟動。
【文檔編號】G06F12/02GK103678144SQ201210428040
【公開日】2014年3月26日 申請日期:2012年10月31日 優(yōu)先權日:2012年9月5日
【發(fā)明者】鄭張鎧 申請人:慧榮科技股份有限公司