本發(fā)明是有關(guān)于一種存儲(chǔ)器管理方法,尤其是涉及一種數(shù)據(jù)編程方法、存儲(chǔ)器存儲(chǔ)裝置及存儲(chǔ)器控制電路單元。
背景技術(shù):
::數(shù)碼相機(jī)、移動(dòng)電話與MP3播放器在這幾年來(lái)的成長(zhǎng)十分迅速,使得消費(fèi)者對(duì)存儲(chǔ)媒體的需求也急速增加。由于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊(例如,存儲(chǔ)器)具有數(shù)據(jù)非易失性、省電、體積小,以及無(wú)機(jī)械結(jié)構(gòu)等特性,所以非常適合內(nèi)建于上述所舉例的各種便攜式多媒體裝置中。一般來(lái)說(shuō),若存儲(chǔ)器模塊中的某一個(gè)存儲(chǔ)胞可用以存儲(chǔ)兩個(gè)以上的位,則對(duì)于此存儲(chǔ)胞的編程操作可能會(huì)分為多次執(zhí)行。每次執(zhí)行的編程結(jié)果都可能會(huì)影響到后續(xù)執(zhí)行的編程操作的正確性。因此,如何提升最終編程至存儲(chǔ)胞中的數(shù)據(jù)的正確性為本領(lǐng)域技術(shù)人員所關(guān)心的議題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供一種數(shù)據(jù)編程方法、存儲(chǔ)器存儲(chǔ)裝置及存儲(chǔ)器控制電路單元,可降低因編程過(guò)程中誤判存儲(chǔ)胞的數(shù)據(jù)存儲(chǔ)狀態(tài)而導(dǎo)致最終編程結(jié)果發(fā)生錯(cuò)誤的機(jī)率。本發(fā)明的一實(shí)施例提供一種數(shù)據(jù)編程方法,其用于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊,所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊包括多個(gè)實(shí)體擦除單元,所述實(shí)體擦除單元中的第一實(shí)體擦除單元包括多個(gè)下實(shí)體編程單元與對(duì)應(yīng)于所述下實(shí)體編程單元的多個(gè)上實(shí)體編程單元,所述數(shù)據(jù)編程方法包括:接收第一數(shù)據(jù)并且將所述第一數(shù)據(jù)編程至所述下實(shí)體編程單元中的第一下實(shí)體編程單元;接收第二數(shù)據(jù);執(zhí)行對(duì)應(yīng)于所述第一下實(shí)體編程單元的第一數(shù)據(jù)獲取操作以獲得第三數(shù)據(jù),其中所述第一數(shù)據(jù)獲取操作包括使用第二讀取電壓來(lái)讀 取所述第一下實(shí)體編程單元,其中所述第二讀取電壓的電壓值不同于對(duì)應(yīng)于所述第一下實(shí)體編程單元的預(yù)設(shè)讀取電壓的預(yù)設(shè)電壓值;以及根據(jù)所述第三數(shù)據(jù)來(lái)將所述第二數(shù)據(jù)編程至所述上實(shí)體編程單元中的第一上實(shí)體編程單元。在本發(fā)明的一實(shí)施例中,所述數(shù)據(jù)編程方法還包括:獲得所述第一下實(shí)體編程單元的磨損程度值;以及根據(jù)所述磨損程度值將對(duì)應(yīng)于所述第一下實(shí)體編程單元的所述預(yù)設(shè)讀取電壓調(diào)整為所述第二讀取電壓。在本發(fā)明的一實(shí)施例中,所述執(zhí)行對(duì)應(yīng)于所述第一下實(shí)體編程單元的所述第一數(shù)據(jù)獲取操作的步驟還包括:譯碼使用所述第二讀取電壓所讀取到的第四數(shù)據(jù);判斷所述第四數(shù)據(jù)是否譯碼失??;以及若所述第四數(shù)據(jù)譯碼失敗,將所述第二讀取電壓調(diào)整為第三讀取電壓并使用所述第三讀取電壓來(lái)讀取所述第一下實(shí)體編程單元。本發(fā)明的一實(shí)施例中,所述第一上實(shí)體編程單元與所述第一下實(shí)體編程單元屬于同一條字符線。本發(fā)明的另一實(shí)施例提供一種存儲(chǔ)器存儲(chǔ)裝置,其包括連接接口單元、可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊及存儲(chǔ)器控制電路單元。所述連接接口單元用以電性連接至主機(jī)系統(tǒng)。所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊包括多個(gè)實(shí)體擦除單元,所述實(shí)體擦除單元中的第一實(shí)體擦除單元包括多個(gè)下實(shí)體編程單元與對(duì)應(yīng)于所述下實(shí)體編程單元的多個(gè)上實(shí)體編程單元。所述存儲(chǔ)器控制電路單元電性連接至所述連接接口單元與所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊,其中所述存儲(chǔ)器控制電路單元用以接收第一數(shù)據(jù)并且發(fā)送第一寫(xiě)入指令序列以將所述第一數(shù)據(jù)編程至所述下實(shí)體編程單元中的第一下實(shí)體編程單元,其中所述存儲(chǔ)器控制電路單元還用以接收第二數(shù)據(jù),其中所述存儲(chǔ)器控制電路單元還用以指示執(zhí)行對(duì)應(yīng)于所述第一下實(shí)體編程單元的第一數(shù)據(jù)獲取操作以獲得第三數(shù)據(jù),其中所述第一數(shù)據(jù)獲取操作包括使用第二讀取電壓來(lái)讀取所述第一下實(shí)體編程單元,其中所述第二讀取電壓的電壓值不同于對(duì)應(yīng)于所述第一下實(shí)體編程單元的預(yù)設(shè)讀取電壓的預(yù)設(shè)電壓值,其中所述存儲(chǔ)器控制電路單元還用以根據(jù)所述第三數(shù)據(jù)來(lái)發(fā)送第二寫(xiě)入指令序列以將所述第二數(shù)據(jù)編程至所述上實(shí)體編程單元中的第一上實(shí)體編程單元。在本發(fā)明的一實(shí)施例中,所述存儲(chǔ)器控制電路單元還用以獲得所述第一 下實(shí)體編程單元的磨損程度值,其中所述存儲(chǔ)器控制電路單元還用以根據(jù)所述磨損程度值來(lái)指示將對(duì)應(yīng)于所述第一下實(shí)體編程單元的所述預(yù)設(shè)讀取電壓調(diào)整為所述第二讀取電壓。在本發(fā)明的一實(shí)施例中,所述第一數(shù)據(jù)獲取操作還包括:譯碼使用所述第二讀取電壓所讀取到的一第四數(shù)據(jù);判斷所述第四數(shù)據(jù)是否譯碼失敗;以及若所述第四數(shù)據(jù)譯碼失敗,指示將所述第二讀取電壓調(diào)整為第三讀取電壓并使用所述第三讀取電壓來(lái)讀取所述第一下實(shí)體編程單元。在本發(fā)明的一實(shí)施例中,所述第一上實(shí)體編程單元與所述第一下實(shí)體編程單元屬于同一條字符線。本發(fā)明的另一實(shí)施例提供一種存儲(chǔ)器控制電路單元,其用于控制可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊,其中所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊包括多個(gè)實(shí)體擦除單元,所述實(shí)體擦除單元中的第一實(shí)體擦除單元包括多個(gè)下實(shí)體編程單元與對(duì)應(yīng)于所述下實(shí)體編程單元的多個(gè)上實(shí)體編程單元,所述存儲(chǔ)器控制電路單元包括主機(jī)接口、存儲(chǔ)器接口及存儲(chǔ)器管理電路。所述主機(jī)接口用以電性連接至主機(jī)系統(tǒng)。所述存儲(chǔ)器接口用以電性連接至所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊。所述存儲(chǔ)器管理電路電性連接至所述主機(jī)接口與所述存儲(chǔ)器接口,其中所述存儲(chǔ)器管理電路用以接收第一數(shù)據(jù)并且發(fā)送第一寫(xiě)入指令序列以將所述第一數(shù)據(jù)編程至所述下實(shí)體編程單元中的第一下實(shí)體編程單元,其中所述存儲(chǔ)器管理電路還用以接收第二數(shù)據(jù),其中所述存儲(chǔ)器管理電路還用以指示執(zhí)行對(duì)應(yīng)于所述第一下實(shí)體編程單元的第一數(shù)據(jù)獲取操作以獲得第三數(shù)據(jù),其中所述第一數(shù)據(jù)獲取操作包括使用第二讀取電壓來(lái)讀取所述第一下實(shí)體編程單元,其中所述第二讀取電壓的電壓值不同于對(duì)應(yīng)于所述第一下實(shí)體編程單元的預(yù)設(shè)讀取電壓的預(yù)設(shè)電壓值,其中所述存儲(chǔ)器管理電路還用以根據(jù)所述第三數(shù)據(jù)來(lái)發(fā)送第二寫(xiě)入指令序列以將所述第二數(shù)據(jù)編程至所述上實(shí)體編程單元中的第一上實(shí)體編程單元。在本發(fā)明的一實(shí)施例中,所述存儲(chǔ)器管理電路還用以獲得所述第一下實(shí)體編程單元的磨損程度值,其中所述存儲(chǔ)器管理電路還用以根據(jù)所述磨損程度值而指示將對(duì)應(yīng)于所述第一下實(shí)體編程單元所述預(yù)設(shè)讀取電壓調(diào)整為所述第二讀取電壓。在本發(fā)明的一實(shí)施例中,所述存儲(chǔ)器控制電路單元還包括錯(cuò)誤檢查與校 正電路。所述錯(cuò)誤檢查與校正電路電性連接至所述存儲(chǔ)器管理電路。其中所述第一數(shù)據(jù)獲取操作還包括:由所述錯(cuò)誤檢查與校正電路譯碼使用所述第二讀取電壓所讀取到的第四數(shù)據(jù);判斷所述第四數(shù)據(jù)是否譯碼失??;以及若所述第四數(shù)據(jù)譯碼失敗,指示將所述第二讀取電壓調(diào)整為第三讀取電壓并使用所述第三讀取電壓來(lái)讀取所述第一下實(shí)體編程單元。在本發(fā)明的一實(shí)施例中,所述第一上實(shí)體編程單元與所述第一下實(shí)體編程單元屬于同一條字符線。本發(fā)明的另一實(shí)施例提供一種數(shù)據(jù)編程方法,其用于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊,所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊包括多個(gè)實(shí)體擦除單元,所述實(shí)體擦除單元中的第一實(shí)體擦除單元包括多個(gè)下實(shí)體編程單元與對(duì)應(yīng)于所述下實(shí)體編程單元的多個(gè)上實(shí)體編程單元,所述數(shù)據(jù)編程方法包括:接收第一數(shù)據(jù)并且將所述第一數(shù)據(jù)編程至所述下實(shí)體編程單元中的第一下實(shí)體編程單元;將所述第一數(shù)據(jù)暫存于所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的緩沖區(qū);接收第二數(shù)據(jù);執(zhí)行對(duì)應(yīng)于所述第一下實(shí)體編程單元的第一數(shù)據(jù)獲取操作以獲得第三數(shù)據(jù),其中所述第一數(shù)據(jù)獲取操作包括從所述緩沖區(qū)中讀取所述第一數(shù)據(jù);以及根據(jù)所述第三數(shù)據(jù)來(lái)將所述第二數(shù)據(jù)編程至所述上實(shí)體編程單元中的第一上實(shí)體編程單元。在本發(fā)明的一實(shí)施例中,所述數(shù)據(jù)編程方法還包括:若所述第一數(shù)據(jù)獲取操作尚未完成或編程所述第二數(shù)據(jù)至所述第一上實(shí)體編程單元失敗,持續(xù)維護(hù)暫存于所述緩沖區(qū)中的所述第一數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,所述緩沖區(qū)的一大小不小于一預(yù)設(shè)大小,其中所述預(yù)設(shè)大小為所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊中的一個(gè)實(shí)體編程單元的大小的三倍。在本發(fā)明的一實(shí)施例中,所述數(shù)據(jù)編程方法還包括:在接收所述第二數(shù)據(jù)之前,接收第四數(shù)據(jù);將所述第四數(shù)據(jù)暫存于所述緩沖區(qū);將所述第四數(shù)據(jù)編程至所述下實(shí)體編程單元中的第二下實(shí)體編程單元;在接收所述第二數(shù)據(jù)之后,接收第五數(shù)據(jù);將所述第五數(shù)據(jù)暫存于所述緩沖區(qū);執(zhí)行對(duì)應(yīng)于所述第二下實(shí)體編程單元的第二數(shù)據(jù)獲取操作,其中所述第二數(shù)據(jù)獲取操作包括從所述緩沖區(qū)中讀取所述第四數(shù)據(jù);以及根據(jù)所述第二數(shù)據(jù)獲取操作所獲得的所述第四數(shù)據(jù)來(lái)將所述第五數(shù)據(jù)編程至所述上實(shí)體編程單元中的第二上 實(shí)體編程單元,所述第二上實(shí)體編程單元對(duì)應(yīng)于所述第二下實(shí)體編程單元,其中將所述第四數(shù)據(jù)編程至所述第二下實(shí)體編程單元的步驟是在將所述第一數(shù)據(jù)編程至所述第一下實(shí)體編程單元的步驟與將所述第二數(shù)據(jù)編程至所述第一上實(shí)體編程單元的步驟之間執(zhí)行。在本發(fā)明的一實(shí)施例中,所述第一上實(shí)體編程單元與所述第一下實(shí)體編程單元屬于同一條字符線。本發(fā)明的另一實(shí)施例提供一種存儲(chǔ)器存儲(chǔ)裝置,其包括連接接口單元、可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊及存儲(chǔ)器控制電路單元。所述連接接口單元用以電性連接至主機(jī)系統(tǒng)。所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊包括多個(gè)實(shí)體擦除單元,所述實(shí)體擦除單元中的第一實(shí)體擦除單元包括多個(gè)下實(shí)體編程單元與對(duì)應(yīng)于所述下實(shí)體編程單元的多個(gè)上實(shí)體編程單元。所述存儲(chǔ)器控制電路單元電性連接至所述連接接口單元與所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊,其中所述存儲(chǔ)器控制電路單元用以接收第一數(shù)據(jù)并且發(fā)送第一寫(xiě)入指令序列以將所述第一數(shù)據(jù)編程至所述下實(shí)體編程單元中的第一下實(shí)體編程單元,其中所述存儲(chǔ)器控制電路單元還用以接收第二數(shù)據(jù),其中所述存儲(chǔ)器控制電路單元還用以指示將所述第一數(shù)據(jù)暫存于所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的緩沖區(qū),其中所述存儲(chǔ)器控制電路單元還用以指示執(zhí)行對(duì)應(yīng)于所述第一下實(shí)體編程單元的第一數(shù)據(jù)獲取操作以獲得第三數(shù)據(jù),其中所述第一數(shù)據(jù)獲取操作包括從所述緩沖區(qū)中讀取所述第一數(shù)據(jù),其中所述存儲(chǔ)器控制電路單元還用以根據(jù)所述第三數(shù)據(jù)來(lái)發(fā)送第二寫(xiě)入指令序列以將所述第二數(shù)據(jù)編程至所述上實(shí)體編程單元中的一第一上實(shí)體編程單元。在本發(fā)明的一實(shí)施例中,若所述第一數(shù)據(jù)獲取操作尚未完成或編程所述第二數(shù)據(jù)至所述第一上實(shí)體編程單元失敗,所述存儲(chǔ)器控制電路單元還用以持續(xù)維護(hù)暫存于所述緩沖區(qū)中的所述第一數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,所述緩沖區(qū)的一大小不小于一預(yù)設(shè)大小,其中所述預(yù)設(shè)大小為所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊中的一個(gè)實(shí)體編程單元的大小的三倍。在本發(fā)明的一實(shí)施例中,在接收所述第二數(shù)據(jù)之前,所述存儲(chǔ)器控制電路單元還用以接收第四數(shù)據(jù),其中所述存儲(chǔ)器控制電路單元還用以指示將所述第四數(shù)據(jù)暫存于所述緩沖區(qū),其中所述存儲(chǔ)器控制電路單元還用以發(fā)送第 三寫(xiě)入指令序列以將所述第四數(shù)據(jù)編程至所述下實(shí)體編程單元中的第二下實(shí)體編程單元,其中在接收所述第二數(shù)據(jù)之后,所述存儲(chǔ)器控制電路單元還用以接收第五數(shù)據(jù),其中所述存儲(chǔ)器控制電路單元還用以指示將所述第五數(shù)據(jù)暫存于所述緩沖區(qū),其中所述存儲(chǔ)器控制電路單元還用以指示執(zhí)行對(duì)應(yīng)于所述第二下實(shí)體編程單元的第二數(shù)據(jù)獲取操作,其中所述第二數(shù)據(jù)獲取操作包括從所述緩沖區(qū)中讀取所述第四數(shù)據(jù),其中所述存儲(chǔ)器控制電路單元還用以根據(jù)所述第二數(shù)據(jù)獲取操作所獲得的所述第四數(shù)據(jù)來(lái)發(fā)送第四寫(xiě)入指令序列以將所述第五數(shù)據(jù)編程至所述上實(shí)體編程單元中的第二上實(shí)體編程單元,所述第二上實(shí)體編程單元對(duì)應(yīng)于所述第二下實(shí)體編程單元,其中將所述第四數(shù)據(jù)編程至所述第二下實(shí)體編程單元的操作是在將所述第一數(shù)據(jù)編程至所述第一下實(shí)體編程單元的操作與將所述第二數(shù)據(jù)編程至所述第一上實(shí)體編程單元的操作之間執(zhí)行。在本發(fā)明的一實(shí)施例中,所述第一上實(shí)體編程單元與所述第一下實(shí)體編程單元屬于同一條字符線。本發(fā)明的另一實(shí)施例提供一種存儲(chǔ)器控制電路單元,其用于控制可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊,其中所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊包括多個(gè)實(shí)體擦除單元,所述實(shí)體擦除單元中的第一實(shí)體擦除單元包括多個(gè)下實(shí)體編程單元與對(duì)應(yīng)于所述下實(shí)體編程單元的多個(gè)上實(shí)體編程單元,所述存儲(chǔ)器控制電路單元包括主機(jī)接口、存儲(chǔ)器接口及存儲(chǔ)器管理電路。所述主機(jī)接口用以電性連接至主機(jī)系統(tǒng)。所述存儲(chǔ)器接口用以電性連接至所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊。所述存儲(chǔ)器管理電路電性連接至所述主機(jī)接口與所述存儲(chǔ)器接口,其中所述存儲(chǔ)器管理電路用以接收第一數(shù)據(jù)并且發(fā)送第一寫(xiě)入指令序列以將所述第一數(shù)據(jù)編程至所述下實(shí)體編程單元中的第一下實(shí)體編程單元,其中所述存儲(chǔ)器管理電路還用以將指示所述第一數(shù)據(jù)暫存于所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的緩沖區(qū),其中所述存儲(chǔ)器管理電路還用以接收第二數(shù)據(jù),其中所述存儲(chǔ)器管理電路還用以指示執(zhí)行對(duì)應(yīng)于所述第一下實(shí)體編程單元的第一數(shù)據(jù)獲取操作以獲得第三數(shù)據(jù),其中所述第一數(shù)據(jù)獲取操作包括從所述緩沖區(qū)中讀取所述第一數(shù)據(jù),其中所述存儲(chǔ)器管理電路還用以根據(jù)所述第三數(shù)據(jù)來(lái)發(fā)送第二寫(xiě)入指令序列以將所述第二數(shù)據(jù)編程至所述上實(shí)體編程單元中的第一上實(shí)體編程單元。在本發(fā)明的一實(shí)施例中,若所述第一數(shù)據(jù)獲取操作尚未完成或所述第二數(shù)據(jù)沒(méi)有被成功地編程至所述第一上實(shí)體編程單元,所述存儲(chǔ)器管理電路還用以持續(xù)維護(hù)暫存于所述緩沖區(qū)中的所述第一數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,所述緩沖區(qū)的大小不小于預(yù)設(shè)大小,其中所述預(yù)設(shè)大小為所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊中的一個(gè)實(shí)體編程單元的大小的三倍。在本發(fā)明的一實(shí)施例中,在接收所述第二數(shù)據(jù)之前,所述存儲(chǔ)器管理電路還用以接收第四數(shù)據(jù),其中所述存儲(chǔ)器管理電路還用以指示將所述第四數(shù)據(jù)暫存于所述緩沖區(qū),其中所述存儲(chǔ)器管理電路還用以發(fā)送第三寫(xiě)入指令序列以將所述第四數(shù)據(jù)編程至所述下實(shí)體編程單元中的第二下實(shí)體編程單元,其中在接收所述第二數(shù)據(jù)之后,所述存儲(chǔ)器管理電路還用以接收第五數(shù)據(jù),其中所述存儲(chǔ)器管理電路還用以指示將所述第五數(shù)據(jù)暫存于所述緩沖區(qū),其中所述存儲(chǔ)器管理電路還用以指示執(zhí)行對(duì)應(yīng)于所述第二下實(shí)體編程單元的第二數(shù)據(jù)獲取操作,其中所述第二數(shù)據(jù)獲取操作包括從所述緩沖區(qū)中讀取所述第四數(shù)據(jù),其中所述存儲(chǔ)器管理電路還用以根據(jù)所述第二數(shù)據(jù)獲取操作所獲得的所述第四數(shù)據(jù)來(lái)發(fā)送第四寫(xiě)入指令序列以將所述第五數(shù)據(jù)編程至所述上實(shí)體編程單元中的第二上實(shí)體編程單元,且所述第二上實(shí)體編程單元對(duì)應(yīng)于所述第二下實(shí)體編程單元,其中將所述第四數(shù)據(jù)編程至所述第二下實(shí)體編程單元的操作是在將所述第一數(shù)據(jù)編程至所述第一下實(shí)體編程單元的操作與將所述第二數(shù)據(jù)編程至所述第一上實(shí)體編程單元的操作之間執(zhí)行。在本發(fā)明的一實(shí)施例中,所述第一上實(shí)體編程單元與所述第一下實(shí)體編程單元屬于同一條字符線。基于上述,本發(fā)明實(shí)施例提供的數(shù)據(jù)編程方法、存儲(chǔ)器存儲(chǔ)裝置及存儲(chǔ)器控制電路單元,在編程對(duì)應(yīng)于某一個(gè)下實(shí)體編程單元的上實(shí)體編程單元時(shí),會(huì)通過(guò)不包含使用此下實(shí)體編程單元預(yù)設(shè)的讀取電壓來(lái)讀取存儲(chǔ)胞的數(shù)據(jù)獲取操作來(lái)獲得此下實(shí)體編程單元的數(shù)據(jù)存儲(chǔ)狀態(tài)。藉此,將可降低因使用預(yù)設(shè)讀取電壓來(lái)讀取存儲(chǔ)胞而誤判存儲(chǔ)胞的數(shù)據(jù)存儲(chǔ)狀態(tài),從而導(dǎo)致最終編程結(jié)果發(fā)生錯(cuò)誤的機(jī)率。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合附圖作詳細(xì)說(shuō)明如下。附圖說(shuō)明圖1是本發(fā)明的一實(shí)施例所示的主機(jī)系統(tǒng)與存儲(chǔ)器存儲(chǔ)裝置的示意圖;圖2是本發(fā)明的一實(shí)施例所示的計(jì)算機(jī)、輸入/輸出裝置與存儲(chǔ)器存儲(chǔ)裝置的示意圖;圖3是本發(fā)明的一實(shí)施例所示的主機(jī)系統(tǒng)與存儲(chǔ)器存儲(chǔ)裝置的示意圖;圖4是圖1所示的存儲(chǔ)器存儲(chǔ)裝置的概要方塊圖;圖5是本發(fā)明的一實(shí)施例所示的可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的概要方塊圖;圖6是本發(fā)明的一實(shí)施例所示的存儲(chǔ)胞數(shù)組的示意圖;圖7是本發(fā)明的一實(shí)施例所示的存儲(chǔ)器控制電路單元的概要方塊圖;圖8是本發(fā)明的一實(shí)施例所示的管理可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的示意圖;圖9是本發(fā)明的一實(shí)施例所示的管理實(shí)體擦除單元的示意圖;圖10是本發(fā)明的一實(shí)施例所示的編程多個(gè)實(shí)體編程單元的示意圖;圖11是本發(fā)明的一實(shí)施例所示的編程過(guò)程中存儲(chǔ)胞的臨界電壓分布變化的示意圖;圖12a至12c是本發(fā)明的一實(shí)施例所示的編程數(shù)據(jù)的示意圖;圖13是本發(fā)明的一實(shí)施例所示的數(shù)據(jù)編程方法的流程圖;圖14是本發(fā)明的另一實(shí)施例所示的數(shù)據(jù)編程方法的流程圖;圖15是本發(fā)明的另一實(shí)施例所示的數(shù)據(jù)編程方法的流程圖;圖16是本發(fā)明的另一實(shí)施例所示的數(shù)據(jù)編程方法的流程圖。附圖標(biāo)記說(shuō)明:10:存儲(chǔ)器存儲(chǔ)裝置;11:主機(jī)系統(tǒng);12:計(jì)算機(jī);122:微處理器;124:隨機(jī)存取存儲(chǔ)器;126:系統(tǒng)總線;128:數(shù)據(jù)傳輸接口;13:輸入/輸出裝置;21:鼠標(biāo);22:鍵盤(pán);23:顯示器;24:打印機(jī);25:隨身盤(pán);26:存儲(chǔ)卡;27:固態(tài)硬盤(pán);31:數(shù)碼相機(jī);32:SD卡;33:MMC卡;34:存儲(chǔ)棒;35:CF卡;36:嵌入式存儲(chǔ)裝置;402:連接接口單元;404:存儲(chǔ)器控制電路單元;406:可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊;502:存儲(chǔ)胞數(shù)組;504:字符線控制電路;506:位線控制電路;508:行譯碼器;510:數(shù)據(jù)輸入/輸出緩沖器;512:控制電路;602:存儲(chǔ)胞;604:位線;606:字符線;608:共享源極線;612、614:晶體管;702:存儲(chǔ)器管理電路;704:主機(jī)接口;706:存儲(chǔ)器接口;708:錯(cuò)誤檢查與校正電路;710:緩沖存儲(chǔ)器;712:電源管理電路;800(0)~800(R):實(shí)體擦除單元;810(0)~810(D):邏輯單元;802:存儲(chǔ)區(qū);806:系統(tǒng)區(qū);901A~904A:下實(shí)體編程單元;911B~914B:上實(shí)體編程單元;VREAD-0、VREAD-1、VREAD-2、VREAD-3、VREAD-4:讀取電壓;S1301~S1304、S1401~S1404、S1501~S1507、S1601~S1605:步驟。具體實(shí)施方式一般而言,存儲(chǔ)器存儲(chǔ)裝置(也稱(chēng),存儲(chǔ)器存儲(chǔ)系統(tǒng))包括可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊(rewritablenon-volatilememorymodule)與控制器(也稱(chēng),控制電路)。通常存儲(chǔ)器存儲(chǔ)裝置是與主機(jī)系統(tǒng)一起使用,以使主機(jī)系統(tǒng)可將數(shù)據(jù)寫(xiě)入至存儲(chǔ)器存儲(chǔ)裝置或從存儲(chǔ)器存儲(chǔ)裝置中讀取數(shù)據(jù)。圖1是本發(fā)明的一實(shí)施例所示的主機(jī)系統(tǒng)與存儲(chǔ)器存儲(chǔ)裝置的示意圖。圖2是本發(fā)明的一實(shí)施例所示的計(jì)算機(jī)、輸入/輸出裝置與存儲(chǔ)器存儲(chǔ)裝置的示意圖。請(qǐng)參照?qǐng)D1,主機(jī)系統(tǒng)11一般包括計(jì)算機(jī)12與輸入/輸出(input/output,簡(jiǎn)稱(chēng)I/O)裝置13。計(jì)算機(jī)12包括微處理器122、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,簡(jiǎn)稱(chēng)RAM)124、系統(tǒng)總線126與數(shù)據(jù)傳輸接口128。輸入/輸出裝置13包括如圖2的鼠標(biāo)21、鍵盤(pán)22、顯示器23與打印機(jī)24。必須了解的是,圖2所示的裝置非限制輸入/輸出裝置13,輸入/輸出裝置13可還包括其它裝置。在一實(shí)施例中,存儲(chǔ)器存儲(chǔ)裝置10是通過(guò)數(shù)據(jù)傳輸接口128與主機(jī)系統(tǒng)11的其它組件電性連接。通過(guò)微處理器122、隨機(jī)存取存儲(chǔ)器124與輸入/輸出裝置13的運(yùn)作可將數(shù)據(jù)寫(xiě)入至存儲(chǔ)器存儲(chǔ)裝置10或從存儲(chǔ)器存儲(chǔ)裝置10 中讀取數(shù)據(jù)。例如,存儲(chǔ)器存儲(chǔ)裝置10可以是如圖2所示的隨身盤(pán)25、存儲(chǔ)卡26或固態(tài)硬盤(pán)(SolidStateDrive,簡(jiǎn)稱(chēng)SSD)27等的可復(fù)寫(xiě)式非易失性存儲(chǔ)器存儲(chǔ)裝置。圖3是本發(fā)明的一實(shí)施例所示的主機(jī)系統(tǒng)與存儲(chǔ)器存儲(chǔ)裝置的示意圖。一般而言,主機(jī)系統(tǒng)11為可實(shí)質(zhì)地與存儲(chǔ)器存儲(chǔ)裝置10配合以存儲(chǔ)數(shù)據(jù)的任意系統(tǒng)。雖然在本實(shí)施例中,主機(jī)系統(tǒng)11是以計(jì)算機(jī)系統(tǒng)來(lái)作說(shuō)明,然而,另一實(shí)施例中,主機(jī)系統(tǒng)11可以是數(shù)碼相機(jī)、攝影機(jī)、通訊裝置、音頻播放器或視頻播放器等系統(tǒng)。例如,在主機(jī)系統(tǒng)為數(shù)碼相機(jī)(攝影機(jī))31時(shí),可復(fù)寫(xiě)式非易失性存儲(chǔ)器存儲(chǔ)裝置則為其所使用的SD卡32、MMC卡33、存儲(chǔ)棒(memorystick)34、CF卡35或嵌入式存儲(chǔ)裝置36(如圖3所示)。嵌入式存儲(chǔ)裝置36包括嵌入式多媒體卡(EmbeddedMMC,簡(jiǎn)稱(chēng)eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接在主機(jī)系統(tǒng)的基板上。圖4是圖1所示的存儲(chǔ)器存儲(chǔ)裝置的概要方塊圖。請(qǐng)參照?qǐng)D4,存儲(chǔ)器存儲(chǔ)裝置10包括連接接口單元402、存儲(chǔ)器控制電路單元404與可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406。在本實(shí)施例中,連接接口單元402是兼容于串行高級(jí)技術(shù)附件(SerialAdvancedTechnologyAttachment,簡(jiǎn)稱(chēng)SATA)標(biāo)準(zhǔn)。然而,必須了解的是,本發(fā)明不限于此,連接接口單元402也可以是符合并行高級(jí)技術(shù)附件(ParallelAdvancedTechnologyAttachment,簡(jiǎn)稱(chēng)PATA)標(biāo)準(zhǔn)、電氣和電子工程師協(xié)會(huì)(InstituteofElectricalandElectronicEngineers,簡(jiǎn)稱(chēng)IEEE)1394標(biāo)準(zhǔn)、高速外設(shè)部件互連(PeripheralComponentInterconnectExpress,簡(jiǎn)稱(chēng)PCIExpress)標(biāo)準(zhǔn)、通用串行總線(UniversalSerialBus,簡(jiǎn)稱(chēng)USB)標(biāo)準(zhǔn)、安全數(shù)字(SecureDigital,簡(jiǎn)稱(chēng)SD)接口標(biāo)準(zhǔn)、超高速一代(UltraHighSpeed-I,簡(jiǎn)稱(chēng)UHS-I)接口標(biāo)準(zhǔn)、超高速二代(UltraHighSpeed-II,簡(jiǎn)稱(chēng)UHS-II)接口標(biāo)準(zhǔn)、存儲(chǔ)棒(MemoryStick,簡(jiǎn)稱(chēng)MS)接口標(biāo)準(zhǔn)、多媒體存儲(chǔ)卡(MultiMediaCard,簡(jiǎn)稱(chēng)MMC)接口標(biāo)準(zhǔn)、崁入式多媒體存儲(chǔ)卡(EmbeddedMultimediaCard,簡(jiǎn)稱(chēng)eMMC)接口標(biāo)準(zhǔn)、通用存儲(chǔ)器(UniversalFlashStorage,簡(jiǎn)稱(chēng)UFS)接口標(biāo)準(zhǔn)、小型快閃(CompactFlash,簡(jiǎn)稱(chēng)CF)接口標(biāo)準(zhǔn)、整合式驅(qū)動(dòng)電子接口(IntegratedDeviceElectronics,簡(jiǎn)稱(chēng)IDE)標(biāo)準(zhǔn)或其它適合的標(biāo)準(zhǔn)。連接接口單元402可與存儲(chǔ)器控制電路單元404封裝在一個(gè)芯片中,或者連接接口單元402是布設(shè)在一包含存儲(chǔ)器控 制電路單元404的芯片外。存儲(chǔ)器控制電路單元404用以執(zhí)行以硬件型式或軟件形式實(shí)現(xiàn)的多個(gè)邏輯柵或控制指令并且根據(jù)主機(jī)系統(tǒng)11的指令在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與擦除等運(yùn)作??蓮?fù)寫(xiě)式非易失性存儲(chǔ)器模塊406是電性連接至存儲(chǔ)器控制電路單元404并且用以存儲(chǔ)主機(jī)系統(tǒng)11所寫(xiě)入的數(shù)據(jù)??蓮?fù)寫(xiě)式非易失性存儲(chǔ)器模塊406可以是單階存儲(chǔ)胞(SingleLevelCell,簡(jiǎn)稱(chēng)SLC)NAND型存儲(chǔ)器模塊(即,一個(gè)存儲(chǔ)胞中可存儲(chǔ)1個(gè)位數(shù)據(jù)的存儲(chǔ)器模塊)、多階存儲(chǔ)胞(MultiLevelCell,簡(jiǎn)稱(chēng)MLC)NAND型存儲(chǔ)器模塊(即,一個(gè)存儲(chǔ)胞中可存儲(chǔ)2個(gè)位數(shù)據(jù)的存儲(chǔ)器模塊)、復(fù)數(shù)階存儲(chǔ)胞(TripleLevelCell,簡(jiǎn)稱(chēng)TLC)NAND型存儲(chǔ)器模塊(即,一個(gè)存儲(chǔ)胞中可存儲(chǔ)3個(gè)位數(shù)據(jù)的存儲(chǔ)器模塊)、其它存儲(chǔ)器模塊或其它具有相同特性的存儲(chǔ)器模塊。圖5是本發(fā)明的一實(shí)施例所示的可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的概要方塊圖。圖6是本發(fā)明的一實(shí)施例所示的存儲(chǔ)胞數(shù)組的示意圖。請(qǐng)參照?qǐng)D5,可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406包括存儲(chǔ)胞數(shù)組502、字符線控制電路504、位線控制電路506、行譯碼器(columndecoder)508、數(shù)據(jù)輸入/輸出緩沖器510與控制電路512。在本實(shí)施例中,存儲(chǔ)胞數(shù)組502可包括用以存儲(chǔ)數(shù)據(jù)的多個(gè)存儲(chǔ)胞602、多個(gè)選擇柵漏極(selectgatedrain,簡(jiǎn)稱(chēng)SGD)晶體管612與多個(gè)選擇柵源極(selectgatesource,簡(jiǎn)稱(chēng)SGS)晶體管614、以及連接此些存儲(chǔ)胞的多條位線604、多條字符線606、與共享源極線608(如圖6所示)。存儲(chǔ)胞602是以數(shù)組方式(或立體堆棧的方式)配置在位線604與字符線606的交叉點(diǎn)上。當(dāng)從存儲(chǔ)器控制電路單元404接收到寫(xiě)入指令或讀取指令時(shí),控制電路512會(huì)控制字符線控制電路504、位線控制電路506、行譯碼器508、數(shù)據(jù)輸入/輸出緩沖器510來(lái)寫(xiě)入數(shù)據(jù)至存儲(chǔ)胞數(shù)組502或從存儲(chǔ)胞數(shù)組502中讀取數(shù)據(jù),其中字符線控制電路504用以控制施加至字符線606的電壓,位線控制電路506用以控制施加至位線604的電壓,行譯碼器508根據(jù)指令中的列地址以選擇對(duì)應(yīng)的位線,并且數(shù)據(jù)輸入/輸出緩沖器510用以暫存數(shù)據(jù)??蓮?fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的每一個(gè)存儲(chǔ)胞是以臨界電壓的改變來(lái)存儲(chǔ)一或多個(gè)位。具體來(lái)說(shuō),每一個(gè)存儲(chǔ)胞的控制柵極(controlgate)與通 道之間有一個(gè)電荷捕捉層。通過(guò)施加一寫(xiě)入電壓至控制柵極,可以改變電荷捕捉層的電子量,因而改變了存儲(chǔ)胞的臨界電壓。此改變臨界電壓的程序也稱(chēng)為“把數(shù)據(jù)寫(xiě)入至存儲(chǔ)胞”或“編程存儲(chǔ)胞”。隨著臨界電壓的改變,存儲(chǔ)胞數(shù)組502的每一個(gè)存儲(chǔ)胞具有多個(gè)存儲(chǔ)狀態(tài)。并且通過(guò)讀取電壓可以判斷存儲(chǔ)胞是屬于哪一個(gè)存儲(chǔ)狀態(tài),以此取得存儲(chǔ)胞所存儲(chǔ)的一或多個(gè)位。圖7是本發(fā)明的一實(shí)施例所示的存儲(chǔ)器控制電路單元的概要方塊圖。請(qǐng)參照?qǐng)D7,存儲(chǔ)器控制電路單元404包括存儲(chǔ)器管理電路702、主機(jī)接口704、存儲(chǔ)器接口706及錯(cuò)誤檢查與校正電路708。存儲(chǔ)器管理電路702用以控制存儲(chǔ)器控制電路單元404的整體運(yùn)作。具體來(lái)說(shuō),存儲(chǔ)器管理電路702具有多個(gè)控制指令,并且在存儲(chǔ)器存儲(chǔ)裝置10運(yùn)作時(shí),此些控制指令會(huì)被執(zhí)行以進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與擦除等運(yùn)作。以下說(shuō)明存儲(chǔ)器管理電路702的操作時(shí),等同于說(shuō)明存儲(chǔ)器控制電路單元404的操作。在本實(shí)施例中,存儲(chǔ)器管理電路702的控制指令是以軟件形式來(lái)實(shí)現(xiàn)。例如,存儲(chǔ)器管理電路702具有微處理器單元(未示出)與只讀存儲(chǔ)器(未示出),并且此些控制指令是被燒錄至此只讀存儲(chǔ)器中。當(dāng)存儲(chǔ)器存儲(chǔ)裝置10運(yùn)作時(shí),此些控制指令會(huì)由微處理器單元來(lái)執(zhí)行以進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與擦除等運(yùn)作。在另一實(shí)施例中,存儲(chǔ)器管理電路702的控制指令也可以程序代碼形式存儲(chǔ)于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的特定區(qū)域(例如,存儲(chǔ)器模塊中專(zhuān)用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,存儲(chǔ)器管理電路702具有微處理器單元(未示出)、只讀存儲(chǔ)器(未示出)及隨機(jī)存取存儲(chǔ)器(未示出)。特別是,此只讀存儲(chǔ)器具有開(kāi)機(jī)碼(bootcode),并且當(dāng)存儲(chǔ)器控制電路單元404使能時(shí),微處理器單元會(huì)先執(zhí)行此開(kāi)機(jī)碼來(lái)將存儲(chǔ)在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的控制指令加載至存儲(chǔ)器管理電路702的隨機(jī)存取存儲(chǔ)器中。之后,微處理器單元會(huì)運(yùn)轉(zhuǎn)此些控制指令以進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與擦除等運(yùn)作。此外,在另一實(shí)施例中,存儲(chǔ)器管理電路702的控制指令也可以一硬件形式來(lái)實(shí)作。例如,存儲(chǔ)器管理電路702包括微控制器、存儲(chǔ)器管理單元、存儲(chǔ)器寫(xiě)入電路、存儲(chǔ)器讀取電路、存儲(chǔ)器擦除電路與數(shù)據(jù)處理電路。存儲(chǔ)器管理單元、存儲(chǔ)器寫(xiě)入電路、存儲(chǔ)器讀取電路、存儲(chǔ)器擦除電路與數(shù)據(jù)處 理電路是電性連接至微控制器。其中,存儲(chǔ)器管理單元用以管理可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的實(shí)體擦除單元;存儲(chǔ)器寫(xiě)入電路用以對(duì)可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406下達(dá)寫(xiě)入指令以將數(shù)據(jù)寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中;存儲(chǔ)器讀取電路用以對(duì)可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406下達(dá)讀取指令以從可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中讀取數(shù)據(jù);存儲(chǔ)器擦除電路用以對(duì)可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406下達(dá)擦除指令以將數(shù)據(jù)從可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中擦除;而數(shù)據(jù)處理電路用以處理欲寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的數(shù)據(jù)以及從可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中讀取的數(shù)據(jù)。主機(jī)接口704是電性連接至存儲(chǔ)器管理電路702并且用以接收與識(shí)別主機(jī)系統(tǒng)11所傳送的指令與數(shù)據(jù)。也就是說(shuō),主機(jī)系統(tǒng)11所傳送的指令與數(shù)據(jù)會(huì)通過(guò)主機(jī)接口704來(lái)傳送至存儲(chǔ)器管理電路702。在本實(shí)施例中,主機(jī)接口704是兼容于SATA標(biāo)準(zhǔn)。然而,必須了解的是本發(fā)明不限于此,主機(jī)接口704也可以是兼容于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)。存儲(chǔ)器接口706是電性連接至存儲(chǔ)器管理電路702并且用以存取可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406。也就是說(shuō),欲寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的數(shù)據(jù)會(huì)通過(guò)存儲(chǔ)器接口706轉(zhuǎn)換為可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406所能接受的格式。具體來(lái)說(shuō),若存儲(chǔ)器管理電路702要存取可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406,存儲(chǔ)器接口706會(huì)傳送對(duì)應(yīng)的指令序列。這些指令序列可包括一或多個(gè)信號(hào),或是在總線上的數(shù)據(jù)。例如,在讀取指令序列中,會(huì)包括讀取的辨識(shí)碼、存儲(chǔ)器地址等信息。錯(cuò)誤檢查與校正電路708是電性連接至存儲(chǔ)器管理電路702并且用以執(zhí)行錯(cuò)誤檢查與校正程序以確保數(shù)據(jù)的正確性。具體來(lái)說(shuō),當(dāng)存儲(chǔ)器管理電路702從主機(jī)系統(tǒng)11中接收到寫(xiě)入指令時(shí),錯(cuò)誤檢查與校正電路708會(huì)為對(duì)應(yīng)此寫(xiě)入指令的數(shù)據(jù)產(chǎn)生對(duì)應(yīng)的錯(cuò)誤更正碼(errorcorrectingcode,簡(jiǎn)稱(chēng)ECC)及/或錯(cuò)誤檢查碼(errordetectingcode,簡(jiǎn)稱(chēng)EDC),并且存儲(chǔ)器管理電路702會(huì)將對(duì)應(yīng)此寫(xiě)入指令的數(shù)據(jù)與對(duì)應(yīng)的錯(cuò)誤更正碼及/或錯(cuò)誤檢查碼寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中。之后,當(dāng)存儲(chǔ)器管理電路702從可復(fù)寫(xiě)式 非易失性存儲(chǔ)器模塊406中讀取數(shù)據(jù)時(shí)會(huì)同時(shí)讀取此數(shù)據(jù)對(duì)應(yīng)的錯(cuò)誤更正碼及/或錯(cuò)誤檢查碼,并且錯(cuò)誤檢查與校正電路708會(huì)根據(jù)此錯(cuò)誤更正碼及/或錯(cuò)誤檢查碼對(duì)所讀取的數(shù)據(jù)執(zhí)行錯(cuò)誤檢查與校正程序。在一實(shí)施例中,存儲(chǔ)器控制電路單元404還包括緩沖存儲(chǔ)器710與電源管理電路712。緩沖存儲(chǔ)器710是電性連接至存儲(chǔ)器管理電路702并且用以暫存來(lái)自于主機(jī)系統(tǒng)11的數(shù)據(jù)與指令或來(lái)自于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的數(shù)據(jù)。電源管理電路712是電性連接至存儲(chǔ)器管理電路702并且用以控制存儲(chǔ)器存儲(chǔ)裝置10的電源。圖8是本發(fā)明的一實(shí)施例所示的管理可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的示意圖。必須了解的是,在此描述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的實(shí)體擦除單元的運(yùn)作時(shí),以“選擇”、“分組”、“劃分”、“關(guān)聯(lián)”等詞來(lái)操作實(shí)體擦除單元是邏輯上的概念。也就是說(shuō),可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的實(shí)體擦除單元的實(shí)際位置并未更動(dòng),而是邏輯上對(duì)可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的實(shí)體擦除單元進(jìn)行操作??蓮?fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的存儲(chǔ)胞會(huì)構(gòu)成多個(gè)實(shí)體編程單元,并且此些實(shí)體編程單元會(huì)構(gòu)成多個(gè)實(shí)體擦除單元。具體來(lái)說(shuō),同一條字符在線的存儲(chǔ)胞會(huì)組成一或多個(gè)實(shí)體編程單元。若每一個(gè)存儲(chǔ)胞可存儲(chǔ)2個(gè)以上的位,則同一條字符在線的實(shí)體編程單元至少可被分類(lèi)為下實(shí)體編程單元與上實(shí)體編程單元。例如,一存儲(chǔ)胞的最低有效位(LeastSignificantBit,簡(jiǎn)稱(chēng)LSB)是屬于下實(shí)體編程單元,并且一存儲(chǔ)胞的最高有效位(MostSignificantBit,簡(jiǎn)稱(chēng)MSB)是屬于上實(shí)體編程單元。一般來(lái)說(shuō),在MLCNAND型存儲(chǔ)器中,下實(shí)體編程單元的寫(xiě)入速度會(huì)大于上實(shí)體編程單元的寫(xiě)入速度。此外,下實(shí)體編程單元的可靠度是高于上實(shí)體編程單元的可靠度。在本實(shí)施例中,實(shí)體編程單元為編程的最小單元。即,實(shí)體編程單元為寫(xiě)入數(shù)據(jù)的最小單元。例如,實(shí)體編程單元為實(shí)體頁(yè)面或是實(shí)體扇(sector)。若實(shí)體編程單元為實(shí)體頁(yè)面,則每一個(gè)實(shí)體編程單元通常包括數(shù)據(jù)位區(qū)與冗余位區(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,簡(jiǎn)稱(chēng)B)。然而,在其它實(shí)施例中,數(shù)據(jù)位區(qū)中也可包含8個(gè)、16個(gè)或數(shù)目更多或更少的實(shí)體扇,本發(fā)明并不限制實(shí)體扇的大小以及 個(gè)數(shù)。另一方面,實(shí)體擦除單元為擦除的最小單位。也即,每一實(shí)體擦除單元含有最小數(shù)目的一并被擦除的存儲(chǔ)胞。例如,實(shí)體擦除單元為實(shí)體區(qū)塊。請(qǐng)參照?qǐng)D8,存儲(chǔ)器管理電路702可將可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的實(shí)體擦除單元800(0)~800(R)邏輯地劃分為多個(gè)區(qū)域,例如為存儲(chǔ)區(qū)802與系統(tǒng)區(qū)806。存儲(chǔ)區(qū)802的實(shí)體擦除單元是用以存儲(chǔ)來(lái)自主機(jī)系統(tǒng)11的數(shù)據(jù)。存儲(chǔ)區(qū)802中會(huì)存儲(chǔ)有效數(shù)據(jù)與無(wú)效數(shù)據(jù)。例如,當(dāng)主機(jī)系統(tǒng)要?jiǎng)h除一份有效數(shù)據(jù)時(shí),被刪除的數(shù)據(jù)可能還是存儲(chǔ)在存儲(chǔ)區(qū)802中,但會(huì)被標(biāo)記為無(wú)效數(shù)據(jù)。沒(méi)有存儲(chǔ)有效數(shù)據(jù)的實(shí)體擦除單元也被稱(chēng)為閑置(spare)實(shí)體擦除單元。例如,被擦除以后的實(shí)體擦除單元便會(huì)成為閑置實(shí)體擦除單元。若存儲(chǔ)區(qū)802或系統(tǒng)區(qū)806中有實(shí)體擦除單元損壞時(shí),存儲(chǔ)區(qū)802中的實(shí)體擦除單元也可以用來(lái)替換損壞的實(shí)體擦除單元。倘若存儲(chǔ)區(qū)802中沒(méi)有可用的實(shí)體擦除單元來(lái)替換損壞的實(shí)體擦除單元時(shí),則存儲(chǔ)器管理電路702會(huì)將整個(gè)存儲(chǔ)器存儲(chǔ)裝置10宣告為寫(xiě)入保護(hù)(writeprotect)狀態(tài),而無(wú)法再寫(xiě)入數(shù)據(jù)。此外,有存儲(chǔ)有效數(shù)據(jù)的實(shí)體擦除單元也被稱(chēng)為非閑置(non-spare)實(shí)體擦除單元。系統(tǒng)區(qū)806的實(shí)體擦除單元是用以記錄系統(tǒng)數(shù)據(jù),其中此系統(tǒng)數(shù)據(jù)包括關(guān)于存儲(chǔ)器芯片的制造商與型號(hào)、存儲(chǔ)器芯片的實(shí)體擦除單元數(shù)、每一實(shí)體擦除單元的實(shí)體編程單元數(shù)等。存儲(chǔ)區(qū)802與系統(tǒng)區(qū)806的實(shí)體擦除單元的數(shù)量會(huì)依據(jù)不同的存儲(chǔ)器規(guī)格而有所不同。此外,必須了解的是,在存儲(chǔ)器存儲(chǔ)裝置10的運(yùn)作中,實(shí)體擦除單元關(guān)聯(lián)至存儲(chǔ)區(qū)802與系統(tǒng)區(qū)806的分組關(guān)系會(huì)動(dòng)態(tài)地變動(dòng)。例如,當(dāng)系統(tǒng)區(qū)806中的實(shí)體擦除單元損壞而被存儲(chǔ)區(qū)802的實(shí)體擦除單元取代時(shí),則原本在存儲(chǔ)區(qū)802的實(shí)體擦除單元會(huì)被關(guān)聯(lián)至系統(tǒng)區(qū)806。存儲(chǔ)器管理電路702會(huì)配置邏輯單元810(0)~810(D)以映射至存儲(chǔ)區(qū)802中的實(shí)體擦除單元800(0)~800(A)。例如,在本實(shí)施例中,主機(jī)系統(tǒng)11是通過(guò)邏輯地址來(lái)存取存儲(chǔ)區(qū)802中的數(shù)據(jù),因此,每一個(gè)邏輯單元810(0)~810(D)是指一個(gè)邏輯地址。在本實(shí)施例中,一個(gè)邏輯地址是指一個(gè)邏輯區(qū)塊地址(logicalblockaddress,簡(jiǎn)稱(chēng)LBA)。然而,在另一實(shí)施例中,一個(gè)邏輯地址的大小也可以是大于或小于一個(gè)邏輯區(qū)塊地址的大小。在一實(shí)施例中,每一個(gè)邏輯單元810(0)~810(D)也可以是指一個(gè)邏輯扇、一個(gè)邏輯編程單元、一個(gè)邏輯 擦除單元或者由多個(gè)連續(xù)或分散的邏輯地址組成。每一個(gè)邏輯單元810(0)~810(D)是映射至一或多個(gè)實(shí)體單元。在本實(shí)施例中,一個(gè)實(shí)體單元是指一個(gè)實(shí)體擦除單元。然而,在另一實(shí)施例中,一個(gè)實(shí)體單元也可以是一個(gè)實(shí)體地址、一個(gè)實(shí)體扇、一個(gè)實(shí)體編程單元或者是由多個(gè)連續(xù)或分散的實(shí)體地址組成,本發(fā)明不加以限制。存儲(chǔ)器管理電路702會(huì)將邏輯單元與實(shí)體單元之間的映射關(guān)系記錄在一或多個(gè)邏輯-實(shí)體映像表。當(dāng)主機(jī)系統(tǒng)11欲從存儲(chǔ)器存儲(chǔ)裝置10讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)至存儲(chǔ)器存儲(chǔ)裝置10時(shí),存儲(chǔ)器管理電路702可根據(jù)此邏輯-實(shí)體映射表來(lái)執(zhí)行對(duì)于存儲(chǔ)器存儲(chǔ)裝置10的數(shù)據(jù)存取。在本實(shí)施例中,每一個(gè)實(shí)體擦除單元會(huì)包括多個(gè)下實(shí)體編程單元與對(duì)應(yīng)于此些下實(shí)體編程單元的多個(gè)上實(shí)體編程單元。在此,相互對(duì)應(yīng)的實(shí)體編程單元指的是屬于同一條字符線的實(shí)體編程單元。圖9是本發(fā)明的一實(shí)施例所示的管理實(shí)體擦除單元的示意圖。請(qǐng)參照?qǐng)D9,以實(shí)體擦除單元800(0)為例,實(shí)體擦除單元800(0)至少包括下實(shí)體編程單元901A~904A與上實(shí)體編程單元911B~914B。下實(shí)體編程單元901A與上實(shí)體編程單元911B屬于同一條字符線。下實(shí)體編程單元902A與上實(shí)體編程單元912B屬于同一條字符線。下實(shí)體編程單元903A與上實(shí)體編程單元913B屬于同一條字符線。下實(shí)體編程單元904A與上實(shí)體編程單元914B屬于同一條字符線。一般來(lái)說(shuō),下實(shí)體編程單元會(huì)比位于同一條字符在線的上實(shí)體編程單元優(yōu)先被使用(即,被編程)。存儲(chǔ)器管理電路702是依照一個(gè)編程順序交錯(cuò)地將數(shù)據(jù)寫(xiě)入下實(shí)體編程單元與上實(shí)體編程單元。例如,圖9中每一個(gè)實(shí)體編程單元中的數(shù)字便是表示此些實(shí)體編程單元的編程順序。在本實(shí)施例中,下實(shí)體編程單元901A與902A會(huì)先被編程,接著,上實(shí)體編程單元911B、下實(shí)體編程單元903A、上實(shí)體編程單元912B、下實(shí)體編程單元904A及上實(shí)體編程單元913B會(huì)依序被編程。以此類(lèi)推,其它未示出的實(shí)體編程單元也會(huì)依照類(lèi)似方式而依序地被編程。然而,在另一實(shí)施例中,存儲(chǔ)器管理電路702也可以依照其它的編程順序來(lái)寫(xiě)入數(shù)據(jù)。例如,數(shù)據(jù)可以是依序地被寫(xiě)入至下實(shí)體編程單元901A、上實(shí)體編程單元911B、下實(shí)體編程單元902A、上實(shí)體編程單元912B及下實(shí)體編程單元903A,或者是依照下實(shí)體編程單元901A、 902A、903A、904A、上實(shí)體編程單元911B、912B、913B的順序來(lái)編程等等,本發(fā)明不加以限制。圖10是本發(fā)明的一實(shí)施例所示的編程多個(gè)實(shí)體編程單元的示意圖。請(qǐng)參照?qǐng)D10,同樣以實(shí)體擦除單元800(0)為例,假設(shè)存儲(chǔ)器管理電路702依序接收到DATA-a~DATA-e。DATA-a~DATA-e可以是連續(xù)數(shù)據(jù)或者不連續(xù)數(shù)據(jù)。連續(xù)數(shù)據(jù)指的是數(shù)據(jù)使用連續(xù)的多個(gè)邏輯單元并且占用一個(gè)連續(xù)的邏輯地址范圍。不連續(xù)數(shù)據(jù)指的是數(shù)據(jù)使用不連續(xù)的多個(gè)邏輯單元并且占用多個(gè)彼此不連續(xù)的邏輯地址范圍。此外,每一個(gè)數(shù)據(jù)DATA-a~DATA-e可以是從主機(jī)系統(tǒng)11接收的欲存儲(chǔ)至存儲(chǔ)器存儲(chǔ)裝置10的數(shù)據(jù)(例如,隨著對(duì)應(yīng)的寫(xiě)入指令而由主機(jī)系統(tǒng)11發(fā)送),或者也可以是因執(zhí)行實(shí)體單元的合并(merging)程序或垃圾回收(garbagecollection)程序等而需要重新寫(xiě)回可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的數(shù)據(jù)。存儲(chǔ)器管理電路702可以依照?qǐng)D9的實(shí)施例所提及的任一種編程順序來(lái)寫(xiě)入數(shù)據(jù)DATA-a~DATA-e。在此,以示出在圖9的每一個(gè)實(shí)體編程單元中的數(shù)字作為編程順序的范例。例如,在接收到數(shù)據(jù)DATA-a之后,存儲(chǔ)器管理電路702會(huì)將數(shù)據(jù)DATA-a編程至下實(shí)體編程單元901A;在接收到數(shù)據(jù)DATA-b且數(shù)據(jù)DATA-a被編程至下實(shí)體編程單元901A之后,存儲(chǔ)器管理電路702會(huì)將數(shù)據(jù)DATA-b編程至下實(shí)體編程單元902A;在接收到數(shù)據(jù)DATA-c且數(shù)據(jù)DATA-b被編程至下實(shí)體編程單元902A之后,存儲(chǔ)器管理電路702會(huì)將數(shù)據(jù)DATA-c編程至上實(shí)體編程單元911B;在接收到數(shù)據(jù)DATA-d且數(shù)據(jù)DATA-c被編程至上實(shí)體編程單元911B之后,存儲(chǔ)器管理電路702會(huì)將數(shù)據(jù)DATA-d編程至下實(shí)體編程單元903A;在接收到數(shù)據(jù)DATA-e且數(shù)據(jù)DATA-d被編程至下實(shí)體編程單元903A之后,存儲(chǔ)器管理電路702會(huì)將數(shù)據(jù)DATA-e編程至上實(shí)體編程單元912B。值得一提的是,存儲(chǔ)器管理電路702是通過(guò)發(fā)送寫(xiě)入指令序列的方式來(lái)指示可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406存儲(chǔ)數(shù)據(jù)(即,編程數(shù)據(jù))。例如,此寫(xiě)入指令序列可由指令碼及/或程序代碼組成。此寫(xiě)入指令序列可包括欲存儲(chǔ)的數(shù)據(jù)與欲使用的實(shí)體單元(例如,實(shí)體地址)等等。一般來(lái)說(shuō),對(duì)于上實(shí)體編程單元的編程操作會(huì)考慮到對(duì)應(yīng)的下實(shí)體編程單元的數(shù)據(jù)存儲(chǔ)狀態(tài)。因此,在編程某一個(gè)上實(shí)體編程單元時(shí),若對(duì)應(yīng)的下 實(shí)體編程單元已被編程,則對(duì)于此上實(shí)體編程單元的編程可能會(huì)因?yàn)檎`判此下實(shí)體編程單元的數(shù)據(jù)存儲(chǔ)狀態(tài)而導(dǎo)致最終對(duì)于同一條字符在線的上、下實(shí)體編程單元至少其中之一的編程發(fā)生錯(cuò)誤(即,存儲(chǔ)錯(cuò)誤的數(shù)據(jù))。圖11是本發(fā)明的一實(shí)施例所示的編程過(guò)程中存儲(chǔ)胞的臨界電壓分布變化的示意圖。請(qǐng)同時(shí)參照?qǐng)D10與圖11,假設(shè)一開(kāi)始下實(shí)體編程單元901A與上實(shí)體編程單元911B中的所有存儲(chǔ)胞都沒(méi)有存儲(chǔ)有效數(shù)據(jù)(即,處于擦除狀態(tài)“ERA”)。在將數(shù)據(jù)DATA-a編程至下實(shí)體編程單元901A之后,此些存儲(chǔ)胞中的一部份會(huì)存儲(chǔ)位“1”并且另一部份存儲(chǔ)位“0”。在將數(shù)據(jù)DATA-c編程至上實(shí)體編程單元911B時(shí),一個(gè)預(yù)設(shè)讀取電壓VREAD-0會(huì)被提供至下實(shí)體編程單元901A中的存儲(chǔ)胞以判斷此些存儲(chǔ)胞的數(shù)據(jù)存儲(chǔ)狀態(tài)。根據(jù)所獲得的存儲(chǔ)胞的數(shù)據(jù)存儲(chǔ)狀態(tài),此些存儲(chǔ)胞會(huì)進(jìn)一步地被編程為具有四種數(shù)據(jù)存儲(chǔ)狀態(tài)(即,存儲(chǔ)位“11”、“10”、“00”及“01”)。然后,通過(guò)施加讀取電壓VREAD-1~VREAD-3至此些存儲(chǔ)胞,每一個(gè)存儲(chǔ)胞的數(shù)據(jù)存儲(chǔ)狀態(tài)可以被識(shí)別出來(lái)。然而,隨著存儲(chǔ)器存儲(chǔ)裝置10的使用時(shí)間增加(例如,讀取次數(shù)增加、寫(xiě)入次數(shù)增加及/或擦除次數(shù)增加等等),可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的存儲(chǔ)胞會(huì)發(fā)生性能退化(degradation)。發(fā)生性能退化的存儲(chǔ)胞的臨界電壓分布范圍會(huì)變寬,如圖11中的虛線所示。因此,若在編程上實(shí)體編程單元911B時(shí)仍然使用固定的預(yù)設(shè)讀取電壓VREAD-0來(lái)讀取此些存儲(chǔ)胞,則很容易誤判下實(shí)體編程單元901A的數(shù)據(jù)存儲(chǔ)狀態(tài),最終導(dǎo)致下實(shí)體編程單元901A與上實(shí)體編程單元911B都存儲(chǔ)了錯(cuò)誤的數(shù)據(jù)。例如,若因使用預(yù)設(shè)讀取電壓VREAD-0來(lái)讀取此些存儲(chǔ)胞而將圖11中斜線區(qū)域內(nèi)的存儲(chǔ)胞誤判為存儲(chǔ)位“0”,則原先應(yīng)該被編程為存儲(chǔ)位“11”的存儲(chǔ)胞可能會(huì)錯(cuò)誤地被編程為存儲(chǔ)位“01”?,F(xiàn)階段,在針對(duì)從存儲(chǔ)器中讀取出的錯(cuò)誤數(shù)據(jù)進(jìn)行更正的譯碼程序中,這樣的錯(cuò)誤并不容易被找出并更正。請(qǐng)?jiān)俅螀⒄請(qǐng)D10,在本實(shí)施例中,存儲(chǔ)器管理電路702會(huì)決定每一筆數(shù)據(jù)在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的存儲(chǔ)地址。當(dāng)存儲(chǔ)器管理電路702欲將數(shù)據(jù)DATA-c編程至上實(shí)體編程單元911B時(shí),存儲(chǔ)器管理電路702會(huì)執(zhí)行一數(shù)據(jù)獲取操作以獲得下實(shí)體編程單元901A的數(shù)據(jù)存儲(chǔ)狀態(tài)。此數(shù)據(jù)存儲(chǔ)狀態(tài)可以是存儲(chǔ)胞的臨界電壓分布或數(shù)據(jù)DATA-a。此外,在另一實(shí)施例中, 此數(shù)據(jù)獲取操作也可以是由存儲(chǔ)器管理電路702發(fā)送一數(shù)據(jù)獲取指令來(lái)指示可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406或其它的電路執(zhí)行。特別是,此數(shù)據(jù)獲取操作并不會(huì)包含使用一個(gè)預(yù)設(shè)讀取電壓來(lái)讀取下實(shí)體編程單元901A。在此,預(yù)設(shè)讀取電壓是指沒(méi)有隨著下實(shí)體編程單元901A的使用狀態(tài)及/或數(shù)據(jù)存儲(chǔ)狀態(tài)而被適應(yīng)性地調(diào)整過(guò)的讀取電壓(例如,圖11中的預(yù)設(shè)讀取電壓VREAD-0)。在獲得下實(shí)體編程單元901A的數(shù)據(jù)存儲(chǔ)狀態(tài)之后,存儲(chǔ)器管理電路702會(huì)根據(jù)下實(shí)體編程單元901A的數(shù)據(jù)存儲(chǔ)狀態(tài)來(lái)發(fā)送一個(gè)寫(xiě)入指令序列至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406以指示基于下實(shí)體編程單元901A的數(shù)據(jù)存儲(chǔ)狀態(tài)來(lái)將數(shù)據(jù)DATA-c編程至上實(shí)體編程單元911B。在圖10的一實(shí)施例中,存儲(chǔ)器管理電路702會(huì)獲得下實(shí)體編程單元901A的磨損程度值。此磨損程度值與下實(shí)體編程單元901A或者實(shí)體擦除單元800的讀取次數(shù)、寫(xiě)入次數(shù)、擦除次數(shù)、錯(cuò)誤位數(shù)、錯(cuò)誤位率及存儲(chǔ)胞的臨界電壓分布的至少其中之一有關(guān)。此磨損程度值可用以指示存儲(chǔ)胞的磨損程度等可能會(huì)影響存儲(chǔ)胞的臨界電壓分布的各種因素。根據(jù)下實(shí)體編程單元901A的磨損程度值,存儲(chǔ)器管理電路702會(huì)指示將對(duì)應(yīng)于下實(shí)體編程單元901A的讀取電壓從一第一讀取電壓調(diào)整為一第二讀取電壓。例如,此第二讀取電壓的電壓值會(huì)大于或小于此第一讀取電壓的電壓值。此第一讀取電壓可以是對(duì)應(yīng)于下實(shí)體編程單元901A的預(yù)設(shè)讀取電壓或已經(jīng)被調(diào)整過(guò)至少一次的讀取電壓。以圖11為例,若將預(yù)設(shè)讀取電壓VREAD-0的預(yù)設(shè)電壓值加上一個(gè)電壓調(diào)整值ΔV,則使用調(diào)整后的讀取電壓(例如,讀取電壓VREAD-4)來(lái)讀取存儲(chǔ)胞,將可減少發(fā)生上述誤判的機(jī)率。在本實(shí)施例中,電壓調(diào)整值ΔV的值是預(yù)設(shè)的。例如,每一次將第一讀取電壓調(diào)整至第二讀取電壓的電壓增加幅度都是一個(gè)預(yù)設(shè)幅度。然而,在另一實(shí)施例中,電壓調(diào)整值ΔV的值不是預(yù)設(shè)的。例如,圖11中電壓調(diào)整值ΔV的值可以是根據(jù)當(dāng)前下實(shí)體編程單元901A的磨損程度值所適應(yīng)性決定的。在一實(shí)施利中,將第一讀取電壓至第二讀取電壓的電壓增加幅度是與下實(shí)體編程單元901A的磨損程度成正相關(guān)。也即,若當(dāng)前下實(shí)體編程單元901A的磨損程度值指示下實(shí)體編程單元901A中存儲(chǔ)胞的磨損程度較高,則電壓調(diào)整值ΔV的值可被對(duì)應(yīng)增加;若當(dāng)前下實(shí)體編程單元901A的磨損程度值指示下實(shí)體編程單元901A中存儲(chǔ)胞的磨損程度不高,則電壓調(diào)整值ΔV的值可被對(duì)應(yīng)減少。此外,在另一實(shí)施例中,存儲(chǔ)器管 理電路702也可以掃描下實(shí)體編程單元901A中的存儲(chǔ)胞并且根據(jù)下實(shí)體編程單元901A中存儲(chǔ)胞的臨界電壓分布來(lái)決定電壓調(diào)整值ΔV。在另一實(shí)施例中,存儲(chǔ)器管理電路702會(huì)動(dòng)態(tài)地決定是否執(zhí)行上述調(diào)整讀取電壓的操作。例如,存儲(chǔ)器管理電路702會(huì)判斷下實(shí)體編程單元901A的磨損程度值是否符合一磨損門(mén)檻值。此磨損程度值可以是以擦除次數(shù)、讀取次數(shù)、寫(xiě)入次數(shù)、錯(cuò)誤位數(shù)及錯(cuò)誤位率的其中之一或其組合的對(duì)應(yīng)數(shù)值來(lái)表示。例如,若此磨損程度值是以擦除次數(shù)來(lái)表示,則此磨損門(mén)坎值例如是3000~5000次。此磨損門(mén)檻值是作為存儲(chǔ)胞所存儲(chǔ)的數(shù)據(jù)的正確性是否仍然可以被有效維持的一個(gè)判斷依據(jù)。不同類(lèi)型的存儲(chǔ)胞所對(duì)應(yīng)的磨損門(mén)檻值可能不同。若下實(shí)體編程單元901A的磨損程度值符合此磨損門(mén)檻值,例如,下實(shí)體編程單元901A中存儲(chǔ)胞的擦除次數(shù)達(dá)到3000次,表示下實(shí)體編程單元901A存儲(chǔ)的數(shù)據(jù)的正確性已經(jīng)無(wú)法有效維持,故存儲(chǔ)器管理電路702會(huì)啟用上述根據(jù)下實(shí)體編程單元901A的磨損程度值來(lái)調(diào)整對(duì)于下實(shí)體編程單元901A的讀取電壓的操作。反之,若下實(shí)體編程單元901A的磨損程度值不符合此磨損門(mén)檻值,例如,下實(shí)體編程單元901A的擦除次數(shù)尚未達(dá)到3000次,則存儲(chǔ)器管理電路702不會(huì)啟用上述根據(jù)下實(shí)體編程單元901A的磨損程度值來(lái)調(diào)整對(duì)于下實(shí)體編程單元901A的讀取電壓的操作。換言之,若下實(shí)體編程單元901A的磨損程度值不符合此磨損門(mén)檻值,則存儲(chǔ)器管理電路702還是可以使用上述預(yù)設(shè)讀取電壓(例如,預(yù)設(shè)讀取電壓VREAD-0)來(lái)讀取下實(shí)體編程單元901A中的存儲(chǔ)胞,以獲得下實(shí)體編程單元901A的數(shù)據(jù)存儲(chǔ)狀態(tài)。此外,在上述實(shí)施例中,存儲(chǔ)器管理電路702會(huì)發(fā)送一個(gè)讀取電壓調(diào)整指令至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406。此讀取電壓調(diào)整指令會(huì)指示可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406執(zhí)行上述調(diào)整讀取電壓的操作。在一實(shí)施例中,存儲(chǔ)器管理電路702還會(huì)指示錯(cuò)誤檢查與校正電路708對(duì)上述數(shù)據(jù)獲取操作中獲得的數(shù)據(jù)進(jìn)行譯碼并且判斷是否發(fā)生譯碼失敗。此譯碼可以包括迭代(iterative)譯碼或非迭代譯碼。若對(duì)于上述數(shù)據(jù)獲取操作中獲得的某一筆數(shù)據(jù)譯碼失敗,例如,執(zhí)行迭代譯碼的次數(shù)超過(guò)一預(yù)設(shè)次數(shù),則存儲(chǔ)器管理電路702會(huì)再次調(diào)整前一次使用的讀取電壓并且利用此調(diào)整后的讀取電壓來(lái)再次讀取同一個(gè)下實(shí)體編程單元。例如,存儲(chǔ)器管理電路702可以指示將上述第二讀取電壓調(diào)整為電壓值更大的第三讀取電壓并且指示利 用此第三讀取電壓來(lái)再次讀取下實(shí)體編程單元901A。然后,錯(cuò)誤檢查與校正電路708會(huì)重新對(duì)利用此第三讀取電壓所讀取到的數(shù)據(jù)進(jìn)行譯碼。在一次的數(shù)據(jù)獲取操作中,存儲(chǔ)器管理電路702與錯(cuò)誤檢查與校正電路708可以重復(fù)執(zhí)行上述調(diào)整讀取電壓與譯碼讀取到的數(shù)據(jù)的操作,直到譯碼成功或譯碼失敗的次數(shù)達(dá)到一解碼次數(shù)門(mén)檻值為止。在圖10的另一實(shí)施例中,上述數(shù)據(jù)獲取操作也可以不提供任何讀取電壓至下實(shí)體編程單元901A中的存儲(chǔ)胞。例如,在一實(shí)施例中,每接收到一筆欲寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的數(shù)據(jù),此數(shù)據(jù)就會(huì)被暫存在緩沖存儲(chǔ)器710中并且至少被維護(hù)到不需要再被使用到為止。例如,在圖10的一實(shí)施例中,暫存在緩沖存儲(chǔ)器710中的數(shù)據(jù)DATA-a至少會(huì)被維護(hù)到DATA-c被編程至上實(shí)體編程單元911B為止。藉此,在執(zhí)行對(duì)應(yīng)于某一個(gè)下實(shí)體編程單元的上實(shí)體編程單元的編程操作時(shí),存儲(chǔ)在此下實(shí)體編程單元中的數(shù)據(jù)就可以被從緩沖存儲(chǔ)器710讀取出來(lái),從而減少讀取到錯(cuò)誤的下實(shí)體編程單元的數(shù)據(jù)存儲(chǔ)狀態(tài)的機(jī)率。在上述實(shí)施例中,緩沖存儲(chǔ)器710的大小或緩沖存儲(chǔ)器710中用來(lái)暫存欲寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的數(shù)據(jù)的空間不會(huì)小于一個(gè)預(yù)設(shè)大小。例如,若以圖9所示的編程順序來(lái)存儲(chǔ)數(shù)據(jù),則此預(yù)設(shè)大小至少是可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的一個(gè)實(shí)體編程單元的大小的三至四倍。也即,在對(duì)于數(shù)據(jù)DATA-c的編程操作被執(zhí)行完畢之前,緩沖存儲(chǔ)器710至少需要同時(shí)存儲(chǔ)數(shù)據(jù)DATA-a、DATA-b及DATA-c;在對(duì)于數(shù)據(jù)DATA-e的編程操作被執(zhí)行完畢之前,緩沖存儲(chǔ)器710至少需要同時(shí)存儲(chǔ)數(shù)據(jù)DATA-b、DATA-d及DATA-e或者數(shù)據(jù)DATA-b、DATA-c、DATA-d及DATA-e。此外,若所使用的編程順序不同,則上述預(yù)設(shè)大小也可以適應(yīng)性地調(diào)整,只要可以有效地維護(hù)緩沖存儲(chǔ)器710中還會(huì)被使用到的數(shù)據(jù)即可。此外,在另一實(shí)施例中,也可以在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中配置一個(gè)緩沖區(qū)。此緩沖區(qū)并不包含數(shù)據(jù)真正的存儲(chǔ)位置。例如,此緩沖區(qū)可以提供相同或相似于緩沖存儲(chǔ)器710的功能。此外,此緩沖區(qū)的大小同樣至少會(huì)大于上述預(yù)設(shè)大小。在一實(shí)施例中,緩沖區(qū)中的實(shí)體單元的可靠度及/或數(shù)據(jù)寫(xiě)入速度會(huì)高于或等于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中其它區(qū)域的實(shí)體單元的可靠度及/或數(shù)據(jù)寫(xiě)入速度。圖12a至12c是本發(fā)明的一實(shí)施例所示的編程數(shù)據(jù)的示意圖。請(qǐng)參照?qǐng)D12a,假設(shè)數(shù)據(jù)DATA-a與DATA-b已暫存于緩沖存儲(chǔ)器710,且數(shù)據(jù)DATA-a與DATA-b已被依序編程至下實(shí)體編程單元901A與902A。存儲(chǔ)器管理電路702會(huì)接收數(shù)據(jù)DATA-c并且將數(shù)據(jù)DATA-c暫存于緩沖存儲(chǔ)器710。當(dāng)存儲(chǔ)器管理電路702欲將數(shù)據(jù)DATA-c編程至上實(shí)體編程單元911B時(shí),存儲(chǔ)器管理電路702會(huì)從緩沖存儲(chǔ)器710中讀取數(shù)據(jù)DATA-a。然后,存儲(chǔ)器管理電路702會(huì)根據(jù)讀取出的數(shù)據(jù)DATA-a來(lái)將數(shù)據(jù)DATA-c編程至上實(shí)體編程單元911B。關(guān)于如何編程已于上述實(shí)施例中說(shuō)明,在此便不贅述。特別是,由于對(duì)于上實(shí)體編程單元911B的編程操作并不是根據(jù)下實(shí)體編程單元901A“真正的”數(shù)據(jù)存儲(chǔ)狀態(tài)來(lái)執(zhí)行的,故可降低因存儲(chǔ)在下實(shí)體編程單元901A中的數(shù)據(jù)不正確而導(dǎo)致對(duì)于上實(shí)體編程單元911B的編程發(fā)生錯(cuò)誤的機(jī)率。值得一提的是,在圖12a至12c的實(shí)施例中,緩沖存儲(chǔ)器710中不需要再被使用到的數(shù)據(jù)就可以被設(shè)定為可被另一筆數(shù)據(jù)覆蓋。例如,在將數(shù)據(jù)DATA-c編程至上實(shí)體編程單元911B之后,緩沖存儲(chǔ)器710中的數(shù)據(jù)DATA-a與DATA-c就可以被設(shè)定為可被覆蓋。請(qǐng)參照?qǐng)D12b,在接收到數(shù)據(jù)DATA-d之后,數(shù)據(jù)DATA-d會(huì)被暫存在緩沖存儲(chǔ)器710。在此,受限于緩沖存儲(chǔ)器710的大小,數(shù)據(jù)DATA-a可能會(huì)被數(shù)據(jù)DATA-d覆蓋掉。在一實(shí)施例中,只有在確定對(duì)于數(shù)據(jù)DATA-a的數(shù)據(jù)獲取操作完成或數(shù)據(jù)DATA-c已被成功地編程至上實(shí)體編程單元911B時(shí),數(shù)據(jù)DATA-d才會(huì)被存儲(chǔ)器管理電路702接收。換言之,在一實(shí)施例中,若對(duì)于數(shù)據(jù)DATA-a的數(shù)據(jù)獲取操作尚未完成或數(shù)據(jù)DATA-c還沒(méi)成功地編程至上實(shí)體編程單元911B,則存儲(chǔ)器管理電路702會(huì)處于一忙碌狀態(tài)(busystate)而不可接收數(shù)據(jù)DATA-d;而當(dāng)對(duì)于數(shù)據(jù)DATA-a的數(shù)據(jù)獲取操作完成或數(shù)據(jù)DATA-c已被成功地編程至上實(shí)體編程單元911B時(shí),存儲(chǔ)器管理電路702會(huì)切換為處于閑置狀態(tài)(idlestate)而可接收數(shù)據(jù)DATA-d。然后,數(shù)據(jù)DATA-d會(huì)被編程至下實(shí)體編程單元903A。請(qǐng)參照?qǐng)D12c,在接收到數(shù)據(jù)DATA-d且存儲(chǔ)器管理電路702處于閑置狀態(tài)之后,數(shù)據(jù)DATA-e會(huì)被接收(例如,覆蓋數(shù)據(jù)DATA-c)并且被暫存在緩沖存儲(chǔ)器710。在將數(shù)據(jù)DATA-d編程至下實(shí)體編程單元903A之后,當(dāng)存儲(chǔ)器管理電路702欲將數(shù)據(jù)DATA-e編程至上實(shí)體編程單元912B時(shí),存儲(chǔ)器管理 電路702會(huì)從緩沖存儲(chǔ)器710中讀取數(shù)據(jù)DATA-b。然后,存儲(chǔ)器管理電路702會(huì)根據(jù)從緩沖存儲(chǔ)器710中讀取出來(lái)的數(shù)據(jù)DATA-b來(lái)將數(shù)據(jù)DATA-e編程至上實(shí)體編程單元912B。在此,存儲(chǔ)器管理電路702從緩沖存儲(chǔ)器710中讀取數(shù)據(jù)DATA-b的操作即為對(duì)應(yīng)于下實(shí)體編程單元902A的數(shù)據(jù)獲取操作。值得一提的是,在圖12a至圖12c的另一實(shí)施例中,緩沖存儲(chǔ)器710也可以是以可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的緩沖區(qū)來(lái)取代?;蛘撸彌_存儲(chǔ)器710也可以是與可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的緩沖區(qū)一起使用或者輪替使用。例如,數(shù)據(jù)DATA-a、DATA-b及DATA-c可暫存于緩沖存儲(chǔ)器710,而數(shù)據(jù)DATA-d與DATA-e則可暫存于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的緩沖區(qū)等等。此外,在圖12a與圖12c的另一實(shí)施例中,對(duì)應(yīng)于下實(shí)體編程單元901A與下實(shí)體編程單元902A的數(shù)據(jù)獲取操作也可以是包含使用調(diào)整后的讀取電壓來(lái)讀取對(duì)應(yīng)的存儲(chǔ)胞的操作。關(guān)于如何調(diào)整讀取電壓以及利用調(diào)整后的讀取電壓來(lái)讀取存儲(chǔ)胞等操作已于前述說(shuō)明,在此便不贅述。在上述實(shí)施例中,數(shù)據(jù)DATA-a、DATA-b、DATA-c、DATA-d及DATA-e各別的數(shù)據(jù)大小都是符合一個(gè)實(shí)體編程單元的大小。然而,在另一實(shí)施例中,數(shù)據(jù)DATA-a、DATA-b、DATA-c、DATA-d及DATA-e各別的數(shù)據(jù)大小也可以是小于一個(gè)實(shí)體編程單元的大小,本發(fā)明不加以限制。此外,雖然上述實(shí)施例均是以編程同一個(gè)實(shí)體擦除單元中的多個(gè)實(shí)體編程單元作為范例,但是在另一實(shí)施例中,屬于不同實(shí)體擦除單元的多個(gè)實(shí)體編程單元也可以被連續(xù)或不連續(xù)地編程。圖13是本發(fā)明的一實(shí)施例所示的數(shù)據(jù)編程方法的流程圖。請(qǐng)參照?qǐng)D13,在步驟S1301中,接收一數(shù)據(jù)(也稱(chēng)為第一數(shù)據(jù))并且將第一數(shù)據(jù)編程至一個(gè)下實(shí)體編程單元(也稱(chēng)為第一下實(shí)體編程單元)。在步驟S1302中,接收另一數(shù)據(jù)(也稱(chēng)為第二數(shù)據(jù))。在步驟S1303中,執(zhí)行對(duì)應(yīng)于第一下實(shí)體編程單元的一個(gè)數(shù)據(jù)獲取操作(也稱(chēng)為第一數(shù)據(jù)獲取操作),其中第一數(shù)據(jù)獲取操作不包括使用對(duì)應(yīng)于第一下實(shí)體編程單元的一個(gè)預(yù)設(shè)讀取電壓來(lái)讀取第一下實(shí)體編程單元。例如,此第一數(shù)據(jù)獲取操作可包括使用與預(yù)設(shè)讀取電壓不同的一或多個(gè)讀取電壓來(lái)讀取第一下實(shí)體編程單元或者從某一緩沖存儲(chǔ)器或可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊中的緩沖區(qū)讀取存儲(chǔ)于第一下實(shí)體編 程單元中的數(shù)據(jù)。在步驟S1304中,根據(jù)第一數(shù)據(jù)獲取操作所獲得的數(shù)據(jù)(也稱(chēng)為第三數(shù)據(jù))將第二數(shù)據(jù)編程至對(duì)應(yīng)于第一下實(shí)體編程單元的第一上實(shí)體編程單元。然而,在另一實(shí)施例中,步驟S1301與S1302也可以同時(shí)執(zhí)行。圖14是本發(fā)明的另一實(shí)施例所示的數(shù)據(jù)編程方法的流程圖。請(qǐng)參照?qǐng)D14,在步驟S1401中,接收第一數(shù)據(jù)并且將第一數(shù)據(jù)編程至第一實(shí)體編程單元。在步驟S1402中,接收第二數(shù)據(jù)。在步驟S1403中,當(dāng)欲將第二數(shù)據(jù)編程至第一下實(shí)體編程單元所對(duì)應(yīng)的第一上實(shí)體編程單元,使用不同于對(duì)應(yīng)于第一下實(shí)體編程單元的預(yù)設(shè)讀取電壓之一或多個(gè)讀取電壓讀取第一下實(shí)體編程單元。例如,此一或多個(gè)讀取電壓是根據(jù)第一下實(shí)體編程單元的磨損程度值來(lái)決定。在步驟S1404中,根據(jù)步驟S1403中所讀取到的數(shù)據(jù)將第二數(shù)據(jù)編程至第一上實(shí)體編程單元。然而,在另一實(shí)施例中,步驟S1401與S1402也可以同時(shí)執(zhí)行。圖15是本發(fā)明的另一實(shí)施例所示的數(shù)據(jù)編程方法的流程圖。請(qǐng)參照?qǐng)D15,在步驟S1501中,接收第一數(shù)據(jù)并且將第一數(shù)據(jù)編程至第一實(shí)體編程單元。在步驟S1502中,接收第二數(shù)據(jù)。在步驟S1503中,當(dāng)欲將第二數(shù)據(jù)編程至第一下實(shí)體編程單元所對(duì)應(yīng)的第一上實(shí)體編程單元時(shí),使用不同于對(duì)應(yīng)于第一下實(shí)體編程單元的預(yù)設(shè)讀取電壓的讀取電壓(也稱(chēng)為第二讀取電壓)讀取第一下實(shí)體編程單元。例如,此第二讀取電壓是根據(jù)第一下實(shí)體編程單元的磨損程度值來(lái)決定。在步驟S1504中,譯碼在步驟S1503中所讀取到的數(shù)據(jù)(也稱(chēng)為第四數(shù)據(jù))。在步驟S1505中,判斷第四數(shù)據(jù)是否譯碼失敗。若第四數(shù)據(jù)譯碼失敗,在步驟S1506中,將第二讀取電壓調(diào)整為另一讀取電壓(也稱(chēng)為第三讀取電壓)并且使用第三讀取電壓讀取第一實(shí)體編程單元。在步驟S1506之后,步驟S1504與S1505會(huì)被重復(fù)執(zhí)行,直到第四數(shù)據(jù)譯碼成功或者譯碼失敗的次數(shù)達(dá)到一譯碼次數(shù)門(mén)檻值為止。若第四數(shù)據(jù)譯碼成功,在步驟S1507中,根據(jù)步驟S1505中譯碼成功的數(shù)據(jù),將第二數(shù)據(jù)編程至第一上實(shí)體編程單元。然而,在另一實(shí)施例中,步驟S1501與S1502也可以同時(shí)執(zhí)行。圖16是本發(fā)明的另一實(shí)施例所示的數(shù)據(jù)編程方法的流程圖。請(qǐng)參照?qǐng)D16,在步驟S1601中,接收第一數(shù)據(jù)并且將第一數(shù)據(jù)編程至第一實(shí)體編程單元。在步驟S1602中,將第一數(shù)據(jù)暫存在緩沖存儲(chǔ)器或可復(fù)寫(xiě) 式非易失性存儲(chǔ)器模塊中的一個(gè)緩沖區(qū)。在步驟S1603中,接收第二數(shù)據(jù)。在步驟S1604中,反應(yīng)于欲將第二數(shù)據(jù)編程至第一下實(shí)體編程單元所對(duì)應(yīng)的第一上實(shí)體編程單元,讀取暫存在緩沖存儲(chǔ)器或可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊中的緩沖區(qū)的第一數(shù)據(jù)。在步驟S1605中,根據(jù)步驟S1604中所讀取出的第一數(shù)據(jù)將第二數(shù)據(jù)編程至第一上實(shí)體編程單元。然而,在另一實(shí)施例中,步驟S1601與S1602和/或步驟S1602與S1603也可以同時(shí)執(zhí)行。然而,圖13至圖16中各步驟已詳細(xì)說(shuō)明如上,在此便不再贅述。值得注意的是,圖13至圖16中各步驟可以實(shí)作為多個(gè)程序代碼或是電路,本發(fā)明不加以限制。此外,圖13至圖16的方法可以搭配以上實(shí)施例使用,也可以單獨(dú)使用,本發(fā)明不加以限制。綜上所述,在編程對(duì)應(yīng)于某一個(gè)下實(shí)體編程單元的上實(shí)體編程單元時(shí),本發(fā)明會(huì)通過(guò)使用調(diào)整后的讀取電壓來(lái)讀取屬于此下實(shí)體編程單元的存儲(chǔ)胞或者讀取暫存于緩沖存儲(chǔ)器(或,可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的緩沖區(qū))中的數(shù)據(jù)等數(shù)據(jù)獲取操作來(lái)獲得此下實(shí)體編程單元的數(shù)據(jù)存儲(chǔ)狀態(tài)。藉此,將可降低因使用預(yù)設(shè)讀取電壓來(lái)讀取存儲(chǔ)胞而誤判存儲(chǔ)胞的數(shù)據(jù)存儲(chǔ)狀態(tài),從而導(dǎo)致最終編程結(jié)果發(fā)生錯(cuò)誤的機(jī)率。最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3