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