• / 30
  • 下載費用:30 金幣  

解碼方法、存儲器存儲裝置、存儲器控制電路單元.pdf

摘要
申請專利號:

CN201410171105.3

申請日:

2014.04.25

公開號:

CN105022674A

公開日:

2015.11.04

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 11/10申請日:20140425|||公開
IPC分類號: G06F11/10 主分類號: G06F11/10
申請人: 群聯電子股份有限公司
發明人: 林緯; 嚴紹維; 林玉祥; 王天慶; 賴國欣; 林小東
地址: 中國臺灣苗栗縣竹南鎮群義路1號
優先權:
專利代理機構: 北京同立鈞成知識產權代理有限公司11205 代理人: 臧建明
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201410171105.3

授權公告號:

||||||

法律狀態公告日:

2019.02.01|||2015.12.02|||2015.11.04

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明提供一種解碼方法、存儲器存儲裝置與存儲器控制電路單元。此解碼方法包括:發送讀取指令序列,用以讀取存儲單元以取得多個第一驗證比特;根據第一驗證比特執行第一解碼程序,并判斷是否產生第一有效碼字;若沒有產生第一有效碼字,發出另一個讀取指令序列以取得多個第二驗證比特;根據第二驗證比特計算符合一特定條件的存儲單元的總數;根據該總數取得一通道可靠性信息;以及根據此通道可靠性信息執行第二解碼程序。藉此,可以增加解碼的更正能力。

權利要求書

權利要求書
1.  一種解碼方法,用于一可復寫式非易失性存儲器模塊,其特征在于,該可復寫式非易失性存儲器模塊包括多個第一存儲單元,該解碼方法包括:
發送一第一讀取指令序列,其中該第一讀取指令序列用以根據一第一讀取電壓讀取該些第一存儲單元以取得多個第一驗證比特;
根據該些第一驗證比特執行一第一解碼程序,并判斷該第一解碼程序是否產生一第一有效碼字;
若該第一解碼程序沒有產生該第一有效碼字,發送一第二讀取指令序列,其中該第二讀取指令序列用以讀取該些第一存儲單元多次以取得多個第二驗證比特;
根據該些第二驗證比特計算該些第一存儲單元符合一特定條件的一總數;
根據該總數取得一第一通道可靠性信息;以及
根據該第一通道可靠性信息執行一第二解碼程序。

2.  根據權利要求1所述的解碼方法,其特征在于,還包括:
將該些第二驗證比特輸入一預設對數可能性比值查找表以取得一第二通道可靠性信息;以及
根據該第二通道可靠性信息執行該第二解碼程序。

3.  根據權利要求1所述的解碼方法,其特征在于,根據該些第二驗證比特計算該些第一存儲單元符合該特定條件的該總數的步驟包括:
根據該些第二驗證比特將每一該些第一存儲單元的一臨界電壓分類為多個區間的其中之一;以及
計算每一該些區間所包含的該些第一存儲單元的總數。

4.  根據權利要求1所述的解碼方法,其特征在于,還包括:
取得一第一數據;
對該第一數據執行一隨機化程序以取得一第二數據;以及
發送一寫入指令序列,其中該寫入指令序列用以將該第二數據寫入至該些第一存儲單元中。

5.  根據權利要求1所述的解碼方法,其特征在于,還包括:
根據該總數取得一預設讀取電壓。

6.  根據權利要求1所述的解碼方法,其特征在于,該第二讀取指令序列用以根據一第二讀取電壓來讀取該些第一存儲單元多次以取得該些第二驗證比特。

7.  根據權利要求1所述的解碼方法,其特征在于,該第二讀取指令序列用以根據多個第二讀取電壓來讀取該些第一存儲單元以取得該些第二驗證比特。

8.  一種存儲器存儲裝置,其特征在于,包括:
一連接接口單元,用以電連接至一主機系統;
一可復寫式非易失性存儲器模塊,包括多個第一存儲單元;以及
一存儲器控制電路單元,電連接至該連接接口單元與該可復寫式非易失性存儲器模塊,用以發送一第一讀取指令序列,其中該第一讀取指令序列用以根據一第一讀取電壓讀取該些第一存儲單元以取得多個第一驗證比特,
其中,該存儲器控制電路單元用以根據該些第一驗證比特執行一第一解碼程序,并判斷該第一解碼程序是否產生一第一有效碼字,
若該第一解碼程序沒有產生該第一有效碼字,該存儲器控制電路單元用以發出一第二讀取指令序列,其中該第二讀取指令序列用以讀取該些第一存儲單元多次以取得多個第二驗證比特,
其中,該存儲器控制電路單元用以根據該些第二驗證比特計算該些第一存儲單元符合一特定條件的一總數,根據該總數取得一第一通道可靠性信息,并且根據該第一通道可靠性信息執行一第二解碼程序。

9.  根據權利要求8所述的存儲器存儲裝置,其特征在于,該存儲器控制電路單元還用以將該些第二驗證比特輸入一預設對數可能性比值查找表以取得一第二通道可靠性信息,并且根據該第二通道可靠性信息執行該第二解碼程序。

10.  根據權利要求8所述的存儲器存儲裝置,其特征在于,該存儲器控制電路單元根據該些第二驗證比特計算該些第一存儲單元符合該特定條件的該總數的操作包括:
該存儲器控制電路單元根據該些第二驗證比特將每一該些第一存儲單元的一臨界電壓分類為多個區間的其中之一;以及
該存儲器控制電路單元計算每一該些區間所包含的該些第一存儲單元的 總數。

11.  根據權利要求8所述的存儲器存儲裝置,其特征在于,該存儲器控制電路單元還用以取得一第一數據,對該第一數據執行一隨機化程序以取得一第二數據,并且發送一寫入指令序列,其中該寫入指令序列用以將該第二數據寫入至該些第一存儲單元中。

12.  根據權利要求8所述的存儲器存儲裝置,其特征在于,該存儲器控制電路單元還用以根據該總數取得一預設讀取電壓。

13.  根據權利要求8所述的存儲器存儲裝置,其特征在于,該第二讀取指令序列用以根據一第二讀取電壓來讀取該些第一存儲單元多次以取得該些第二驗證比特。

14.  根據權利要求8所述的存儲器存儲裝置,其特征在于,該第二讀取指令序列用以根據多個第二讀取電壓來讀取該些第一存儲單元以取得該些第二驗證比特。

15.  一種存儲器控制電路單元,用于控制一可復寫式非易失性存儲器模塊,其特征在于,該可復寫式非易失性存儲器模塊包括多個第一存儲單元,該存儲器控制電路單元包括:
一主機接口,用以電連接至一主機系統;
一存儲器接口,用以電連接至該可復寫式非易失性存儲器模塊;
一存儲器管理電路,電連接至該主機接口與該存儲器接口,用以發送一第一讀取指令序列,其中該第一讀取指令序列用以根據一第一讀取電壓讀取該些第一存儲單元以取得多個第一驗證比特;以及
一錯誤檢測與校正電路,用以根據該些第一驗證比特執行一第一解碼程序,并判斷該第一解碼程序是否產生一第一有效碼字,
若該第一解碼程序沒有產生該第一有效碼字,該存儲器管理電路用以發出一第二讀取指令序列,其中該第二讀取指令序列用以讀取該些第一存儲單元多次以取得多個第二驗證比特,
其中,該存儲器管理電路用以根據該些第二驗證比特計算該些第一存儲單元符合一特定條件的一總數,并且根據該總數取得一第一通道可靠性信息,
其中,該錯誤檢測與校正電路用以根據該第一通道可靠性信息執行一第二解碼程序。

16.  根據權利要求15所述的存儲器控制電路單元,其特征在于,該記憶管理電路還用以將該些第二驗證比特輸入一預設對數可能性比值查找表以取得一第二通道可靠性信息,并且該錯誤檢測與校正電路用以根據該第二通道可靠性信息執行該第二解碼程序。

17.  根據權利要求15所述的存儲器控制電路單元,其特征在于,該存儲器管理電路根據該些第二驗證比特計算該些第一存儲單元符合該特定條件的該總數的操作包括:
該存儲器管理電路根據該些第二驗證比特將每一該些第一存儲單元的一臨界電壓分類為多個區間的其中之一;以及
該存儲器管理電路計算每一該些區間所包含的該些第一存儲單元的總數。

18.  根據權利要求15所述的存儲器控制電路單元,其特征在于,該存儲器管理電路還用以取得一第一數據,對該第一數據執行一隨機化程序以取得一第二數據,并且發送一寫入指令序列,其中該寫入指令序列用以將該第二數據寫入至該些第一存儲單元中。

19.  根據權利要求15所述的存儲器控制電路單元,其特征在于,該存儲器管理電路還用以根據該總數取得一預設讀取電壓。

20.  根據權利要求15所述的存儲器控制電路單元,其特征在于,該第二讀取指令序列用以根據一第二讀取電壓來讀取該些第一存儲單元多次以取得該些第二驗證比特。

21.  根據權利要求15所述的存儲器控制電路單元,其特征在于,該第二讀取指令序列用以根據多個第二讀取電壓來讀取該些第一存儲單元以取得該些第二驗證比特。

說明書

說明書解碼方法、存儲器存儲裝置、存儲器控制電路單元
技術領域
本發明是有關于一種解碼方法,且特別是有關于一種可復寫式非易失性存儲器模塊的解碼方法、存儲器存儲裝置與存儲器控制電路單元。
背景技術
數碼相機、移動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對存儲媒體的需求也急速增加。由于可復寫式非易失性存儲器模塊(例如,快閃存儲器)具有數據非易失性、省電、體積小,以及無機械結構等特性,所以非常適合內裝于上述所舉例的各種可攜式多媒體裝置中。
一般來說,寫入至可復寫式非易失性存儲器模塊的數據都會根據一個錯誤更正碼來編碼。從可復寫式非易失性存儲器模塊中所讀取的數據也會經過對應的解碼程序。然而,錯誤更正碼的更正能力有其上限,并且可復寫式非易失性存儲器模塊中數據發生錯誤的機率會隨著使用壽命一起改變。一般來說,若可復寫式非易失性存儲器模塊中一個實體抹除單元的抹除次數增加了,則數據發生錯誤的機率也會增加,可能會導致無法更正錯誤比特的情形。因此,如何增加解碼的更正能力,為此領域技術人員所關心的議題。
發明內容
本發明提供一種解碼方法、存儲器存儲裝置與存儲器控制電路單元,可以增加解碼的更正能力。
本發明一范例實施例提出一種解碼方法,用于可復寫式非易失性存儲器模塊,其中可復寫式非易失性存儲器模塊包括多個第一存儲單元。此解碼方法包括:發送第一讀取指令序列,其中第一讀取指令序列用以根據第一讀取電壓讀取第一存儲單元以取得多個第一驗證比特;根據第一驗證比特執行一第一解碼程序,并判斷第一解碼程序是否產生第一有效碼字;若第一解碼程序沒有產生第一有效碼字,發出第二讀取指令序列,其中第二讀取指令序列 用以讀取第一存儲單元多次以取得多個第二驗證比特;根據第二驗證比特計算第一存儲單元符合一特定條件的總數;根據該總數取得第一通道可靠性信息;以及根據第一通道可靠性信息執行一第二解碼程序。
在一范例實施例中,上述的解碼方法還包括:將第二驗證比特輸入一預設對數可能性比值查找表以取得第二通道可靠性信息;以及根據第二通道可靠性信息執行第二解碼程序。
在一范例實施例中,上述根據第二驗證比特計算第一存儲單元符合特定條件的總數的步驟包括:根據第二驗證比特將每一個第一存儲單元的一臨界電壓分類為多個區間的其中之一;以及計算每一個區間所包含的第一存儲單元的總數。
在一范例實施例中,上述的解碼方法還包括:取得第一數據;對第一數據執行一隨機化程序以取得第二數據;以及發送一寫入指令序列,其中寫入指令序列用以將第二數據寫入至第一存儲單元中。
在一范例實施例中,上述的解碼方法還包括:根據所述總數取得一預設讀取電壓。
在一范例實施例中,上述的第二讀取指令序列用以根據一第二讀取電壓來讀取所述第一存儲單元多次以取得所述第二驗證比特。
在一范例實施例中,上述的第二讀取指令序列用以根據多個第二讀取電壓來讀取所述第一存儲單元以取得所述第二驗證比特。
本發明一范例實施例提出一種存儲器存儲裝置,包括連接接口單元、可復寫式非易失性存儲器模塊與存儲器控制電路單元。連接接口單元是用以電連接至主機系統。可復寫式非易失性存儲器模塊包括多個第一存儲單元。存儲器控制電路單元是電連接至連接接口單元與可復寫式非易失性存儲器模塊,用以發送第一讀取指令序列。此第一讀取指令序列用以根據第一讀取電壓讀取第一存儲單元以取得多個第一驗證比特。存儲器控制電路單元用以根據第一驗證比特執行第一解碼程序,并判斷第一解碼程序是否產生第一有效碼字。若第一解碼程序沒有產生第一有效碼字,存儲器控制電路單元用以發出第二讀取指令序列,其中第二讀取指令序列用以讀取第一存儲單元多次以取得多個第二驗證比特。存儲器控制電路單元還用以根據第二驗證比特計算第一存儲單元符合一特定條件的總數,根據該總數取得第一通道可靠性信息, 并且根據第一通道可靠性信息執行一第二解碼程序。
在一范例實施例中,存儲器控制電路單元還用以將第二驗證比特輸入預設對數可能性比值查找表以取得第二通道可靠性信息,并且根據第二通道可靠性信息執行第二解碼程序。
在一范例實施例中,上述存儲器控制電路單元根據第二驗證比特計算第一存儲單元符合特定條件的總數的操作包括:存儲器控制電路單元根據第二驗證比特將每一個第一存儲單元的臨界電壓分類為多個區間的其中之一;存儲器控制電路單元計算每一個區間所包含的第一存儲單元的總數。
在一范例實施例中,上述的存儲器控制電路單元還用以取得第一數據,對第一數據執行隨機化程序以取得第二數據,并且發送一寫入指令序列,其中寫入指令序列用以將第二數據寫入至第一存儲單元中。
在一范例實施例中,上述的存儲器控制電路單元還用以根據所述總數取得一預設讀取電壓。
本發明一范例實施例提出一種存儲器控制電路單元,用于控制上述的可復寫式非易失性存儲器模塊。此存儲器控制電路單元包括主機接口、存儲器接口、存儲器管理電路以及錯誤檢測與校正電路。主機接口是用以電連接至主機系統。存儲器接口是用以電連接至可復寫式非易失性存儲器模塊。存儲器管理電路是電連接至主機接口與存儲器接口,用以發送第一讀取指令序列,其中第一讀取指令序列用以根據第一讀取電壓讀取第一存儲單元以取得多個第一驗證比特。錯誤檢測與校正電路是用以根據第一驗證比特執行一第一解碼程序,并判斷第一解碼程序是否產生第一有效碼字。若第一解碼程序沒有產生第一有效碼字,存儲器管理電路用以發出第二讀取指令序列,其中第二讀取指令序列用以讀取第一存儲單元多次以取得多個第二驗證比特。存儲器管理電路用以根據第二驗證比特計算第一存儲單元符合特定條件的總數,并且根據該總數取得第一通道可靠性信息。錯誤檢測與校正電路還用以根據第一通道可靠性信息執行第二解碼程序。
在一范例實施例中,記憶管理電路還用以將第二驗證比特輸入一預設對數可能性比值查找表以取得第二通道可靠性信息,并且錯誤檢測與校正電路用以根據第二通道可靠性信息執行第二解碼程序。
在一范例實施例中,上述存儲器管理電路根據第二驗證比特計算第一存 儲單元符合特定條件的總數的操作包括:存儲器管理電路根據第二驗證比特將每一個第一存儲單元的一臨界電壓分類為多個區間的其中之一;以及存儲器管理電路計算每一個區間所包含的第一存儲單元的總數。
在一范例實施例中,上述的存儲器管理電路還用以取得第一數據,對第一數據執行一隨機化程序以取得第二數據,并且發送一寫入指令序列,其中寫入指令序列用以將第二數據寫入至第一存儲單元中。
在一范例實施例中,上述的存儲器管理電路還用以根據所述總數取得預設讀取電壓。
基于上述,本發明范例實施例提出的解碼方法、存儲器存儲裝置與存儲器控制電路單元中,由于可以即時的取得通道可靠性信息,因此可以增加解碼的更正能力。
為讓本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。
附圖說明
圖1是根據一范例實施例所示出的主機系統與存儲器存儲裝置的示意圖;
圖2是根據一范例實施例所示出的電腦、輸入/輸出裝置與存儲器存儲裝置的示意圖;
圖3是根據一范例實施例所示出的主機系統與存儲器存儲裝置的示意圖;
圖4是示出圖1所示的存儲器存儲裝置的概要方塊圖;
圖5是根據一范例實施例所示出的可復寫式非易失性存儲器模塊的概要方塊圖;
圖6是根據一范例實施例所示出的存儲單元陣列的示意圖;
圖7是根據一范例實施例所示出存儲于存儲單元陣列中的寫入數據所對應的柵極電壓的統計分配圖;
圖8是根據一范例實施例所示出的從存儲單元中讀取數據的示意圖;
圖9是根據另一范例實施例所示出的從存儲單元中讀取數據的示意圖;
圖10是根據一范例實施例所示出的管理可復寫式非易失性存儲器模塊 的示意圖;
圖11是根據一范例實施例所示出的存儲器控制電路單元的概要方塊圖;
圖12是根據一范例實施例示出奇偶校驗矩陣的示意圖;
圖13是根據一范例實施例示出讀取驗證比特的示意圖;
圖14是根據一范例實施例示出解碼方法的流程圖。
附圖標記說明
1000:主機系統;
1100:電腦;
1102:微處理器;
1104:隨機存取存儲器;
1106:輸入/輸出裝置;
1108:系統總線;
1110:數據傳輸接口;
1202:鼠標;
1204:鍵盤;
1206:顯示器;
1208:打印機;
1212:U盤;
1214:記憶卡;
1216:固態硬盤;
1310:數碼相機;
1312:SD卡;
1314:MMC卡;
1316:記憶棒;
1318:CF卡;
1320:嵌入式存儲裝置;
100:存儲器存儲裝置;
102:連接接口單元;
104:存儲器控制電路單元;
106:可復寫式非易失性存儲器模塊;
2202:存儲單元陣列;
2204:字符線控制電路;
2206:比特線控制電路;
2208:行解碼器;
2210:數據輸入/輸出緩沖器;
2212:控制電路;
702:存儲單元;
704:比特線;
706:字符線;
708:源極線;
712:選擇柵漏極晶體管;
714:選擇柵源極晶體管;
SGS:選擇柵源極;
SGD:選擇柵漏極;
LSB:最低有效比特;
CSB:中間有效比特;
MSB:最高有效比特;
VA、VB、VC、VD、VE、VF、VG、V1~V5:讀取電壓;
400(0)~400(N):實體抹除單元;
202:存儲器管理電路;
204:主機接口;
206:存儲器接口;
208:錯誤檢測與校正電路;
210:緩沖存儲器;
212:電源管理電路;
1330:二分圖;
1332(1)~1332(k):奇偶節點;
1334(1)~1334(n):信息節點;
L1~Ln:通道可靠性信息;
Li→j、Lj→i:可靠性信息;
1510、1520:存儲狀態;
1501~1506:區間;
b1~b5:驗證比特;
S1401~S1408:步驟。
具體實施方式
一般而言,存儲器存儲裝置(也稱,存儲器存儲系統)包括可復寫式非易失性存儲器模塊與控制器(也稱,控制電路)。通常存儲器存儲裝置是與主機系統一起使用,以使主機系統可將數據寫入至存儲器存儲裝置或從存儲器存儲裝置中讀取數據。
圖1是根據一范例實施例所示出的主機系統與存儲器存儲裝置的示意圖。圖2是根據一范例實施例所示出的電腦、輸入/輸出裝置與存儲器存儲裝置的示意圖。
請參照圖1,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取存儲器(random access memory,RAM)1104、系統總線1108與數據傳輸接口1110。輸入/輸出裝置1106包括如圖2的鼠標1202、鍵盤1204、顯示器1206與打印機1208。必須了解的是,圖2所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可還包括其他裝置。
在本發明之一范例實施例中,存儲器存儲裝置100是通過數據傳輸接口1110與主機系統1000的其他元件電連接。藉由微處理器1102、隨機存取存儲器1104與輸入/輸出裝置1106的運作可將數據寫入至存儲器存儲裝置100或從存儲器存儲裝置100中讀取數據。例如,存儲器存儲裝置100可以是如圖2所示的U盤1212、記憶卡1214或固態硬盤(Solid State Drive,SSD)1216等的可復寫式非易失性存儲器存儲裝置。
圖3是根據一范例實施例所示出的主機系統與存儲器存儲裝置的示意圖。
一般而言,主機系統1000為可實質地與存儲器存儲裝置100配合以存儲數據的任意系統。雖然在本范例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一范例實施例中主機系統1000可以是數碼相機、攝 影機、通信裝置、音頻播放器或視頻播放器等系統。例如,在主機系統為數碼相機(攝影機)1310時,可復寫式非易失性存儲器存儲裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式存儲裝置1320(如圖3所示)。嵌入式存儲裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電連接于主機系統的基板上。
圖4是示出圖1所示的存儲器存儲裝置的概要方塊圖。
請參照圖4,存儲器存儲裝置100包括連接接口單元102、存儲器控制電路單元104與可復寫式非易失性存儲器模塊106。
在本范例實施例中,連接接口單元102是相容于序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須了解的是,本發明不限于此,連接接口單元102也可以是符合并列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接接口(Peripheral Component Interconnect Express,PCI Express)標準、通用序列總線(Universal Serial Bus,USB)標準、安全數字(Secure Digital,SD)接口標準、超高速一代(Ultra High Speed-I,UHS-I)接口標準、超高速二代(Ultra High Speed-II,UHS-II)接口標準、記憶棒(Memory Stick,MS)接口標準、多媒體存儲卡(Multi Media Card,MMC)接口標準、崁入式多媒體存儲卡(Embedded Multimedia Card,eMMC)接口標準、通用快閃存儲器(Universal Flash Storage,UFS)接口標準、小型快閃(Compact Flash,CF)接口標準、整合式驅動電子接口(Integrated Device Electronics,IDE)標準或其他適合的標準。連接接口單元102可與存儲器控制電路單元104封裝在一個芯片中,或者連接接口單元102是布設于一包含存儲器控制電路單元104的芯片外。
存儲器控制電路單元104用以執行以硬體型式或韌體型式實作的多個邏輯門或控制指令,并且根據主機系統1000的指令在可復寫式非易失性存儲器模塊106中進行數據的寫入、讀取與抹除等運作。
可復寫式非易失性存儲器模塊106是電連接至存儲器控制電路單元104,并且用以存儲主機系統1000所寫入的數據。可復寫式非易失性存儲器模塊106可以是單階存儲單元(Single Level Cell,SLC)NAND型快閃存儲器模塊、多階存 儲單元(Multi Level Cell,MLC)NAND型快閃存儲器模塊(即,一個存儲單元中可存儲2個比特數據的快閃存儲器模塊)、復數階存儲單元(Triple Level Cell,TLC)NAND型快閃存儲器模塊(即,一個存儲單元中可存儲3個比特數據的快閃存儲器模塊)、其他快閃存儲器模塊或其他具有相同特性的存儲器模塊。
圖5是根據一范例實施例所示出的可復寫式非易失性存儲器模塊的概要方塊圖。圖6是根據一范例實施例所示出的存儲單元陣列的示意圖。
請參照圖5,可復寫式非易失性存儲器模塊106包括存儲單元陣列2202、字符線控制電路2204、比特線控制電路2206、行解碼器(column decoder)2208、數據輸入/輸出緩沖器2210與控制電路2212。
在本范例實施例中,存儲單元陣列2202可包括用以存儲數據的多個存儲單元702、多個選擇柵漏極(select gate drain,SGD)晶體管712與多個選擇柵源極(select gate source,SGS)晶體管714、以及連接此些存儲單元的多條比特線704、多條字符線706、與共用源極線708(如圖6所示)。存儲單元702是以陣列方式(或立體堆迭的方式)配置在比特線704與字符線706的交叉點上。當從存儲器控制電路單元104接收到寫入指令或讀取指令時,控制電路2212會控制字符線控制電路2204、比特線控制電路2206、行解碼器2208、數據輸入/輸出緩沖器2210來寫入數據至存儲單元陣列2202或從存儲單元陣列2202中讀取數據,其中字符線控制電路2204用以控制施予至字符線706的電壓,比特線控制電路2206用以控制施予至比特線704的電壓,行解碼器2208依據指令中的行地址以選擇對應的比特線,并且數據輸入/輸出緩沖器2210用以暫存數據。
可復寫式非易失性存儲器模塊106中的存儲單元是以臨界電壓的改變來存儲多比特(bits)。具體來說,每一個存儲單元的控制柵極(control gate)與通道之間有一個電荷捕捉層。通過施予一寫入電壓至控制柵極,可以改變電荷捕捉層的電子量,因而改變了存儲單元的臨界電壓。此改變臨界電壓的程序也稱為“把數據寫入至存儲單元”或“程序化存儲單元”。隨著臨界電壓的改變,存儲單元陣列2202的每一存儲單元具有多個存儲狀態。并且通過讀取電壓可以判斷存儲單元是屬于哪一個存儲狀態,藉此取得存儲單元所存儲的比特。
圖7是根據一范例實施例所示出存儲于存儲單元陣列中的寫入數據所對應的柵極電壓的統計分配圖。
請參照圖7,以MLC NAND型快閃存儲器為例,隨著不同的臨界電壓,每一存儲單元具有4種存儲狀態,并且此些存儲狀態分別地代表"11"、"10"、"00"與"01"等比特。換言之,每一個存儲狀態包括最低有效比特(Least Significant Bit,LSB)以及最高有效比特(Most Significant Bit,MSB)。在本范例實施例中,存儲狀態(即,"11"、"10"、"00"與"01")中從左側算起的第1個比特為LSB,而從左側算起的第2個比特為MSB。因此,在此范例實施例中,每一存儲單元可存儲2個比特。必須了解的是,圖7所示出的臨界電壓及其存儲狀態的對應僅為一個范例。在本發明另一范例實施例中,臨界電壓與存儲狀態的對應也可是隨著臨界電壓越大而以"11"、"10"、"01"與"00"排列,或是其他排列。此外,在另一范例實施例中,也可定義從左側算起的第1個比特為MSB,而從左側算起的第2個比特為LSB。
圖8是根據一范例實施例所示出的從存儲單元中讀取數據的示意圖,其是以MLC NAND型快閃存儲器為例。
請參照圖8,存儲單元陣列2202的存儲單元的讀取運作是通過施予讀取電壓于控制柵極,藉由存儲單元通道的導通狀態,來識別存儲單元存儲的數據。驗證比特(VA)是用以指示施予讀取電壓VA時存儲單元通道是否為導通;驗證比特(VC)是用以指示施予讀取電壓VC時,存儲單元通道是否為導通;驗證比特(VB)是用以指示施予讀取電壓VB時,存儲單元通道是否為導通。在此假設驗證比特是“1”時表示對應的存儲單元通道導通,而驗證比特是“0”時表示對應的存儲單元通道沒有導通。如圖8所示,通過驗證比特(VA)~(VC)可以判斷存儲單元是處于哪一個存儲狀態,進而取得所存儲的比特。
圖9是根據另一范例實施例所示出的從存儲單元中讀取數據的示意圖。
請參照圖9,以一TLC NAND型快閃存儲器為例,每一個存儲狀態包括左側算起的第1個比特的最低有效比特LSB、從左側算起的第2個比特的中間有效比特(Center Significant Bit,CSB)以及從左側算起的第3個比特的最高有效比特MSB。在此范例中,依照不同的臨界電壓,存儲單元具有8種存儲狀態(即,"111"、"110"、"100"、"101"、"001"、"000"、"010"與"011")。通過施加讀取電壓VA~VG于控制柵極,可以識別存儲單元所存儲的比特。其中,值得說明的是,此8種存儲狀態的排列順序,可依制造商的設計而訂,非以本范例的排列方式為限。
圖10是根據一范例實施例所示出的管理可復寫式非易失性存儲器模塊的示意圖。
請參照圖10,可復寫式非易失性存儲器模塊106的存儲單元702會構成多個實體程序化單元,并且此些實體程序化單元會構成多個實體抹除單元400(0)~400(N)。具體來說,同一條字符線上的存儲單元會組成一或多個實體程序化單元。若每一個存儲單元可存儲2個以上的比特,則同一條字符線上的實體程序化單元可被分類為下實體程序化單元與上實體程序化單元。例如,每一存儲單元的LSB是屬于下實體程序化單元,并且每一存儲單元的MSB是屬于上實體程序化單元。一般來說,在MLC NAND型快閃存儲器中,下實體程序化單元的寫入速度會大于上實體程序化單元的寫入速度,或下實體程序化單元的可靠性是高于上實體程序化單元的可靠性。在此范例實施例中,實體程序化單元為程序化的最小單元。即,實體程序化單元為寫入數據的最小單元。例如,實體程序化單元為實體頁面或是實體扇(sector)。若實體程序化單元為實體頁面,則每一個實體程序化單元通常包括數據比特區與冗余比特區。數據比特區包含多個實體扇,用以存儲使用者的數據,而冗余比特區用以存儲系統的數據(例如,錯誤更正碼)。在本范例實施例中,每一個數據比特區包含32個實體扇,且一個實體扇的大小為512比特組(byte,B)。然而,在其他范例實施例中,數據比特區中也可包含8個、16個或數目更多或更少的實體扇,本發明并不限制實體扇的大小以及個數。另一方面,實體抹除單元為抹除的最小單位。也即,每一實體抹除單元含有最小數目之一并被抹除的存儲單元。例如,實體抹除單元為實體區塊。
圖11是根據一范例實施例所示出的存儲器控制電路單元的概要方塊圖。必須了解的是,圖11所示的存儲器控制電路單元的結構僅為一范例,本發明不以此為限。
請參照圖11,存儲器控制電路單元104包括存儲器管理電路202、主機接口204、存儲器接口206與錯誤檢測與校正電路208。
存儲器管理電路202用以控制存儲器控制電路單元104的整體運作。具體來說,存儲器管理電路202具有多個控制指令,并且在存儲器存儲裝置100運作時,此些控制指令會被執行以進行數據的寫入、讀取與抹除等運作。另外,當存儲器管理電路202對可復寫式非易失性存儲器模塊106執行讀取、 寫入、抹除等運作時,是通過發出一或多個指令序列給可復寫式非易失性存儲器模塊106來完成。以下說明存儲器管理電路202的操作時,等同于說明存儲器控制電路單元104的操作,以下并不再贅述。
在本范例實施例中,存儲器管理電路202的控制指令是以韌體型式來實作。例如,存儲器管理電路202具有微處理器單元(未示出)與唯讀存儲器(未示出),并且此些控制指令是被燒錄至此唯讀存儲器中。當存儲器存儲裝置100運作時,此些控制指令會由微處理器單元來執行以進行數據的寫入、讀取與抹除等運作。
在本發明另一范例實施例中,存儲器管理電路202的控制指令也可以程序碼型式存儲于可復寫式非易失性存儲器模塊106的特定區域(例如,存儲器模塊中專用于存放系統數據的系統區)中。此外,存儲器管理電路202具有微處理器單元(未示出)、唯讀存儲器(未示出)及隨機存取存儲器(未示出)。特別是,此唯讀存儲器具有驅動碼,并且當存儲器控制電路單元104被致能時,微處理器單元會先執行此驅動碼段來將存儲于可復寫式非易失性存儲器模塊106中的控制指令載入至存儲器管理電路202的隨機存取存儲器中。之后,微處理器單元會運轉此些控制指令以進行數據的寫入、讀取與抹除等運作。
此外,在本發明另一范例實施例中,存儲器管理電路202的控制指令也可以一硬體型式來實作。例如,存儲器管理電路202包括微控制器、存儲單元管理電路、存儲器寫入電路、存儲器讀取電路、存儲器抹除電路與數據處理電路。存儲單元管理電路、存儲器寫入電路、存儲器讀取電路、存儲器抹除電路與數據處理電路是電連接至微控制器。其中,存儲單元管理電路用以管理可復寫式非易失性存儲器模塊106的實體區塊;存儲器寫入電路用以對可復寫式非易失性存儲器模塊106下達寫入指令以將數據寫入至可復寫式非易失性存儲器模塊106中;存儲器讀取電路用以對可復寫式非易失性存儲器模塊106下達讀取指令以從可復寫式非易失性存儲器模塊106中讀取數據;存儲器抹除電路用以對可復寫式非易失性存儲器模塊106下達抹除指令以將數據從可復寫式非易失性存儲器模塊106中抹除;而數據處理電路用以處理欲寫入至可復寫式非易失性存儲器模塊106的數據以及從可復寫式非易失性存儲器模塊106中讀取的數據。
主機接口204是電連接至存儲器管理電路202并且用以接收與識別主機 系統1000所傳送的指令與數據。也就是說,主機系統1000所傳送的指令與數據會通過主機接口204來傳送至存儲器管理電路202。在本范例實施例中,主機接口204是相容于SATA標準。然而,必須了解的是本發明不限于此,主機接口204也可以是相容于PATA標準、IEEE1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的數據傳輸標準。
存儲器接口206是電連接至存儲器管理電路202并且用以存取可復寫式非易失性存儲器模塊106。也就是說,欲寫入至可復寫式非易失性存儲器模塊106的數據會經由存儲器接口206轉換為可復寫式非易失性存儲器模塊106所能接受的格式。
錯誤檢測與校正電路208是電連接至存儲器管理電路202并且用以執行錯誤檢測與校正程序以確保數據的正確性。具體來說,當存儲器管理電路202從主機系統1000中接收到寫入指令時,錯誤檢測與校正電路208會為對應此寫入指令的數據產生對應的錯誤更正碼(error correcting code,ECC)或錯誤檢測碼(error detecting code,EDC),并且存儲器管理電路202會將對應此寫入指令的數據與對應的錯誤更正碼或錯誤檢測碼寫入至可復寫式非易失性存儲器模塊106中。之后,當存儲器管理電路202從可復寫式非易失性存儲器模塊106中讀取數據時會同時讀取此數據對應的錯誤更正碼或錯誤檢測碼,并且錯誤檢測與校正電路208會依據此錯誤更正碼或錯誤檢測碼對所讀取的數據執行錯誤檢測與校正程序。在此范例實施例中,錯誤檢測與校正電路208所使用的是低密度奇偶校驗校正碼(low density parity code,LDPC)。然而,在另一范例實施例中,錯誤檢測與校正電路208所使用的也可以是BCH碼、回旋碼(convolutional code)、渦輪碼(turbo code)。
在低密度奇偶校驗校正碼中,是用一個奇偶校驗矩陣來定義有效的碼字。以下將奇偶校驗矩陣標記為矩陣H,并且一碼字標記為CW。依照以下方程序(1),若奇偶校驗矩陣H與碼字CW的相乘是零向量,表示碼字CW為有效的碼字。其中運算子表示模2(mod2)的矩陣相乘。換言之,矩陣H的零空間(null space)便包含了所有的有效碼字。然而,本發明并不限制碼字CW的內容。例如,碼字CW也可以包括用任意演算法所產生的錯誤更正碼或是錯誤檢測碼。
H⊗CWT=0...(1)]]>
其中矩陣H的維度是k-乘-n(k-by-n),碼字CW的維度是1-乘-n。k與n為正整數。碼字CW中包括了信息比特與奇偶比特,即碼字CW可以表示成[M P],其中向量M是由信息比特所組成,向量P是由奇偶比特所組成。向量M的維度是1-乘-(n-k),而向量P的維度是1-乘-k。以下將信息比特與奇偶比特統稱為數據比特。換言之,碼字CW中具有n個數據比特,其中信息比特的長度為(n-k)比特,并且奇偶比特的長度是k比特,即碼字CW的碼率(code rate)為(n-k)/n。
一般來說在編碼時會使用一個產生矩陣(以下標記為G),使得對于任意的向量M都可滿足以下方程序(2)。其中產生矩陣G的維度是(n-k)-乘-n。
M⊗G=[MP]=CW...(2)]]>
由方程序(2)所產生的碼字CW為有效的碼字。因此可將方程序(2)代入方程序(1),藉此得到以下方程序(3)。
H⊗GT⊗MT=0...(3)]]>
由于向量M可以是任意的向量,因此以下方程序(4)必定會滿足。也就是說,在決定奇偶校驗矩陣H以后,對應的產生矩陣G也可被決定。
H⊗GT=0...(4)]]>
在解碼一個碼字CW時,會先對碼字中的數據比特執行一個奇偶校驗程序,例如將奇偶校驗矩陣H與碼字CW相乘以產生一個向量(以下標記為S,如以下方程序(5)所示)。若向量S是零向量,則可直接輸出碼字CW。若向量S不是零向量,則表示碼字CW不是有效的碼字。
H⊗CWT=S...(5)]]>
向量S的維度是k-乘-1,其中每一個元素也稱為校驗子(syndrome)。若碼字CW不是有效的碼字,則錯誤檢測與校正電路208會執行一個解碼程序,以嘗試更正碼字CW中的錯誤比特。
圖12是根據一范例實施例示出奇偶校驗矩陣的示意圖。
請參照圖12,一般來說,奇偶校驗矩陣H可以表示為二分圖(bipartite graph)1330,包括奇偶節點1332(1)~1332(k)與信息節點1334(1)~1334(n)。每一個奇偶節點1332(1)~1332(k)是對應到一個校驗子,而每一個信息節點 1334(1)~1334(n)是對應一個數據比特。數據比特與校驗子之間的對應關系(即,信息節點1334(1)~1334(n)與奇偶節點1332(1)~1332(k)之間的連結關系)是根據奇偶校驗矩陣所產生。具體來說,若奇偶校驗矩陣中第i列第j行的元素為1,則第i個奇偶節點1332(i)便會連接到第j個信息節點1334(j),其中i與j為正整數。
當存儲器管理電路202從可復寫式非易失性存儲器模塊106中讀取n個數據比特(形成一個碼字)時,當存儲器管理電路202也會取得每一個數據比特的一通道可靠性信息。此通道可靠性信息是用以表示對應的數據比特被解碼為比特“1”或是“0”的機率(或稱信心度),以下再詳細說明。在二分圖1330中,信息節點1334(1)~1334(n)也會接收到對應的通道可靠性信息。例如,信息節點1334(1)會接收第1個數據比特的通道可靠性信息L1,而信息節點1334(j)會接收第j個數據比特的通道可靠性信息Lj。
錯誤檢測與校正電路208會根據二分圖1330的結構與通道可靠性信息L1~Ln來執行解碼程序,其中解碼程序會包括迭代解碼。具體來說,在迭代解碼中,信息節點1334(1)~1334(n)會計算出可靠性信息給奇偶節點1332(1)~1332(k),并且奇偶節點1332(1)~1332(k)也會計算出可靠性信息給信息節點1334(1)~1334(n)。這些可靠性信息會沿著這些二分圖1330中的邊(edge)來傳送。例如,奇偶節點1332(i)傳送給信息節點1334(j)的是可靠性信息Li→j,而信息節點1334(j)傳送給奇偶節點1332(i)是可靠性信息Lj→i。這些可靠性信息是用來表示一個節點認為某一個數據比特被解碼為“1”或是“0”的機率(也稱為信心度)有多少。舉例來說,可靠性信息Lj→i表示信息節點1334(j)認為第j個數據比特被解碼為“1”或是“0”的信心度(可為正或是負),而可靠性信息Li→j表示奇偶節點1332(i)認為第j個數據比特被解碼為“1”或是“0”的信心度。而信息節點1334(1)~1334(n)與奇偶節點1332(1)~1332(k)會根據輸入的可靠性信息來計算輸出的可靠性信息,其近似于計算一個數據比特被解碼為“1”或是“0”的條件機率。因此,上述傳送可靠性信息的過程又被稱為置信傳播(belief propagation)。
當采用不同的演算法,信息節點1334(1)~1334(n)及/或奇偶節點1332(1)~1332(k)會計算出不同的可靠性信息。例如,錯誤檢測與校正電路208可以采用總和-乘積演算法(Sum-Product Algorithm)、最小值-總和演算法 (Min-Sum Algorithm)、或是比特翻轉演算法(bit-flipping Algorithm),本發明并不限制采用何種演算法。
在迭代解碼的每一次迭代中,信息節點1334(1)~1334(n)會傳遞可靠性信息給奇偶節點1332(1)~1332(k),并且奇偶節點1332(1)~1332(k)會傳遞可靠性信息給信息節點1334(1)~1334(n)。在每一次迭代過后,信息節點1334(1)~1334(n)會根據目前的可靠性信息計算出每一個數據比特應該被解碼為比特“1”或是“0”。接下來對這些計算出的數據比特執行奇偶校驗程序,即將數據比特所形成的碼字與奇偶校驗矩陣相乘,藉此判斷該碼字是否為有效的碼字。若所產生的碼字為有效的碼字,則迭代解碼會停止。若所產生的碼字不是有效的碼字,則會進行下一次的迭代。若迭代解碼的迭代次數超過一個預設值,則迭代解碼也會停止,表示解碼失敗。
圖13是根據一范例實施例示出讀取驗證比特的示意圖。請參照圖13,在此假設屬于存儲狀態1510的存儲單元所存儲的是比特“1”,而屬于存儲狀態1520的存儲單元所存儲的是比特“0”。存儲狀態1510與存儲狀態1520有部份的重疊,也即在某些讀取電壓,部份屬于存儲狀態1510的存儲單元會被判別為屬于存儲狀態1520,而部份屬于存儲狀態1520的存儲單元會被判別為屬于存儲狀態1510。當施加讀取電壓于存儲單元的控制柵極以后,隨著存儲單元通道是否導通,存儲器管理電路202所取得的驗證比特會是“0”或是“1”。在此假設若存儲單元通道沒有導通時則對應的驗證比特是“0”,反之則是“1”。在此范例實施例中,若存儲器管理電路202施加了讀取電壓V1~V5至某一存儲單元,則存儲器管理電路202會取得5個驗證比特。舉例來說,讀取電壓V1是對應到驗證比特b1;讀取電壓V2是對應到驗證比特b2;讀取電壓V3是對應到驗證比特b3;讀取電壓V4是對應到驗證比特b4;讀取電壓V5是對應到驗證比特b5。若一個存儲單元的臨界電壓是在區間1501,則從驗證比特b1至驗證比特b5,存儲器管理電路202所取得的驗證比特會是“11111”;若存儲單元的臨界電壓是在區間1502,則驗證比特會是“01111”;若存儲單元的臨界電壓是在區間1503,則驗證比特會是“00111”;若存儲單元的臨界電壓是在區間1504,則驗證比特會是“00011”;若存儲單元的臨界電壓是在區間1505,則驗證比特會是“00001”;若存儲單元的臨界電壓是在區間1506,則驗證比特會是“00000”。在另一范例實施例中,可復寫式非易失性存儲器模塊106 也可以將對驗證比特b1~b5做運算以后,把運算后的驗證比特傳送給存儲器管理電路202。例如,驗證比特b2與b4會進行互斥或運算,而驗證比特b1與b5會進行互斥或運算,如此一來存儲器管理電路202只會取得3個驗證比特。本發明并不限制驗證比特的個數與內容。
在此范例實施例中,讀取電壓V1~V5的其中之一會被設定為正負號(sign)讀取電壓。此正負號讀取電壓是用來決定數據比特為何。例如,若讀取電壓V3為正負號讀取電壓,則數據比特會相同于驗證比特b3;若讀取電壓V2為正負號讀取電壓,則數據比特會相同于驗證比特b2,以此類推。在每一個區間中,根據存儲單元屬于存儲狀態1510的機率與屬于存儲狀態1520的機率,可以計算出對數可能性比值(Log Likelihood Ratio,LLR),而在此范例實施例中此對數可能性比值也被稱為數據比特的通道可靠性信息。在一范例實施例中,各個區間所對應的對數可能性比值可以事先被計算出來并且存儲在一個對數可能性比值查找表中。存儲器管理電路202可以根據驗證比特b1~b5產生一索引,并將此索引輸入此對數可能性比值查找表中,藉此取得對應的對數可能性比值以作為通道可靠性信息。所取得的通道可靠性信息(即,圖12中的L1~Ln)便可以來執行上述的迭代解碼。在一范例實施例中,若設定不同的正負號讀取電壓,則會使用不同的對數可能性比值查找表來取得通道可靠性信息。
在上述的范例實施例中,若讀取電壓的個數為x個,則可以分出x+1個區間,其中x為正整數。然而,本發明并不限制x個讀取電壓會產生幾個區間。若讀取電壓的個數為1(例如,僅使用讀取電壓V3),則所進行的解碼程序也被稱為硬比特模式解碼程序。若讀取電壓的個數大于1,則所進行的解碼程序也被稱為軟比特模式解碼程序。一般來說,硬比特模式解碼程序所使用的信息較少,能更正的錯誤比特數量較少,但執行速度較快;而軟比特模式解碼程序所使用的信息較多,因此能更正較多的錯誤比特,但執行速度也比較慢。此外,在一范例實施例中,當進行硬比特模式解碼程序時,存儲器管理電路202可以直接根據所取得的驗證比特來計算出通道可靠性信息,并不會通過對數可能性比值查找表。例如,若驗證比特為“1”,則通道可靠性信息可設定為y;若驗證比特為“0”,則通道可靠性信息可設定為-y,其中y為實數。
在此范例實施例中,錯誤檢測與校正電路208所使用的是低密度奇偶校驗校正碼。然而,在另一范例實施例中,錯誤檢測與校正電路208所使用的也可 以是BCH碼、回旋碼、渦輪碼、或其他具有硬比特模式解碼程序與軟比特模式解碼程序的演算法。此外,上述的通道可靠性信息也可以用在任意的演算法中。換句話說,上述的硬比特模式解碼程序與軟比特模式解碼程序也可以屬于BCH碼、回旋碼或渦輪碼等演算法。特別的是,在此范例實施例中,若硬比特模式解碼程序沒有產生有效的碼字,存儲器管理電路202會根據所取得的驗證比特建立一個新的對數可能性比值查找表來記錄通道可靠性信息,而不會使用預設的對數可能性比值查找表來取得通道可靠性信息。因此,所使用的通道可靠性信息較符合存儲單元的臨界電壓的實際分布狀態。此外,硬比特模式解碼程序與軟比特模式解碼程序可以被同時采用或者單獨采用,本發明不在此限。
在一范例實施例中,當要讀取多個第一存儲單元里的數據時,存儲器管理電路202會先發送一第一讀取指令序列,用以讀取這些第一存儲單元并取得多個第一驗證比特。在一范例實施例中,這些第一存儲單元是屬于同一個實體程序化單元(例如是依照BCH碼的解碼規范)。例如,第一讀取指令序列用以根據一或多個第一讀取電壓來讀取一個實體程序化單元以取得第一驗證比特。例如,第一讀取電壓為圖13中的讀取電壓V3。然而,在另一范例實施例中,這些第一存儲單元也可以是屬于同一個實體扇、同一個實體抹除單元、同一個錯誤更正框(ECC frame)或者任意的分布。錯誤檢測與校正電路208會根據這些第一驗證比特執行一第一解碼程序,并判斷第一解碼程序是否產生有效碼字(也稱第一有效碼字)。若第一解碼程序沒有產生有效碼字,存儲器管理電路202會發出第二讀取指令序列,用以根據一或多個第二讀取電壓來讀取第一存儲單元多次以取得多個第二驗證比特。例如,在一范例實施例中,第二讀取電壓可以是圖13中的讀取電壓V1、V2、V3、V4與V5的其中之一,并且第二讀取指令序列用以指示根據此第二讀取電壓來讀取同一實體程序化單元多次,以獲取第二驗證比特。或者,在一范例實施例中,第二讀取電壓包括了圖13中的讀取電壓V1、V2、V3、V4與V5的至少其中之二,并且第二讀取指令序列用以指示根據此些第二讀取電壓來讀取同一實體程序化單元多次,以獲取第二驗證比特。此外,在一范例實施例中,若第一讀取電壓包括V3,則第二讀取電壓包括了V1、V2、V4與V5的至少其中之二,而排除V3。
存儲器管理電路202會根據這些第二驗證比特計算第一存儲單元符合一特定條件的一總數。舉例來說,存儲器管理電路202會根據第二驗證比特判 斷每一個第一存儲單元的臨界電壓是落在區間1501~1506中的哪一個,并且計算每一個區間1501~1506所包含的第一存儲單元的總數。然而,上述的特定條件也可以用來判斷第二驗證比特是否為“1”或是“0”,而上述的總數可以表示有多少個第二驗證比特是“1”或是“0”,本發明并不限制特定條件的內容。
接下來,存儲器管理電路202會根據符合特定條件的第一存儲單元的總數來取得第一通道可靠性信息。例如,根據區間1501~1506中第一存儲單元的總數可以描繪出一個可形成“V”字型的曲線,在“V”字型曲線中間的部份所對應的第一可靠性信息會較接近0,而在“V”字型曲線兩側的部份所對應的第一可靠性信息的絕對值較大。或者,存儲器管理電路202也可以利用一個對數可能性比值查找表,并且將上述的總數輸入此對數可能性比值查找表以取得第一通道可靠性信息,本發明并不在此限。接著,錯誤檢測與校正電路208可以根據所取得的第一通道可靠性來執行第二解碼程序。由于執行第二解碼程序所使用的第一通道可靠性是即時的產生,因此這些第一通道可靠性信息較符合第一存儲單元當下的存儲狀態,藉此第二解碼程序會有較好的更正能力。此外,由于錯誤檢測與校正電路208可以根據目前符合特定條件的第一存儲單元的總數來取得第一通道可靠性信息及利用所取得的第一通道可靠性來執行第二解碼程序,所以存儲器管理電路202此時并不需要去讀取一可存儲于可復寫式非易失性存儲器模塊106中的對數可能性比值查找表或去掃描可復寫式非易失性存儲器模塊106以調整讀取電壓來執行第二解碼程序。
此外,在一范例實施例中,存儲器管理電路202也可以略過第一解碼程序,而直接發出第二讀取指令序列,以讀取第一存儲單元多次以取得上述第二驗證比特,并且執行上述根據第二驗證比特來計算第一存儲單元符合特定條件的總數的操作、上述根據此總數取得通道可靠性信息的操作以及上述第二解碼程序。
在一范例實施例中,在取得每一個區間1501~1506中第一存儲單元的總數以后,也可以根據這些總數來取得一個預設讀取電壓。例如,存儲器管理電路202可以將上述“V”字型曲線中最低的部份所對應的電壓設定為預設讀取電壓。在下次要讀取第一存儲單元時,存儲器管理電路202便可以根據此預設讀取電壓來讀取第一存儲單元來執行第一解碼程序或第二解碼程序。
值得注意的是,上述符合特定條件的第一存儲單元的總數有可能會與第 一存儲單元所存儲的數據的內容有關。例如,若第一存儲單元所存儲的數據全是比特“1”,則在區間1501中第一存儲單元的個數會相對的較多。然而,在一范例實施例中,當存儲器管理電路202取得一第一數據,并且要把第一數據寫入至第一存儲單元時,存儲器管理電路202會先對第一數據執行一個隨機化程序以取得第二數據。例如,存儲器管理電路202會取得一個隨機數據并將此隨機數據與第一數據做任意的邏輯運算以取得第二數據。然而,本發明并不限制隨機化程序的內容。接下來存儲器管理電路202會把第二數據寫入至第一存儲單元。如此一來,上述符合特定條件的第一存儲單元的總數便不容易與第一存儲單元所存儲的數據的內容有關。
在一范例實施例中,若上述的第二解碼程序并沒有產生有效碼字(也稱第二有效碼字),則存儲器管理電路202可利用預設對數可能性比值查找表重新取得通道可靠性信息(也稱為第二可靠性信息),并且重新執行第二解碼程序。舉例來說,這些預設對數可能性比值查找表是由可復寫式非易失性存儲器模塊106的制造廠商所提供。當上述即時產生的第一通道可靠性信息無法產生有效碼字時,存儲器管理電路202會將上述的第二驗證比特輸入至預設對數可能性比值查找表的其中之一以取得第二通道可靠性信息。錯誤檢測與校正電路208也會根據第二通道可靠性信息來執行第二解碼程序。若利用上述預設對數可能性比值查找表所執行第二解碼程序還是沒有產生有效碼字,錯誤檢測與校正電路208會嘗試其他的預設對數可能性比值查找表。若所有的預設對數可能性比值查找表所產生的第二通道可靠性信息都無法產生有效碼字,則表示解碼失敗。
此外,在一范例實施例中,在取得上述第二驗證比特之后,存儲器管理電路202則是會先利用預設對數可能性比值查找表來取得第二可靠性信息,并且錯誤檢測與校正電路208會根據此第二可靠性信息執行第二解碼程序。然后,若全部或者一預設數量的預設對數可能性比值查找表都被使用過了,且根據第二可靠性信息所執行的第二解碼程序仍無法產生有效碼字,則存儲器管理電路202才會執行上述根據第二驗證比特來計算第一存儲單元符合特定條件的總數的操作以及上述根據此總數取得第一通道可靠性信息的操作,并且錯誤檢測與校正電路208會根據第一通道可靠性信息執行第二解碼程序。也就是說,在一范例實施例中,只有當部分或者全部的預設對數可能性 比值查找表不敷使用時,才會去即時取得第一通道可靠性信息,并且據以執行第二解碼程序。藉此,可提升解碼的速度與穩定性。
值得一提的是,在一范例實施例中,是以硬比特模式解碼程序作為上述第一解碼程序,并且以軟比特模式解碼程序作為上述第二解碼程序。然而,在另一范例實施例中,上述第一解碼程序也可以是軟比特模式解碼程序,及/或上述第二解碼程序也可以是硬比特模式解碼程序。
圖14是根據一范例實施例示出解碼方法的流程圖。
在步驟S1401中,發送第一讀取指令序列,用以根據第一讀取電壓讀取第一存儲單元以取得多個第一驗證比特。在步驟S1402中,根據第一驗證比特執行第一解碼程序。在步驟S1403中,判斷是否產生有效碼字。若第一解碼程序產生有效碼字,在步驟S1404中,輸出有效碼字。若第一解碼程序沒有產生有效碼字,在步驟S1405中,發出第二讀取指令序列,用以讀取第一存儲單元多次以取得多個第二驗證比特。在步驟S1406中,根據第二驗證比特計算第一存儲單元符合一特定條件的總數。在步驟S1407中,根據上述的總數取得第一通道可靠性信息。在步驟S1408中,根據第一通道可靠性信息執行第二解碼程序。
然而,圖14中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖14中各步驟可以實作為多個程序碼或是電路,本發明并不在此限。此外,圖14的方法可以搭配以上實施例使用,也可以單獨使用,本發明并不在此限。
綜上所述,本發明范例實施例所提出的解碼方法、存儲器存儲裝置與存儲器控制電路單元,可以在第一解碼程序失敗以后,取得可復寫示非易失性存儲器當下的通道可靠性信息或者是預設讀取電壓,藉此可以增加解碼的更正能力。
最后應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍。

關 鍵 詞:
解碼 方法 存儲器 存儲 裝置 控制電路 單元
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:解碼方法、存儲器存儲裝置、存儲器控制電路單元.pdf
鏈接地址:http://www.rgyfuv.icu/p-6353767.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图