新四季網

解碼方法、內存儲存裝置及內存控制電路單元與流程

2023-11-01 13:14:27 1

本發明涉及一種解碼技術,尤其涉及一種解碼方法、內存儲存裝置及內存控制電路單元。
背景技術:
::數位相機、行動電話與mp3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非易失性內存模塊(例如,快閃記憶體)具有數據非易失性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。一般來說,為了確保可複寫式非易失性內存模塊所儲存的數據的正確性,在將某一數據儲存至可複寫式非易失性內存模塊之前,此數據會先被編碼。編碼後的數據(包含原始數據與錯誤更正碼)會被儲存至可複寫式非易失性內存模塊中。往後,編碼後的數據可被從可複寫式非易失性內存模塊中讀取並且被解碼,以更正其中可能存在的錯誤。然而,在解碼程序中,若所採用的解碼算法的運算複雜度較低,則此解碼程序的解碼速度較快,但是解碼成功率較低;若所採用的解碼算法的運算複雜度較高,則此解碼程序的解碼速度較慢,但是解碼成功率則較高。因此,如何在提高解碼程序的解碼成功率的前提下維持解碼速度的穩定,實為所屬
技術領域:
:的技術人員所致力研究的課題之一。技術實現要素:本發明提供一種解碼方法、內存儲存裝置及內存控制電路單元,可在解碼速度與解碼成功率之間取得平衡。本發明的一範例實施例提供一種解碼方法,其用於包括多個記憶胞的可複寫式非易失性內存模塊,所述解碼方法包括:程序化所述記憶胞中的至少一第一記憶胞;基於第一硬決策電壓準位讀取所述第一記憶胞以獲得第一硬位信息;根據所述第一硬位信息執行硬解碼程序並判斷所述硬解碼程序是否失敗;若所述硬解碼程序失敗,判斷所述第一記憶胞屬於第一類記憶胞或第二類記憶胞;若所述第一記憶胞屬於所述第一類記憶胞,基於第二硬決策電壓準位讀取所述第一記憶胞以獲得第二硬位信息並根據所述第二硬位信息執行所述硬解碼程序,其中所述第二硬決策電壓準位與所述第一硬決策電壓準位不同,其中所述第一硬位信息所包含的第一硬位的總數等於所述第二硬位信息所包含的第二硬位的總數;以及若所述第一記憶胞屬於所述第二類記憶胞,基於多個軟決策電壓準位讀取所述第一記憶胞以獲得軟位信息並根據所述軟位信息執行軟解碼程序,其中所述第二硬位信息所包含的所述第二硬位的總數小於所述軟位信息所包含的軟位的總數。在本發明的一範例實施例中,所述判斷所述第一記憶胞屬於所述第一類記憶胞或所述第 二類記憶胞的步驟包括:若所述第一記憶胞的損耗程度符合預設條件,判定所述第一記憶胞屬於所述第一類記憶胞;以及若所述第一記憶胞的所述損耗程度不符合所述預設條件,判定所述第一記憶胞屬於所述第二類記憶胞。在本發明的一範例實施例中,所述判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的步驟還包括:判斷所述第一記憶胞的損耗程度值是否小於默認值;若所述第一記憶胞的所述損耗程度值小於所述默認值,判定所述第一記憶胞的所述損耗程度符合所述預設條件;以及若所述第一記憶胞的所述損耗程度值等於或大於所述默認值,判定所述第一記憶胞的所述損耗程度不符合所述預設條件。在本發明的一範例實施例中,所述判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的步驟還包括:根據所述第一記憶胞的損耗參數決定所述第一記憶胞的所述損耗程度值,其中所述第一記憶胞的所述損耗參數包括抹除計數、程序化計數、讀取計數、位錯誤率、數據儲存時間、程序化忙碌時間及重試計數的至少其中之一。在本發明的一範例實施例中,所述解碼方法還包括:當程序化所述第一記憶胞時,記錄用於程序化所述第一記憶胞的忙碌時間;以及根據所述忙碌時間決定所述程序化忙碌時間。在本發明的一範例實施例中,所述解碼方法還包括:程序化所述記憶胞中的至少一第二記憶胞;讀取所述第二記憶胞並對應於所述第二記憶胞執行第一次數的所述硬解碼程序;以及根據所述第一次數決定所述重試計數。在本發明的一範例實施例中,所述映射至所述第一記憶胞的第一邏輯單元是接續於映像至所述第二記憶胞的第二邏輯單元。在本發明的一範例實施例中,所述第一記憶胞與所述第二記憶胞屬於所述可複寫式非易失性內存模塊中的同一個實體抹除單元。在本發明的一範例實施例中,所述判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的步驟還包括:判斷所述第一記憶胞的臨界電壓分布是否符合默認分布;若所述第一記憶胞的所述臨界電壓分布符合所述默認分布,判定所述第一記憶胞的所述損耗程度符合所述預設條件;以及若所述第一記憶胞的所述臨界電壓分布不符合所述預設分布,判定所述第一記憶胞的所述損耗程度不符合所述預設條件。本發明的另一範例實施例提供一種內存儲存裝置,其包括連接接口單元、可複寫式非易失性內存模塊及內存控制電路單元。所述連接接口單元用以連接至主機系統。所述可複寫式非易失性內存模塊包括多個記憶胞。所述內存控制電路單元連接至所述連接接口單元與所述可複寫式非易失性內存模塊,所述內存控制電路單元用以發送寫入指令序列,其用以指示程序化所述記憶胞中的至少一第一記憶胞,所述內存控制電路單元更用以發送第一硬讀取指令序列,其用以指示基於第一硬決策電壓準位讀取所述第一記憶胞以獲得第一硬位信息,所述內存控制電路單元更用以根據所述第一硬位信息執行硬解碼程序並判斷所述硬解碼程序是否失敗,若所述硬解碼程序失敗,所述內存控制電路單元更用以判斷所述第一記憶胞屬於第一類記憶胞或第二類記憶胞,若所述第一記憶胞屬於所述第一類記憶胞,所述內存控制電路單元更用以發送第二硬讀取指令序列,其用以指示基於第二硬決策電壓準位讀取所述第一記憶胞以獲得第二硬位信息,所述內存控制電路單元更用以根據所述第二硬位信息執行所述硬解碼程序,所述第二硬決策電壓準位與所述第一硬決策電壓準位不同,所述第一硬位信息所包含的第一硬位的總數等於所述第二硬位信息所包含的第二硬位的總數,若所述第一記憶胞屬 於所述第二類記憶胞,所述內存控制電路單元更用以發送軟讀取指令序列,其用以指示基於多個軟決策電壓準位讀取所述第一記憶胞以獲得軟位信息,所述內存控制電路單元更用以根據所述軟位信息執行軟解碼程序,所述第二硬位信息所包含的所述第二硬位的總數小於所述軟位信息所包含的軟位的總數。在本發明的一範例實施例中,所述內存控制電路單元判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的操作包括:若所述第一記憶胞的損耗程度符合預設條件,判定所述第一記憶胞屬於所述第一類記憶胞;以及若所述第一記憶胞的所述損耗程度不符合所述預設條件,判定所述第一記憶胞屬於所述第二類記憶胞。在本發明的一範例實施例中,所述內存控制電路單元判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的操作還包括:判斷所述第一記憶胞的損耗程度值是否小於默認值;若所述第一記憶胞的所述損耗程度值小於所述默認值,判定所述第一記憶胞的所述損耗程度符合所述預設條件;以及若所述第一記憶胞的所述損耗程度值等於或大於所述默認值,判定所述第一記憶胞的所述損耗程度不符合所述預設條件。在本發明的一範例實施例中,所述內存控制電路單元判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的操作還包括:根據所述第一記憶胞的損耗參數決定所述第一記憶胞的所述損耗程度值,其中所述第一記憶胞的所述損耗參數包括抹除計數、程序化計數、讀取計數、位錯誤率、數據儲存時間、程序化忙碌時間及重試計數的至少其中之一。在本發明的一範例實施例中,當程序化所述第一記憶胞時,所述內存控制電路單元更用以記錄用於程序化所述第一記憶胞的忙碌時間,其中所述內存控制電路單元更用以根據所述忙碌時間決定所述程序化忙碌時間。在本發明的一範例實施例中,所述內存控制電路單元更用以指示程序化所述記憶胞中的至少一第二記憶胞,所述內存控制電路單元更用以指示讀取所述第二記憶胞並對應於所述第二記憶胞執行第一次數的所述硬解碼程序,所述內存控制電路單元更用以根據所述第一次數決定所述重試計數。在本發明的一範例實施例中,所述映射至所述第一記憶胞的第一邏輯單元是接續於映像至所述第二記憶胞的第二邏輯單元。在本發明的一範例實施例中,所述第一記憶胞與所述第二記憶胞屬於所述可複寫式非易失性內存模塊中的同一個實體抹除單元。在本發明的一範例實施例中,所述內存控制電路單元判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的操作還包括:判斷所述第一記憶胞的臨界電壓分布是否符合默認分布;若所述第一記憶胞的所述臨界電壓分布符合所述默認分布,判定所述第一記憶胞的所述損耗程度符合所述預設條件;以及若所述第一記憶胞的所述臨界電壓分布不符合所述預設分布,判定所述第一記憶胞的所述損耗程度不符合所述預設條件。本發明的另一範例實施例提供一種內存控制電路單元,其用於控制包含多個記憶胞的可複寫式非易失性內存模塊,所述內存控制電路單元包括主機接口、內存接口、錯誤檢查與校正電路及內存管理電路。所述主機接口用以連接至主機系統。所述內存接口用以連接至所述可複寫式非易失性內存模塊。所述內存管理電路連接至所述主機接口、所述內存接口及所述錯誤檢查與校正電路,所述內存控制電路單元用以發送寫入指令序列,其用以指示程序化所述記憶胞中的至少一第一記憶胞,所述內存管理電路更用以發送第一硬讀取指令序列,其用 以指示基於第一硬決策電壓準位讀取所述第一記憶胞以獲得第一硬位信息,所述錯誤檢查與校正電路用以根據所述第一硬位信息執行硬解碼程序,所述內存管理電路更用以判斷所述硬解碼程序是否失敗,若所述硬解碼程序失敗,所述內存管理電路更用以判斷所述第一記憶胞屬於第一類記憶胞或第二類記憶胞,若所述第一記憶胞屬於所述第一類記憶胞,所述內存管理電路更用以發送第二硬讀取指令序列,其用以指示基於第二硬決策電壓準位讀取所述第一記憶胞以獲得第二硬位信息,所述錯誤檢查與校正電路更用以根據所述第二硬位信息執行所述硬解碼程序,所述第二硬決策電壓準位與所述第一硬決策電壓準位不同,所述第一硬位信息所包含的第一硬位的總數等於所述第二硬位信息所包含的第二硬位的總數,若所述第一記憶胞屬於所述第二類記憶胞,所述內存管理電路更用以發送軟讀取指令序列,其用以指示基於多個軟決策電壓準位讀取所述第一記憶胞以獲得軟位信息,所述錯誤檢查與校正電路更用以根據所述軟位信息執行軟解碼程序,其中所述第二硬位信息所包含的所述第二硬位的總數小於所述軟位信息所包含的軟位的總數。在本發明的一範例實施例中,所述內存管理電路判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的操作包括:若所述第一記憶胞的損耗程度符合預設條件,判定所述第一記憶胞屬於所述第一類記憶胞;以及若所述第一記憶胞的所述損耗程度不符合所述預設條件,判定所述第一記憶胞屬於所述第二類記憶胞。在本發明的一範例實施例中,所述內存管理電路判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的操作還包括:判斷所述第一記憶胞的損耗程度值是否小於默認值;若所述第一記憶胞的所述損耗程度值小於所述默認值,判定所述第一記憶胞的所述損耗程度符合所述預設條件;以及若所述第一記憶胞的所述損耗程度值等於或大於所述默認值,判定所述第一記憶胞的所述損耗程度不符合所述預設條件。在本發明的一範例實施例中,所述內存管理電路判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的操作還包括:根據所述第一記憶胞的損耗參數決定所述第一記憶胞的所述損耗程度值,其中所述第一記憶胞的所述損耗參數包括抹除計數、程序化計數、讀取計數、位錯誤率、數據儲存時間、程序化忙碌時間及重試計數的至少其中之一。在本發明的一範例實施例中,當程序化所述第一記憶胞時,所述內存管理電路更用以記錄用於程序化所述第一記憶胞的忙碌時間,所述內存管理電路更用以根據所述忙碌時間決定所述程序化忙碌時間。在本發明的一範例實施例中,所述內存管理電路更用以指示程序化所述記憶胞中的至少一第二記憶胞,所述內存管理電路更用以指示讀取所述第二記憶胞,所述錯誤檢查與校正電路更用以對應於所述第二記憶胞執行第一次數的所述硬解碼程序,所述內存管理電路更用以根據所述第一次數決定所述重試計數。在本發明的一範例實施例中,所述映射至所述第一記憶胞的第一邏輯單元是接續於映像至所述第二記憶胞的第二邏輯單元。在本發明的一範例實施例中,所述第一記憶胞與所述第二記憶胞屬於所述可複寫式非易失性內存模塊中的同一個實體抹除單元。在本發明的一範例實施例中,所述內存管理電路判斷所述第一記憶胞屬於所述第一類記憶胞或所述第二類記憶胞的操作還包括:判斷所述第一記憶胞的臨界電壓分布是否符合默認分布;若所述第一記憶胞的所述臨界電壓分布符合所述默認分布,判定所述第一記憶胞的所 述損耗程度符合所述預設條件;以及若所述第一記憶胞的所述臨界電壓分布不符合所述預設分布,判定所述第一記憶胞的所述損耗程度不符合所述預設條件。基於上述,在對於某一記憶胞的硬解碼程序失敗後,對應於此記憶胞的類型,硬解碼程序與軟解碼程序的其中之一會接續被執行。藉此,相較於一般制式的解碼流程,本發明對於硬解碼與軟解碼的選擇較有彈性,從而可在解碼速度與解碼成功率之間取得平衡。為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。附圖說明圖1是根據本發明的一範例實施例所顯示的主機系統、內存儲存裝置及輸入/輸出(i/o)裝置的示意圖;圖2是根據本發明的另一範例實施例所顯示的主機系統、內存儲存裝置及i/o裝置的示意圖;圖3是根據本發明的另一範例實施例所顯示的主機系統與內存儲存裝置的示意圖;圖4是根據本發明的一範例實施例所顯示的內存儲存裝置的概要方框圖;圖5是根據本發明的一範例實施例所顯示的內存控制電路單元的概要方框圖;圖6是根據本發明的一範例實施例所顯示的管理可複寫式非易失性內存模塊的示意圖;圖7a至圖7c是根據本發明的一範例實施例所顯示的多個記憶胞的臨界電壓分布的示意圖;圖8是根據本發明的一範例實施例所顯示的硬解碼程序的示意圖;圖9是根據本發明的一範例實施例所顯示的軟解碼程序的示意圖;圖10是根據本發明的一範例實施例所顯示的解碼方法的流程圖;圖11a與圖11b是根據本發明的另一範例實施例所顯示的解碼方法的流程圖。附圖標記:10:內存儲存裝置11:主機系統110:系統總線111:處理器112:隨機存取內存113:只讀存儲器114:數據傳輸接口12:輸入/輸出(i/o)裝置20:主板201:隨身碟202:記憶卡203:固態硬碟204:無線內存儲存裝置205:全球定位系統模塊206:網絡適配器207:無線傳輸裝置208:鍵盤209:屏幕210:喇叭32:sd卡33:cf卡34:嵌入式儲存裝置341:嵌入式多媒體卡342:嵌入式多晶片封裝儲存裝置402:連接接口單元404:內存控制電路單元406:可複寫式非易失性內存模塊502:內存管理電路504:主機接口506:內存接口508:錯誤檢查與校正電路510:緩衝存儲器512:電源管理電路601:儲存區602:取代區610(0)~610(b):實體抹除單元612(0)~612(c):邏輯單元710、720、711、712、721、722、810、820、910、920:分布731、741:重疊區域901~906:區域931、941:軟位信息s1001~s1009、s1101~s1118:步驟具體實施方式一般而言,內存儲存裝置(亦稱,內存儲存系統)包括可複寫式非易失性內存模塊(rewritablenon-volatilememorymodule)與控制器(亦稱,控制電路)。通常內存儲存裝置是與主機系統一起使用,以使主機系統可將數據寫入至內存儲存裝置或從內存儲存裝置中讀取數據。圖1是根據本發明的一範例實施例所顯示的主機系統、內存儲存裝置及輸入/輸出(i/o)裝置的示意圖。圖2是根據本發明的另一範例實施例所顯示的主機系統、內存儲存裝置及i/o裝置的示意圖。請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取內存(randomaccessmemory,ram)112、只讀存儲器(readonlymemory,rom)113及數據傳輸接口114。處理器111、隨機 存取內存112、只讀存儲器113及數據傳輸接口114皆連接至系統總線(systembus)110。在本範例實施例中,主機系統11是通過數據傳輸接口114與內存儲存裝置10連接。例如,主機系統11可經由數據傳輸接口114將數據儲存至內存儲存裝置10或從內存儲存裝置10中讀取數據。此外,主機系統11是通過系統總線110與i/o裝置12連接。例如,主機系統11可經由系統總線110將輸出信號傳送至i/o裝置12或從i/o裝置12接收輸入信號。在本範例實施例中,處理器111、隨機存取內存112、只讀存儲器113及數據傳輸接口114可設置在主機系統11的主板20上。數據傳輸接口114的數目可以是一或多個。通過數據傳輸接口114,主板20可以經由有線或無線方式連接至內存儲存裝置10。內存儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(solidstatedrive,ssd)203或無線內存儲存裝置204。無線內存儲存裝置204可例如是近距離無線通信(nearfieldcommunication,nfc)內存儲存裝置、無線傳真(wifi)內存儲存裝置、藍牙(bluetooth)內存儲存裝置或低功耗藍牙內存儲存裝置(例如,ibeacon)等以各式無線通信技術為基礎的內存儲存裝置。此外,主板20也可以通過系統總線110連接至全球定位系統(globalpositioningsystem,gps)模塊205、網絡適配器206、無線傳輸裝置207、鍵盤208、屏幕209、喇叭210等各式i/o裝置。例如,在一範例實施例中,主板20可通過無線傳輸裝置207存取無線內存儲存裝置204。在一範例實施例中,所提及的主機系統為可實質地與內存儲存裝置配合以儲存數據的任意系統。雖然在上述範例實施例中,主機系統是以計算機系統來作說明,然而,圖3是根據本發明的另一範例實施例所顯示的主機系統與內存儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音頻播放器、視頻播放器或平板電腦等系統,而內存儲存裝置30可為其所使用的安全數字(securedigital,sd)卡32、小型快閃(compactflash,cf)卡33或嵌入式儲存裝置34等各式非易失性內存儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embeddedmmc,emmc)341和/或嵌入式多晶片封裝(embeddedmultichippackage,emcp)儲存裝置342等各類型將內存模塊直接連接於主機系統的基板上的嵌入式儲存裝置。圖4是根據本發明的一範例實施例所顯示的內存儲存裝置的概要方框圖。請參照圖4,內存儲存裝置10包括連接接口單元402、內存控制電路單元404與可複寫式非易失性內存模塊406。在本範例實施例中,連接接口單元402是兼容於序列先進附件(serialadvancedtechnologyattachment,sata)標準。然而,必須了解的是,本發明不限於此,連接接口單元402亦可以是符合併列先進附件(paralleladvancedtechnologyattachment,pata)標準、電氣和電子工程師協會(instituteofelectricalandelectronicengineers,ieee)1394標準、高速周邊零件連接接口(peripheralcomponentinterconnectexpress,pciexpress)標準、通用串行總線(universalserialbus,usb)標準、sd接口標準、超高速一代(ultrahighspeed-i,uhs-i)接口標準、超高速二代(ultrahighspeed-ii,uhs-ii)接口標準、記憶棒(memorystick,ms)接口標準、多晶片封裝(multi-chippackage)接口標準、多媒體儲存卡(multimediacard,mmc)接口標準、emmc接口標準、通用快閃記憶體(universalflashstorage,ufs)接口標準、emcp接口標準、cf接口標準、整合式驅動電子接口(integrateddeviceelectronics,ide)標準或其他適合的標準。連接接口單元402可與內存控制電路單元404封裝在一個晶片中,或者連接接口單元402是布設於一包含內存控制電路單元404的晶片外。內存控制電路單元404用以執行以硬體型式或固件型式實作的多個邏輯門或控制指令並且根據主機系統11的指令在可複寫式非易失性內存模塊406中進行數據的寫入、讀取與抹除等運作。可複寫式非易失性內存模塊406是連接至內存控制電路單元404並且用以儲存主機系統11所寫入的數據。可複寫式非易失性內存模塊406可以是單階記憶胞(singlelevelcell,slc)nand型快閃記憶體模塊(即,一個記憶胞中可儲存1個位的快閃記憶體模塊)、多階記憶胞(multilevelcell,mlc)nand型快閃記憶體模塊(即,一個記憶胞中可儲存2個位的快閃記憶體模塊)、三階記憶胞(triplelevelcell,tlc)nand型快閃記憶體模塊(即,一個記憶胞中可儲存3個位的快閃記憶體模塊)、其他快閃記憶體模塊或其他具有相同特性的內存模塊。可複寫式非易失性內存模塊406中的每一個記憶胞是以電壓(以下亦稱為臨界電壓)的改變來儲存一或多個位。具體來說,每一個記憶胞的控制柵極(controlgate)與信道之間有一個電荷捕捉層。通過施予一寫入電壓至控制柵極,可以改變電荷補捉層的電子量,進而改變記憶胞的臨界電壓。此改變臨界電壓的程序亦稱為「把數據寫入至記憶胞」或「程序化記憶胞」。隨著臨界電壓的改變,可複寫式非易失性內存模塊406中的每一個記憶胞具有多個儲存狀態。通過施予讀取電壓可以判斷一個記憶胞是屬於哪一個儲存狀態,藉此取得此記憶胞所儲存的一或多個位。圖5是根據本發明的一範例實施例所顯示的內存控制電路單元的概要方框圖。請參照圖5,內存控制電路單元404包括內存管理電路502、主機接口504、內存接口506及錯誤檢查與校正電路508。內存管理電路502用以控制內存控制電路單元404的整體運作。具體來說,內存管理電路502具有多個控制指令,並且在內存儲存裝置10運作時,此些控制指令會被執行以進行數據的寫入、讀取與抹除等運作。以下說明內存管理電路502的操作時,等同於說明內存控制電路單元404的操作。在本範例實施例中,內存管理電路502的控制指令是以固件型式來實作。例如,內存管理電路502具有微處理器單元(未顯示)與只讀存儲器(未顯示),並且此些控制指令是被刻錄至此只讀存儲器中。當內存儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行數據的寫入、讀取與抹除等運作。在另一範例實施例中,內存管理電路502的控制指令亦可以程序代碼型式儲存於可複寫式非易失性內存模塊406的特定區域(例如,內存模塊中專用於存放系統數據的系統區)中。此外,內存管理電路502具有微處理器單元(未顯示)、只讀存儲器(未顯示)及隨機存取內存(未顯示)。特別是,此只讀存儲器具有開機碼(bootcode),並且當內存控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非易失性內存模塊406中的控制指令加載至內存管理電路502的隨機存取內存中。之後,微處理器單元會運轉此些控制指令以進行數據的寫入、讀取與抹除等運作。此外,在另一範例實施例中,內存管理電路502的控制指令亦可以一硬體型式來實作。例如,內存管理電路502包括微控制器、記憶胞管理電路、內存寫入電路、內存讀取電路、內存抹除電路與數據處理電路。記憶胞管理電路、內存寫入電路、內存讀取電路、內存抹除電路與數據處理電路是連接至微控制器。記憶胞管理電路用以管理可複寫式非易失性內存模塊406的記憶胞或其群組。內存寫入電路用以對可複寫式非易失性內存模塊406下達寫入指 令序列以將數據寫入至可複寫式非易失性內存模塊406中。內存讀取電路用以對可複寫式非易失性內存模塊406下達讀取指令序列以從可複寫式非易失性內存模塊406中讀取數據。內存抹除電路用以對可複寫式非易失性內存模塊406下達抹除指令序列以將數據從可複寫式非易失性內存模塊406中抹除。數據處理電路用以處理欲寫入至可複寫式非易失性內存模塊406的數據以及從可複寫式非易失性內存模塊406中讀取的數據。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程序代碼或腳本並且用以指示可複寫式非易失性內存模塊406執行相對應的寫入、讀取及抹除等操作。在一範例實施例中,內存管理電路502還可以下達其他類型的指令序列給可複寫式非易失性內存模塊406以指示執行相對應的操作。主機接口504是連接至內存管理電路502並且用以接收與識別主機系統11所傳送的指令與數據。也就是說,主機系統11所傳送的指令與數據會通過主機接口504來傳送至內存管理電路502。在本範例實施例中,主機接口504是兼容於sata標準。然而,必須了解的是本發明不限於此,主機接口504亦可以是兼容於pata標準、ieee1394標準、pciexpress標準、usb標準、sd標準、uhs-i標準、uhs-ii標準、ms標準、mmc標準、emmc標準、ufs標準、cf標準、ide標準或其他適合的數據傳輸標準。內存接口506是連接至內存管理電路502並且用以存取可複寫式非易失性內存模塊406。也就是說,欲寫入至可複寫式非易失性內存模塊406的數據會經由內存接口506轉換為可複寫式非易失性內存模塊406所能接受的格式。具體來說,若內存管理電路502要存取可複寫式非易失性內存模塊406,內存接口506會傳送對應的指令序列。例如,這些指令序列可包括指示寫入數據的寫入指令序列、指示讀取數據的讀取指令序列、指示抹除數據的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收程序等等)的相對應的指令序列。這些指令序列例如是由內存管理電路502產生並且通過內存接口506傳送至可複寫式非易失性內存模塊406。這些指令序列可包括一或多個信號,或是在總線上的數據。這些信號或數據可包括腳本或程序代碼。例如,在讀取指令序列中,會包括讀取的辨識碼、內存地址等信息。錯誤檢查與校正電路508是連接至內存管理電路502並且用以執行錯誤檢查與校正程序以確保數據的正確性。具體來說,當內存管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的數據產生對應的錯誤更正碼(errorcorrectingcode,ecc)和/或錯誤檢查碼(errordetectingcode,edc),並且內存管理電路502會將對應此寫入指令的數據與對應的錯誤更正碼和/或錯誤檢查碼寫入至可複寫式非易失性內存模塊406中。之後,當內存管理電路502從可複寫式非易失性內存模塊406中讀取數據時會同時讀取此數據對應的錯誤更正碼和/或錯誤檢查碼,並且錯誤檢查與校正電路508會依據此錯誤更正碼和/或錯誤檢查碼對所讀取的數據執行錯誤檢查與校正程序。在本範例實施例中,錯誤檢查與校正電路508所使用的是低密度奇偶檢查碼(lowdensityparitycode,ldpc)。然而,在另一範例實施例中,錯誤檢查與校正電路508所使用的也可以是bch碼、迴旋碼(convolutionalcode)、渦輪碼(turbocode)、位翻轉(bitflipping)等編/解碼算法。在一範例實施例中,內存控制電路單元404還包括緩衝存儲器510與電源管理電路512。緩衝存儲器510是連接至內存管理電路502並且用以暫存來自於主機系統11的數據與指令或來自於可複寫式非易失性內存模塊406的數據。電源管理電路512是連接至內存管理電 路502並且用以控制內存儲存裝置10的電源。在本範例實施例中,可複寫式非易失性內存模塊406的記憶胞會構成多個實體程序化單元,並且此些實體程序化單元會構成多個實體抹除單元。例如,同一條字符在線的記憶胞會組成一或多個實體程序化單元。若每一個記憶胞可儲存2個以上的位,則同一條字符在線的實體程序化單元至少可被分類為下實體程序化單元與上實體程序化單元。例如,一記憶胞的最低有效位(leastsignificantbit,lsb)是屬於下實體程序化單元,並且一記憶胞的最高有效位(mostsignificantbit,msb)是屬於上實體程序化單元。一般來說,在mlcnand型快閃記憶體中,下實體程序化單元的寫入速度會大於上實體程序化單元的寫入速度,和/或下實體程序化單元的可靠度是高於上實體程序化單元的可靠度。在本範例實施例中,實體程序化單元為程序化的最小單元。即,實體程序化單元為寫入數據的最小單元。例如,實體程序化單元為實體頁面(page)或是實體扇(sector)。若實體程序化單元為實體頁面,則此些實體程序化單元通常包括數據位區與冗餘(redundancy)位區。數據位區包含多個實體扇,用以儲存用戶數據,而冗餘位區用以儲存系統數據(例如,錯誤更正碼)。在本範例實施例中,數據位區包含32個實體扇,且一個實體扇的大小為512位元組(byte,b)。然而,在其他範例實施例中,數據位區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除的記憶胞。例如,實體抹除單元為實體區塊(block)。圖6是根據本發明的一範例實施例所顯示的管理可複寫式非易失性內存模塊的示意圖。請參照圖6,內存管理電路502會將可複寫式非易失性內存模塊406的實體抹除單元610(0)~610(b)邏輯地分組為儲存區601與替換區602。儲存區601中的實體抹除單元610(0)~610(a)是用以儲存數據,而替換區602中的實體抹除單元610(a+1)~610(b)是用以替換儲存區601中損壞的實體抹除單元。在本範例實施例中,內存管理電路502會配置邏輯單元612(0)~612(c)以映像儲存區601中的實體抹除單元610(0)~610(a)的至少一部分。在本範例實施例中,主機系統11是通過邏輯地址(logicaladdress,la)來存取儲存區601中的數據,因此,邏輯單元612(0)~612(c)中的每一個是指一個邏輯地址。然而,在另一範例實施例中,邏輯單元612(0)~612(c)中的每一個也可以是指一個邏輯程序化單元、一個邏輯抹除單元或者由多個連續或不連續的邏輯地址組成,視實務上的需求而定。此外,邏輯單元612(0)~612(c)中的每一個可被映射至一或多個實體抹除單元。在本範例實施例中,內存管理電路502會將邏輯單元與實體抹除單元之間的映像關係(亦稱為邏輯-實體映像關係)記錄於至少一邏輯-實體映像表。當主機系統11欲從內存儲存裝置10讀取數據或寫入數據至內存儲存裝置10時,內存管理電路502可根據此邏輯-實體映像表來執行對於內存儲存裝置10的數據存取。圖7a至圖7c是根據本發明的一範例實施例所顯示的多個記憶胞的臨界電壓分布的示意圖。本範例實施例是以slcnand型快閃記憶體為例,其中橫軸代表記憶胞的臨界電壓,而縱軸代表記憶胞個數。然而,在另一範例實施例中,圖7a至圖7c亦可以用來表示mlcnand或tlcnand型快閃記憶體中一部分的臨界電壓分布。請參照圖7a,在程序化可複寫式非易失性內存模塊406中的多個記憶胞後,被程序化的 每一個記憶胞的臨界電壓會屬於分布710與720的其中之一。例如,若某一個記憶胞被用來儲存位「1」,則此記憶胞的臨界電壓會落在分布710;而若某一個記憶胞被用來儲存位「0」,則此記憶胞的臨界電壓會落在分布720。在本範例實施例中,此些被程序化的記憶胞會屬於一個實體程序化單元。然而,在另一範例實施例中,此些被程序化的記憶胞也可以是屬於一個實體抹除單元。值得一提的是,在本範例實施例中,每一個記憶胞是用以儲存一個位,故此些記憶胞的臨界電壓的分布有兩種可能(例如,分布710與分布720)。然而,在其他範例實施例中,若一個記憶胞是用以儲存多個位,則對應的臨界電壓的分布則可能有四種(例如,mlcnand型快閃記憶體)、八種(例如,tlcnand型快閃記憶體)或其他任意個可能。此外,本發明也不限制每一個分布所代表的位。例如,在圖7a的另一範例實施例中,分布710是代表位「0」,並且分布720是代表位「1」。在本範例實施例中,若要讀取此些記憶胞中的至少一記憶胞(以下稱為第一記憶胞)所儲存的數據,內存管理電路502會發送一個默認讀取指令序列(以下稱為硬讀取指令序列)至可複寫式非易失性內存模塊406。此硬讀取指令序列用以指示基於一個默認讀取電壓準位(以下稱為硬決策電壓準位)來讀取第一記憶胞或第一記憶胞所屬的實體單元。例如,此實體單元是指一個實體程序化單元。根據此硬讀取指令序列,可複寫式非易失性內存模塊406會使用一個硬決策電壓準位(例如,圖7a中的讀取電壓準位vdefault)來讀取第一記憶胞並且將所獲得的位信息(以下稱為硬位信息)傳送給內存管理電路502。其中,硬位信息會包含從每一個第一記憶胞讀取的一個位數據(以下稱為硬位)。例如,若某一個第一記憶胞的臨界電壓小於讀取電壓準位vdefault(例如,臨界電壓屬於分布710的記憶胞),則內存管理電路502會讀到硬位「1」;若某一個記憶胞的臨界電壓大於讀取電壓準位vdefault(例如,臨界電壓屬於分布720的記憶胞),則內存管理電路502會讀到硬位「0」。請持續參照圖7a和圖7b,隨著可複寫式非易失性內存模塊406的使用時間增加和/或操作環境改變,可複寫式非易失性內存模塊406中的記憶胞可能會發生性能衰退(degradation)。例如,在屬於分布710與分布720的記憶胞發生性能衰退後,分布710與分布720可能會逐漸相互靠近甚至相互重疊。例如,分布711與分布721分別用來表示性能衰退後的分布710與分布720。分布711與分布721包含一個重疊區域731(以斜線表示)。發生性能衰退後,若持續使用相同的硬決策電壓準位(例如,讀取電壓準位vdefault)來讀取第一記憶胞,則讀取到的硬位可能會包含許多錯誤。例如,此些錯誤包括將屬於分布711的記憶胞誤判為屬於分布721,或者將屬於分布721的記憶胞誤判為屬於分布711。因此,在本範例實施例中,錯誤檢查與校正電路508會根據所獲得的硬位信息執行一默認解碼程序(以下稱為硬解碼程序),從而嘗試更正所獲得的硬位中可能存在的錯誤。若所執行的硬解碼程序失敗,則更多的硬解碼程序可被重複執行。圖8是根據本發明的一範例實施例所顯示的硬解碼程序的示意圖。請參照圖8,假設每一個第一記憶胞的臨界電壓組成分布810與分布820。當欲讀取儲存於第一記憶胞中的數據時,內存管理電路502會發送一個硬讀取指令序列(以下稱為第一硬讀取指令序列)至可複寫式非易失性內存模塊406。此第一硬讀取指令序列用以指示基於一個硬決策電壓準位(以下稱為第一硬決策電壓準位)來讀取第一記憶胞或第一記憶胞所屬的實體單元。根據第一硬讀取指令序列,可複寫式非易失性內存模塊406會使用第一硬決策電壓準位 來讀取第一記憶胞並且將所獲得的硬位信息(以下稱為第一硬位信息)傳送給內存管理電路502。在本範例實施例中,第一硬決策電壓準位是以圖8中的讀取電壓準位vh1為例。所獲得的第一硬位信息會包含從每一個第一記憶胞讀取的一個硬位(以下稱為第一硬位)hb1。例如,若某一個第一記憶胞的臨界電壓小於讀取電壓準位vh1,則內存管理電路502會讀到位值為「1」的硬位hb1;若某一個第一記憶胞的臨界電壓大於讀取電壓準位vh1,則內存管理電路502會讀到位值為「0」的硬位hb1。錯誤檢查與校正電路508會根據所獲得的第一硬位信息執行一硬解碼程序(以下稱為第一硬解碼程序)。在第一硬解碼程序中,錯誤檢查與校正電路508會嘗試更正第一硬位中可能存在的錯誤。若第一硬位中的錯誤皆被更正,表示解碼成功,則錯誤檢查與校正電路508會輸出解碼成功的位並且結束第一硬解碼程序(或結束整個解碼程序)。若第一硬位中的錯誤並未全部被更正,表示解碼失敗,則內存管理電路502會調整硬決策電壓準位(例如,將硬決策電壓準位從第一硬決策電壓準位調整為另一硬決策電壓準位)並且發送另一個硬讀取指令序列(以下稱為第二硬讀取指令序列)至可複寫式非易失性內存模塊406。此第二硬讀取指令序列用以指示基於調整後的硬決策電壓準位(以下稱為第二硬決策電壓準位)來讀取第一記憶胞或第一記憶胞所屬的實體單元。根據第二硬讀取指令序列,可複寫式非易失性內存模塊406會使用第二硬決策電壓準位來讀取第一記憶胞並且將所獲得的硬位信息(以下稱為第二硬位信息)傳送給內存管理電路502。在本範例實施例中,第二硬決策電壓準位是以圖8中的讀取電壓準位vh2為例。所獲得的第二硬位信息會包含從每一個第一記憶胞讀取的另一個硬位(以下稱為第二硬位)hb2。例如,若某一個第一記憶胞的臨界電壓小於讀取電壓準位vh2,則內存管理電路502會讀到位值為「1」的硬位hb2;若某一個第一記憶胞的臨界電壓大於讀取電壓準位vh2,則內存管理電路502會讀到位值為「0」的硬位hb2。在本範例實施例中,第一硬位信息中硬位hb1的總數會等於第二硬位信息中硬位hb2的總數。錯誤檢查與校正電路508會根據所獲得的第二硬位信息執行另一硬解碼程序(以下稱為第二硬解碼程序)。在第二硬解碼程序中,錯誤檢查與校正電路508會嘗試更正第二硬位中可能存在的錯誤。若第二硬位中的錯誤皆被更正,表示解碼成功,則錯誤檢查與校正電路508會輸出解碼成功的位並且結束第二硬解碼程序(或結束整個解碼程序)。此外,若第二硬位中的錯誤並未全部被更正,表示解碼失敗,則內存管理電路502可再次調整用來讀取第一記憶胞的硬決策電壓準位並且更多的硬解碼程序可接續被執行。在一範例實施例中,若某一個硬解碼程序失敗,內存管理電路502會判斷硬解碼程序的執行次數是否達到一門檻值(以下稱為第一門檻值)。若硬解碼程序的執行次數已達到第一門檻值,則內存管理電路502會判定解碼失敗並且結束硬解碼程序(或結束整個解碼程序)。若硬解碼程序的執行次數尚未達到第一門檻值,則內存管理電路502可再次調整用來讀取第一記憶胞的硬決策電壓準位並且更多的硬解碼程序可接續被執行。請再次參照圖7b和圖7c,對於臨界電壓屬於分布711與分布721的記憶胞來說,若持續地使用此些記憶胞,則此些記憶胞可能會持續地發生性能衰退。因此,分布711與分布721可能會進一步改變為分布712與分布722。分布712與分布722包含一個重疊區域741(以斜線表示)。重疊區域741的面積會大於重疊區域731的面積。或者,臨界電壓屬於重疊區域741 的記憶胞之總數會多於臨界電壓屬於重疊區域731的記憶胞的總數。相對於分布711與分布721,若使用某一個硬決策電壓準位(例如,讀取電壓準位vdefault、vh1、vh2等)來讀取分布712與分布722中的第一記憶胞,則讀取到的硬位可能會包含更多的錯誤。例如,相對於分布711與分布721,更多屬於分布712的記憶胞可能會被誤判為屬於分布722,並且更多屬於分布722的記憶胞可能會被誤判為屬於分布712。在此情況下,受限於硬解碼程序的解碼能力(或錯誤更正能力),即便使用再多的硬決策電壓準位來讀取第一記憶胞並對應執行再多次的硬解碼程序,可能都無法藉由單一的硬解碼信息來更正所獲得的硬位中的所有錯誤。在本範例實施例中,對於臨界電壓屬於分布712與分布722的記憶胞,若根據第一硬位信息所執行的第一硬解碼程序失敗,則內存管理電路502會接續發送另一個默認讀取指令序列(以下稱為軟讀取指令序列)至可複寫式非易失性內存模塊406。此軟讀取指令序列用以指示基於多個默認讀取電壓準位(以下稱為軟決策電壓準位)來讀取第一記憶胞或第一記憶胞所屬的實體單元。根據此軟讀取指令序列,可複寫式非易失性內存模塊406會使用多個軟決策電壓準位來讀取第一記憶胞並且將所獲得的位信息(以下稱為軟位信息)傳送給內存管理電路502。其中,所獲的的軟位信息會包含從每一個第一記憶胞讀取的多個位數據(以下稱為軟位)。錯誤檢查與校正電路508會根據所獲得的軟位信息執行另一默認解碼程序(以下稱為軟解碼程序),從而嘗試更正當前欲解碼的碼字中存在的錯誤。在本範例實施例中,軟解碼程序的錯誤更正能力高於硬解碼程序的錯誤更正能力。若所執行的軟解碼程序失敗,則更多的軟解碼程序可被重複執行。圖9是根據本發明的一範例實施例所顯示的軟解碼程序的示意圖。請參照圖9,在第一硬解碼程序失敗後,內存管理電路502亦可以選擇發送一個軟讀取指令序列至可複寫式非易失性內存模塊406。此軟讀取指令序列用以指示基於多個軟決策電壓準位(例如,讀取電壓準位vs1~vs5)來讀取第一記憶胞或第一記憶胞所屬的實體單元。根據此軟讀取指令序列,可複寫式非易失性內存模塊406會使用此些軟決策電壓準位(例如,讀取電壓準位vs1~vs5)來讀取第一記憶胞並且將所獲得的軟位信息931傳送給內存管理電路502。其中,所獲得的軟位信息931會包含從每一個第一記憶胞讀取的多個軟位sb1~sb5。在本範例實施例中,假設軟位信息、第一硬位信息及第二硬位信息皆是藉由讀取相同(例如,相同數目)的第一記憶胞而獲得,則第一硬位信息中硬位的總數(或第二硬位信息中硬位的總數)會小於軟位信息中軟位的總數。在本範例實施例中,藉由依序施加讀取電壓準位vs1~vs5至某一個記憶胞所獲得的軟位sb1~sb5可以用來表示此記憶胞的臨界電壓位於區間901~906中的哪一個。例如,若經由讀取某一個記憶胞而獲得的軟位sb1~sb5是「11111」,表示此記憶胞的臨界電壓位於區間901;若經由讀取某一個記憶胞而獲得的軟位sb1~sb5是「01111」,表示此記憶胞的臨界電壓位於區間902;若經由讀取某一個記憶胞而獲得的軟位sb1~sb5是「00111」,表示此記憶胞的臨界電壓位於區間903;若經由讀取某一個記憶胞而獲得的軟位sb1~sb5是「00011」,表示此記憶胞的臨界電壓位於區間904;若經由讀取某一個記憶胞而獲得的軟位sb1~sb5是「00001」,表示此記憶胞的臨界電壓位於區間905;若經由讀取某一個記憶胞而獲得的軟位sb1~sb5是「00000」,表示此記憶胞的臨界電壓位於區間906。在一範例實施例中,在傳送軟位信息給內存管理電路502之前,可複寫式非易失性內存 模塊406會將對應於同一個記憶胞的至少部分軟位作邏輯運算,以減少軟位信息中軟位的總數。以圖9為例,可複寫式非易失性內存模塊406亦可對應於某一個記憶胞的軟位sb2與軟位sb3作邏輯上的異或(exclusiveor,xor)運算以獲得第一運算結果,對應於此記憶胞的軟位sb4與軟位sb5作邏輯上的異或運算以獲得第二運算結果,並且將此記憶胞的軟位sb1、第一運算結果及第二運算結果作為對應於此記憶胞的軟位信息941傳送給內存管理電路502。其中,第一運算結果及第二運算結果也可分別視為是一個軟位。相對於傳送軟位信息931,由於軟位信息941所包含的軟位的總數較少,軟位信息941可以更快地傳送給內存管理電路502。錯誤檢查與校正電路508會根據所獲得的軟位信息執行一個軟解碼程序,從而嘗試更正一個碼字中存在的錯誤。例如,此碼字中的每一個位是藉由上述讀取電壓準位vs1~vs5的其中之一來讀取某一個記憶胞而獲得。在一範例實施例中,用來讀取此碼字中的每一個位的軟決策電壓亦稱為一個正負號(sign)讀取電壓準位。在一範例實施例中,錯誤檢查與校正電路508還會查詢一查找表以獲得一組信道可靠度信息。例如,當前所欲解碼的碼字中的每一個位都會被對應至一個信道可靠度信息,而此信道可靠度信息用以表示碼字中的每一個位被解碼為「1」或「0」的機率是多少。藉此,錯誤檢查與校正電路508會根據此信道可靠度信息與所獲得的軟位信息來執行軟解碼程序。此外,在另一範例實施例中,此軟位信息也可以被用來更新所使用的信道可靠度信息。在一範例實施例中,軟位信息中的每一個軟位亦可稱為是一個驗證位,並且可靠度信息是指對數相似度比值(loglikelihoodratio,llr)。所屬
技術領域:
:中普通技術人員應當知曉如何利用信道可靠度信息(例如,對數相似度比值)與所獲得的軟位信息來執行軟解碼程序,在此便不贅述。此外,對應於不同的解碼算法,軟解碼程序中所採用的信道可靠度信息也可能是指其他用於描述信道狀態的信道信息,本發明不加以限制。在軟解碼程序中,若碼字中的錯誤全部被更正,表示解碼成功,錯誤檢查與校正電路508會輸出解碼成功的位並結束軟解碼程序(或整個解碼程序)。然而,若碼字中的錯誤並未全部被更正,表示解碼失敗,內存管理電路502可調整下一次用來讀取第一記憶胞的軟決策電壓準位並且更多的軟解碼程序可接續被執行。在一範例實施例中,若第一硬解碼程序失敗,內存管理電路502會判斷第一記憶胞是屬於第一類記憶胞或第二類記憶胞。其中,第一類記憶胞的損耗程度高於第二類記憶胞的損耗程度。若第一記憶胞屬於第一類記憶胞,表示第一記憶胞的損耗程度不高,則內存管理電路502會選擇接續使用更多的硬解碼程序來解碼第一記憶胞所儲存的數據。例如,內存管理電路502會發送上述第二硬讀取指令序列並且指示錯誤檢查與校正電路508根據所獲得的第二硬位信息執行第二硬解碼程序。關於硬解碼程序的操作細節可參考圖8的範例實施例,在此便不贅述。相對於在第一硬解碼程序失敗後直接採用軟解碼程序,雖然硬解碼程序的解碼成功率較低,但是硬解碼程序有解碼速度較快的優勢。因此,對於第一類記憶胞來說,持續地採用硬解碼程序仍有很高的機率可以快速且成功地完成整個解碼程序。另一方面,若第一記憶胞屬於第二類記憶胞,表示第一記憶胞的損耗程度較高,故內存管理電路502會選擇直接使用軟解碼程序來解碼第一記憶胞所儲存的數據。例如,內存管理電路502會發送上述軟讀取指令序列並且指示錯誤檢查與校正電路508根據所獲得的軟位信息執行軟解碼程序。關於軟解碼程序的操作細節可參考圖9的範例實施例,在此便不贅述。相對於持續地採用硬解碼程序,雖然軟解碼程序的解碼速度較慢(運算複雜度較高),但是軟譯 碼程序有解碼成功率較高的優勢。因此,對於第二類記憶胞來說,在第一硬解碼程序失敗後直接採用軟解碼程序有較高機率可以加快整個解碼程序的完成。在一範例實施例中,內存管理電路502會判斷第一記憶胞的損耗程度是否符合一預設條件。若第一記憶胞的損耗程度符合此默認條件,內存管理電路502會判定第一記憶胞屬於該第一類記憶胞。若第一記憶胞的損耗程度不符合此默認條件,內存管理電路502會判定第一記憶胞屬於第二類記憶胞。在一範例實施例中,內存管理電路502會判斷第一記憶胞的臨界電壓分布是否符合一默認分布。若第一記憶胞的臨界電壓分布符合此默認分布,內存管理電路502會判定第一記憶胞的損耗程度符合此默認條件並且第一記憶胞屬於第一類記憶胞。若第一記憶胞的臨界電壓分布不符合此默認分布,內存管理電路502會判定第一記憶胞的損耗程度不符合此默認條件並且第一記憶胞屬於第二類記憶胞。在一範例實施例中,若第一記憶胞的臨界電壓分布類似於圖7b中的分布711與分布721,則第一記憶胞會被判定為屬於第一類記憶胞。若第一記憶胞的臨界電壓分布類似於圖7c中的分布712與分布722,則第一記憶胞會被判定為屬於第二類記憶胞。例如,可藉由至少一分布模型來定義怎樣的臨界電壓分布符合默認分布和/或怎樣的臨界電壓分布不符合默認分布。在一範例實施例中,若第一記憶胞中臨界電壓屬於某一重疊區域(例如,圖7b的重疊區域731)的記憶胞的總數小於一預設數目,則第一記憶胞會被判定為屬於第一類記憶胞。若第一記憶胞中臨界電壓屬於某一重疊區域(例如,圖7c的重疊區域741)的記憶胞的總數大於此預設數目,則第一記憶胞會被判定為屬於第二類記憶胞。在一範例實施例中,內存管理電路502會判斷第一記憶胞的一損耗程度值是否小於一默認值。若第一記憶胞的損耗程度值小於默認值,內存管理電路502會判定第一記憶胞的損耗程度符合默認條件並且第一記憶胞屬於第一類記憶胞。若第一記憶胞的損耗程度值等於或大於此默認值,內存管理電路502會判定第一記憶胞的損耗程度不符合默認條件並且第一記憶胞屬於第二類記憶胞。在一範例實施例中,內存管理電路502會根據第一記憶胞的一損耗參數決定第一記憶胞的損耗程度值。例如,第一記憶胞的損耗參數包括抹除計數、程序化計數、讀取計數、位錯誤率、數據儲存時間、程序化忙碌時間及重試計數的至少其中之一。第一記憶胞的抹除計數用以表示第一記憶胞的至少其中之一被抹除了幾次或者第一記憶胞平均被抹除了幾次。第一記憶胞的程序化計數用以表示第一記憶胞的至少其中之一被程序化了幾次或者第一記憶胞平均被程序化了幾次。第一記憶胞的讀取計數用以表示第一記憶胞的至少其中之一被讀取了幾次或者第一記憶胞平均被讀取了幾次。第一記憶胞的位錯誤率用以表示第一記憶胞的至少其中之一所儲存的位數據中有幾個錯誤位或者第一記憶胞所儲存的位數據中平均有幾個錯誤位。第一記憶胞的數據儲存時間用以表示目前儲存於第一記憶胞的至少其中之一中的數據(平均)被儲存了多久。第一記憶胞的程序化忙碌時間用以表示程序化第一記憶胞所需的忙碌時間或多次程序化第一記憶胞所需的平均忙碌時間。例如,當程序化第一記憶胞(例如,將某一數據儲存至第一記憶胞)時,內存管理電路502會記錄用於程序化第一記憶胞的忙碌時間並且根據所記錄的忙碌時間來決定第一記憶胞的(平均)程序化忙碌時間。在此忙碌時間內,第一記憶胞的程序化操作尚未完成。第一記憶胞的重試計數用以表示完成對應於第一記憶胞或者其他與第一記憶胞有關聯的記憶胞(以下稱為第二記憶胞)的解碼所需要重複執行的硬解碼程序的一總次數,或者平均需要執行幾次硬解碼程序才能成完成對應於第一記憶胞或第二記憶胞的解碼。在一範例實施例中,內存管理電路502會指示程序化可複寫式非易失性內存模塊406中的第二記憶胞。然後,當欲讀取儲存於第二記憶胞中的數據時,錯誤檢查與校正電路508會對應於第二記憶胞執行至少一次(以下稱為第一次數)的硬解碼程序。內存管理電路502會記錄此第一次數並且根據此第一次數來決定第一記憶胞的重試計數。在一範例實施例中,映像至第一記憶胞的一邏輯單元(以下稱為第一邏輯單元)是接續於映像至第二記憶胞的另一邏輯單元(以下稱為第二邏輯單元)。例如,當主機系統11指示儲存一數據至多個連續排列(或編號)的邏輯單元時,此數據的一第一部分先被儲存至第二邏輯單元,而此數據的一第二部分接續地被儲存至第一邏輯單元。因此,若此數據的第一部分被儲存至第二記憶胞並且此數據的第二部分被儲存至第一記憶胞,則第二邏輯單元會被映像至第二記憶胞或第二記憶胞所屬的實體單元,並且第一邏輯單元會被映像至第一記憶胞或第一記憶胞所屬的實體單元。然後,當欲連續地讀取儲存於第二記憶胞與第一記憶胞的數據時,對應於第二記憶胞的硬解碼程序會先被執行並且內存管理電路502可據以更新第一記憶胞的重試計數。然後,當欲執行對應於第一記憶胞的解碼時,內存管理電路502可以根據第一記憶胞的重試計數來判定第一記憶胞屬於第一類記憶胞或第二類記憶胞。在一範例實施例中,第一記憶胞與第二記憶胞是包含於(或屬於)可複寫式非易失性內存模塊406中的同一個實體抹除單元。在一範例實施例中,第一記憶胞的損耗參數正相關於第一記憶胞的損耗程度值。例如,若第一記憶胞的抹除計數、程序化計數、讀取計數、位錯誤率、數據儲存時間、程序化忙碌時間及重試計數的至少其中之一越高,則第一記憶胞的損耗程度值就越大。例如,在一範例實施例中,當第一記憶胞的抹除計數小於200時,第一記憶胞會被視為第一類記憶胞;當第一記憶胞持續地被使用導致其抹除計數高於200時,第一記憶胞會被視為第二類記憶胞。此外,在另一範例實施例中,環境的溫度、溼度等各種會隨著記憶胞的使用時間、使用狀態或使用程度來影響記憶胞的可靠度的參數都可以被視為第一記憶胞的損耗參數,從而影響對於第一記憶胞是否屬於第一類記憶胞(或第二類記憶胞)的判斷。在一範例實施例中,在判定第一記憶胞屬於第一類記憶胞與第二類記憶胞的其中之一之後,這個判斷結果可以直接套用至與第一記憶胞屬於同一個實體抹除單元的其他記憶胞(以下稱為第三記憶胞)。然後,當對應於第三記憶胞的第一硬解碼程序失敗時,此判斷結果可以被用來決定對應於第三記憶胞是要接續使用硬解碼程序還是直接切換到軟解碼程序。或者,在另一範例實施例中,當判定上述第二記憶胞屬於第一類記憶胞與第二類記憶胞的其中之一之後,這個判斷結果亦可以直接套用至第一記憶胞。在一範例實施例中,在接續於第一硬解碼程序之後執行的軟解碼程序中,所使用的信道可靠度信息會是一組默認信道可靠度信息。若使用此默認信道可靠度信息的軟解碼程序失敗,則內存管理電路502會追蹤(track)一個最佳(optimal)讀取電壓準位並根據此最佳讀取電壓準位來調整軟決策電壓準位。以圖9為例,此最佳讀取電壓準位會被設定在分布910與分布920之間的「v」字形的最低點(例如,讀取電壓準位vs3附近)。然後,內存管理電路502會指示基於調整後的軟決策電壓準位來再次讀取第一記憶胞以獲得相對應的軟位信息,並且錯誤檢 查與校正電路508會根據所獲得的軟位信息與默認信道可靠度信息執行下一個軟解碼程序。若此軟解碼程序更正了相應的碼字中的所有錯誤,表示解碼成功,錯誤檢查與校正電路508會輸出解碼成功的位並且結束軟解碼程序(或整個解碼程序)。若此軟解碼程序仍然失敗,則內存管理電路502會判斷軟解碼程序的執行次數是否達到另一門檻值(以下稱為第二門檻值)。若軟解碼程序的執行次數已達到第二門檻值,則內存管理電路502會判定解碼失敗並且結束軟解碼程序(或結束整個解碼程序)。若軟解碼程序的執行次數尚未達到第二門檻值,則內存管理電路502會再次查詢上述查找表以調整所使用的信道可靠度信息並根據調整後的信道可靠度信息再次執行下一個軟解碼程序。圖10是根據本發明的一範例實施例所顯示的解碼方法的流程圖。請參照圖10,在步驟s1001中,程序化第一記憶胞。在步驟s1002中,基於硬決策電壓準位讀取第一記憶胞以獲得硬位信息。在步驟s1003中,根據所獲得的硬位信息執行硬解碼程序。在步驟s1004中,判斷所執行的硬解碼程序是否失敗(或成功)。若所執行的硬解碼程序成功,在步驟s1005中,輸出解碼成功的位並結束硬解碼程序。若所執行的硬解碼程序失敗,在步驟s1006中,判斷第一記憶胞是否屬於第一類記憶胞(或第二類記憶胞)。若第一記憶胞屬於第一類記憶胞,在步驟s1007中,調整硬決策電壓準位。然後,步驟s1002以及後續步驟會被重複執行。值得注意的是,在重複執行的步驟s1002中,是使用於步驟s1007中調整後的硬決策電壓準位來讀取第一記憶胞。若第一記憶胞不屬於第一類記憶胞(即,屬於第二類記憶胞),則在步驟s1008中,切換至軟解碼模式並且基於多個軟決策電壓準位來讀取第一記憶胞以獲得軟位信息。在步驟s1009中,根據所獲得的軟位信息來執行軟解碼程序。圖11a與圖11b是根據本發明的另一範例實施例所顯示的解碼方法的流程圖。請參照圖11a,在步驟s1101中,程序化第一記憶胞。在步驟s1102中,基於硬決策電壓準位讀取第一記憶胞以獲得硬位信息。在步驟s1103中,根據所獲得的硬位信息執行硬解碼程序。在步驟s1104中,判斷所執行的硬解碼程序是否失敗(或成功)。若所執行的硬解碼程序成功,在步驟s1105中,輸出解碼成功的位並結束硬解碼程序。若所執行的硬解碼程序失敗,在步驟s1106中,判斷已執行的硬解碼程序的執行次數是否達到第一門檻值。若已執行的硬解碼程序的執行次數已達到第一門檻值(例如,高於或等於第一門檻值),接續執行步驟s1105。若已執行的硬解碼程序的執行次數尚未達到第一門檻值(例如,低於第一門檻值),則在步驟s1107中,判斷第一記憶胞是否屬於第一類記憶胞(或第二類記憶胞)。若第一記憶胞屬於第一類記憶胞,在步驟s1108中,調整硬決策電壓準位。然後,步驟s1102以及後續步驟會被重複執行。若第一記憶胞不屬於第一類記憶胞(即,屬於第二類記憶胞),則在步驟s1109中,基於多個軟決策電壓準位來讀取第一記憶胞以獲得軟位信息。在步驟s1110中,根據所獲得的軟位信息來執行軟解碼程序。請接續參照圖11b,在步驟s1111中,判斷所執行的軟解碼程序是否失敗(或成功)。若所執行的軟解碼程序成功,在步驟s1112中,輸出解碼成功的位並結束軟解碼程序。若所執行的軟解碼程序失敗,在步驟s1113中,追蹤最佳讀取電壓準位並調整軟決策電壓準位。在步驟s1114中,基於調整後的軟決策電壓準位讀取第一記憶胞以獲得軟位信息。在步驟s1115中,根據所獲得的軟位信息執行軟解碼程序。在步驟s1116中,判斷所執行的軟解碼程序是否失敗(或成功)。若所執行的軟解碼程序成功,接續執行步驟s1112。若所執行的軟解碼程序失敗,在步驟s1117中,判斷已執行的軟解碼程序的執行次數是否達到第二門檻值。若已執 行的軟解碼程序的執行次數已達到第二門檻值(例如,高於或等於第二門檻值),則接續執行步驟s1112。若已執行的軟解碼程序的執行次數尚未達到第二門檻值(例如,低於第二門檻值),則在步驟s1118中,更新軟解碼程序所使用的可靠度信息(例如,對數相似度比值)。然後,步驟s1115以及後續步驟會被重複執行。然而,圖10、圖11a及圖11b中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖10、圖11a及圖11b中各步驟可以實作為多個程序代碼或是電路,本發明不加以限制。此外,圖10、圖11a及圖11b的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。綜上所述,若對於第一記憶胞的第一硬解碼程序失敗且第一記憶胞屬於第一類記憶胞,則對於此第一記憶胞的解碼會始終維持在硬解碼模式。然而,若對於第一記憶胞的第一硬解碼程序失敗且第一記憶胞不屬於第一類記憶胞(例如,第一記憶胞屬於第二類記憶胞),則對於此第一記憶胞的解碼會直接切換到軟解碼模式。藉此,相對於一般制式的解碼流程(例如,只能執行硬解碼,或者硬解碼失敗後直接切換至軟解碼),本發明可以根據記憶胞的使用狀態而在解碼速度與解碼成功率之間取得平衡。雖然本發明已以實施例揭示如上,然其並非用以限定本發明,任何所屬
技術領域:
:中普通技術人員,在不脫離本發明的精神和範圍內,當可作些許的改動與潤飾,故本發明的保護範圍當視所附權利要求界定範圍為準。當前第1頁12當前第1頁12

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀