欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)保護(hù)方法、存儲器控制電路單元及存儲器存儲裝置與流程

文檔序號:11546360閱讀:220來源:國知局
本發(fā)明涉及一種數(shù)據(jù)保護(hù)方法,尤其涉及一種可復(fù)寫式非易失性存儲器模塊的數(shù)據(jù)保護(hù)方法、存儲器控制電路單元及存儲器存儲裝置。
背景技術(shù)
::數(shù)碼相機(jī)、移動電話與mp3播放器在這幾年來的成長十分迅速,使得消費(fèi)者對存儲媒體的需求也急速增加。由于可復(fù)寫式非易失性存儲器模塊(例如,快閃存儲器)具有數(shù)據(jù)非易失性、省電、體積小,以及無機(jī)械結(jié)構(gòu)等特性,所以非常適合內(nèi)置于上述所舉例的各種可攜式多媒體裝置中。一般來說,在將數(shù)據(jù)程序化至可復(fù)寫式非易失性存儲器模塊時(shí),倘若在程序化快結(jié)束時(shí)存儲器存儲裝置發(fā)生斷電,可復(fù)寫式非易失性存儲器模塊將呈現(xiàn)不穩(wěn)定狀態(tài)。而當(dāng)存儲器存儲裝置被致能后,因?yàn)榭蓮?fù)寫式非易失性存儲器模塊的不穩(wěn)定狀態(tài),可能導(dǎo)致在存儲器存儲裝置被致能后的初始化作業(yè)期間,斷電前所程序化的數(shù)據(jù)可以被正確地讀取。但在初始化作業(yè)逾時(shí)之后的實(shí)際運(yùn)作時(shí),斷電前所程序化的數(shù)據(jù)卻發(fā)生讀取錯誤的情況?;诖?,如何避免因可復(fù)寫式非易失性存儲器模塊的不穩(wěn)定狀態(tài)而造成數(shù)據(jù)讀取錯誤,為此領(lǐng)域技術(shù)人員所關(guān)心的議題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供一種數(shù)據(jù)保護(hù)方法、存儲器控制電路單元及存儲器存儲裝置,可避免從不穩(wěn)定的實(shí)體程序化單元中讀取到不可校正的數(shù)據(jù)。本發(fā)明的數(shù)據(jù)保護(hù)方法用于存儲器存儲裝置。存儲器存儲裝置具有可復(fù)寫式非易失性存儲器模塊,可復(fù)寫式非易失性存儲器模塊包括多個(gè)實(shí)體抹除單元,每一實(shí)體抹除單元包括多個(gè)實(shí)體程序化單元。本數(shù)據(jù)保護(hù)方法包括在存儲器存儲裝置被致能后的初始化作業(yè)期間,反復(fù)從實(shí)體抹除單元中的第一實(shí)體抹除單元的第一實(shí)體程序化單元讀取數(shù)據(jù),其中第一實(shí)體程序化單元為 存儲器存儲裝置斷電前最后被程序化的實(shí)體程序化單元,并且第一實(shí)體程序化單元的數(shù)據(jù)屬于一邏輯程序化單元。本數(shù)據(jù)保護(hù)方法也包括判斷每次所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目是否大于錯誤比特?cái)?shù)門檻值。倘若錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,并且反復(fù)讀取的次數(shù)大于預(yù)定次數(shù),將第一實(shí)體程序化單元與所述邏輯程序化單元的映射關(guān)系記錄在邏輯-實(shí)體映射表中。在本發(fā)明的一范例實(shí)施例中,其中倘若錯誤比特?cái)?shù)目大于錯誤比特?cái)?shù)門檻值,將第一實(shí)體程序化單元的數(shù)據(jù)標(biāo)記為無效數(shù)據(jù)。在本發(fā)明的一范例實(shí)施例中,上述的數(shù)據(jù)保護(hù)方法還包括當(dāng)預(yù)定次數(shù)為一時(shí),倘若錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值時(shí),不將第一實(shí)體程序化單元與邏輯程序化單元的映射關(guān)系記錄在邏輯-實(shí)體映射表中。再者,校正所讀取的數(shù)據(jù),將校正后的數(shù)據(jù)存儲至實(shí)體抹除單元中的第二實(shí)體抹除單元的第二實(shí)體程序化單元。此外,將第二實(shí)體程序化單元與所述邏輯程序化單元的映射關(guān)系記錄在邏輯-實(shí)體映射表中。在本發(fā)明的一范例實(shí)施例中,上述的數(shù)據(jù)保護(hù)方法還包括接收指示讀取所述邏輯程序化單元的讀取指令,并且根據(jù)邏輯-實(shí)體映射表讀取第二實(shí)體程序化單元中的數(shù)據(jù)以回應(yīng)讀取指令。在本發(fā)明的一范例實(shí)施例中,上述的讀取指令是在初始化作業(yè)逾時(shí)之后至接收到第一個(gè)寫入指令之前所接收。在本發(fā)明的一范例實(shí)施例中,上述的將所讀取數(shù)據(jù)存儲至實(shí)體抹除單元中的第二實(shí)體抹除單元的第二實(shí)體程序化單元的步驟還包括將第一實(shí)體抹除單元的至少一第三實(shí)體程序化單元的數(shù)據(jù)存儲至第二實(shí)體抹除單元中,其中至少一第三實(shí)體程序化單元與第一實(shí)體程序化單元是由相同的多個(gè)記憶胞所組成。在本發(fā)明的一范例實(shí)施例中,上述的將校正后的數(shù)據(jù)存儲至實(shí)體抹除單元中的第二實(shí)體抹除單元的第二實(shí)體程序化單元的步驟包括使用單層記憶胞模式、下實(shí)體程序化模式、混合程序化模式或少層記憶胞模式將校正后的數(shù)據(jù)程序化至實(shí)體抹除單元中的第二實(shí)體抹除單元的第二實(shí)體程序化單元。本發(fā)明的存儲器控制電路單元,用于控制可復(fù)寫式非易失性存儲器模塊??蓮?fù)寫式非易失性存儲器模塊包括多個(gè)實(shí)體抹除單元,每一實(shí)體抹除單元包括多個(gè)實(shí)體程序化單元。本存儲器控制電路單元包括主機(jī)接口、存儲器接口 及存儲器管理電路。主機(jī)接口用以電性連接至主機(jī)系統(tǒng)。存儲器接口,用以電性連接至可復(fù)寫式非易失性存儲器模塊。存儲器管理電路電性連接至主機(jī)接口與存儲器接口。在存儲器存儲裝置被致能后的初始化作業(yè)期間,存儲器管理電路用以反復(fù)從實(shí)體抹除單元中的第一實(shí)體抹除單元的第一實(shí)體程序化單元讀取數(shù)據(jù),其中第一實(shí)體程序化單元為在存儲器存儲裝置斷電前最后被程序化的實(shí)體程序化單元,并且第一實(shí)體程序化單元的數(shù)據(jù)屬于邏輯程序化單元。再者,存儲器管理電路還用以判斷每次所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目是否大于錯誤比特?cái)?shù)門檻值。倘若錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,并且反復(fù)讀取的次數(shù)大于預(yù)定次數(shù),存儲器管理電路還用以將第一實(shí)體程序化單元與所述邏輯程序化單元的映射關(guān)系記錄在邏輯-實(shí)體映射表中。在本發(fā)明的一范例實(shí)施例中,倘若錯誤比特?cái)?shù)目大于錯誤比特?cái)?shù)門檻值,上述的存儲器管理電路還用以將第一實(shí)體程序化單元的數(shù)據(jù)標(biāo)記為無效數(shù)據(jù)。在本發(fā)明的一范例實(shí)施例中,當(dāng)預(yù)定次數(shù)為一時(shí),倘若錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值時(shí),上述的存儲器管理電路不將第一實(shí)體程序化單元與所述邏輯程序化單元的映射關(guān)系記錄在邏輯-實(shí)體映射表中。再者,上述的存儲器管理電路還用以校正所讀取的數(shù)據(jù),將校正后的數(shù)據(jù)存儲至實(shí)體抹除單元中的第二實(shí)體抹除單元的第二實(shí)體程序化單元。此外,上述的存儲器管理電路還用以將第二實(shí)體程序化單元與所述邏輯程序化單元的映射關(guān)系記錄在邏輯-實(shí)體映射表中。在本發(fā)明的一范例實(shí)施例中,上述的存儲器管理電路還用以接收指示讀取所述邏輯程序化單元的讀取指令,并且根據(jù)邏輯-實(shí)體映射表讀取第二實(shí)體程序化單元中的數(shù)據(jù)以回應(yīng)讀取指令。在本發(fā)明的一范例實(shí)施例中,上述的存儲器管理電路是在初始化作業(yè)逾時(shí)之后至接收到第一個(gè)寫入指令之前接收到讀取指令。在本發(fā)明的一范例實(shí)施例中,倘若錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,上述的存儲器管理電路還用以將第一實(shí)體抹除單元的至少一第三實(shí)體程序化單元的數(shù)據(jù)存儲至第二實(shí)體抹除單元中,其中至少一第三實(shí)體程序化單元與第一實(shí)體程序化單元是由相同的多個(gè)記憶胞所組成。在本發(fā)明的一范例實(shí)施例中,上述的存儲器管理電路還用以使用單層記 憶胞模式、下實(shí)體程序化模式、混合程序化模式或少層記憶胞模式將校正后的數(shù)據(jù)程序化至實(shí)體抹除單元中的第二實(shí)體抹除單元的第二實(shí)體程序化單元。本發(fā)明的存儲器存儲裝置包括連接接口單元、可復(fù)寫式非易失性存儲器模塊及存儲器控制電路單元。連接接口單元用以電性連接至主機(jī)系統(tǒng)??蓮?fù)寫式非易失性存儲器模塊包括多個(gè)實(shí)體抹除單元。存儲器控制電路單元電性連接至連接接口單元與可復(fù)寫式非易失性存儲器模塊。在存儲器存儲裝置被致能后的初始化作業(yè)期間,存儲器控制電路單元用以反復(fù)從實(shí)體抹除單元中的第一實(shí)體抹除單元的第一實(shí)體程序化單元讀取數(shù)據(jù),其中第一實(shí)體程序化單元為在存儲器存儲裝置斷電前最后被程序化的實(shí)體程序化單元,并且第一實(shí)體程序化單元的數(shù)據(jù)屬于一邏輯程序化單元。再者,存儲器控制電路單元還用以判斷每次所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目是否大于錯誤比特?cái)?shù)門檻值。倘若錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,并且反復(fù)讀取的次數(shù)大于預(yù)定次數(shù),存儲器控制電路單元還用以將第一實(shí)體程序化單元與所述邏輯程序化單元的映射關(guān)系記錄在邏輯-實(shí)體映射表中。在本發(fā)明的一范例實(shí)施例中,倘若錯誤比特?cái)?shù)目大于錯誤比特?cái)?shù)門檻值,上述的存儲器控制電路單元還用以將第一實(shí)體程序化單元的數(shù)據(jù)標(biāo)記為無效數(shù)據(jù)。在本發(fā)明的一范例實(shí)施例中,當(dāng)預(yù)定次數(shù)為一時(shí),倘若錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值時(shí),上述的存儲器控制電路單元不將第一實(shí)體程序化單元與所述邏輯程序化單元的映射關(guān)系記錄在邏輯-實(shí)體映射表中。再者,上述的存儲器控制電路單元還用以校正所讀取的數(shù)據(jù),將校正后的數(shù)據(jù)存儲至實(shí)體抹除單元中的第二實(shí)體抹除單元的第二實(shí)體程序化單元。此外,上述的存儲器控制電路單元還用以將第二實(shí)體程序化單元與所述邏輯程序化單元的映射關(guān)系記錄在邏輯-實(shí)體映射表中。在本發(fā)明的一范例實(shí)施例中,上述的存儲器控制電路單元還用以接收指示讀取所述邏輯程序化單元的讀取指令,并且根據(jù)邏輯-實(shí)體映射表讀取第二實(shí)體程序化單元中的數(shù)據(jù)以回應(yīng)讀取指令。在本發(fā)明的一范例實(shí)施例中,上述的存儲器控制電路單元是在初始化作業(yè)逾時(shí)之后至接收到第一個(gè)寫入指令之前接收到讀取指令。在本發(fā)明的一范例實(shí)施例中,倘若錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,上述的存儲器控制電路單元還用以將第一實(shí)體抹除單元的至少一第三實(shí)體程序化單元的數(shù)據(jù)存儲至第二實(shí)體抹除單元中,其中至少一第三實(shí)體程序化單元與第一實(shí)體程序化單元是由相同的多個(gè)記憶胞所組成。在本發(fā)明的一范例實(shí)施例中,上述的存儲器控制電路單元還用以使用單層記憶胞模式、下實(shí)體程序化模式、混合程序化模式或少層記憶胞模式將校正后的數(shù)據(jù)程序化至實(shí)體抹除單元中的第二實(shí)體抹除單元的第二實(shí)體程序化單元?;谏鲜觯稍诖鎯ζ鞔鎯ρb置被致能后的初始化作業(yè)期間,針對可能處于不穩(wěn)定狀態(tài)的實(shí)體程序化單元反復(fù)執(zhí)行讀取操作以及判斷所讀取的數(shù)據(jù)是否為可校正數(shù)據(jù)。并且,將所讀取到的可校正數(shù)據(jù)存儲至另外的實(shí)體抹除單元中。由此可避免從處于不穩(wěn)定狀態(tài)的實(shí)體程序化單元中讀取到不可校正數(shù)據(jù),確保數(shù)據(jù)的可靠度與正確性。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合附圖作詳細(xì)說明如下。附圖說明圖1是根據(jù)一范例實(shí)施例所示出的主機(jī)系統(tǒng)、存儲器存儲裝置及輸入/輸出(i/o)裝置的示意圖;圖2是根據(jù)另一范例實(shí)施例所示出的主機(jī)系統(tǒng)、存儲器存儲裝置及輸入/輸出(i/o)裝置的示意圖;圖3是根據(jù)另一范例實(shí)施例所示出的主機(jī)系統(tǒng)與存儲器存儲裝置的示意圖;圖4是根據(jù)一范例實(shí)施例所示出的主機(jī)系統(tǒng)與存儲器存儲裝置的概要方塊圖;圖5是根據(jù)一范例實(shí)施例所示出的存儲器控制電路單元的概要方塊圖;圖6與圖7是根據(jù)一范例實(shí)施例所示出的管理實(shí)體抹除單元的范例示意圖;圖8a是根據(jù)一范例實(shí)施例所示出的在存儲器存儲裝置被斷電前最后被程序化的實(shí)體抹除單元的示意圖;圖8b是根據(jù)一范例實(shí)施例所示出的對斷電前最后被程序化的實(shí)體程序化單元反復(fù)執(zhí)行讀取操作的示意圖;圖8c是根據(jù)另一范例實(shí)施例所示出的對斷電前最后被程序化的實(shí)體程序化單元反復(fù)執(zhí)行讀取操作的示意圖;圖9是根據(jù)另一范例實(shí)施例所示出的將斷電前最后被程序化的實(shí)體程序化單元的數(shù)據(jù)存儲至另一實(shí)體抹除單元的示意圖;圖10是根據(jù)一范例實(shí)施例所示出的數(shù)據(jù)保護(hù)方法的流程圖;圖11是根據(jù)另一范例實(shí)施例所示出的數(shù)據(jù)保護(hù)方法的流程圖。附圖標(biāo)記說明:10:存儲器存儲裝置;11:主機(jī)系統(tǒng);12:輸入/輸出(i/o)裝置;110:系統(tǒng)總線;111:處理器;112:隨機(jī)存取存儲器(ram);113:只讀存儲器(rom);114:數(shù)據(jù)傳輸接口;20:主機(jī)板;201:隨身盤;202:記憶卡;203:固態(tài)硬盤;204:無線存儲器存儲裝置;205:全球定位系統(tǒng)模塊;206:網(wǎng)路接口卡;207:無線傳輸裝置;208:鍵盤;209:熒幕;210:喇叭;30:存儲器存儲裝置;31:主機(jī)系統(tǒng);32:sd卡;33:cf卡;34:嵌入式存儲裝置;341:嵌入式多媒體卡;342:嵌入式多芯片封裝存儲裝置;402:連接接口單元;404:存儲器控制電路單元;406:可復(fù)寫式非易失性存儲器模塊;410(0)~410(n)、820、920、930:實(shí)體抹除單元;502:存儲器管理電路;504:主機(jī)接口;506:存儲器接口;508:緩沖存儲器;510:電源管理電路;512:錯誤檢查與校正電路;602:數(shù)據(jù)區(qū);604:閑置區(qū);606:系統(tǒng)區(qū);608:取代區(qū);lba(0)~lba(h):邏輯單元;lz(0)~lz(m):邏輯區(qū)域;801:數(shù)據(jù);810:邏輯抹除單元;810(0)~810(n)、910(e):邏輯程序化單元;820(0)~820(n)、920(0)~920(n)、930(0)~930(n):實(shí)體程序化單元;840、940:邏輯-實(shí)體映射表;data_1、data_2、data_3、data_5:可校正數(shù)據(jù);data_4:不可校正數(shù)據(jù);s1001:從第一實(shí)體抹除單元的第一實(shí)體程序化單元讀取數(shù)據(jù),其中第一實(shí)體程序化單元為存儲器存儲裝置斷電前最后被程序化的實(shí)體程序化單元的 步驟;s1003:計(jì)算對應(yīng)第一實(shí)體程序化單元的讀取次數(shù)的步驟;s1005:判斷讀取次數(shù)是否大于預(yù)定次數(shù)的步驟;s1007:判斷所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目是否大于錯誤比特?cái)?shù)門檻值的步驟;s1009:根據(jù)第一實(shí)體程序化單元來更新邏輯-實(shí)體映射表的步驟;s1101:從第一實(shí)體抹除單元的第一實(shí)體程序化單元讀取數(shù)據(jù),其中第一實(shí)體程序化單元為存儲器存儲裝置斷電前最后被程序化的實(shí)體程序化單元的步驟;s1103:判斷所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目是否大于錯誤比特?cái)?shù)門檻值的步驟;s1105:校正所讀取的數(shù)據(jù),將校正后的數(shù)據(jù)存儲至第二實(shí)體抹除單元的第二實(shí)體程序化單元,并且根據(jù)第二實(shí)體程序化單元來更新邏輯-實(shí)體映射表的步驟。具體實(shí)施方式一般而言,存儲器存儲裝置(也稱,存儲器存儲系統(tǒng))包括可復(fù)寫式非易失性存儲器模塊與控制器(也稱,控制電路單元)。通常存儲器存儲裝置是與主機(jī)系統(tǒng)一起使用,以使主機(jī)系統(tǒng)可將數(shù)據(jù)寫入至存儲器存儲裝置或從存儲器存儲裝置中讀取數(shù)據(jù)。圖1是根據(jù)一范例實(shí)施例所示出的主機(jī)系統(tǒng)、存儲器存儲裝置及輸入/輸出(i/o)裝置的示意圖,且圖2是根據(jù)另一范例實(shí)施例所示出的主機(jī)系統(tǒng)、存儲器存儲裝置及輸入/輸出(i/o)裝置的示意圖。請參照圖1與圖2,主機(jī)系統(tǒng)11一般包括處理器111、隨機(jī)存取存儲器(randomaccessmemory,ram)112、只讀存儲器(readonlymemory,rom)113及數(shù)據(jù)傳輸接口114。處理器111、隨機(jī)存取存儲器112、只讀存儲器113及數(shù)據(jù)傳輸接口114皆電性連接至系統(tǒng)總線(systembus)110。在本范例實(shí)施例中,主機(jī)系統(tǒng)11是通過數(shù)據(jù)傳輸接口114與存儲器存儲裝置10電性連接。例如,主機(jī)系統(tǒng)11可經(jīng)由數(shù)據(jù)傳輸接口114將數(shù)據(jù)寫入至存儲器存儲裝置10或從存儲器存儲裝置10中讀取數(shù)據(jù)。此外,主機(jī)系統(tǒng) 11是通過系統(tǒng)總線110與i/o裝置12電性連接。例如,主機(jī)系統(tǒng)11可經(jīng)由系統(tǒng)總線110將輸出信號傳送至i/o裝置12或從i/o裝置12接收輸入信號。在本范例實(shí)施例中,處理器111、隨機(jī)存取存儲器112、只讀存儲器113及數(shù)據(jù)傳輸接口114是可設(shè)置在主機(jī)系統(tǒng)11的主機(jī)板20上。數(shù)據(jù)傳輸接口114的數(shù)目可以是一或多個(gè)。通過數(shù)據(jù)傳輸接口114,主機(jī)板20可以經(jīng)由有線或無線方式電性連接至存儲器存儲裝置10。存儲器存儲裝置10可例如是隨身盤201、記憶卡202、固態(tài)硬盤(solidstatedrive,ssd)203或無線存儲器存儲裝置204。無線存儲器存儲裝置204可例如是近距離無線通信(nearfieldcommunicationstorage,nfc)存儲器存儲裝置、無線傳真(wifi)存儲器存儲裝置、藍(lán)牙(bluetooth)存儲器存儲裝置或低功耗藍(lán)牙存儲器存儲裝置(例如,ibeacon)等以各式無線通信技術(shù)為基礎(chǔ)的存儲器存儲裝置。此外,主機(jī)板20也可以通過系統(tǒng)總線110電性連接至全球定位系統(tǒng)(globalpositioningsystem,gps)模塊205、網(wǎng)路接口卡206、無線傳輸裝置207、鍵盤208、熒幕209、喇叭210等各式i/o裝置。例如,在一范例實(shí)施例中,主機(jī)板20可通過無線傳輸裝置207存取無線存儲器存儲裝置204。在一范例實(shí)施例中,所提及的主機(jī)系統(tǒng)為可實(shí)質(zhì)地與存儲器存儲裝置配合以存儲數(shù)據(jù)的任意系統(tǒng)。雖然在上述范例實(shí)施例中,主機(jī)系統(tǒng)是以電腦系統(tǒng)來作說明,然而,圖3是根據(jù)另一范例實(shí)施例所示出的主機(jī)系統(tǒng)與存儲器存儲裝置的示意圖。請參照圖3,在另一范例實(shí)施例中,主機(jī)系統(tǒng)31也可以是數(shù)碼相機(jī)、攝影機(jī)、通信裝置、音頻播放器、視頻播放器或平板電腦等系統(tǒng),而存儲器存儲裝置30可為其所使用的sd卡32、cf卡33或嵌入式存儲裝置34等各式非易失性存儲器存儲裝置。嵌入式存儲裝置34包括嵌入式多媒體卡(embeddedmmc,emmc)341和/或嵌入式多芯片封裝存儲裝置(embeddedmultichippackage,emcp)342等各類型將存儲器模塊直接電性連接于主機(jī)系統(tǒng)的基板上的嵌入式存儲裝置。圖4是根據(jù)一范例實(shí)施例所示出的主機(jī)系統(tǒng)與存儲器存儲裝置的概要方塊圖。請參照圖4,存儲器存儲裝置10包括連接接口單元402、存儲器控制電路單元404與可復(fù)寫式非易失性存儲器模塊406。在本范例實(shí)施例中,連接接口單元402是兼容于串行高級附件(serial advancedtechnologyattachment,sata)標(biāo)準(zhǔn)。然而,必須了解的是,本發(fā)明不限于此,連接接口單元402也可以是符合并行高級附件(paralleladvancedtechnologyattachment,pata)標(biāo)準(zhǔn)、電氣和電子工程師協(xié)會(instituteofelectricalandelectronicengineers,ieee)1394標(biāo)準(zhǔn)、高速周邊零件連接接口(peripheralcomponentinterconnectexpress,pciexpress)標(biāo)準(zhǔn)、通用串行總線(universalserialbus,usb)標(biāo)準(zhǔn)、超高速一代(ultrahighspeed-i,uhs-i)接口標(biāo)準(zhǔn)、超高速二代(ultrahighspeed-ii,uhs-ii)接口標(biāo)準(zhǔn)、安全數(shù)字(securedigital,sd)接口標(biāo)準(zhǔn)、記憶棒(memorystick,ms)接口標(biāo)準(zhǔn)、多芯片封裝(multi-chippackage)接口標(biāo)準(zhǔn)、多媒體存儲卡(multimediacard,mmc)接口標(biāo)準(zhǔn)、嵌入式多媒體存儲卡(embeddedmultimediacard,emmc)接口標(biāo)準(zhǔn)、通用快閃存儲器(universalflashstorage,ufs)接口標(biāo)準(zhǔn)、嵌入式多芯片封裝(embeddedmultichippackage,emcp)接口標(biāo)準(zhǔn)、小型快閃(compactflash,cf)接口標(biāo)準(zhǔn)、整合式驅(qū)動電子接口(integrateddeviceelectronics,ide)標(biāo)準(zhǔn)或其他適合的標(biāo)準(zhǔn)。在本范例實(shí)施例中,連接接口單元402可與存儲器控制電路單元404封裝在一個(gè)芯片中,或者連接接口單元402是布設(shè)于包含存儲器控制電路單元的芯片外。存儲器控制電路單元404用以執(zhí)行以硬件形式或固件形式實(shí)作的多個(gè)邏輯閘或控制指令,并且根據(jù)主機(jī)系統(tǒng)11的指令在可復(fù)寫式非易失性存儲器模塊406中進(jìn)行數(shù)據(jù)的寫入、讀取與抹除等運(yùn)作??蓮?fù)寫式非易失性存儲器模塊406是電性連接至存儲器控制電路單元404,并且用以存儲主機(jī)系統(tǒng)11所寫入的數(shù)據(jù)。可復(fù)寫式非易失性存儲器模塊406具有實(shí)體抹除單元410(0)~410(n)。例如,實(shí)體抹除單元410(0)~410(n)可屬于同一個(gè)存儲器晶粒(die)或者屬于不同的存儲器晶粒。每一實(shí)體抹除單元分別具有復(fù)數(shù)個(gè)實(shí)體程序化單元,其中屬于同一個(gè)實(shí)體抹除單元的實(shí)體程序化單元可被獨(dú)立地寫入且被同時(shí)地抹除。然而,必須了解的是,本發(fā)明不限于此,每一實(shí)體抹除單元是可由64個(gè)實(shí)體程序化單元、256個(gè)實(shí)體程序化單元或其他任意個(gè)實(shí)體程序化單元所組成。更詳細(xì)來說,實(shí)體抹除單元為抹除的最小單位。也即,每一實(shí)體抹除單元含有最小數(shù)目之一并被抹除的記憶胞。實(shí)體程序化單元為程序化的最小單元。即,實(shí)體程序化單元為寫入數(shù)據(jù)的最小單元。每一實(shí)體程序化單元通常 包括數(shù)據(jù)比特區(qū)與冗余比特區(qū)。數(shù)據(jù)比特區(qū)包含多個(gè)實(shí)體存取地址用以存儲使用者的數(shù)據(jù),而冗余比特區(qū)用以存儲系統(tǒng)的數(shù)據(jù)(例如,控制信息與錯誤更正碼)。在本范例實(shí)施例中,每一個(gè)實(shí)體程序化單元的數(shù)據(jù)比特區(qū)中會包含8個(gè)實(shí)體存取地址,且一個(gè)實(shí)體存取地址的大小為512字節(jié)(byte)。然而,在其他范例實(shí)施例中,數(shù)據(jù)比特區(qū)中也可包含數(shù)目更多或更少的實(shí)體存取地址,本發(fā)明并不限制實(shí)體存取地址的大小以及個(gè)數(shù)。例如,在一范例實(shí)施例中,實(shí)體抹除單元為實(shí)體區(qū)塊,并且實(shí)體程序化單元為實(shí)體頁面或?qū)嶓w扇區(qū),但本發(fā)明不以此為限。在本范例實(shí)施例中,可復(fù)寫式非易失性存儲器模塊406為多階記憶胞(multilevelcell,mlc)nand型快閃存儲器模塊(即,一個(gè)記憶胞中可存儲2個(gè)數(shù)據(jù)比特的快閃存儲器模塊)。然而,本發(fā)明不限于此,可復(fù)寫式非易失性存儲器模塊406也可是單階記憶胞(singlelevelcell,slc)nand型快閃存儲器模塊(即,一個(gè)記憶胞中可存儲1個(gè)數(shù)據(jù)比特的快閃存儲器模塊)、復(fù)數(shù)階記憶胞(trinarylevelcell,tlc)nand型快閃存儲器模塊(即,一個(gè)記憶胞中可存儲3個(gè)數(shù)據(jù)比特的快閃存儲器模塊)、其他快閃存儲器模塊或其他具有相同特性的存儲器模塊。圖5是根據(jù)一范例實(shí)施例所示的存儲器控制電路單元的概要方塊圖。請參照圖5,存儲器控制電路單元404包括存儲器管理電路502、主機(jī)接口504與存儲器接口506、緩沖存儲器508、電源管理電路510與錯誤檢查與校正電路512。存儲器管理電路502用以控制存儲器控制電路單元404的整體運(yùn)作。具體來說,存儲器管理電路502具有多個(gè)控制指令,并且在存儲器存儲裝置10運(yùn)作時(shí),此些控制指令會被執(zhí)行以進(jìn)行數(shù)據(jù)的寫入、讀取與抹除等運(yùn)作。在本范例實(shí)施例中,存儲器管理電路502的控制指令是以固件形式來實(shí)作。例如,存儲器管理電路502具有微處理器單元(未示出)與只讀存儲器(未示出),并且此些控制指令是被燒錄至此只讀存儲器中。當(dāng)存儲器存儲裝置10運(yùn)作時(shí),此些控制指令會由微處理器單元來執(zhí)行以進(jìn)行數(shù)據(jù)的寫入、讀取與抹除等運(yùn)作。在本發(fā)明另一范例實(shí)施例中,存儲器管理電路502的控制指令也可以程序碼形式存儲于可復(fù)寫式非易失性存儲器模塊406的特定區(qū)域(例如,存儲 器模塊中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,存儲器管理電路502具有微處理器單元(未示出)、只讀存儲器(未示出)及隨機(jī)存取存儲器(未示出)。特別是,此只讀存儲器具有驅(qū)動碼,并且當(dāng)存儲器控制電路單元404被致能時(shí),微處理器單元會先執(zhí)行此驅(qū)動碼段來將存儲于可復(fù)寫式非易失性存儲器模塊406中的控制指令載入至存儲器管理電路502的隨機(jī)存取存儲器中。之后,微處理器單元會運(yùn)轉(zhuǎn)此些控制指令以進(jìn)行數(shù)據(jù)的寫入、讀取與抹除等運(yùn)作。此外,在本發(fā)明另一范例實(shí)施例中,存儲器管理電路502的控制指令也可以硬件形式來實(shí)作。例如,存儲器管理電路502包括微控制器、記憶胞管理電路、存儲器寫入電路、存儲器讀取電路、存儲器抹除電路與數(shù)據(jù)處理電路。記憶胞管理電路、存儲器寫入電路、存儲器讀取電路、存儲器抹除電路與數(shù)據(jù)處理電路是電性連接至微控制器。其中,記憶胞管理電路用以管理可復(fù)寫式非易失性存儲器模塊406的實(shí)體抹除單元;存儲器寫入電路用以對可復(fù)寫式非易失性存儲器模塊406下達(dá)寫入指令以將數(shù)據(jù)寫入至可復(fù)寫式非易失性存儲器模塊406中;存儲器讀取電路用以對可復(fù)寫式非易失性存儲器模塊406下達(dá)讀取指令以從可復(fù)寫式非易失性存儲器模塊406中讀取數(shù)據(jù);存儲器抹除電路用以對可復(fù)寫式非易失性存儲器模塊406下達(dá)抹除指令以將數(shù)據(jù)從可復(fù)寫式非易失性存儲器模塊406中抹除;而數(shù)據(jù)處理電路用以處理欲寫入至可復(fù)寫式非易失性存儲器模塊406的數(shù)據(jù)以及從可復(fù)寫式非易失性存儲器模塊406中讀取的數(shù)據(jù)。主機(jī)接口504是電性連接至存儲器管理電路502并且用以電性連接至連接接口單元402,以接收與識別主機(jī)系統(tǒng)11所傳送的指令與數(shù)據(jù)。也就是說,主機(jī)系統(tǒng)11所傳送的指令與數(shù)據(jù)會通過主機(jī)接口504來傳送至存儲器管理電路502。在本范例實(shí)施例中,主機(jī)接口504是兼容于sata標(biāo)準(zhǔn)。然而,必須了解的是本發(fā)明不限于此,主機(jī)接口504也可以是兼容于pata標(biāo)準(zhǔn)、ieee1394標(biāo)準(zhǔn)、pciexpress標(biāo)準(zhǔn)、usb標(biāo)準(zhǔn)、uhs-i接口標(biāo)準(zhǔn)、uhs-ii接口標(biāo)準(zhǔn)、sd標(biāo)準(zhǔn)、ms標(biāo)準(zhǔn)、mmc標(biāo)準(zhǔn)、cf標(biāo)準(zhǔn)、ide標(biāo)準(zhǔn)或其他適合的數(shù)據(jù)傳輸標(biāo)準(zhǔn)。存儲器接口506是電性連接至存儲器管理電路502并且用以存取可復(fù)寫式非易失性存儲器模塊406。也就是說,欲寫入至可復(fù)寫式非易失性存儲器 模塊406的數(shù)據(jù)會經(jīng)由存儲器接口506轉(zhuǎn)換為可復(fù)寫式非易失性存儲器模塊406所能接受的格式。緩沖存儲器508是電性連接至存儲器管理電路502并且用以暫存來自于主機(jī)系統(tǒng)11的數(shù)據(jù)與指令或來自于可復(fù)寫式非易失性存儲器模塊406的數(shù)據(jù)。電源管理電路510是電性連接至存儲器管理電路502并且用以控制存儲器存儲裝置10的電源。錯誤檢查與校正電路512是電性連接至存儲器管理電路502并且用以執(zhí)行錯誤檢查與校正程序以確保數(shù)據(jù)的正確性。具體來說,當(dāng)存儲器管理電路502從主機(jī)系統(tǒng)11中接收到寫入指令時(shí),錯誤檢查與校正電路512會為對應(yīng)此寫入指令的數(shù)據(jù)產(chǎn)生對應(yīng)的錯誤檢查與校正碼(errorcheckingandcorrectingcode,ecccode),并且存儲器管理電路502會將對應(yīng)此寫入指令的數(shù)據(jù)與對應(yīng)的錯誤檢查與校正碼寫入至可復(fù)寫式非易失性存儲器模塊406中。之后,當(dāng)存儲器管理電路502從可復(fù)寫式非易失性存儲器模塊406中讀取數(shù)據(jù)時(shí)會同時(shí)讀取此數(shù)據(jù)對應(yīng)的錯誤檢查與校正碼,并且錯誤檢查與校正電路512會根據(jù)此錯誤檢查與校正碼對所讀取的數(shù)據(jù)執(zhí)行錯誤檢查與校正程序。圖6與圖7是根據(jù)一范例實(shí)施例所示的管理實(shí)體抹除單元的范例示意圖。必須了解的是,在此描述可復(fù)寫式非易失性存儲器模塊406的實(shí)體抹除單元的運(yùn)作時(shí),以“提取”、“分組”、“劃分”、“關(guān)聯(lián)”等詞來操作實(shí)體抹除單元是邏輯上的概念。也就是說,可復(fù)寫式非易失性存儲器模塊的實(shí)體抹除單元的實(shí)際位置并未更動,而是邏輯上對可復(fù)寫式非易失性存儲器模塊的實(shí)體抹除單元進(jìn)行操作。請參照圖6,存儲器控制電路單元404(或存儲器管理電路502)會將實(shí)體抹除單元410(0)~410(n)邏輯地分組為數(shù)據(jù)區(qū)602、閑置區(qū)604、系統(tǒng)區(qū)606與取代區(qū)608。邏輯上屬于數(shù)據(jù)區(qū)602與閑置區(qū)604的實(shí)體抹除單元是用以存儲來自于主機(jī)系統(tǒng)11的數(shù)據(jù)。具體來說,數(shù)據(jù)區(qū)602的實(shí)體抹除單元是被視為已存儲數(shù)據(jù)的實(shí)體抹除單元,而閑置區(qū)604的實(shí)體抹除單元是用以替換數(shù)據(jù)區(qū)602的實(shí)體抹除單元。也就是說,當(dāng)從主機(jī)系統(tǒng)11接收到寫入指令與欲寫入的數(shù) 據(jù)時(shí),存儲器管理電路502會從閑置區(qū)604中提取實(shí)體抹除單元,并且將數(shù)據(jù)寫入至所提取的實(shí)體抹除單元中,以替換數(shù)據(jù)區(qū)602的實(shí)體抹除單元。邏輯上屬于系統(tǒng)區(qū)606的實(shí)體抹除單元是用以記錄系統(tǒng)數(shù)據(jù)。例如,系統(tǒng)數(shù)據(jù)包括關(guān)于可復(fù)寫式非易失性存儲器模塊的制造商與型號、可復(fù)寫式非易失性存儲器模塊的實(shí)體抹除單元數(shù)、每一實(shí)體抹除單元的實(shí)體程序化單元數(shù)等。邏輯上屬于取代區(qū)608中的實(shí)體抹除單元是用于壞實(shí)體抹除單元取代程序,以取代損壞的實(shí)體抹除單元。具體來說,倘若取代區(qū)608中仍存有正常的實(shí)體抹除單元并且數(shù)據(jù)區(qū)602的實(shí)體抹除單元損壞時(shí),存儲器管理電路502會從取代區(qū)608中提取正常的實(shí)體抹除單元來更換損壞的實(shí)體抹除單元。特別是,數(shù)據(jù)區(qū)602、閑置區(qū)604、系統(tǒng)區(qū)606與取代區(qū)608的實(shí)體抹除單元的數(shù)量會根據(jù)不同的存儲器規(guī)格而有所不同。此外,必須了解的是,在存儲器存儲裝置10的運(yùn)作中,實(shí)體抹除單元關(guān)聯(lián)至數(shù)據(jù)區(qū)602、閑置區(qū)604、系統(tǒng)區(qū)606與取代區(qū)608的分組關(guān)系會動態(tài)地變動。例如,當(dāng)閑置區(qū)604中的實(shí)體抹除單元損壞而被取代區(qū)608的實(shí)體抹除單元取代時(shí),則原本取代區(qū)608的實(shí)體抹除單元會被關(guān)聯(lián)至閑置區(qū)604。請參照圖7,存儲器控制電路單元404(或存儲器管理電路502)會配置邏輯單元lba(0)~lba(h)以映射數(shù)據(jù)區(qū)602的實(shí)體抹除單元,其中每一邏輯單元具有多個(gè)邏輯子單元以映射對應(yīng)的實(shí)體抹除單元的實(shí)體程序化單元。并且,當(dāng)主機(jī)系統(tǒng)11欲寫入數(shù)據(jù)至邏輯單元或更新存儲于邏輯單元中的數(shù)據(jù)時(shí),存儲器控制電路單元404(或存儲器管理電路502)會從閑置區(qū)604中提取一個(gè)實(shí)體抹除單元來寫入數(shù)據(jù),以輪替數(shù)據(jù)區(qū)602的實(shí)體抹除單元。在本范例實(shí)施例中,邏輯子單元可以是邏輯頁面或邏輯扇區(qū)。為了識別每個(gè)邏輯單元的數(shù)據(jù)被存儲在哪個(gè)實(shí)體抹除單元,在本范例實(shí)施例中,存儲器控制電路單元404(或存儲器管理電路502)會記錄邏輯單元與實(shí)體抹除單元之間的映射。并且,當(dāng)主機(jī)系統(tǒng)11欲在邏輯子單元中存取數(shù)據(jù)時(shí),存儲器控制電路單元404(或存儲器管理電路502)會確認(rèn)此邏輯子單元所屬的邏輯單元,并且在此邏輯單元所映射的實(shí)體抹除單元中來存取數(shù)據(jù)。例如,在本范例實(shí)施例中,存儲器控制電路單元404(或存儲器管理電路502)會在可復(fù)寫式非易失性存儲器模塊406中存儲邏輯地址-實(shí)體地址映射表來記 錄每一邏輯單元所映射的實(shí)體抹除單元,并且當(dāng)欲存取數(shù)據(jù)時(shí)存儲器控制電路單元404(或存儲器管理電路502)會將邏輯地址-實(shí)體地址映射表載入至緩沖存儲器508來維護(hù)。值得一提的是,由于緩沖存儲器508的容量有限無法存儲記錄所有邏輯單元的映射關(guān)系的映射表,因此,在本范例實(shí)施例中,存儲器控制電路單元404(或存儲器管理電路502)會將邏輯單元lba(0)~lba(h)分組為多個(gè)邏輯區(qū)域lz(0)~lz(m),并且為每一邏輯區(qū)域配置一個(gè)邏輯地址-實(shí)體地址映射表。特別是,當(dāng)存儲器控制電路單元404(或存儲器管理電路502)欲更新某個(gè)邏輯單元的映射時(shí),對應(yīng)此邏輯單元所屬的邏輯區(qū)域的邏輯地址-實(shí)體地址映射表會被載入至緩沖存儲器508來被更新。當(dāng)存儲器存儲裝置10上電(或致能)后,存儲器控制電路單元404(或存儲器管理電路502)會執(zhí)行相關(guān)的初始化作業(yè)(initial)以使存儲器存儲裝置10進(jìn)入可接收與處理來自于主機(jī)系統(tǒng)11的指令的待命狀態(tài),使存儲器存儲裝置10可在運(yùn)作時(shí)間(runtime)里正常地運(yùn)作。例如,在初始化作業(yè)期間,存儲器控制電路單元404(或存儲器管理電路502)會更新邏輯-實(shí)體映射表,使主機(jī)系統(tǒng)11可正常地存取可復(fù)寫式非易失性存儲器模塊406中所存儲的數(shù)據(jù)。然而,在將數(shù)據(jù)程序化至可復(fù)寫式非易失性存儲器模塊406的一個(gè)實(shí)體抹除單元時(shí),倘若在程序化期間發(fā)生異常斷電,此實(shí)體抹除單元可能會處于不穩(wěn)定狀態(tài)。例如,實(shí)體抹除單元所存儲的電荷處于不穩(wěn)定的現(xiàn)象,而造成此實(shí)體抹除單元中存在跳動比特(dancingbit)。特別是,當(dāng)一個(gè)實(shí)體抹除單元存在跳動比特時(shí),此實(shí)體抹除單元上的數(shù)據(jù)也許可被正確讀取,但在一段時(shí)間后,數(shù)據(jù)就會遺失。例如,倘若某個(gè)實(shí)體抹除單元中存在跳動比特,在存儲器存儲裝置10上電后的初始化作業(yè)期間(也即初始化作業(yè)逾時(shí)之前),存儲器控制電路單元404(或存儲器管理電路502)可從此實(shí)體抹除單元中讀取到正確數(shù)據(jù),或者所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目不大于錯誤檢查與校正電路512的最大可校正錯誤比特?cái)?shù)。但在初始化作業(yè)完成后(也即初始化作業(yè)逾時(shí)之后)的運(yùn)作時(shí)間里,當(dāng)存儲器控制電路單元404(或存儲器管理電路502)讀取此實(shí)體抹除單元中的數(shù)據(jù)時(shí),所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目卻大于錯誤檢查與校正電路512的最大可校正錯誤比特?cái)?shù),而造成讀取錯誤的情形。一般來說,在存儲器存儲裝置10斷電前最后被程序化的實(shí)體抹除單元可能會處于不穩(wěn)定狀態(tài)。因此在一范例實(shí)施例中,在存儲器存儲裝置10上電后的初始化作業(yè)期間,存儲器控制電路單元404(或存儲器管理電路502)在掃描斷電前最后被程序化的實(shí)體抹除單元(以下也稱為第一實(shí)體抹除單元)時(shí),會針對斷電前最后被程序化的實(shí)體程序化單元(以下也稱為第一實(shí)體程序化單元)反復(fù)執(zhí)行n次讀取操作。n為正整數(shù),可根據(jù)初始化作業(yè)的執(zhí)行時(shí)間來決定。換句話說,針對所要執(zhí)行的讀取操作可預(yù)先設(shè)定一個(gè)預(yù)定次數(shù)。例如,在一范例實(shí)施例中,預(yù)定次數(shù)可被設(shè)定為等于在初始化作業(yè)逾時(shí)之前所能執(zhí)行的最多讀取次數(shù)?;蛘?,在另一范例實(shí)施例中,預(yù)定次數(shù)可被設(shè)定為1。然而,預(yù)定次數(shù)也可根據(jù)實(shí)際應(yīng)用上的需求來設(shè)定,本發(fā)明并不以此為限。更詳細(xì)來說,存儲器控制電路單元404(或存儲器管理電路502)會預(yù)設(shè)要對第一實(shí)體程序化單元執(zhí)行n次讀取操作。在每次對第一實(shí)體程序化單元的讀取操作中,倘若可正確地讀取數(shù)據(jù),存儲器控制電路單元404(或存儲器管理電路502)就會對第一實(shí)體程序化單元執(zhí)行下一次的讀取操作。存儲器控制電路單元404(或存儲器管理電路502)也會計(jì)算讀取次數(shù),例如在每次執(zhí)行讀取操作時(shí)將讀取次數(shù)加1。在對第一實(shí)體程序化單元的n次讀取操作中,倘若所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目皆不大于錯誤比特?cái)?shù)門檻值,存儲器控制電路單元404(或存儲器管理電路502)會判斷第一實(shí)體程序化單元所存儲的數(shù)據(jù)為可校正(correctable)的數(shù)據(jù)。進(jìn)一步地,存儲器控制電路單元404(或存儲器管理電路502)會根據(jù)第一實(shí)體程序化單元來更新邏輯-實(shí)體映射表。例如,將第一實(shí)體程序化單元與對應(yīng)的邏輯程序化單元的映射關(guān)系記錄至存儲在可復(fù)寫式非易失性存儲器模塊406中的邏輯-實(shí)體映射表。倘若其中一次所讀取到的數(shù)據(jù)的錯誤比特?cái)?shù)目大于錯誤比特?cái)?shù)門檻值,存儲器控制電路單元404(或存儲器管理電路502)會判斷第一實(shí)體程序化單元所存儲的數(shù)據(jù)為不可校正(uncorrectable)的數(shù)據(jù),而舍棄第一實(shí)體程序化單元中所存儲的數(shù)據(jù)。例如,不根據(jù)第一實(shí)體程序化單元來更新邏輯-實(shí)體映射表,或者將第一實(shí)體程序化單元中所存儲的數(shù)據(jù)標(biāo)記為無效數(shù)據(jù)。錯誤比特?cái)?shù)門檻值可根據(jù)錯誤檢查與校正電路512的校正能力來設(shè)定。例如,將錯誤比特?cái)?shù)門檻值設(shè)定為錯誤檢查與校正電路512的最大可校正錯誤比特?cái)?shù)。然而,錯誤比特?cái)?shù)門檻值也可根據(jù)實(shí)際使用上的需求來設(shè)定,本 發(fā)明不加以限制。值得一提的是,倘若程序化至第一實(shí)體程序化單元的數(shù)據(jù)是用以更新某邏輯程序化單元的數(shù)據(jù),也即在寫入數(shù)據(jù)至第一實(shí)體程序化單元之前,在邏輯-實(shí)體映射表中已存在對應(yīng)此邏輯程序化單元的映射信息。倘若判斷第一實(shí)體程序化單元中的數(shù)據(jù)為可校正數(shù)據(jù),存儲器控制電路單元404(或存儲器管理電路502)可以通過以此邏輯程序化單元映射至第一實(shí)體程序化單元的新的映射信息覆蓋掉舊的映射信息的方式來更新邏輯-實(shí)體映射表。另一方面,倘若程序化至第一實(shí)體程序化單元的數(shù)據(jù)是寫入至某邏輯程序化單元的全新數(shù)據(jù),也即在寫入數(shù)據(jù)至第一實(shí)體程序化單元之前,在邏輯-實(shí)體映射表中并未記錄對應(yīng)此邏輯程序化單元的映射信息。在此種情況下,倘若判斷第一實(shí)體程序化單元中的數(shù)據(jù)為可校正數(shù)據(jù),存儲器控制電路單元404(或存儲器管理電路502)可通過新增此邏輯程序化單元映射至第一實(shí)體程序化單元的映射信息的方式來更新邏輯-實(shí)體映射表。在本范例實(shí)施例中,是在判斷第一實(shí)體程序化單元中的數(shù)據(jù)為可校正數(shù)據(jù)時(shí)才會更新邏輯-實(shí)體映射表。因此,倘若第一實(shí)體程序化單元中的數(shù)據(jù)為不可校正數(shù)據(jù),在初始化作業(yè)逾時(shí)后的運(yùn)作時(shí)間里,存儲器控制電路單元404(或存儲器管理電路502)根據(jù)邏輯-實(shí)體映射表就不會讀取到存儲在第一實(shí)體程序化單元中的數(shù)據(jù)。圖8a是根據(jù)一范例實(shí)施例所示出的在存儲器存儲裝置被斷電前最后被程序化的實(shí)體抹除單元的示意圖。請參照圖8a,存儲器控制電路單元404(或存儲器管理電路502)接收到指示將數(shù)據(jù)801寫入至邏輯抹除單元810的邏輯程序化單元810(k)的寫入指令。存儲器控制電路單元404(或存儲器管理電路502)將欲寫入的數(shù)據(jù)801寫入至實(shí)體抹除單元820的實(shí)體程序化單元820(k)。此時(shí),存儲器存儲裝置10發(fā)生異常斷電。也就是說,實(shí)體抹除單元820為存儲器存儲裝置10被斷電前最后一個(gè)被程序化的實(shí)體抹除單元,而其中的實(shí)體程序化單元820(k)為存儲器存儲裝置10斷電前最后一個(gè)被程序化的實(shí)體程序化單元(已程序化數(shù)據(jù)的實(shí)體程序化單元以斜線表示)。在本范例實(shí)施例中,存儲器控制電路單元404(或存儲器管理電路502)可以將欲寫入的數(shù)據(jù)801以及對應(yīng)的錯誤檢查與校正碼一并存儲至實(shí)體程序 化單元820(k)。在執(zhí)行讀取操作時(shí),存儲器控制電路單元404(或存儲器管理電路502)便可根據(jù)對應(yīng)的錯誤檢查與校正碼來計(jì)算所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目。圖8b是根據(jù)一范例實(shí)施例所示出的對斷電前最后被程序化的實(shí)體程序化單元反復(fù)執(zhí)行讀取操作的示意圖。請參照圖8a及圖8b,在本范例實(shí)施例中,由于存儲器存儲裝置10被斷電前,實(shí)體抹除單元820是最后一個(gè)被程序化的實(shí)體抹除單元。因此,當(dāng)存儲器存儲裝置10重新上電后,在掃描實(shí)體抹除單元820時(shí),存儲器控制電路單元404(或存儲器管理電路502)會針對最后一個(gè)被程序化的實(shí)體程序化單元820(k)反復(fù)執(zhí)行讀取操作。在本范例實(shí)施例中,假設(shè)初始化作業(yè)的執(zhí)行時(shí)間為1秒,在初始化作業(yè)逾時(shí)之前要對實(shí)體程序化單元820(k)反復(fù)執(zhí)行3次讀取操作,也就是將預(yù)定次數(shù)設(shè)定為3。而錯誤比特?cái)?shù)門檻值設(shè)定為20。倘若所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,存儲器控制電路單元404(或存儲器管理電路502)會判斷所讀取的數(shù)據(jù)為可校正數(shù)據(jù),反之則為不可校正數(shù)據(jù)。如圖8b所示,在對實(shí)體程序化單元820(k)執(zhí)行第1次讀取操作時(shí),存儲器控制電路單元404(或存儲器管理電路502)計(jì)算讀取次數(shù)為1,并且計(jì)算所讀取的數(shù)據(jù)data_1的錯誤比特?cái)?shù)目為8。由于讀取次數(shù)小于預(yù)定次數(shù),并且數(shù)據(jù)data_1的錯誤比特?cái)?shù)目小于錯誤比特?cái)?shù)門檻值(也即數(shù)據(jù)data_1為可校正數(shù)據(jù)),存儲器控制電路單元404(或存儲器管理電路502)會繼續(xù)對實(shí)體程序化單元820(k)執(zhí)行第2次讀取操作。在執(zhí)行第2次讀取操作時(shí),存儲器控制電路單元404(或存儲器管理電路502)計(jì)算讀取次數(shù)為2,并且計(jì)算所讀取的數(shù)據(jù)data_2的錯誤比特?cái)?shù)目為20。由于讀取次數(shù)小于預(yù)定次數(shù),并且數(shù)據(jù)data_2的錯誤比特?cái)?shù)目等于錯誤比特?cái)?shù)門檻值,存儲器控制電路單元404(或存儲器管理電路502)會繼續(xù)對實(shí)體程序化單元820(k)執(zhí)行第3次讀取操作。在執(zhí)行第3次讀取操作時(shí),存儲器控制電路單元404(或存儲器管理電路502)計(jì)算讀取次數(shù)為3,并且計(jì)算所讀取的數(shù)據(jù)data_3的錯誤比特?cái)?shù)目為16。由于讀取次數(shù)等于預(yù)定次數(shù),并且數(shù)據(jù)data_3的錯誤比特?cái)?shù)目小于錯誤比特?cái)?shù)門檻值(也即數(shù)據(jù)data_3為可校正數(shù)據(jù)),表示對實(shí)體程序化單元820(k)所執(zhí)行的預(yù)定次數(shù)的讀取操作中,每次皆可讀取到可校正數(shù) 據(jù)。因此,存儲器控制電路單元404(或存儲器管理電路502)會判定可以從實(shí)體程序化單元820(k)中讀取到可校正數(shù)據(jù)。爾后,存儲器控制電路單元404(或存儲器管理電路502)會根據(jù)實(shí)體程序化單元820(k)來更新邏輯-實(shí)體映射表840。例如,將邏輯程序化單元810(k)映射至實(shí)體程序化單元820(k)的邏輯-實(shí)體映射信息記錄在邏輯-實(shí)體映射表840中。雖然,在本范例實(shí)施例中,預(yù)定次數(shù)為3,而錯誤比特?cái)?shù)門檻值為20。但在其他范例實(shí)施例中,預(yù)定次數(shù)可設(shè)定為大于或小于3,而錯誤比特?cái)?shù)門檻值也可設(shè)定為大于或小于20。本發(fā)明不以此為限。此外,在本范例實(shí)施例中,雖然是以讀取次數(shù)小于或等于(也即非大于)預(yù)定次數(shù)來說明判斷機(jī)制,然而,在其他范例實(shí)施例中,也可以讀取次數(shù)是否大于預(yù)定次數(shù)作為判斷機(jī)制。本發(fā)明并不限制讀取次數(shù)與預(yù)定次數(shù)之間的判斷機(jī)制,只要是可以判斷出已反復(fù)執(zhí)行了預(yù)定次數(shù)的讀取操作,并且每次皆讀取到可校正數(shù)據(jù)即可作為本發(fā)明的判斷機(jī)制。圖8c是根據(jù)另一范例實(shí)施例所示出的對斷電前最后被程序化的實(shí)體程序化單元反復(fù)執(zhí)行讀取操作的示意圖。請參照圖8a及圖8c,當(dāng)存儲器存儲裝置10重新上電后,在掃描實(shí)體抹除單元820時(shí),存儲器控制電路單元404(或存儲器管理電路502)會針對最后一個(gè)被程序化的實(shí)體程序化單元820(k)執(zhí)行反復(fù)讀取操作。在本范例實(shí)施例中,在對實(shí)體程序化單元820(k)執(zhí)行第1次讀取操作時(shí),計(jì)算所讀取的數(shù)據(jù)data_4的錯誤比特?cái)?shù)目為32。由于數(shù)據(jù)data_4的錯誤比特?cái)?shù)目大于錯誤比特?cái)?shù)門檻值(也即數(shù)據(jù)data_4為不可校正數(shù)據(jù)),存儲器控制電路單元404(或存儲器管理電路502)不會執(zhí)行下一次讀取操作。也就是說,存儲器控制電路單元404(或存儲器管理電路502)會判斷無法從實(shí)體程序化單元820(k)中讀取到可校正數(shù)據(jù),因此存儲器控制電路單元404(或存儲器管理電路502)不會根據(jù)實(shí)體程序化單元820(k)來更新邏輯-實(shí)體映射表840。進(jìn)一步地,存儲器控制電路單元404(或存儲器管理電路502)會將存儲在實(shí)體程序化單元820(k)中的數(shù)據(jù)標(biāo)記為無效數(shù)據(jù)。因此,倘若邏輯-實(shí)體映射表840中已存在對應(yīng)邏輯程序化單元810(k)的邏輯-實(shí)體映射信息,在運(yùn)作時(shí)間里,存儲器控制電路單元404(或存儲器管理電路502)根據(jù)邏輯-實(shí)體映射表840讀取邏輯程序化單元810(k)的數(shù)據(jù)時(shí),就不會讀取實(shí)體程序化單元820(k)所存儲的 數(shù)據(jù),由此避免發(fā)生讀取錯誤的情況。在上述的范例實(shí)施例中,是將預(yù)定次數(shù)n設(shè)定為大于1,也即存儲器控制電路單元404(或存儲器管理電路502)在上電后的初始化程序執(zhí)行期間,會針對斷電前最后被程序化的實(shí)體程序化單元(以下也稱為第一實(shí)體程序化單元)執(zhí)行多次讀取操作。而在另一范例實(shí)施例中,是將預(yù)定次數(shù)n設(shè)定為1,也即存儲器控制電路單元404(或存儲器管理電路502)在上電后的初始化程序執(zhí)行期間,僅會針對第一實(shí)體程序化單元執(zhí)行一次讀取操作。在本范例實(shí)施例中,存儲器控制電路單元404(或存儲器管理電路502)在掃描第一實(shí)體抹除單元(也即斷電前最后被程序化的實(shí)體抹除單元)時(shí),會針對第一實(shí)體程序化單元判斷是否要進(jìn)行備份。具體來說,在對第一實(shí)體程序化單元所執(zhí)行的一次讀取操作中,存儲器控制電路單元404(或存儲器管理電路502)從第一實(shí)體程序化單元讀取數(shù)據(jù)并且計(jì)算所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目后,會根據(jù)錯誤比特?cái)?shù)目是否大于錯誤比特?cái)?shù)門檻值,以判斷所讀取的數(shù)據(jù)是否為可校正數(shù)據(jù)。倘若所計(jì)算的錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,也即表示所讀取的數(shù)據(jù)為可校正數(shù)據(jù)。存儲器控制電路單元404(或存儲器管理電路502)會從可復(fù)寫式非易失性存儲器模塊406中提取另一個(gè)實(shí)體抹除單元(以下也稱為第二實(shí)體抹除單元)作為備份實(shí)體抹除單元,并將從第一實(shí)體抹除單元的第一實(shí)體程序化單元中所讀取的可校正數(shù)據(jù)存儲至第二實(shí)體抹除單元中。在本范例實(shí)施例中,存儲器控制電路單元404(或存儲器管理電路502)是將校正后的數(shù)據(jù)存儲至第二實(shí)體抹除單元中。而且,存儲器控制電路單元404(或存儲器管理電路502)還會根據(jù)第二實(shí)體抹除單元來更新邏輯-實(shí)體映射表,而不會根據(jù)第一實(shí)體抹除單元來更新邏輯-實(shí)體映射表。例如,存儲器控制電路單元404(或存儲器管理電路502)會將第二實(shí)體抹除單元中存儲此數(shù)據(jù)的實(shí)體程序化單元(以下也稱為第二實(shí)體程序化單元)與對應(yīng)的邏輯程序化單元的映射關(guān)系記錄至實(shí)體-邏輯映射表中。而在運(yùn)作時(shí)間里,存儲器控制電路單元404(或存儲器管理電路502)可根據(jù)實(shí)體-邏輯映射表從第二實(shí)體抹除單元中讀取數(shù)據(jù)。由于第二實(shí)體抹除單元不會處于不穩(wěn)定狀態(tài)(例如,不存在跳動比特),由此便可正確地讀取數(shù)據(jù)。圖9是根據(jù)另一范例實(shí)施例所示出的將斷電前最后被程序化的實(shí)體程序化單元的數(shù)據(jù)存儲至另一實(shí)體抹除單元的示意圖。請參照圖9,假設(shè)實(shí)體抹除單元920為存儲器存儲裝置10斷電前最后一個(gè)被程序化的實(shí)體抹除單元,而其中的實(shí)體程序化單元920(e)為存儲器存儲裝置10斷電前最后一個(gè)被程序化的實(shí)體程序化單元(已程序化數(shù)據(jù)的實(shí)體程序化單元以斜線表示)。在存儲器存儲裝置10斷電前被程序化至實(shí)體程序化單元920(e)的數(shù)據(jù)是屬于邏輯程序化單元910(e)。在本范例實(shí)施例中,假設(shè)預(yù)定次數(shù)n是設(shè)定為1。當(dāng)存儲器存儲裝置10上電后,存儲器控制電路單元404(或存儲器管理電路502)從實(shí)體程序化單元920(e)讀取數(shù)據(jù),并計(jì)算所讀取的數(shù)據(jù)data_5的錯誤比特?cái)?shù)目。在本范例實(shí)施例中,假設(shè)數(shù)據(jù)data_5的錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,也即數(shù)據(jù)data_5為可校正數(shù)據(jù)。因此,存儲器控制電路單元404(或存儲器管理電路502)從可復(fù)寫式非易失性存儲器模塊406中提取實(shí)體抹除單元930,并且將所讀取的數(shù)據(jù)data_5存儲至實(shí)體抹除單元930的實(shí)體程序化單元930(0)。更進(jìn)一步地,存儲器控制電路單元404(或存儲器管理電路502)會將邏輯程序化單元910(e)與實(shí)體程序化單元930(0)的映射關(guān)系記錄至邏輯-實(shí)體映射表940。在本范例實(shí)施例中,假設(shè)可復(fù)寫式非易失性存儲器模塊406的實(shí)體抹除單元可以多階記憶胞(mlc)程序化模式、復(fù)數(shù)階(tlc)記憶胞程序化模式或類似模式來被程序化。然而,存儲器控制電路單元404(或存儲器管理電路502)還可以單層記憶胞(singlelayermemorycell,slc)模式、下實(shí)體程序化(lowerphysicalprogramming)模式、混合程序化(mixtureprogramming)模式及少層記憶胞(lesslayermemorycell)模式來對備份實(shí)體抹除單元執(zhí)行程序化。在單層記憶胞模式中,一個(gè)記憶胞只存儲一個(gè)比特的數(shù)據(jù)。在下實(shí)體程序化模式中,只有下實(shí)體程序化單元會被程序化,而此下實(shí)體程序化單元所對應(yīng)的上實(shí)體程序化單元可不被程序化。在混合程序化模式中,有效數(shù)據(jù)(或,真實(shí)數(shù)據(jù))會被程序化于下實(shí)體程序化單元中,而同時(shí)虛擬數(shù)據(jù)(dummydata)會被程序化至存儲有效數(shù)據(jù)的下實(shí)體程序化單元所對應(yīng)的上實(shí)體程序化單元中。本發(fā)明并不限制對備份實(shí)體抹除單元的程序化模式。在本范例實(shí)施例中,在初始化作業(yè)逾時(shí)之后的運(yùn)作時(shí)間里,倘若在接收到第一個(gè)寫入指令之前,欲讀取邏輯程序化單元910(e)的數(shù)據(jù),存儲器控制電路單元404(或存儲器管理電路502)可根據(jù)邏輯-實(shí)體映射表940從實(shí)體 程序化單元930(0)讀取數(shù)據(jù),而不會從實(shí)體程序化單元920(e)中讀取數(shù)據(jù)。此外,在一個(gè)記憶胞中可存儲2個(gè)以上數(shù)據(jù)比特的可復(fù)寫式非易失性存儲器模塊中,存儲器控制電路單元404(或存儲器管理電路502)也可將與斷電前最后一個(gè)被程序化的實(shí)體程序化單元屬于成對頁(pairpage)的實(shí)體程序化單元的數(shù)據(jù)一并存儲至備份實(shí)體抹除單元中。在此,屬于成對頁的實(shí)體程序化單元是指由相同的記憶胞所組成的實(shí)體程序化單元。圖10是根據(jù)一范例實(shí)施例所示出的數(shù)據(jù)保護(hù)方法的流程圖。在步驟s1001中,在存儲器存儲裝置10上電后的初始化作業(yè)期間,存儲器控制電路單元404(或存儲器管理電路502)從第一實(shí)體抹除單元的第一實(shí)體程序化單元讀取數(shù)據(jù),其中第一實(shí)體程序化單元為存儲器存儲裝置10斷電前最后被程序化的實(shí)體程序化單元。第一實(shí)體程序化單元中所存儲的數(shù)據(jù)是屬于一邏輯程序化單元。在步驟s1003中,存儲器控制電路單元404(或存儲器管理電路502)會計(jì)算對應(yīng)第一實(shí)體程序化單元的讀取次數(shù)。例如,在每次對第一實(shí)體程序化單元執(zhí)行讀取操作之后,存儲器控制電路單元404(或存儲器管理電路502)會將讀取次數(shù)加1。在步驟s1005中,存儲器控制電路單元404(或存儲器管理電路502)會判斷讀取次數(shù)是否大于預(yù)定次數(shù)。倘若判定讀取次數(shù)非大于預(yù)定次數(shù),在步驟s1007中,存儲器控制電路單元404(或存儲器管理電路502)會判斷所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目是否大于錯誤比特?cái)?shù)門檻值。其中,錯誤比特?cái)?shù)門檻值可根據(jù)錯誤檢查與校正電路的校正能力來設(shè)定。此外,存儲器控制電路單元404(或存儲器管理電路502)可根據(jù)對應(yīng)的錯誤檢查與校正碼來計(jì)算所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目。倘若判定所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,存儲器控制電路單元404(或存儲器管理電路502)會再次執(zhí)行步驟s1001。也就是說,倘若讀取次數(shù)非大于預(yù)定次數(shù),并且錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,存儲器控制電路單元404(或存儲器管理電路502)會反復(fù)執(zhí)行對第一實(shí)體程序化單元的讀取操作。并且,存儲器控制電路單元404(或存儲器管理電路502)也會再次執(zhí)行步驟s1003以及步驟s1005,并根據(jù)步驟s1005的判斷結(jié)果決定是否執(zhí)行步驟s1007。倘若判定讀取次數(shù)大于預(yù)定次數(shù),在步驟s1009中,存儲器控制電路單元404(或存儲器管理電路502)會根據(jù)第一實(shí)體程序化單元來更新邏輯-實(shí)體映射表。在本范例實(shí)施例中,雖然存儲器控制電路單元404(或存儲器管理電路502)是以圖10的順序來執(zhí)行步驟s1001至步驟s1009中的各步驟。然而,本發(fā)明并不以此為限。例如,在另一范例實(shí)施例中,在從第一實(shí)體程序化單元讀取數(shù)據(jù)(也即步驟s1001)之后,可接續(xù)執(zhí)行判斷讀取次數(shù)是否小于預(yù)定次數(shù)的操作。倘若判定讀取次數(shù)小于預(yù)定次數(shù),可接續(xù)執(zhí)行判斷錯誤比特?cái)?shù)目是否大于錯誤比特?cái)?shù)門檻值的操作(也即步驟s1007),并且當(dāng)錯誤比特?cái)?shù)目大于錯誤比特門檻值時(shí),執(zhí)行計(jì)算讀取次數(shù)的步驟。圖11是根據(jù)另一范例實(shí)施例所示出的數(shù)據(jù)保護(hù)方法的流程圖。在步驟s1101中,在存儲器存儲裝置10上電后的初始化作業(yè)期間,存儲器控制電路單元404(或存儲器管理電路502)從第一實(shí)體抹除單元的第一實(shí)體程序化單元讀取數(shù)據(jù),其中第一實(shí)體程序化單元為存儲器存儲裝置10斷電前最后被程序化的實(shí)體程序化單元,且第一實(shí)體程序化單元中所存儲的數(shù)據(jù)屬于邏輯程序化單元。在本范例實(shí)施例中,預(yù)定次數(shù)是設(shè)定為等于1。也就是說,在存儲器存儲裝置10上電后的初始化作業(yè)期間,存儲器控制電路單元404(或存儲器管理電路502)僅會對第一實(shí)體程序化單元執(zhí)行一次讀取操作。在步驟s1103中,存儲器控制電路單元404(或存儲器管理電路502)會判斷所讀取的數(shù)據(jù)的錯誤比特?cái)?shù)目是否大于錯誤比特?cái)?shù)門檻值。倘若錯誤比特?cái)?shù)目不大于錯誤比特?cái)?shù)門檻值,在步驟s1105中,存儲器控制電路單元404(或存儲器管理電路502)會將所讀取的數(shù)據(jù)存儲至第二實(shí)體抹除單元的第二實(shí)體程序化單元,并且根據(jù)第二實(shí)體程序化單元來更新邏輯-實(shí)體映射表。上述的流程圖中的各步驟已于前述的范例實(shí)施例中說明,在此不再贅述。綜上所述,本發(fā)明通過在存儲器存儲裝置被致能后的初始化作業(yè)期間,對可能處于不穩(wěn)定狀況的實(shí)體程序化單元反復(fù)執(zhí)行讀取操作以判斷是否可從此實(shí)體程序化單元中讀取到可校正數(shù)據(jù),進(jìn)而決定是否保留此實(shí)體程序化單元中的數(shù)據(jù)。此外,還可在從此實(shí)體程序化單元中讀取到可校正數(shù)據(jù)時(shí),將所讀取的可校正數(shù)據(jù)存儲至備份實(shí)體抹除單元中。由此,在初始化作業(yè)逾時(shí) 之后的運(yùn)作時(shí)間里,將可有效避免從不穩(wěn)定的實(shí)體程序化單元中讀取到不可校正的數(shù)據(jù),確保數(shù)據(jù)的可靠度與正確性。最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
新建县| 广宁县| 察雅县| 萝北县| 青龙| 汉中市| 西乌珠穆沁旗| 万宁市| 重庆市| 连山| 玉屏| 崇州市| 抚松县| 融水| 英山县| 湖口县| 湛江市| 扶风县| 巴彦淖尔市| 宝丰县| 天等县| 重庆市| 泽库县| 西青区| 长子县| 庆安县| 水富县| 西畴县| 通许县| 五原县| 台东县| 茶陵县| 深州市| 深水埗区| 溧水县| 修水县| 和硕县| 和林格尔县| 山东省| 邵阳市| 含山县|