本發明是有關于一種存儲器技術,且特別是有關于一種解碼方法、存儲器存儲裝置及存儲器控制電路單元。
背景技術:
::數碼相機、移動電話與mp3播放器在這幾年來的成長十分迅速,使得消費者對存儲介質的需求也急速增加。由于可復寫式非揮發性存儲器模塊(例如,快速存儲器)具有數據非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建于上述所舉例的各種便攜式多媒體裝置中。一般來說,在將數據從存儲器中讀取出來之后,此數據可能會被解碼以驗證數據的正確性。借此,若此數據中存在錯誤,通過解碼操作也可以更正其中的錯誤。在存儲器裝置出廠時,一個預設讀取電壓準位會被配置。此預設讀取電壓準位是用來讀取此存儲器裝置所存儲的數據。然而,隨著存儲器裝置的使用時間及/或損耗程度增加,通過此預設讀取電壓準位讀取的數據可能會包含越來越多錯誤,甚至超過解碼操作的錯誤更正能力。因此,如何通過調整預設讀取電壓準位來提升所讀取的數據的正確性及/或存儲器的解碼能力,實為本領域技術人員所致力研究的課題之一。技術實現要素:本發明的一范例實施例提供一種解碼方法、存儲器存儲裝置及存儲器控制電路單元,可提升所讀取的數據的正確性,改善存儲器存儲裝置的解碼效率。本發明的一范例實施例提供一種解碼方法,其用于包括多個實體單元的可復寫式非揮發性存儲器模塊,所述解碼方法包括:基于第一讀取電壓準位讀取所述實體單元中的目標實體單元以獲得第一目標數據;對所述第一目標數據執行第一解碼操作;若所述第一解碼操作失敗,基于第一候選電壓準位 讀取所述實體單元中的驗證實體單元以獲得第一輔助數據并基于第二候選電壓準位讀取所述驗證實體單元以獲得第二輔助數據;根據所述第一輔助數據與驗證數據獲得第一評估參數并根據所述第二輔助數據與所述驗證數據獲得第二評估參數;根據所述第一評估參數與所述第二評估參數決定第二讀取電壓準位;基于所述第二讀取電壓準位讀取所述目標實體單元以獲得第二目標數據;以及對所述第二目標數據執行第二解碼操作。在本發明的一范例實施例中,所述第一評估參數包括第一翻轉比特計數,所述第二評估參數包括第二翻轉比特計數,所述第一翻轉比特計數對應于所述第一輔助數據中的錯誤比特的總數,所述第二翻轉比特計數對應于所述第二輔助數據中的錯誤比特的總數。在本發明的一范例實施例中,根據所述第一輔助數據與所述驗證數據獲得所述第一評估參數并根據所述第二輔助數據與所述驗證數據獲得所述第二評估參數的步驟包括:基于所述驗證數據來分析所述第一輔助數據以計算所述第一翻轉比特計數;以及基于所述驗證數據來分析所述第二輔助數據以計算所述第二翻轉比特計數。在本發明的一范例實施例中,根據所述第一評估參數與所述第二評估參數決定所述第二讀取電壓準位的步驟包括:根據所述第一翻轉比特計數與所述第二翻轉比特計數之間的數值關系決定所述第二讀取電壓準位。在本發明的一范例實施例中,所述解碼方法還包括:在基于所述第一候選電壓準位讀取所述驗證實體單元并基于所述第二候選電壓準位讀取所述驗證實體單元之前,將所述驗證數據程序化至所述驗證實體單元。本發明的另一范例實施例提供一種存儲器存儲裝置,其包括連接接口單元、可復寫式非揮發性存儲器模塊及存儲器控制電路單元。所述連接接口單元用以連接至主機系統。所述可復寫式非揮發性存儲器模塊包括多個實體單元。所述存儲器控制電路單元連接至所述連接接口單元與所述可復寫式非揮發性存儲器模塊,所述存儲器控制電路單元用以發送第一讀取指令序列以指示基于第一讀取電壓準位讀取所述實體單元中的目標實體單元以獲得第一目標數據,所述存儲器控制電路單元更用以對所述第一目標數據執行第一解碼操作,若所述第一解碼操作失敗,所述存儲器控制電路單元更用以發送第一測試指令序列以指示基于第一候選電壓準位讀取所述實體單元中的驗證實體 單元以獲得第一輔助數據并發送第二測試指令序列以指示基于第二候選電壓準位讀取所述驗證實體單元以獲得第二輔助數據,所述存儲器控制電路單元更用以根據所述第一輔助數據與驗證數據獲得第一評估參數并根據所述第二輔助數據與所述驗證數據獲得第二評估參數,所述存儲器控制電路單元更用以根據所述第一評估參數與所述第二評估參數決定第二讀取電壓準位,所述存儲器控制電路單元更用以發送第二讀取指令序列以指示基于所述第二讀取電壓準位讀取所述目標實體單元以獲得第二目標數據,所述存儲器控制電路單元更用以對所述第二目標數據執行第二解碼操作。在本發明的一范例實施例中,所述第一評估參數包括第一翻轉比特計數,所述第二評估參數包括第二翻轉比特計數,所述第一翻轉比特計數對應于所述第一輔助數據中的錯誤比特的總數,所述第二翻轉比特計數對應于所述第二輔助數據中的錯誤比特的總數。在本發明的一范例實施例中,所述存儲器控制電路單元根據所述第一輔助數據與所述驗證數據獲得所述第一評估參數并根據所述第二輔助數據與所述驗證數據獲得所述第二評估參數的操作包括:基于所述驗證數據來分析所述第一輔助數據以計算所述第一翻轉比特計數;以及基于所述驗證數據來分析所述第二輔助數據以計算所述第二翻轉比特計數。在本發明的一范例實施例中,所述存儲器控制電路單元根據所述第一評估參數與所述第二評估參數決定所述第二讀取電壓準位的操作包括:根據所述第一翻轉比特計數與所述第二翻轉比特計數之間的數值關系決定所述第二讀取電壓準位。在本發明的一范例實施例中,在發送所述第一測試指令序列與所述第二測試指令序列之前,所述存儲器控制電路單元更用以發送寫入指令序列以指示將所述驗證數據程序化至所述驗證實體單元。本發明的另一范例實施例提供一種存儲器控制電路單元,其用于控制包括多個實體單元的可復寫式非揮發性存儲器模塊,所述存儲器控制電路單元包括主機接口、存儲器接口、錯誤檢查與校正電路及存儲器管理電路。所述主機接口用以連接至主機系統。所述存儲器接口用以連接至所述可復寫式非揮發性存儲器模塊。所述存儲器管理電路連接至所述主機接口、所述存儲器接口及所述錯誤檢查與校正電路,所述存儲器管理電路用以發送第一讀取指 令序列以指示基于第一讀取電壓準位讀取所述實體單元中的目標實體單元以獲得第一目標數據,所述錯誤檢查與校正電路用以對所述第一目標數據執行第一解碼操作,若所述第一解碼操作失敗,所述存儲器管理電路更用以發送第一測試指令序列以指示基于第一候選電壓準位讀取所述實體單元中的驗證實體單元以獲得第一輔助數據并發送第二測試指令序列以指示基于第二候選電壓準位讀取所述驗證實體單元以獲得第二輔助數據,所述存儲器管理電路更用以根據所述第一輔助數據與驗證數據獲得第一評估參數并根據所述第二輔助數據與所述驗證數據獲得第二評估參數,所述存儲器管理電路更用以根據所述第一評估參數與所述第二評估參數決定第二讀取電壓準位,所述存儲器管理電路更用以發送第二讀取指令序列以指示基于所述第二讀取電壓準位讀取所述目標實體單元以獲得第二目標數據,所述錯誤檢查與校正電路更用以對所述第二目標數據執行第二解碼操作。在本發明的一范例實施例中,所述第一評估參數包括第一翻轉比特計數,所述第二評估參數包括第二翻轉比特計數,所述第一翻轉比特計數對應于所述第一輔助數據中的錯誤比特的總數,所述第二翻轉比特計數對應于所述第二輔助數據中的錯誤比特的總數。在本發明的一范例實施例中,所述存儲器管理電路根據所述第一輔助數據與所述驗證數據獲得所述第一評估參數并根據所述第二輔助數據與所述驗證數據獲得所述第二評估參數的操作包括:基于所述驗證數據來分析所述第一輔助數據以計算所述第一翻轉比特計數;以及基于所述驗證數據來分析所述第二輔助數據以計算所述第二翻轉比特計數。在本發明的一范例實施例中,所述存儲器管理電路根據所述第一評估參數與所述第二評估參數決定所述第二讀取電壓準位的操作包括:根據所述第一翻轉比特計數與所述第二翻轉比特計數之間的數值關系決定所述第二讀取電壓準位。在本發明的一范例實施例中,在發送所述第一測試指令序列與所述第二測試指令序列之前,所述存儲器管理電路更用以發送寫入指令序列以指示將所述驗證數據程序化至所述驗證實體單元。在本發明的一范例實施例中,所述目標實體單元與所述驗證實體單元屬于同一實體抹除單元。在本發明的一范例實施例中,所述第一解碼操作與所述第二解碼操作皆屬于硬解碼模式解碼。基于上述,一個讀取電壓準位會被用來讀取目標實體單元以獲得目標數據并且此目標數據會被解碼。若對目標數據的解碼操作失敗,多個候選電壓準位會被用來讀取驗證實體單元以獲得輔助數據。在依序將所獲得的輔助數據與驗證數據比對之后,多個評估參數會被獲得。根據所獲得的評估參數,另一讀取電壓準位會被決定并且被用來再次讀取相同的目標實體單元。借此,可提升所讀取的數據的正確性,改善存儲器存儲裝置的解碼效率。為讓本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。附圖說明圖1是根據本發明的一范例實施例所示出的主機系統、存儲器存儲裝置及輸入/輸出(i/o)裝置的示意圖;圖2是根據本發明的另一范例實施例所示出的主機系統、存儲器存儲裝置及i/o裝置的示意圖;圖3是根據本發明的另一范例實施例所示出的主機系統與存儲器存儲裝置的示意圖;圖4是根據本發明的一范例實施例所示出的存儲器存儲裝置的概要方塊圖;圖5是根據本發明的一范例實施例所示出的存儲器控制電路單元的概要方塊圖;圖6是根據本發明的一范例實施例所示出的管理可復寫式非揮發性存儲器模塊的示意圖;圖7是根據本發明的一范例實施例所示出的一個實體單元中的多個存儲單元的臨界電壓分布的示意圖;圖8是根據本發明的一范例實施例所示出的管理實體單元的示意圖;圖9是根據本發明的一范例實施例所示出的使用多個候選讀取電壓準位來讀取驗證實體單元的示意圖;圖10是根據本發明的一范例實施例所示出的解碼方法的流程圖;圖11是根據本發明的另一范例實施例所示出的解碼方法的流程圖;圖12是根據本發明的另一范例實施例所示出的解碼方法的流程圖。附圖標記說明:10:存儲器存儲裝置;11:主機系統;110:系統總線;111:處理器;112:隨機存取存儲器;113:只讀存儲器;114:數據傳輸接口;12:輸入/輸出(i/o)裝置;20:主機板;201:u盤;202:內存卡;203:固態硬盤;204:無線存儲器存儲裝置;205:全球定位系統模塊;206:網絡接口卡;207:無線傳輸裝置;208:鍵盤;209:屏幕;210:喇叭;32:sd卡;33:cf卡;34:嵌入式存儲裝置;341:嵌入式多媒體卡;342:嵌入式多芯片封裝存儲裝置;402:連接接口單元;404:存儲器控制電路單元;406:可復寫式非揮發性存儲器模塊;502:存儲器管理電路;504:主機接口;506:存儲器接口;508:錯誤檢查與校正電路;510:緩沖存儲器;512:電源管理電路;601:存儲區;602:替換區;610(0)~610(b):實體單元;612(0)~612(c):邏輯單元;710、720、711、721、911、921:分布;步驟s1001:步驟(基于第一讀取電壓準位讀取目標實體單元以獲得第一目標數據);步驟s1002:步驟(對第一目標數據執行第一解碼操作);步驟s1003:步驟(判斷第一解碼操作是否成功);步驟s1004:步驟(輸出解碼成功的數據);步驟s1005:步驟(基于第一候選電壓準位讀取驗證實體單元以獲得第一輔助數據并基于第二候選電壓準位讀取驗證實體單元以獲得第二輔助數據);步驟s1006:步驟(根據第一輔助數據與驗證數據獲得第一評估參數并根據第二輔助數據與驗證數據獲得第二評估參數);步驟s1007:步驟(根據第一評估參數與第二評估參數決定第二讀取電壓準位);步驟s1008:步驟(基于第二讀取電壓準位讀取目標實體單元以獲得第二目標數據);步驟s1009:步驟(對第二目標數據執行第二解碼操作);步驟s1101:步驟(基于一讀取電壓準位讀取目標實體單元以獲得目標數據);步驟s1102:步驟(對目標數據執行硬解碼模式的一解碼操作);步驟s1103:步驟(解碼操作是否成功);步驟s1104:步驟(輸出解碼成功的數據);步驟s1105:步驟(是否已使用基于驗證數據找到的最佳讀取電壓準位);步驟s1106:步驟(基于一候選電壓準位讀取驗證實體單元以獲得輔助數據);步驟s1107:步驟(根據輔助數據與驗證數據獲得評估參數);步驟s1108:步驟(是否還有未檢查的候選電壓準位);步驟s1109:步驟(根據所獲得的評估參數決定一最佳讀取電壓準位);步驟s1110:步驟(進入軟解碼模式解碼);步驟s1201:步驟(基于一讀取電壓準位讀取目標實體單元以獲得目標數據);步驟s1202:步驟(對目標數據執行硬解碼模式的一解碼操作);步驟s1203:步驟(解碼操作是否成功);步驟s1204:步驟(輸出解碼成功的數據);步驟s1205:步驟(是否還有未檢查的候選電壓準位);步驟s1206:步驟(基于一候選電壓準位讀取驗證實體單元以獲得輔助數據);步驟s1207:步驟(根據輔助數據與驗證數據獲得評估參數);步驟s1208:步驟(所獲得的評估參數是否優于一預設評估參數);步驟s1209:步驟(將所獲得的評估參數設定為預設評估參數);步驟s1210:步驟(根據預設評估參數決定一最佳讀取電壓準位);步驟s1211:步驟(進入軟解碼模式)。具體實施方式一般而言,存儲器存儲裝置(也稱,存儲器存儲系統)包括可復寫式非揮發性存儲器模塊(rewritablenon-volatilememorymodule)與控制器(也稱,控制電路)。通常存儲器存儲裝置是與主機系統一起使用,以使主機系統可將數據寫入至存儲器存儲裝置或從存儲器存儲裝置中目標數據。圖1是根據本發明的一范例實施例所示出的主機系統、存儲器存儲裝置及輸入/輸出(i/o)裝置的示意圖。圖2是根據本發明的另一范例實施例所示出的主機系統、存儲器存儲裝置及i/o裝置的示意圖。請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取存儲器 (randomaccessmemory,ram)112、只讀存儲器(readonlymemory,rom)113及數據傳輸接口114。處理器111、隨機存取存儲器112、只讀存儲器113及數據傳輸接口114皆連接至系統總線(systembus)110。在本范例實施例中,主機系統11是通過數據傳輸接口114與存儲器存儲裝置10連接。例如,主機系統11可通過數據傳輸接口114將數據存儲至存儲器存儲裝置10或從存儲器存儲裝置10中目標數據。此外,主機系統11是通過系統總線110與i/o裝置12連接。例如,主機系統11可通過系統總線110將輸出信號傳送至i/o裝置12或從i/o裝置12接收輸入信號。在本范例實施例中,處理器111、隨機存取存儲器112、只讀存儲器113及數據傳輸接口114可設置在主機系統11的主機板20上。數據傳輸接口114的數目可以是一或多個。通過數據傳輸接口114,主機板20可以通過有線或無線方式連接至存儲器存儲裝置10。存儲器存儲裝置10可例如是u盤201、內存卡202、固態硬盤(solidstatedrive,ssd)203或無線存儲器存儲裝置204。無線存儲器存儲裝置204可例如是近距離無線通訊(nearfieldcommunication,nfc)存儲器存儲裝置、無線保真(wifi)存儲器存儲裝置、藍牙(bluetooth)存儲器存儲裝置或低功耗藍牙存儲器存儲裝置(例如,ibeacon)等以各式無線通訊技術為基礎的存儲器存儲裝置。此外,主機板20也可以通過系統總線110連接至全球定位系統(globalpositioningsystem,gps)模塊205、網絡接口卡206、無線傳輸裝置207、鍵盤208、屏幕209、喇叭210等各式i/o裝置。例如,在一范例實施例中,主機板20可通過無線傳輸裝置207存取無線存儲器存儲裝置204。在一范例實施例中,所提及的主機系統為可實質地與存儲器存儲裝置配合以存儲數據的任意系統。雖然在上述范例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據本發明的另一范例實施例所示出的主機系統與存儲器存儲裝置的示意圖。請參照圖3,在另一范例實施例中,主機系統31也可以是數碼相機、攝像機、通訊裝置、音頻播放器、視頻播放器或平板電腦等系統,而存儲器存儲裝置10可為其所使用的安全數字(securedigital,sd)卡32、小型快速(compactflash,cf)卡33或嵌入式存儲裝置34等各式非揮發性存儲器存儲裝置。嵌入式存儲裝置34包括嵌入式多媒體卡(embeddedmmc,emmc)341及/或嵌入式多芯片封裝(embeddedmultichippackage, emcp)存儲裝置342等各類型將存儲器模塊直接連接在主機系統的基板上的嵌入式存儲裝置。圖4是根據本發明的一范例實施例所示出的存儲器存儲裝置的概要方塊圖。請參照圖4,存儲器存儲裝置10包括連接接口單元402、存儲器控制電路單元404與可復寫式非揮發性存儲器模塊406。在本范例實施例中,連接接口單元402是相容于序列先進附件(serialadvancedtechnologyattachment,sata)標準。然而,必須了解的是,本發明不限于此,連接接口單元402也可以是符合并列先進附件(paralleladvancedtechnologyattachment,pata)標準、電氣和電子工程師協會(instituteofelectricalandelectronicengineers,ieee)1394標準、高速周邊零件連接接口(peripheralcomponentinterconnectexpress,pciexpress)標準、通用串行總線(universalserialbus,usb)標準、sd接口標準、超高速一代(ultrahighspeed-i,uhs-i)接口標準、超高速二代(ultrahighspeed-ii,uhs-ii)接口標準、記憶棒(memorystick,ms)接口標準、多芯片封裝(multi-chippackage)接口標準、多媒體存儲卡(multimediacard,mmc)接口標準、emmc接口標準、通用快速存儲器(universalflashstorage,ufs)接口標準、emcp接口標準、cf接口標準、整合式驅動電子接口(integrateddeviceelectronics,ide)標準或其他適合的標準。連接接口單元402可與存儲器控制電路單元404封裝在一個芯片中,或者連接接口單元402是布設在一包含存儲器控制電路單元404的芯片外。存儲器控制電路單元404用以執行以硬件或軟件實作的多個邏輯門或控制指令并且根據主機系統11的指令在可復寫式非揮發性存儲器模塊406中進行數據的寫入、讀取與抹除等運作。可復寫式非揮發性存儲器模塊406是連接至存儲器控制電路單元404并且用以存儲主機系統11所寫入的數據。可復寫式非揮發性存儲器模塊406可以是單階存儲單元(singlelevelcell,slc)nand型快速存儲器模塊(即,一個存儲單元中可存儲1個比特的快速存儲器模塊)、多階存儲單元(multilevelcell,mlc)nand型快速存儲器模塊(即,一個存儲單元中可存儲2個比特的快速存儲器模塊)、復數階存儲單元(triplelevelcell,tlc)nand型快速存儲器模塊(即,一個存儲單元中可存儲3個比特的快速存儲器模塊)、其他快速 存儲器模塊或其他具有相同特性的存儲器模塊。可復寫式非揮發性存儲器模塊406中的每一個存儲單元是以電壓(以下也稱為臨界電壓)的改變來存儲一或多個比特。具體來說,每一個存儲單元的控制柵極(controlgate)與通道之間有一個電荷捕捉層。通過施予一寫入電壓至控制柵極,可以改變電荷補捉層的電子量,進而改變存儲單元的臨界電壓。此改變臨界電壓的操作也稱為“把數據寫入至存儲單元”或“程序化存儲單元”。隨著臨界電壓的改變,可復寫式非揮發性存儲器模塊406中的每一個存儲單元具有多個存儲狀態。通過施予讀取電壓可以判斷一個存儲單元是屬于哪一個存儲狀態,借此取得此存儲單元所存儲的一或多個比特。圖5是根據本發明的一范例實施例所示出的存儲器控制電路單元的概要方塊圖。請參照圖5,存儲器控制電路單元404包括存儲器管理電路502、主機接口504、存儲器接口506及錯誤檢查與校正電路508。存儲器管理電路502用以控制存儲器控制電路單元404的整體運作。具體來說,存儲器管理電路502具有多個控制指令,并且在存儲器存儲裝置10運作時,此些控制指令會被執行以進行數據的寫入、讀取與抹除等運作。以下說明存儲器管理電路502的操作時,等同于說明存儲器控制電路單元404的操作。在本范例實施例中,存儲器管理電路502的控制指令是以軟件來實作。例如,存儲器管理電路502具有微處理器單元(未示出)與只讀存儲器(未示出),并且此些控制指令是被燒錄至此只讀存儲器中。當存儲器存儲裝置10運作時,此些控制指令會由微處理器單元來執行以進行數據的寫入、讀取與抹除等運作。在另一范例實施例中,存儲器管理電路502的控制指令也可以程序碼型式存儲在可復寫式非揮發性存儲器模塊406的特定區域(例如,存儲器模塊中專用于存放系統數據的系統區)中。此外,存儲器管理電路502具有微處理器單元(未示出)、只讀存儲器(未示出)及隨機存取存儲器(未示出)。特別是,此只讀存儲器具有開機碼(bootcode),并且當存儲器控制電路單元404被致能時,微處理器單元會先執行此開機碼來將存儲在可復寫式非揮發性存儲器模塊406中的控制指令載入至存儲器管理電路502的隨機存取存儲器中。之后, 微處理器單元會運轉此些控制指令以進行數據的寫入、讀取與抹除等運作。此外,在另一范例實施例中,存儲器管理電路502的控制指令也可以一硬件來實作。例如,存儲器管理電路502包括微控制器、存儲單元管理電路、存儲器寫入電路、存儲器讀取電路、存儲器抹除電路與數據處理電路。存儲單元管理電路、存儲器寫入電路、存儲器讀取電路、存儲器抹除電路與數據處理電路是連接至微控制器。存儲單元管理電路用以管理可復寫式非揮發性存儲器模塊406的存儲單元或其群組。存儲器寫入電路用以對可復寫式非揮發性存儲器模塊406下達寫入指令序列以將數據寫入至可復寫式非揮發性存儲器模塊406中。存儲器讀取電路用以對可復寫式非揮發性存儲器模塊406下達讀取指令序列以從可復寫式非揮發性存儲器模塊406中目標數據。存儲器抹除電路用以對可復寫式非揮發性存儲器模塊406下達抹除指令序列以將數據從可復寫式非揮發性存儲器模塊406中抹除。數據處理電路用以處理欲寫入至可復寫式非揮發性存儲器模塊406的數據以及從可復寫式非揮發性存儲器模塊406中讀取的數據。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程序碼或指令碼并且用以指示可復寫式非揮發性存儲器模塊406執行相對應的寫入、讀取及抹除等操作。在一范例實施例中,存儲器管理電路502還可以下達其他類型的指令序列給可復寫式非揮發性存儲器模塊406以指示執行相對應的操作。主機接口504是連接至存儲器管理電路502并且用以接收與識別主機系統11所傳送的指令與數據。也就是說,主機系統11所傳送的指令與數據會通過主機接口504來傳送至存儲器管理電路502。在本范例實施例中,主機接口504是相容于sata標準。然而,必須了解的是本發明不限于此,主機接口504也可以是相容于pata標準、ieee1394標準、pciexpress標準、usb標準、sd標準、uhs-i標準、uhs-ii標準、ms標準、mmc標準、emmc標準、ufs標準、cf標準、ide標準或其他適合的數據傳輸標準。存儲器接口506是連接至存儲器管理電路502并且用以存取可復寫式非揮發性存儲器模塊406。也就是說,欲寫入至可復寫式非揮發性存儲器模塊406的數據會通過存儲器接口506轉換為可復寫式非揮發性存儲器模塊406所能接受的格式。具體來說,若存儲器管理電路502要存取可復寫式非揮發性存儲器模塊406,存儲器接口506會傳送對應的指令序列。例如,這些指 令序列可包括指示寫入數據的寫入指令序列、指示目標數據的讀取指令序列、指示抹除數據的抹除指令序列、以及用以指示各種存儲器操作(例如,改變讀取電壓準位或執行垃圾回收操作等等)的相對應的指令序列。這些指令序列例如是由存儲器管理電路502產生并且通過存儲器接口506傳送至可復寫式非揮發性存儲器模塊406。這些指令序列可包括一或多個信號,或是在總線上的數據。這些信號或數據可包括指令碼或程序碼。例如,在讀取指令序列中,會包括讀取的辨識碼、存儲器地址等信息。錯誤檢查與校正電路508是連接至存儲器管理電路502并且用以執行錯誤檢查與校正操作以確保數據的正確性。具體來說,當存儲器管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的數據產生對應的錯誤更正碼(errorcorrectingcode,ecc)及/或錯誤檢查碼(errordetectingcode,edc),并且存儲器管理電路502會將對應此寫入指令的數據與對應的錯誤更正碼及/或錯誤檢查碼寫入至可復寫式非揮發性存儲器模塊406中。之后,當存儲器管理電路502從可復寫式非揮發性存儲器模塊406中目標數據時會同時讀取此數據對應的錯誤更正碼及/或錯誤檢查碼,并且錯誤檢查與校正電路508會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的數據執行錯誤檢查與校正操作。在本范例實施例中,錯誤檢查與校正電路508是使用低密度奇偶檢查碼(lowdensityparitycode,ldpc)來執行數據的編碼與解碼。然而,在另一范例實施例中,錯誤檢查與校正電路508也可以是使用bch碼、回旋碼(convolutionalcode)或渦輪碼(turbocode)等各種碼來執行數據的編碼與解碼。在一范例實施例中,存儲器控制電路單元404還包括緩沖存儲器510與電源管理電路512。緩沖存儲器510是連接至存儲器管理電路502并且用以暫存來自于主機系統11的數據與指令或來自于可復寫式非揮發性存儲器模塊406的數據。電源管理電路512是連接至存儲器管理電路502并且用以控制存儲器存儲裝置10的電源。圖6是根據本發明的一范例實施例所示出的管理可復寫式非揮發性存儲器模塊的示意圖。必須了解的是,在此描述可復寫式非揮發性存儲器模塊406的實體單元的運作時,以“選擇”與“分組”等詞來操作實體單元是邏輯上 的概念。也就是說,可復寫式非揮發性存儲器模塊406的實體單元的實際位置并未更動,而是邏輯上對可復寫式非揮發性存儲器模塊406的實體單元進行操作。在本范例實施例中,可復寫式非揮發性存儲器模塊406的存儲單元會構成多個實體程序化單元,并且此些實體程序化單元會構成多個實體抹除單元。具體來說,同一條字節線上的存儲單元會組成一或多個實體程序化單元。若每一個存儲單元可存儲2個以上的比特,則同一條字節線上的實體程序化單元至少可被分類為下實體程序化單元與上實體程序化單元。例如,一存儲單元的最低有效比特(leastsignificantbit,lsb)是屬于下實體程序化單元,并且一存儲單元的最高有效比特(mostsignificantbit,msb)是屬于上實體程序化單元。一般來說,在mlcnand型快速存儲器中,下實體程序化單元的寫入速度會大于上實體程序化單元的寫入速度,及/或下實體程序化單元的可靠度是高于上實體程序化單元的可靠度。在本范例實施例中,實體程序化單元為程序化的最小單元。即,實體程序化單元為寫入數據的最小單元。例如,實體程序化單元為實體頁面(page)或是實體扇(sector)。若實體程序化單元為實體頁面,則此些實體程序化單元通常包括數據比特區與冗余(redundancy)比特區。數據比特區包含多個實體扇,用以存儲使用者數據,而冗余比特區用以存儲系統數據(例如,錯誤更正碼)。在本范例實施例中,數據比特區包含32個實體扇,且一個實體扇的大小為512比特組(byte,b)。然而,在其他范例實施例中,數據比特區中也可包含8個、16個或數目更多或更少的實體扇,并且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除的最小單位。也即,每一實體抹除單元含有最小數目之一并被抹除的存儲單元。例如,實體抹除單元為實體區塊(block)。請參照圖6,存儲器管理電路502會將可復寫式非揮發性存儲器模塊406的實體單元610(0)~610(b)邏輯地分組為存儲區601與替換區602。存儲區601中的實體單元610(0)~610(a)是用以存儲數據,而替換區602中的實體單元610(a+1)~610(b)是用以替換存儲區601中損壞的實體單元。例如,實體單元的替換是以一個實體抹除單元為單位。在本范例實施例中,實體單元610(0)~610(b)中的每一者皆是指至少一實體程序化單元。或者,在另一范例 實施例中,實體單元610(0)~610(b)中的每一者也可以包含任意數目的存儲單元。存儲器管理電路502會配置邏輯單元612(0)~612(c)以映射存儲區601中的實體單元610(0)~610(a)的至少一部分。在本范例實施例中,主機系統11是通過邏輯地址(logicaladdress,la)來存取存儲區601中的數據,因此,邏輯單元612(0)~612(c)中的每一者是指一個邏輯地址。然而,在另一范例實施例中,邏輯單元612(0)~612(c)中的每一者也可以是指一個邏輯程序化單元、一個邏輯抹除單元或者由多個連續或不連續的邏輯地址組成,視實務上的需求而定。此外,邏輯單元612(0)~612(c)中的每一者可被映射至一或多個實體單元。在本范例實施例中,存儲器管理電路502會將邏輯單元與實體單元之間的映射關系(也稱為邏輯-實體映射關系)記錄在至少一邏輯-實體映射表。當主機系統11欲從存儲器存儲裝置10讀取數據或寫入數據至存儲器存儲裝置10時,存儲器管理電路502可根據此邏輯-實體映射表來執行對于存儲器存儲裝置10的數據存取。圖7是根據本發明的一范例實施例所示出的一個實體單元中的多個存儲單元的臨界電壓分布的示意圖。本范例實施例是以slcnand型快速存儲器為例,其中橫軸代表存儲單元的臨界電壓,而縱軸代表存儲單元個數。然而,在另一范例實施例中,圖7也可以用來表示mlcnand或tlcnand型快速存儲器中一部份的臨界電壓分布。請參照圖7,在程序化可復寫式非揮發性存儲器模塊406中的某一實體單元之后,此實體單元中被程序化的每一個存儲單元的臨界電壓會屬于分布710與720的其中之一。例如,若某一個存儲單元被用來存儲比特“1”,則此存儲單元的臨界電壓會落在分布710;而若某一個存儲單元被用來存儲比特“0”,則此存儲單元的臨界電壓會落在分布720。值得一提的是,在本范例實施例中,每一個存儲單元是用以存儲一個比特,故此些存儲單元的臨界電壓的分布有兩種可能(例如,分布710與720)。然而,在其他范例實施例中,若一個存儲單元是用以存儲多個比特,則對應的臨界電壓的分布則可能有四種(例如,mlcnand型快速存儲器)、八種(例如,tlcnand型快速存儲器)或其他任意個可能。此外,本發明也不限制每 一個分布所代表的比特。例如,在圖7的另一范例實施例中,分布710是代表比特“0”,并且分布720是代表比特“1”。一般來說,若要讀取此實體單元所存儲的數據,存儲器管理電路502會發送一個讀取指令序列至可復寫式非揮發性存儲器模塊406。此讀取指令序列用以指示基于一個預設讀取電壓準位來讀取此實體單元的實體地址。根據此讀取指令序列,可復寫式非揮發性存儲器模塊406會使用一個預設讀取電壓準位vdefault來讀取此實體單元中的存儲單元并且將所獲得的數據傳送給存儲器管理電路502。例如,若某一個存儲單元的臨界電壓小于預設讀取電壓準位vdefault(例如,臨界電壓屬于分布710的存儲單元),則存儲器管理電路502會讀到比特“1”;若某一個存儲單元的臨界電壓大于預設讀取電壓準位vdefault(例如,臨界電壓屬于分布720的存儲單元),則存儲器管理電路502會讀到比特“0”。然而,隨著可復寫式非揮發性存儲器模塊406的使用時間及/或損耗程度增加,可復寫式非揮發性存儲器模塊406中的存儲單元可能會發生性能衰退(degradation)。例如,在屬于分布710與720的存儲單元發生性能衰退后,分布710與720可能會逐漸相互靠近甚至相互重疊。例如,圖7中的分布711與721分別用來表示性能衰退后的分布710與720。在發生性能衰退后,若持續使用預設讀取電壓準位vdefault來讀取同一個實體單元中的存儲單元,讀取到的數據可能會包含許多錯誤。以圖7中的分布711與721為例,斜線區域內的存儲單元仍屬于分布711,但其臨界電壓已高于預設讀取電壓準位vdefault。因此,若持續使用預設讀取電壓準位vdefault來讀取此些存儲單元,部分實際上存儲比特“1”的存儲單元(例如,分布711中的斜線區域內的存儲單元)會被誤判為存儲比特“0”。然而,若改為使用讀取電壓準位voptimal來讀取此實體單元中的存儲單元,則讀取到的數據所包含的錯誤即可大幅減少。圖8是根據本發明的一范例實施例所示出的管理實體單元的示意圖請參照圖8,存儲器管理電路502會選定至少一個實體單元作為驗證實體單元并且將特定數據存儲至此驗證實體單元。其中,被存儲至驗證實體單元中的數據也稱為驗證數據。例如,存儲器管理電路502會選擇實體單元610(0)作為一個驗證實體單元并且將屬于邏輯單元612(0)的數據(即驗證數據) 存儲至實體單元610(0)。據此,邏輯單元612(0)會被映射至實體單元610(0)。在從主機系統11接收到將某一數據存儲至邏輯單元612(1)的寫入指令之后,存儲器管理電路502會指示將此數據存儲至實體單元610(1),并且邏輯單元612(1)會被映射至實體單元610(1)。然后,在某一時間點,存儲器管理電路502會從主機系統11接收到指示讀取存儲在邏輯單元612(1)的數據的讀取指令。根據此讀取指令,存儲器管理電路502會選擇邏輯單元612(1)所映射的實體單元610(1)并且將實體單元610(1)作為對應于此讀取指令的目標實體單元。存儲器管理電路502會發送一個讀取指令序列(以下也稱為第一讀取指令序列)至可復寫式非揮發性存儲器模塊406以指示基于一個預設讀取電壓準位(以下也稱為第一讀取電壓準位)來讀取此目標實體單元(即實體單元610(1))以獲得一目標數據(以下也稱為第一目標數據)。錯誤檢查與校正電路508會對第一目標數據執行一解碼操作(以下也稱為第一解碼操作)。例如,此第一解碼操作可對第一目標數據進行驗證并可用于更正第一目標數據中可能存在的錯誤。若第一解碼操作成功,表示第一目標數據中不具有錯誤,錯誤檢查與校正電路508會輸出解碼成功的數據。若第一解碼操作失敗,表示第一目標數據中包含太多的錯誤,使得錯誤檢查與校正電路508無法完全更正所有錯誤。因此,存儲器管理電路502會發送多個測試指令序列至可復寫式非揮發性存儲器模塊406以指示基于多個候選電壓準位讀取預先設定的驗證實體單元(即實體單元610(0))以分別獲得相應的輔助數據。在本范例實施例中,此些測試指令序列包括n個測試指令序列,其中n是大于1的整數。根據此n個測試指令序列中的第一測試指令序列,可復寫式非揮發性存儲器模塊406會基于第一候選電壓準位來讀取實體單元610(0)并回傳讀取到的數據作為第一輔助數據。根據此n個測試指令序列中的第二測試指令序列,可復寫式非揮發性存儲器模塊406會基于第二候選電壓準位來讀取實體單元610(0)并回傳讀取到的數據作為第二輔助數據。其中,第一候選電壓準位與第二候選電壓準位不同。也就是說,根據此n個測試指令序列,相應的n個輔助數據會被獲得。存儲器管理電路502會基于原始的驗證數據來逐一分析此n個輔助數據并根據分析結果獲得n個評估參數。在本范例實施例中,每一個評估參數包 括一個翻轉比特計數。此翻轉比特計數對應于一個輔助數據中的錯誤比特的總數。例如,通過比對原始存儲至驗證實體單元的驗證數據(即被視為不包含任何錯誤的驗證數據)與后續從驗證實體單元中讀取出來的輔助數據(即經過通道影響而可能有錯誤的驗證數據),輔助數據中全部或大部分的錯誤比特可以被找出。然后,存儲器管理電路502會計數所找到的錯誤比特作為對應于此輔助數據的翻轉比特計數并且設定對應于此翻轉比特計數的一個評估參數來表示此些錯誤比特的總數及/或此輔助數據的正確性。借此,根據此n個評估參數(或翻轉比特計數),相應的n個輔助數據的正確性可以被統計。換言之,存儲器管理電路502會根據n個輔助數據中的第一輔助數據與驗證數據獲得對應于第一輔助數據的正確性的第一評估參數并且根據n個輔助數據中的第二輔助數據與同一驗證數據獲得對應于第二輔助數據的正確性的第二評估參數。例如,第一評估參數包括第一翻轉比特計數,而第二評估參數包括第二翻轉比特計數。例如,第一翻轉比特計數可對應于第一輔助數據中錯誤比特的總數,而第二翻轉比特計數對應于第二輔助數據中錯誤比特的總數。存儲器管理電路502會根據所獲得的n個評估參數決定另一個讀取電壓準位(以下也稱為第二讀取電壓準位)。例如,此第二讀取電壓準位可以是圖7中的最佳讀取電壓準位voptimal。例如,存儲器管理電路502可根據此n個評估參數(或翻轉比特計數)之間的數值關系來找出基于某一候選讀取電壓準位所讀取的輔助數據包含最少的錯誤比特及/或具有最高的正確性,并且據以將此候選讀取電壓準位設定為第二讀取電壓準位(或最佳讀取電壓準位)。以n=2為例,存儲器管理電路502可以比較第一翻轉比特計數與第二翻轉比特計數。若第一翻轉比特計數小于第二翻轉比特計數,存儲器管理電路502會將第一候選電壓準位設定為第二讀取電壓準位。或者,若第二翻轉比特計數小于第一翻轉比特計數,存儲器管理電路502會將第二候選電壓準位設定為第二讀取電壓準位。在一范例實施例中,設定第二讀取電壓準位的操作也可視為更新預設讀取電壓準位。例如,將圖7中的預設讀取電壓準位從電壓準位vdefault更新為電壓準位voptimal。在決定第二讀取電壓準位之后,存儲器管理電路502會發送另一個讀取指令序列(以下也稱為第二讀取指令序列)至可復寫式非揮發性存儲器模塊 406以指示基于第二讀取電壓準位來再次讀取目標實體單元(即實體單元610(1))以獲得另一目標數據(以下也稱為第二目標數據)。例如,相對于第一目標數據,第二目標數據可能會具有較少的錯誤比特。然后,錯誤檢查與校正電路508會對第二目標數據執行另一解碼操作(以下也稱為第二解碼操作)。類似于第一解碼操作,此第二解碼操作可對第二目標數據進行驗證并可用于更正第二目標數據中可能存在的錯誤。因此,通過降低從目標實體單元中讀取的數據中錯誤比特的總數,對于存儲器存儲裝置10的解碼成功率可被提升。圖9是根據本發明的一范例實施例所示出的使用多個候選讀取電壓準位來讀取驗證實體單元的示意圖。請參照圖9,假設存儲有驗證數據的驗證實體單元(例如,圖8中的實體單元610(0))中的存儲單元的臨界電壓分布具有分布911與921。其中,分布911對應于比特“1”并且分布921對應于比特“0”。存儲器管理電路502會查詢一查找表以獲得多個偏移值(offsetvalue)。其中,讀取電壓準位vc1例如是等于預設讀取電壓準位vdefault加上某一個偏移值(例如,+δ),讀取電壓準位vc2例如是等于預設讀取電壓準位vdefault加上某一個偏移值(例如,-δ),讀取電壓準位vc3例如是等于預設讀取電壓準位vdefault加上某一個偏移值(例如,+2δ),讀取電壓準位vc4例如是等于預設讀取電壓準位vdefault加上某一個偏移值(例如,-2δ),讀取電壓準位vc5例如是等于預設讀取電壓準位vdefault加上某一個偏移值(例如,+3δ),并且讀取電壓準位vc6例如是等于預設讀取電壓準位vdefault加上某一個偏移值(例如,-3δ)。讀取電壓準位vc1~vc6中的每一者皆為一個候選讀取電壓準位。存儲器管理電路502會依照一特定順序來指示基于讀取電壓準位vc1~vc6讀取驗證實體單元中的存儲單元以獲得相應的6個輔助數據。根據圖9,基于讀取電壓準位vc3讀取到的輔助數據理論上會具有最少的錯誤比特。然而,從存儲器管理電路502的角度來看,通過逐一將這6個輔助數據與原始的驗證數據進行比對,所獲得的評估數據也有相當高的機率會呈現相同的結果(即基于讀取電壓準位vc3讀取到的輔助數據會具有最少的錯誤比特)。因此,根據所獲得的評估數據,讀取電壓準位vc3會被設定為第二讀取電壓準位(或最佳讀取電壓準位)并且被用于重新讀取目標實體單元,以減少所獲得的目標數據中的錯誤。值得一提的是,在圖8的一范例實施例中,實體單元610(0)~610(249)是屬于同一實體抹除單元。也就是說,被作為驗證實體單元的實體單元610(0)與被作為目標實體單元的實體單元610(1)是屬于同一實體抹除單元。由于實體單元610(0)~610(249)中任兩者的損耗程度及/或存儲單元的臨界電壓分布可能是類似的,存儲器管理電路502可直接根據對應于驗證實體單元(即實體單元610(0))的最佳讀取電壓準位(或所選用的偏移值)來設定對應于目標實體單元(即實體單元610(1))的最佳讀取電壓準位。若目標實體單元為實體單元610(2)~610(249)中的任一者,對應于驗證實體單元(即實體單元610(0))的最佳讀取電壓準位(或所選用的偏移值)也可以用來設定對應于此目標實體單元的最佳讀取電壓準位。此外,驗證實體單元的數目也可以是多個。例如,在圖8的另一范例實施例中,實體單元610(0)~610(249)中的多個實體單元可以被設為驗證實體單元。在圖8的另一范例實施例中,作為驗證實體單元的實體單元610(0)與作為目標實體單元的實體單元610(1)會是由同一字節線上的存儲單元組成。例如,作為驗證實體單元的實體單元610(0)為下實體程序化單元,則作為目標實體單元的實體單元610(1)為對應于實體單元610(0)的上實體程序化單元。或者,作為目標實體單元的實體單元610(1)為下實體程序化單元,則作為驗證實體單元的實體單元610(0)為對應于實體單元610(1)的上實體程序化單元等。在一范例實施例中,驗證數據會被先存儲至某一個驗證實體單元,然后相應的目標實體單元才會被用來存儲主機系統11所指示存儲的數據。然而,在另一范例實施例中,目標實體單元也可以先被用來存儲數據,然后相應的驗證實體單元才被用來存儲驗證數據。在一范例實施例中,驗證數據包含一預設字串。在另一范例實施例中,存儲器管理電路502會將一個種子(seed)輸入至隨機數產生器來產生包含隨機字串的驗證數據。然后,存儲器管理電路502會存儲此種子并且將驗證數據程序化至驗證實體單元。當需要使用到原始的驗證數據時,存儲器管理電路502再次將所存儲的種子輸入至隨機數產生器即可獲得原始的驗證數據。在一范例實施例中,被存儲至驗證實體單元的驗證數據(或種子)會被額外存儲在可復寫式非揮發性存儲器模塊406中可靠度較高的區域及/或以可靠度 較高的操作模式來存儲。例如,額外以slc模式(即一個存儲單元只存儲一個比特)來存儲驗證數據。借此,額外存儲的驗證數據可以基于最高的正確性被還原并且被用來與后續從驗證實體單元中讀取的輔助數據進行比對。在一范例實施例中,錯誤檢查與校正電路508可支援硬解碼模式解碼與軟解碼模式解碼中的至少一者。在硬解碼模式解碼中,對應于每一個存儲單元的至少一硬比特(也稱為硬資訊)會被采用。例如,對應于存儲有一個比特(例如,比特“1”或“0”)的一個存儲單元,一個硬決策電壓準位會被用來從此存儲單元中讀取一個硬比特;對應于存儲有兩個比特(例如,比特“11”、“10”、“00”或“01”)的一個存儲單元,兩個硬決策電壓準位會被用來從此存儲單元中讀取兩個硬比特;并且對應于存儲有三個比特(例如,比特“111”、“010”、“000”等)的一個存儲單元,三個硬決策電壓準位會被用來從此存儲單元中讀取三個硬比特。然而,在軟解碼模式解碼中,對應于每一個存儲單元的多個軟比特(也稱為軟資訊)會被采用。也即,在軟解碼模式解碼中,無論一個存儲單元存儲有幾個比特,多個軟決策電壓準位皆會被用來從此存儲單元中讀取多個軟比特。借此,相對于硬解碼模式解碼,軟解碼模式解碼可以獲得更多的通道信息,從而提高成功解碼的機率。本領域技術人員應當可以理解何謂硬解碼模式解碼與軟解碼模式解碼,在此便不贅述。在一范例實施例中,上述第一解碼操作與第二解碼操作皆屬于硬解碼模式解碼。例如,第一讀取電壓準位與第二讀取電壓準位皆為硬決策電壓準位。然而,在另一范例實施例中,第一解碼操作是屬于硬解碼模式解碼,而第二解碼操作屬于軟解碼模式解碼。例如,根據第二讀取指令序列,更多的軟決策電壓準位可能會被用來讀取目標實體單元以獲得所需的軟比特。此外,在另一范例實施例中,第一解碼操作與第二解碼操作也可能皆是屬于軟解碼模式解碼。例如,第一目標數據與第二目標數據中皆包含使用多個軟決策電壓準位所讀取到的軟比特。圖10是根據本發明的一范例實施例所示出的解碼方法的流程圖。請參照圖10,在步驟s1001中,基于第一讀取電壓準位讀取目標實體單元以獲得第一目標數據。在步驟s1002中,對第一目標數據執行第一解碼操作。在步驟s1003中,判斷第一解碼操作是否成功(或失敗)。若第一解碼操作成功,在步驟s1004中,輸出解碼成功的數據。若第一解碼操作不成功(即 失敗),在步驟s1005中,基于第一候選電壓準位讀取驗證實體單元以獲得第一輔助數據并基于第二候選電壓準位讀取相同的驗證實體單元以獲得第二輔助數據。在步驟s1006中,根據第一輔助數據與驗證數據獲得第一評估參數并根據第二輔助數據與相同的驗證數據獲得第二評估參數。在步驟s1007中,根據第一評估參數與第二評估參數決定第二讀取電壓準位。在步驟s1008中,基于第二讀取電壓準位讀取目標實體單元以獲得第二目標數據。在步驟s1009中,對第二目標數據執行第二解碼操作。圖11是根據本發明的另一范例實施例所示出的解碼方法的流程圖。請參照圖11,在步驟s1101中,基于一讀取電壓準位讀取目標實體單元以獲得目標數據。在步驟s1102中,對目標數據執行硬解碼模式的一解碼操作。在步驟s1103中,判斷解碼操作是否成功(或失敗)。若解碼操作成功,在步驟s1104中,輸出解碼成功的數據。若解碼操作不成功(即失敗),在步驟s1105中,判斷是否已使用基于驗證數據找到的最佳讀取電壓準位。若尚未使用此最佳讀取電壓準位,在步驟s1106中,基于一候選電壓準位讀取驗證實體單元以獲得輔助數據。在步驟s1107中,根據輔助數據與驗證數據獲得評估參數。在步驟s1108中,判斷是否還有未檢查的候選電壓準位。若還有未檢查的候選電壓準位(即步驟s1108判斷為是),步驟s1106與步驟s1107會被重復執行,直到獲得所有候選電壓準位所對應的輔助數據為止。若所有候選電壓準位都已被檢查且所對應的輔助數據都已獲得(即步驟s1108判斷為否),在步驟s1109中,根據所獲得的評估參數決定一最佳讀取電壓準位。然后,在步驟s1101中,基于此最佳讀取電壓準位讀取同一目標實體單元以獲得目標數據。在步驟s1102中,對目標數據執行硬解碼模式的解碼操作。在步驟s1103中,判斷解碼操作是否成功(或失敗)。若解碼操作成功,在步驟s1104中,輸出解碼成功的數據。若解碼操作不成功(即失敗),在步驟s1005中,判斷是否已使用基于驗證數據找到的最佳讀取電壓準位。由于最佳讀取電壓準位已被使用,在步驟s1110,進入軟解碼模式解碼。由于硬解碼模式解碼與軟解碼模式解碼已說明于上,在此便不贅述。圖12是根據本發明的另一范例實施例所示出的解碼方法的流程圖。請參照圖12,在步驟s1201中,基于一讀取電壓準位讀取目標實體單元以獲得目標數據。在步驟s1202中,對目標數據執行硬解碼模式的一解碼操 作。在步驟s1203中,判斷解碼操作是否成功(或失敗)。若解碼操作成功,在步驟s1204中,輸出解碼成功的數據。若解碼操作不成功(即失敗),在步驟s1205中,判斷是否還有未檢查的候選電壓準位。若還有未檢查的候選電壓準位(即步驟s1205判斷為是),在步驟s1206中,基于尚未檢查的一候選電壓準位讀取驗證實體單元以獲得輔助數據。在步驟s1207中,根據輔助數據與驗證數據獲得評估參數。在步驟s1208中,判斷步驟s1207中所獲得的評估參數是否優于一預設評估參數。在此,某一評估參數優于預設評估參數表示對應于此評估參數的輔助數據的正確性高于對應于預設評估參數的輔助數據的正確性。例如,可通過比較兩者的翻轉比特計數來判斷哪一輔助數據的正確性較高。此外,在檢查第一個候選候選電壓準位時,由于尚未設定預設評估參數,故步驟s1209可直接被執行。若步驟s1208判斷為否,表示對應于預設評估參數的輔助數據的正確性較高,在步驟s1208之后,步驟s1205會被重復執行。若步驟s1205判斷為是,則步驟s1206~步驟s1208會被重復執行。若步驟s1208判斷為是,表示對應于步驟s1207所獲得的評估參數的輔助數據的正確性較高,在步驟s1209中,將所獲得的評估參數設定為預設評估參數。在步驟s1210中,根據預設評估參數決定一最佳讀取電壓準位。在步驟s1210之后,步驟s1201會被重復執行,以基于最佳讀取電壓準位讀取同一目標實體單元以獲得目標數據。在步驟s1202中,對目標數據執行硬解碼模式的解碼操作。在步驟s1203中,判斷解碼操作是否成功(或失敗)。若解碼操作成功,在步驟s1204中,輸出解碼成功的數據。若解碼操作不成功(即失敗),在步驟s1205中,判斷是否還有未檢查的候選電壓準位。若是,步驟s1206等會被重復執行,在此便不贅述。若所有候選電壓準位都已被檢查且所對應的輔助數據都已獲得(即步驟s1205判斷為否),在步驟1211中,進入軟解碼模式解碼。然而,圖10至圖12中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖10至圖12中各步驟可以實作為多個程序碼或是電路,本發明不加以限制。此外,圖10至圖12的方法可以搭配以上范例實施例使用,也可以單獨使用,本發明不加以限制。綜上所述,一個讀取電壓準位會先被用來讀取目標實體單元以獲得目標 數據并且此目標數據會被解碼。若對目標數據的解碼操作失敗,多個候選電壓準位會被用來讀取驗證實體單元以獲得輔助數據。在依序將所獲得的輔助數據與原先被用來存儲至驗證實體單元的驗證數據比對之后,多個評估參數會被獲得。根據所獲得的評估參數,另一讀取電壓準位會被決定并且被用來再次讀取相同的目標實體單元。借此,可提升所讀取的數據的正確性,改善存儲器存儲裝置的解碼效率。最后應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍。當前第1頁12當前第1頁12