TWI670715B - 解碼方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents
解碼方法、記憶體儲存裝置及記憶體控制電路單元 Download PDFInfo
- Publication number
- TWI670715B TWI670715B TW106111497A TW106111497A TWI670715B TW I670715 B TWI670715 B TW I670715B TW 106111497 A TW106111497 A TW 106111497A TW 106111497 A TW106111497 A TW 106111497A TW I670715 B TWI670715 B TW I670715B
- Authority
- TW
- Taiwan
- Prior art keywords
- bit
- reliability information
- memory
- likelihood ratio
- log likelihood
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Computer Security & Cryptography (AREA)
Abstract
一種解碼方法、記憶體儲存裝置及記憶體控制電路單元,所述方法包括:從多個第一記憶胞讀取多個位元;根據第一可靠度資訊對所述位元執行第一解碼操作;以及若第一解碼操作失敗且符合預設條件,根據第二可靠度資訊對所述位元執行第二解碼操作,其中第二可靠度資訊不同於第一可靠度資訊,且第二可靠度資訊對於所述位元中的第一類錯誤的更正能力高於第一可靠度資訊對於所述第一類錯誤的更正能力。此外,所述第一類錯誤是基於錯誤資料對第一記憶胞執行特定程式化操作而產生的。
Description
本發明是有關於一種解碼技術,且特別是有關於一種解碼方法、記憶體儲存裝置及記憶體控制電路單元。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
許多記憶體控制器配置有錯誤檢查與校正電路。此錯誤檢查與校正電路用以對從可複寫式非揮發性記憶體模組中讀取出的資料進行錯誤檢查與更正。然而,基於現有的錯誤檢查與校正機制,某些特定類型的錯誤(例如,在可複寫式非揮發性記憶體模組中進行資料的重複寫入或搬移而引起的錯誤)不容易被找到,使得解碼失敗的機率增加。
本發明提供一種解碼方法、記憶體儲存裝置及記憶體控制電路單元,可提高解碼效率。
本發明的一範例實施例提供一種解碼方法,其用於包括多個記憶胞的可複寫式非揮發性記憶體模組,所述記憶胞包括多個第一記憶胞,所述第一記憶胞中的每一個記憶胞儲存有第一資料位元與第二資料位元,所述第一資料位元的位元值對應於第一程式化操作的程式化結果,所述第二資料位元的位元值對應於第二程式化操作的程式化結果,所述第二程式化操作是基於所述第一程式化操作的所述程式化結果而執行。所述解碼方法包括:發送第一讀取指令序列,其用以指示從所述第一記憶胞讀取多個位元;根據第一可靠度資訊對所述位元執行第一解碼操作;以及若所述第一解碼操作失敗且所述第一解碼操作符合預設條件,根據第二可靠度資訊對所述位元執行第二解碼操作,其中所述第二可靠度資訊不同於所述第一可靠度資訊,且所述第二可靠度資訊對於所述位元中的第一類錯誤的更正能力高於所述第一可靠度資訊對於所述第一類錯誤的更正能力,其中所述第一類錯誤是基於錯誤資料對所述第一記憶胞執行所述第二程式化操作而產生。
在本發明的一範例實施例中,根據所述第二可靠度資訊對所述位元執行所述第二解碼操作的步驟包括:基於所述第一可靠度資訊動態產生所述第二可靠度資訊。
在本發明的一範例實施例中,在執行所述第二解碼操作之前,所述第二可靠度資訊不儲存於記憶體儲存裝置中,其中所述記憶體儲存裝置包括所述可複寫式非揮發性記憶體模組與錯誤檢查與校正電路,且所述第一解碼操作與所述第二解碼操作是由所述錯誤檢查與校正電路執行。
本發明的另一範例實施例提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。所述連接介面單元用以耦接至主機系統。所述可複寫式非揮發性記憶體模組包括多個記憶胞。所述記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組。所述記憶胞包括多個第一記憶胞,所述第一記憶胞中的每一個記憶胞儲存有第一資料位元與第二資料位元,所述第一資料位元的位元值對應於第一程式化操作的程式化結果,所述第二資料位元的位元值對應於第二程式化操作的程式化結果,且所述第二程式化操作是基於所述第一程式化操作的所述程式化結果而執行。所述記憶體控制電路單元用以發送第一讀取指令序列,其用以指示從所述第一記憶胞讀取多個位元。所述記憶體控制電路單元更用以根據第一可靠度資訊對所述位元執行第一解碼操作。若所述第一解碼操作失敗且所述第一解碼操作符合預設條件,所述記憶體控制電路單元更用以根據第二可靠度資訊對所述位元執行第二解碼操作,其中所述第二可靠度資訊不同於所述第一可靠度資訊,且所述第二可靠度資訊對於所述位元中的第一類錯誤的更正能力高於所述第一可靠度資訊對於所述第一類錯誤的更正能力,其中所述第一類錯誤是所述可複寫式非揮發性記憶體模組基於錯誤資料對所述第一記憶胞執行所述第二程式化操作而產生的。
在本發明的一範例實施例中,所述記憶體控制電路單元根據所述第二可靠度資訊對所述位元執行所述第二解碼操作的操作包括:基於所述第一可靠度資訊動態產生所述第二可靠度資訊。
在本發明的一範例實施例中,在所述記憶體控制電路單元執行所述第二解碼操作之前,所述第二可靠度資訊不儲存於所述記憶體儲存裝置中。
本發明的另一範例實施例提供一種記憶體控制電路單元,其用於控制包括多個記憶胞的可複寫式非揮發性記憶體模組,其中所述記憶體控制電路單元包括主機介面、記憶體介面、錯誤檢查與校正電路及記憶體管理電路。所述主機介面用以耦接至主機系統。所述記憶體介面用以耦接至所述可複寫式非揮發性記憶體模組。所述記憶體管理電路耦接至所述主機介面、所述記憶體介面及所述錯誤檢查與校正電路。所述記憶胞包括多個第一記憶胞,所述第一記憶胞中的每一個記憶胞儲存有第一資料位元與第二資料位元,所述第一資料位元的位元值對應於第一程式化操作的程式化結果,所述第二資料位元的位元值對應於第二程式化操作的程式化結果,且所述第二程式化操作是基於所述第一程式化操作的所述程式化結果而執行。所述記憶體管理電路用以發送第一讀取指令序列,其用以指示從所述第一記憶胞讀取多個位元。所述錯誤檢查與校正電路用以根據第一可靠度資訊對所述位元執行第一解碼操作。所述若所述第一解碼操作失敗且所述第一解碼操作符合預設條件,所述錯誤檢查與校正電路更用以根據第二可靠度資訊對所述位元執行第二解碼操作,其中所述第二可靠度資訊不同於所述第一可靠度資訊,且所述第二可靠度資訊對於所述位元中的第一類錯誤的更正能力高於所述第一可靠度資訊對於所述第一類錯誤的更正能力,其中所述第一類錯誤是所述可複寫式非揮發性記憶體模組基於錯誤資料對所述第一記憶胞執行所述第二程式化操作而產生的。
在本發明的一範例實施例中,所述第一可靠度資訊包括所述位元中的第一位元的第一對數可能性比值,所述第二可靠度資訊包括所述第一位元的第二對數可能性比值,且所述第二對數可能性比值的絕對值小於所述第一對數可能性比值的絕對值。
在本發明的一範例實施例中,所述第一可靠度資訊更包括所述位元中的第二位元的第三對數可能性比值,所述第二可靠度資訊更包括所述第二位元的第四對數可能性比值,且所述第四對數可能性比值的絕對值小於所述第三對數可能性比值的絕對值,其中所述第一對數可能性比值的所述絕對值與所述第二對數可能性比值的所述絕對值之間具有第一差值,所述第三對數可能性比值的所述絕對值與所述第四對數可能性比值的所述絕對值之間具有第二差值,且所述第一差值不同於所述第二差值。
在本發明的一範例實施例中,所述第一對數可能性比值的所述絕對值與所述第二對數可能性比值的所述絕對值之間的差值正相關於所述第一對數可能性比值的所述絕對值。
在本發明的一範例實施例中,所述第一可靠度資訊包括第一收斂參數,且所述第二可靠度資訊包括第二收斂參數,其中所述第一收斂參數的值影響所述位元中的第一位元的位元值在所述第一解碼操作中被改變的機率,所述第二收斂參數的值影響所述第一位元的所述位元值在所述第二解碼操作中被改變的機率,且所述第二收斂參數不同於所述第一收斂參數。
在本發明的一範例實施例中,所述錯誤檢查與校正電路根據所述第二可靠度資訊對所述位元執行所述第二解碼操作的操作包括:基於所述第一可靠度資訊動態產生所述第二可靠度資訊。
在本發明的一範例實施例中,在所述錯誤檢查與校正電路執行所述第二解碼操作之前,所述第二可靠度資訊不儲存於記憶體儲存裝置中,其中所述記憶體儲存裝置包括所述記憶體控制電路單元與所述可複寫式非揮發性記憶體模組。
在本發明的一範例實施例中,所述第二可靠度資訊對於所述位元中的第二類錯誤的更正能力低於所述第一可靠度資訊對於所述第二類錯誤的更正能力,其中所述第二類錯誤不是所述可複寫式非揮發性記憶體模組基於所述錯誤資料對所述第一記憶胞執行所述第二程式化操作而產生的。
在本發明的一範例實施例中,所述第一程式化操作是對於所述記憶胞中的至少一第二記憶胞執行,所述第二程式化操作是對於所述第一記憶胞執行,且所述第二記憶胞不屬於所述第一記憶胞。
在本發明的一範例實施例中,所述第一程式化操作與所述第二程式化操作皆是對於所述第一記憶胞執行。
基於上述,在從第一記憶胞讀取多個位元之後,對於所述位元的第一解碼操作會根據第一可靠度資訊而被執行。若第一解碼操作失敗且符合預設條件,表示所述位元中可能存在特定類型的錯誤。例如,所述特定類型的錯誤可能包括第一類錯誤,其是基於錯誤資料對所述第一記憶胞執行程式化操作而產生的。因此,對於所述位元的第二解碼操作會根據第二可靠度資訊而被執行,其中第二可靠度資訊不同於第一可靠度資訊。特別是,第二可靠度資訊對於所述位元中的第一類錯誤的更正能力會高於第一可靠度資訊對於所述第一類錯誤的更正能力。藉此,可提高解碼效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114皆耦接至系統匯流排(system bus)110。
在本範例實施例中,主機系統11是透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料儲存至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11是透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在本範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線方式耦接至記憶體儲存裝置10。記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的安全數位(Secure Digital, SD)卡32、小型快閃(Compact Flash, CF)卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded Multi Media Card, eMMC)341及/或嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)儲存裝置342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
連接介面單元402用以將記憶體儲存裝置10耦接至主機系統11。在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準、通用序列匯流排(Universal Serial Bus, USB)標準、SD介面標準、超高速一代(Ultra High Speed-I, UHS-I)介面標準、超高速二代(Ultra High Speed-II, UHS-II)介面標準、記憶棒(Memory Stick, MS)介面標準、MCP介面標準、MMC介面標準、eMMC介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、eMCP介面標準、CF介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
可複寫式非揮發性記憶體模組406中的每一個記憶胞是以電壓(以下亦稱為臨界電壓)的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,進而改變記憶胞的臨界電壓。此改變記憶胞之臨界電壓的操作亦稱為“把資料寫入至記憶胞”或“程式化(programming)記憶胞”。隨著臨界電壓的改變,可複寫式非揮發性記憶體模組406中的每一個記憶胞具有多個儲存狀態。透過施予讀取電壓可以判斷一個記憶胞是屬於哪一個儲存狀態,藉此取得此記憶胞所儲存的一或多個位元。
在本範例實施例中,可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元至少可被分類為下實體程式化單元與上實體程式化單元。例如,在一範例實施例中,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。然而,在另一範例實施例中,一記憶胞的最低有效位元(LSB)亦可以是屬於上實體程式化單元,並且一記憶胞的最高有效位元(MSB)亦可以是屬於下實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,及/或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。
在本範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面(page)或是實體扇(sector)。若實體程式化單元為實體頁面,則此些實體程式化單元通常包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤更正碼等管理資料)。在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊(block)。
圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504及記憶體介面506。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路502的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元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標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路502要存取可複寫式非揮發性記憶體模組406,記憶體介面506會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收操作等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路502產生並且透過記憶體介面506傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
在一範例實施例中,記憶體控制電路單元404還包括錯誤檢查與校正電路508、緩衝記憶體510與電源管理電路512。
錯誤檢查與校正電路508是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正操作以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路508會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正操作。
在本範例實施例中,錯誤檢查與校正電路508所使用的是低密度奇偶檢查碼(low density parity-check code,LDPC code)。然而,在另一範例實施例中,錯誤檢查與校正電路508所使用的也可以是BCH碼、迴旋碼(convolutional code)、渦輪碼(turbo code)等,本發明不加以限制。
緩衝記憶體510是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路512是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
圖6是根據本發明的一範例實施例所繪示的管理可複寫式非揮發性記憶體模組的示意圖。請參照圖6,記憶體管理電路502會將可複寫式非揮發性記憶體模組406的實體單元610(0)~610(B)邏輯地分組至儲存區601與替換區602。儲存區601中的實體單元610(0)~610(A)是用以儲存資料,而替換區602中的實體單元610(A+1)~610(B)則是用以替換儲存區601中損壞的實體單元。例如,若從某一個實體單元中讀取的資料所包含的錯誤過多而無法被更正時,此實體單元會被視為是損壞的實體單元。須注意的是,若替換區602中沒有可用的實體抹除單元,則記憶體管理電路502可能會將整個記憶體儲存裝置10宣告為寫入保護(write protect)狀態,而無法再寫入資料。
在本範例實施例中,每一個實體單元是指一個實體抹除單元。然而,在另一範例實施例中,一個實體單元亦可以是指一個實體位址、一個實體程式化單元或由多個連續或不連續的實體位址組成。記憶體管理電路502會配置邏輯單元612(0)~612(C)以映射儲存區601中的實體單元610(0)~610(A)。在本範例實施例中,每一個邏輯單元是指一個邏輯位址。然而,在另一範例實施例中,一個邏輯單元也可以是指一個邏輯程式化單元、一個邏輯抹除單元或者由多個連續或不連續的邏輯位址組成。此外,邏輯單元612(0)~612(C)中的每一者可被映射至一或多個實體單元。
在本範例實施例中,記憶體管理電路502會將邏輯單元與實體單元之間的映射關係(亦稱為邏輯-實體位址映射關係)記錄於至少一邏輯-實體位址映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路502可根據此邏輯-實體位址映射表來執行對於記憶體儲存裝置10的資料存取操作。
圖7是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分布的示意圖。圖8是根據本發明的一範例實施例所繪示的從記憶胞中讀取資料的示意圖。請參照圖7與圖8,以MLC NAND型快閃記憶體為例,基於不同的臨界電壓,每一記憶胞具有4種儲存狀態,並且此些儲存狀態分別地代表"11"、"10"、"01"與"00"等位元。換言之,每一個儲存狀態包括LSB以及MSB。在本範例實施例中,每一個儲存狀態中從左側算起之第1個位元為LSB,而從左側算起之第2個位元為MSB。因此,在此範例實施例中,每一記憶胞可儲存2個位元。必須瞭解的是,圖7所繪示的臨界電壓及其儲存狀態的對應僅為一個範例。在另一範例實施例中,臨界電壓與儲存狀態的對應亦可是隨著臨界電壓越大而以"11"、"10"、"00"與"01"排列,或是其他排列。此外,在另一範例實施例中,亦可定義從左側算起之第1個位元為MSB,而從左側算起之第2個位元為LSB。
記憶胞的讀取運作是藉由施予讀取電壓於控制閘極,藉由記憶胞通道的導通狀態,來識別記憶胞儲存之資料。以MLC NAND型快閃記憶體為例,驗證位元(VA)是用以指示施予讀取電壓VA時記憶胞通道是否為導通;驗證位元(VB)是用以指示施予讀取電壓VB時,記憶胞通道是否為導通;驗證位元(VC)是用以指示施予讀取電壓VC時,記憶胞通道是否為導通。在此假設驗證位元是“1”時表示對應的記憶胞通道導通,而驗證位元是“0”時表示對應的記憶胞通道沒有導通。如圖8所示,透過驗證位元(VA)~(VC)可以判斷記憶胞是處於哪一個儲存狀態,進而取得所儲存的位元。
圖9是根據本發明的另一範例實施例所繪示的從記憶胞中讀取資料的示意圖。請參照圖9,以TLC NAND型快閃記憶體為例,每一個儲存狀態代表一個記憶胞所儲存的3個位元。例如,在本範例實施例中,每一個儲存狀態包括從左側算起之第1個位元的LSB、從左側算起之第2個位元的中間有效位元(Center Significant Bit,CSB)以及從左側算起之第3個位元的MSB。在此範例實施例中,依照不同的臨界電壓,記憶胞具有8種儲存狀態(即,"111"、"110"、"101"、"100"、"011"、"010"、"001"與"000")。藉由施加讀取電壓VA~VG於控制閘極,可以識別記憶胞所儲存的位元。其中,值得說明的是,此8種儲存狀態之排列順序,可依製造商之設計而訂,本發明不加以限制。此外,在另一範例實施例中,一個記憶胞所儲存的3個位元中的某一個位元為LSB、CSB或MSB,可視實務上需求調整。
須注意的是,為了說明方便,在以下範例實施例中,若某一個記憶胞可儲存2個位元,則假設這2個位元中從左側算起之第1個位元為LSB並且屬於下實體程式化單元,而從左側算起之第2個位元為MSB並且屬於上實體程式化單元。此外,若某一個記憶胞可儲存3個位元,則假設這3個位元中從左側算起之第1個位元為LSB並且屬於下實體程式化單元,從左側算起之第2個位元為CSB並且屬於中實體程式化單元,並且從左側算起之第3個位元為MSB並且屬於上實體程式化單元。
在低密度奇偶檢查校正碼中,是用一個奇偶檢查矩陣來定義有效的碼字。以下將奇偶檢查矩陣標記為矩陣H
,並且一碼字標記為CW
。依照以下方程式(1),若奇偶檢查矩陣H
與碼字CW
的相乘是零向量,表示碼字CW
為有效的碼字。其中運算子表示模2(mod 2)的矩陣相乘。換言之,矩陣H
的零空間(null space)便包含了所有的有效碼字。然而,本發明並不限制碼字CW
的內容。例如,碼字CW
也可以包括用任意演算法所產生的錯誤更正碼或是錯誤檢查碼。
…(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
。
…(2)
由方程式(2)所產生的碼字CW
為有效的碼字。因此可將方程式(2)代入方程式(1),藉此得到以下方程式(3)。
…(3)
由於向量M
可以是任意的向量,因此以下方程式(4)必定會滿足。也就是說,在決定奇偶檢查矩陣H
以後,對應的產生矩陣G
也可被決定。
…(4)
在解碼一個碼字CW
時,會先對碼字中的資料位元執行一個奇偶檢查程序,例如將奇偶檢查矩陣H
與碼字CW
相乘以產生一個向量(以下標記為S ,
如以下方程式(5)所示)。若向量S
是零向量,則可直接輸出碼字CW
。若向量S
不是零向量,則表示碼字CW
不是有效的碼字。
…(5)
向量S
的維度是k
-乘-1
,其中每一個元素亦稱為校驗子(syndrome)。若碼字CW
不是有效的碼字,則錯誤檢查與校正電路1108會執行一個解碼程序(亦稱為解碼操作),以嘗試更正碼字CW
中的錯誤(即,錯誤位元)。
圖10是根據本發明的一範例實施例繪示奇偶檢查矩陣的示意圖。請參照圖10,一般來說,奇偶檢查矩陣H
可以表示為二分圖(bipartite graph)1030,其包括奇偶節點1032(1)~1032(k)與訊息節點1034(1)~1034(n)。每一個奇偶節點1032(1)~1032(k)是對應到一個校驗子,而每一個訊息節點1034(1)~1034(n)是對應一個資料位元。資料位元與校驗子之間的對應關係(即,訊息節點1034(1)~1034(n)與奇偶節點1032(1)~1032(k)之間的連結)是根據奇偶檢查矩陣H
所產生。具體來說,若奇偶檢查矩陣H
中第i
列(row)第j
行(column)的元素為1,則第i個奇偶節點1032(i)便會連接到第j
個訊息節點1034(j),其中i
與j
為正整數。
當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取n
個資料位元(形成一個碼字)時,則記憶體管理電路502也會取得每一個資料位元的可靠度資訊(亦稱為通道可靠度資訊)。此可靠度資訊是用以表示對應的資料位元被解碼為位元“1”或是“0”的機率(或稱信心度)。在二分圖1030中,訊息節點1034(1)~1034(n)也會接收到對應的可靠度資訊。例如,訊息節點1032(1)會接收第1個資料位元的可靠度資訊L1
,而訊息節點1032(j)會接收第j
個資料位元的可靠度資訊Lj
。
錯誤檢查與校正電路508會根據二分圖1030的結構與可靠度資訊L1
~Ln
來執行解碼操作。例如,此解碼操作會包括迭代解碼。在迭代解碼中,訊息節點1034(1)~1034(n)會計算出可靠度資訊給奇偶節點1032(1)~1032(k),並且奇偶節點1032(1)~1032(k)也會計算出可靠度資訊給訊息節點1034(1)~1034(n)。這些可靠度資訊會沿著這些二分圖1030中的邊(edge)來傳送。例如,奇偶節點1032(i)傳送給訊息節點1034(j)的是可靠度資訊,而訊息節點1034(j)傳送給奇偶節點1032(i)是可靠度資訊。這些可靠度資訊是用來表示一個節點認為某一個資料位元被解碼為“1”或是“0”的機率(即,信心度)。例如,可靠度資訊表示訊息節點1034(j)認為第j個資料位元被解碼為“1”或是“0”的信心度(可為正或是負),而可靠度資訊表示奇偶節點1032(i)認為第j個資料位元被解碼為“1”或是“0”的信心度。此外,訊息節點1034(1)~1034(n)與奇偶節點1032(1)~1032(k)會根據輸入的可靠度資訊來計算輸出的可靠度資訊,其近似於計算一個資料位元被解碼為“1”或是“0”的條件機率。因此,上述傳送可靠度資訊的過程又被稱為置信傳播(belief propagation)。
基於不同的演算法,訊息節點1034(1)~1034(n)及/或奇偶節點1032(1)~1032(k)會計算出不同的可靠度資訊。例如,錯誤檢查與校正電路508可以採用總和-乘積演算法(Sum-Product Algorithm)、最小值-總和演算法(Min-Sum Algorithm)、或是位元翻轉(bit-flipping Algorithm)等演算法,本發明不加以限制。
在迭代解碼的每一次迭代中,訊息節點1034(1)~1034(n)會傳遞可靠度資訊給奇偶節點1032(1)~1032(k),並且奇偶節點1032(1)~1032(k)也會傳遞可靠度資訊給訊息節點1034(1)~1034(n)。在每一次迭代過後,訊息節點1034(1)~1034(n)會根據目前的可靠度資訊計算出每一個資料位元應該被解碼為位元“1”或是“0”。在對這些計算出的資料位元執行奇偶檢查程序(例如,將資料位元所形成的碼字與奇偶檢查矩陣相乘)後,可判斷該碼字是否為有效的碼字。若所產生的碼字為有效的碼字,表示解碼成功並且迭代解碼會停止。然而,若所產生的碼字不是有效的碼字,則會進行下一次的迭代。若迭代解碼的迭代次數達到一個預設值,則表示解碼失敗並且迭代解碼也會停止。
在本範例實施例中,可靠度資訊包括對數可能性比值(Log Likelihood Ratio,LLR)。例如,圖10中的可靠度資訊L1
~Ln
、及分別是一個對數可能性比值。一般來說,某一個資料位元的對數可能性比值(可能是正或負的)的絕對值越大,表示此資料位元的可靠度越高。因此,此資料位元當前的位元值就有越高的機率被視為是正確的。反之,某一個資料位元的對數可能性比值的絕對值越小,則表示此資料位元的可靠度越低。因此,此資料位元當前的位元值就有越高的機率被視為是錯誤的並且在當前的迭代解碼中被更正。在一範例實施例中,迭代解碼中使用的可靠度資訊(例如,對數可能性比值)是藉由查表而獲得。然後,在另一範例實施例中,迭代解碼中使用的可靠度資訊亦可以是在迭代解碼中根據特定的演算法而動態地計算產生。
在可複寫式非揮發性記憶體模組406對於記憶胞的程式化操作中,若欲程式化的資料(即,欲儲存的資料)是正確的,則被程式化的記憶胞的臨界電壓可能會因不同記憶胞的損耗程度不一而發生小幅度的偏移。受到此偏移影響,後續從此記憶胞讀取的資料可能會存在錯誤。一般來說,這種錯誤有很高的機率可以由錯誤檢查與校正電路508執行解碼操作來加以更正。例如,錯誤檢查與校正電路508可以藉由小幅度地調整用於讀取此記憶胞的讀取電壓準位或執行幾次的迭代解碼操作即可有效糾錯。
圖11是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分佈發生變化的示意圖。請參照圖11,假設一開始可複寫式非揮發性記憶體模組406中的多個記憶胞的損耗程度很低(例如,此些記憶胞的P/E計數很小)。因此,在程式化可複寫式非揮發性記憶體模組406中的多個記憶胞後,一部分被程式化的記憶胞的臨界電壓屬於狀態1110,而另一部分被程式化的記憶胞的臨界電壓屬於狀態1120。若要讀取此些記憶胞中的至少一記憶胞所儲存的資料,記憶體管理電路502會發送一個讀取指令序列至可複寫式非揮發性記憶體模組406。根據此讀取指令序列,可複寫式非揮發性記憶體模組406會使用一個(預設的)讀取電壓準位Vdefault
來讀取此些記憶胞並且將所獲得的資料位元傳送給記憶體管理電路502。以每一個記憶胞儲存一個位元的位元資料為例,若某一個記憶胞的臨界電壓小於讀取電壓準位Vdefault
(例如,臨界電壓屬於分布1110的記憶胞),則記憶體管理電路502可能會讀到位元“1”;或者,若某一個記憶胞的臨界電壓大於讀取電壓準位Vdefault
(例如,臨界電壓屬於分布1120的記憶胞),則記憶體管理電路502可能會讀到位元“0”。
然而,隨著可複寫式非揮發性記憶體模組406的使用時間增加(例如,P/E計數增加)及/或操作環境改變,可複寫式非揮發性記憶體模組406中的記憶胞可能會發生性能衰退(degradation)。例如,在屬於分佈1110與1120的記憶胞發生性能衰退後,狀態1110與1120可能會逐漸相互靠近甚至相互重疊。例如,狀態1111與1121分別用來表示性能衰退後的狀態1110與1120。相對於狀態1110與1120,狀態1111與1121包含一個重疊區域1131(以斜線表示)。
發生性能衰退後,若持續使用相同的讀取電壓準位Vdefault
來讀取此些記憶胞,則讀取到的資料位元可能會包含許多錯誤。例如,此些錯誤包括將屬於狀態1111的記憶胞誤判為屬於狀態1121,及/或將屬於狀態1121的記憶胞誤判為屬於狀態1111。在一範例實施例中,錯誤檢查與校正電路508會根據所獲得的資料位元執行一預設解碼操作(亦稱為第一預設解碼操作),從而嘗試快速地更正資料位元中的錯誤。在一範例實施例中,第一預設解碼操作亦稱為硬位元模式(hard-bit mode)解碼操作,並且硬位元模式解碼操作是用於解碼所讀取的硬位元。
圖12是根據本發明的一範例實施例所繪示的硬位元模式解碼操作的示意圖。請參照圖12,假設可複寫式非揮發性記憶體模組406中一部分被程式化的記憶胞的臨界電壓屬於狀態1210,而另一部分被程式化的記憶胞的臨界電壓屬於狀態1220。當欲讀取儲存於此些記憶胞中的資料時,記憶體管理電路502會發送一個讀取指令序列(亦稱為硬決策讀取指令序列)至可複寫式非揮發性記憶體模組406。根據此硬決策讀取指令序列,可複寫式非揮發性記憶體模組406會使用一個硬決策讀取電壓準位(例如,讀取電壓準位VH1
)來讀取此些記憶胞並且將所獲得的資料位元(例如,硬位元HB1
)傳送給記憶體管理電路502。
錯誤檢查與校正電路508會根據所獲得的硬位元HB1
執行硬位元模式解碼操作,以嘗試更正此些硬位元HB1
中可能存在的錯誤。若錯誤皆被更正,表示解碼成功,則錯誤檢查與校正電路508會輸出解碼成功的位元。若錯誤並未全部被更正,表示解碼失敗,則記憶體管理電路502會調整硬決策讀取電壓準位(例如,將硬決策讀取電壓準位從讀取電壓準位VH1
調整為讀取電壓準位VH2
)並且發送另一個硬決策讀取指令序列至可複寫式非揮發性記憶體模組406。根據此硬決策讀取指令序列,可複寫式非揮發性記憶體模組406會使用讀取電壓準位VH2
來再次讀取此些記憶胞並且將所獲得的資料位元(例如,硬位元HB2
)傳送給記憶體管理電路502。
錯誤檢查與校正電路508會根據所獲得的硬位元HB2
再次執行硬位元模式解碼操作,以嘗試更正此些硬位元HB2
中可能存在的錯誤。若錯誤皆被更正,表示解碼成功,則錯誤檢查與校正電路508會輸出解碼成功的位元。此外,若錯誤並未全部被更正,則記憶體管理電路502可再次調整用來讀取此些記憶胞的硬決策讀取電壓準位並且更多的硬位元模式解碼操作可被執行。
請回到圖11,對於臨界電壓屬於狀態1111與1121的記憶胞來說,若持續地使用此些記憶胞,則此些記憶胞可能會持續地發生性能衰退。例如,狀態1111與1121可能會進一步改變為狀態1112與1122。例如,狀態1112與1122包含一個重疊區域1141(以斜線表示)。重疊區域1141的面積會大於重疊區域1131的面積。或者,臨界電壓屬於重疊區域1141的記憶胞之總數會多於臨界電壓屬於重疊區域1131的記憶胞之總數。此時,受限於硬位元模式解碼操作的解碼能力(或錯誤更正能力),即便使用再多的硬決策讀取電壓準位來讀取記憶胞並對應執行再多次的硬解碼程序,可能都無法藉由單次讀取的硬位元來更正所有錯誤。
在一範例實施例中,對於臨界電壓屬於狀態1112與1122(或類似分佈)的記憶胞,錯誤檢查與校正電路508會根據所獲得的資料位元執行另一預設解碼操作(亦稱為第二預設解碼操作),從而嘗試使用更多資訊來偵錯。在一範例實施例中,第二預設解碼操作亦稱為軟位元模式(soft-bit mode)解碼操作,並且軟位元模式解碼操作是用於解碼所讀取的軟位元。
圖13是根據本發明的一範例實施例所繪示的軟位元模式解碼操作的示意圖。請參照圖13,記憶體管理電路502會發送一個讀取指令序列(亦稱為軟決策讀取指令序列)至可複寫式非揮發性記憶體模組406。根據此軟決策讀取指令序列,可複寫式非揮發性記憶體模組406會使用多個讀取電壓準位VS1
~VS5
(亦稱為軟決策讀取電壓準位)來讀取此些記憶胞並且將所獲得的資料位元(例如,軟位元資訊1331)傳送給記憶體管理電路502。其中,所獲得的軟位元資訊1331會包含從某一個記憶胞讀取的多個軟位元SB1
~SB5
。
在一範例實施例中,在傳送軟位元資訊給記憶體管理電路502之前,可複寫式非揮發性記憶體模組406會將對應於同一個記憶胞的至少部分軟位元作邏輯運算,以減少所需傳送的軟位元的總數。以圖13為例,可複寫式非揮發性記憶體模組406可對應於某一個記憶胞的軟位元SB2
與SB3
作邏輯上的異或(Exclusive OR, XOR)運算以獲得第一運算結果,對應於此記憶胞的軟位元SB4
與SB5
作邏輯上的異或運算以獲得第二運算結果,並且將此記憶胞的軟位元SB1
、第一運算結果及第二運算結果作為對應於此記憶胞的軟位元資訊1341傳送給記憶體管理電路502。其中,第一運算結果及第二運算結果也可分別視為是一個軟位元。相對於傳送軟位元資訊1331,由於軟位元資訊1341所包含的軟位元之總數較少,軟位元資訊1341可以更快地傳送給記憶體管理電路502。此外,軟位元資訊1331或1341也可以用來判斷某一個記憶胞的臨界電壓是屬於圖13中的電壓區間1301~1306中的哪一個。
在圖13的一範例實施例中,讀取電壓準位VS1
~VS5
的其中之一會被設定為正負號(sign)讀取電壓準位。此正負號讀取電壓準位是用來決定資料位元的位元值。例如,若讀取電壓準位VS3
為正負號讀取電壓,則資料位元的位元值會相同於軟位元SB3
的位元值;若讀取電壓準位VS2
為正負號讀取電壓,則資料位元的位元值會相同於驗證位元軟位元SB2
的位元值,以此類推。
在一範例實施例中,錯誤檢查與校正電路508會根據某一個資料位元所對應的軟位元資訊來獲得此資料位元的可靠度資訊。例如,在圖13的一範例實施例中,若對應於某一個資料位元的軟位元資訊為“100”,則錯誤檢查與校正電路508會根據此軟位元資訊查詢一查找表,以獲得對應於電壓區間1301的對數可能性比值。此對數可能性比值會被視為是此資料位元的可靠度資訊。然後,錯誤檢查與校正電路508會根據此資料位元與此資料位元的可靠度資訊執行軟位元模式解碼操作。此外,此資料位元的可靠度資訊亦可能在軟位元模式解碼操作中經由查詢其他的查找表或動態產生而被更新至少一次。關於軟位元模式解碼操作的細節可參照圖10的範例實施例,在此便不贅述。
須注意的是,根據上述關於硬位元模式解碼操作與軟位元模式解碼操作的說明可知,若資料位元中的錯誤只是單純地因為記憶胞的臨界電壓發生小幅度的偏移而產生(例如,存在於圖11中重疊區域1131或1141),則錯誤檢查與校正電路508執行硬位元模式解碼操作或軟位元模式解碼操作可有效地加以更正。以圖13為例,若某一個資料位元所對應的記憶胞的臨界電壓越接近狀態1310與1320之間的V形處(例如,位於電壓區間1303或1304),則配置給此資料位元的對數可能性比值的絕對值可能會越小;反之,若某一個資料位元所對應的記憶胞的臨界電壓越遠離狀態1310與1320之間的V形處(例如,位於電壓區間1301或1306),則配置給此資料位元的對數可能性比值的絕對值可能會越大。
一般來說,相對於對數可能性比值的絕對值較大(例如,14)的資料位元,對數可能性比值的絕對值較小(例如,1)的資料位元較容易被視為是錯誤位元並且被更新其位元值。因此,根據資料位元的對數可能性比值的分布狀態,資料位元中的錯誤會逐漸地被更正。但是,根據實務經驗,某些類型的錯誤難以經由常規的硬位元模式解碼操作或軟位元模式解碼操作來偵測。
圖14是根據本發明的一範例實施例所繪示的程式化記憶胞的示意圖。須注意的是,圖14的操作情境亦可套用至TLC NAND型記憶胞或其他類型之用於儲存兩個以上之資料位元的記憶胞。請參照圖14,假設可複寫式非揮發性記憶體模組406中的多個記憶胞為MLC NAND型記憶胞。在程式化此些記憶胞前,此些記憶胞的臨界電壓皆屬於狀態1400。屬於狀態1400的記憶胞亦可視為處於抹除狀態“ERA”。在程式化此些記憶胞時,一個程式化操作(亦稱為第一程式化操作)會先被執行。在第一程式化操作中,電子會被注入此些記憶胞。例如,第一程式化操作可視為是用以將部分資料存入此些記憶胞。
在完成第一程式化操作之後,另一個程式化操作(亦稱為第二程式化操作)會接續被執行,以再次將更多的電子注入至部分的記憶胞,從而完成此些記憶胞的程式化操作。須注意的是,第二程式化操作是基於第一程式化操作的程式化結果而執行的。例如,在執行第二程式化操作之前,每一個記憶胞所儲存的資料會被從相應的記憶胞中讀取出來。然後,在第二程式化操作中,所讀取的資料與部分尚未儲存的資料會同時被存入記憶胞中。
在一範例實施例中,經第二程式化操作的每一個記憶胞會被視為儲存有2個資料位元。以下為了說明方便,將經過第二程式化操作的每一個記憶胞視為儲存有第一資料位元與第二資料位元,並且將為了執行第二程式化操作而從特定記憶胞中讀取的資料稱為第三資料位元。須注意的是,第一資料位元的位元值會對應於第一程式化操作的程式化結果,並且第二資料位元的位元值會對應於第二程式化操作的程式化結果。
回到圖14,在理想狀態下,經第一程式化操作的記憶胞的臨界電壓會屬於狀態1410(例如,儲存位元“1”)或1420(例如,儲存位元“0”)。例如,狀態1410與1420可用以表示第一程式化操作的程式化結果。對應於狀態1410與1420,若使用讀取電壓準位VB來讀取此些記憶胞,則可以正確地讀取到此些記憶胞所儲存的資料(即,第三資料位元)。根據讀到的第三資料位元,在對於此些記憶胞的第二程式化操作中,每一個記憶胞的臨界電壓會被程式化至屬於狀態1431~1434的其中之一。例如,若使用讀取電壓準位VB從某一記憶胞讀取的第三資料位元為位元“1”,則在對此記憶胞執行第二程式化操作之後,此記憶胞的臨界電壓會屬於狀態1431或1432,視欲儲存於此記憶胞的第二資料位元的位元值而定。或者,若使用讀取電壓準位VB從某一記憶胞讀取的第三資料位元為位元“0”,則在對此記憶胞執行第二程式化操作之後,此記憶胞的臨界電壓會屬於狀態1433或1434,視欲儲存於此記憶胞的第二資料位元的位元值而定。
在本範例實施例中,臨界電壓屬於狀態1431的每一個記憶胞是用以儲存位元“11”,其中第一資料位元與第二資料位元的位元值皆為“1”;臨界電壓屬於狀態1432的每一個記憶胞是用以儲存位元“10”,其中第一資料位元與第二資料位元的位元值分別為“1”與“0”;臨界電壓屬於狀態1433的每一個記憶胞是用以儲存位元“01”,其中第一資料位元與第二資料位元的位元值分別為“0”與“1”;並且臨界電壓屬於狀態1434的每一個記憶胞是用以儲存位元“00”,其中第一資料位元與第二資料位元的位元值皆為“0”。
但是,實際上若記憶胞的損耗程度較高,則經第一程式化操作的記憶胞的臨界電壓可能會屬於狀態1411(例如,儲存位元“1”)或1421(例如,儲存位元“0”)。例如,狀態1411與1421同樣用以表示第一程式化操作的程式化結果。對應於狀態1411與1421,若在執行第二程式化操作之前使用讀取電壓準位VB來讀取此些記憶胞,則部份讀取到的第三資料位元可能是錯的。根據讀取到的錯誤的第三資料位元,在第二程式化操作中,原先應該被程式化為屬於狀態1431以儲存位元“11”的記憶胞可能被錯誤地程式化為屬於狀態1433而儲存位元“01”;或者,原先應該被程式化為屬於狀態1432以儲存位元“10”的記憶胞也可能被錯誤地程式化為屬於狀態1434而儲存位元“00”。換言之,部分記憶胞所儲存的第一資料位元的位元值可能會受到錯誤的第三資料位元影響而發生錯誤。
例如,若某一個記憶胞的臨界電壓屬於狀態1411中的斜線區域,則此記憶胞實際上儲存的資料是位元“1”,但根據讀取電壓準位VB從此記憶胞讀取的第三資料位元卻是位元“0”。然後,在第二程式化操作中,根據這個錯誤的第三資料位元(即,位元“0”)與另一欲儲存的資料(例如,位元“1”),此記憶胞的臨界電壓可能會被錯誤地程式化為屬於一錯誤狀態(例如,狀態1433)。換言之,在此範例中,此記憶胞的臨界電壓應當被程式化為屬於狀態1431以儲存正確的兩個資料位元(例如,位元“11”)。但是,基於所讀取到的錯誤資料(例如,錯誤的第三資料位元),此記憶胞會在第二程式化操作中被錯誤地程式化為儲存有錯誤的第一資料位元(例如,位元“0”)與正確的第二資料位元(例如,位元“1”)。或者,在第二程式化操作中,根據錯誤的第三資料位元(例如,位元“0”)與另一欲儲存的資料(例如,位元“0”),一個記憶胞的臨界電壓可能會被錯誤地程式化為屬於另一錯誤狀態(例如,狀態1434)。一般來說,若待解碼的資料中存在上述基於錯誤資料(例如,錯誤的第三資料位元)而在第二程式化操作中引起的錯誤,往往難以透過調整讀取電壓準位(例如,圖14中的讀取電壓準位VA或VC)或常規的解碼機制來找到,使得解碼操作失敗。
在本範例實施例中,記憶體管理電路502會發送一個讀取指令序列(亦稱為第一讀取指令序列)至可複寫式非揮發性記憶體模組406,其用以指示可複寫式非揮發性記憶體模組406從多個記憶胞(亦稱為第一記憶胞)讀取多個位元。例如,所讀取的位元即為資料位元。錯誤檢查與校正電路508會根據可靠度資訊(亦稱為第一可靠度資訊)對此些位元執行一個解碼操作(亦稱為第一解碼操作)。若第一解碼操作失敗且第一解碼操作符合一個預設條件,錯誤檢查與校正電路508會根據另一可靠度資訊(亦稱為第二解碼操作)對此些位元執行另一解碼操作(亦稱為第二解碼操作)。須注意的是,第二可靠度資訊不同於第一可靠度資訊,且第二可靠度資訊對於此些位元中的第一類錯誤的更正能力會高於第一可靠度資訊對於第一類錯誤的更正能力。此外,所述第一類錯誤是指基於錯誤資料對此些第一記憶胞執行上述第二程式化操作而產生的錯誤。
在一範例實施例中,所述錯誤資料包括經由讀取可複寫式非揮發性記憶體模組406中的至少一第二記憶胞而獲得的資料。在一範例實施例中,第二記憶胞與第一記憶胞是指相同的記憶胞。例如,在圖14的一範例實施例中,所述錯誤資料包括在對第一記憶胞執行第二程式化操作之前藉由讀取第一記憶胞而獲得的錯誤的第三資料位元。此外,在另一範例實施例中,第二記憶胞不屬於第一記憶胞。亦即,第二記憶胞與第一記憶胞是指不同的記憶胞。例如,在搬移資料的過程中,可複寫式非揮發性記憶體模組406可能會從某些記憶胞(即,第二記憶胞)中讀取到錯誤資料並藉由第二程式化操作將此錯誤資料儲存至其他的記憶胞(即第一記憶胞)中,從而引起所述第一類錯誤。
在一範例實施例中,若可複寫式非揮發性記憶體模組406支援兩種程式化模式,例如,第一程式化模式與第二程式化模式,則可複寫式非揮發性記憶體模組406可能會在第一程式化操作中使用第一程式化模式將資料(例如,來自主機系統11的資料)程式化至第二記憶胞中。然後,在特定時間點(例如,使用第一程式化模式來儲存的資料的資料量達到一預設容量時),可複寫式非揮發性記憶體模組406會將資料從此些已於第一程式化操作中使用第一程式化模式來程式化的第二記憶胞讀取出來,並且切換為在第二程式化操作中將讀取出來的資料使用第二程式化模式程式化至第一記憶胞中。在一範例實施例中,所述從已使用第一程式化模式來程式化的第二記憶胞讀取出來的資料亦可視為上述第三資料位元,並且第三資料位元的位元值會對應於第一程式化操作的程式化結果。在此情況下,若根據第一程式化操作之程式化結果所讀取的資料存在錯誤(即,讀到錯誤的第三資料位元),則此錯誤亦有可能在第二程式化操作中引發上述第一類錯誤。
在一範例實施例中,第一程式化模式是指單層記憶胞(single layer memory cell, SLC)模式、下實體程式化(lower physical programming)模式、混合程式化(mixture programming)模式及少層記憶胞(less layer memory cell)模式的其中之一。在單層記憶胞模式中,一個記憶胞只儲存一個位元的資料。在下實體程式化模式中,只有下實體程式化單元會被程式化,而此下實體程式化單元所對應之上實體程式化單元可不被程式化。在混合程式化模式中,有效資料(或,真實資料)會被程式化於下實體程式化單元中,而同時虛擬資料(dummy data)會被程式化至儲存有效資料之下實體程式化單元所對應的上實體程式化單元中。在少層記憶胞模式中,一個記憶胞儲存一第一數目之位元的資料。例如,此第一數目可設為“1”。
在一範例實施例中,第二程式化模式是指多階記憶胞(MLC)程式化模式、複數階(TLC)記憶胞程式化模式或類似模式。在第二程式化模式中,一個記憶胞儲存有一第二數目之位元的資料,其中此第二數目等於或大於“2”。例如,此第二數目可設為2或3。在另一範例實施例中,上述第一程式化模式中的第一數目與第二程式化模式中的第二數目皆可以是其他數目,只要滿足第二數目大於第一數目即可。
在第二記憶胞不屬於第一記憶胞的一範例實施例中,圖14的分布1411與1421亦可用於表示對第二記憶胞執行的第一程式化操作的程式化結果,並且圖14的分布1431~1434亦可用於表示對第一記憶胞執行的第二程式化操作的程式化結果。此外,在圖14的一範例實施例中,經第二程式化操作的每一個第一記憶胞亦可以是儲存有3個或更多的資料位元,本發明不加以限制。
在一範例實施例中,在可複寫式非揮發性記憶體模組406中執行垃圾回收操作以收集有效資料時,從部份記憶胞讀取的有效資料亦可視為上述第三資料位元並且可能包含錯誤資料。在將此有效資料回存至可複寫式非揮發性記憶體模組406時,也可能引起所述第一類錯誤。例如,有效資料可視為是從第二記憶胞中收集並且被回存至第一記憶胞中。
在一範例實施例中,第一資料位元與第二資料位元亦可分別稱為下頁位元與上頁位元。在一範例實施例中,所述第一類錯誤(只)會發生於下頁位元。例如,在儲存兩個或三個位元的記憶胞中,所述下頁位元(或第一資料位元)為LSB或屬於下實體程式化單元的位元。
在一範例實施例中,第一解碼操作與第二解碼操作皆為圖13的範例實施例中提及的第二預設解碼操作(即,軟位元模式解碼操作)。在一範例實施例中,第一解碼操作符合一個預設條件是指已執行的第一解碼操作之次數達到一預設次數、已切換使用一預設數目的第一可靠度資訊(例如,對數可能性比值)、及/或已查詢此預設數目的查找表以獲得第一可靠度資訊。此外,在一範例實施例中,第一解碼操作符合一個預設條件則是指可用於獲得第一可靠度資訊的查找表已經用盡。
在一範例實施例中,所述第一類錯誤亦稱為高信賴度錯誤。由於欲儲存之資料本身即存在錯誤(例如,錯誤的第三資料位元),因此在基於此錯誤資料來執行第二程式化操作以程式化記憶胞之後,從此記憶胞讀取之資料位元(例如,經由第二程式化操作存入的第一資料位元及/或第二資料位元)的可靠度可能會很高(例如,配置給此資料位元的對數可能性比值的絕對值可能很大),使得第一解碼操作始終不會將此資料位元視為錯誤位元。
在一範例實施例的某一個第一解碼操作中,待解碼之資料位元中的某一個位元(亦稱為第一位元)具有一對數可能性比值(亦稱為第一對數可能性比值)。在判定第一解碼操作失敗且符合預設條件之後,錯誤檢查與校正電路508會配置另一對數可能性比值(亦稱為第二對數可能性比值)給此第一位元。須注意的是,第二對數可能性比值的絕對值會小於第一對數可能性比值的絕對值。藉此,在第二解碼操作中,由於第一位元的對數可能性比值的絕對值變小,此第一位元被視為錯誤位元的機率可被提高。在一範例實施例中,若第一解碼操作的失敗原因就是因為此第一位元始終沒有被視為錯誤位元,則可能因為在第二解碼操作中降低了此第一位元的位元值而使得第二解碼操作成功完成。
在一範例實施例的某一個第一解碼操作中,待解碼之資料位元中的另一個位元(亦稱為第二位元)也具有一對數可能性比值(亦稱為第三對數可能性比值)。在配置第二對數可能性比值給第一位元的同時,錯誤檢查與校正電路508也會配置另一對數可能性比值(亦稱為第四對數可能性比值)給此第二位元。第四對數可能性比值的絕對值也會小於第三對數可能性比值的絕對值。須注意的是,第一對數可能性比值的絕對值與第二對數可能性比值的絕對值之間具有一差值(亦稱為第一差值),第三對數可能性比值的絕對值與第四對數可能性比值的絕對值之間也具有一差值(亦稱為第二差值),且第一差值不同於第二差值。換言之,在執行某一個第二解碼操作之前,錯誤檢查與校正電路508會不均勻地降低待解碼之資料位元中不同位元的對數可能性比值之絕對值。
在一範例實施例,在不均勻地降低待解碼之資料位元中不同位元的對數可能性比值之絕對值的操作中,某一個資料位元的對數可能性比值之絕對值的下降幅度正相關於此對數可能性比值的絕對值。例如,若某一個資料位元當前的對數可能性比值為“-14”,則在下一次的第二解碼操作中,此資料位元的對數可能性比值可能會被設為“-10”。但是,若某一個資料位元當前的對數可能性比值為“9”,則在下一次的第二解碼操作中,此資料位元的對數可能性比值可能會被設為“7”。
在圖10的一範例實施例中,降低第i個資料位元的對數可能性比值之絕對值可包括直接調整可靠度資訊Li
、及的至少其中之一。須注意的是,對數可能性比值只是在上述部分範例實施例中做為可靠度資訊的範例。在另一範例實施例中,可靠度資訊亦可以包含其他類型的參數,只要可以經由調整此參數來影響某一位元的位元值在解碼操作中被改變的機率,從而提升對於第一類錯誤(即,高信賴度錯誤)之解碼效率即可。
在一範例實施例中,可調整的可靠度資訊還包括收斂參數。例如,在圖10的一範例實施例中,此收斂參數可用於與可靠度資訊Li
、及的至少其中之一相乘,從而改變輸出的可靠度資訊Li
、及的至少其中之一的值。例如,此收斂參數可以是小於或等於1的正數,例如,0.875、0.625、0.5或0.375等。
在一範例實施例的某一個第一解碼操作中,若當前採用的收斂參數(亦稱為第一收斂參數)的數值為1,則在判定第一解碼操作失敗且符合預設條件之後,錯誤檢查與校正電路508會採用另一個收斂參數(亦稱為第二收斂參數),例如,此第二收斂參數的數值為0.875。透過降低收斂參數,亦可降低對數可能性比值的絕對值。
在一範例實施例中,第二可靠度資訊是基於第一可靠度資訊而動態產生。例如,在執行第二解碼操作之前,錯誤檢查與校正電路508可根據在某一個第一解碼操作中配置給某一個資料位元過的第一可靠度資訊來動態產生一個新的可靠度資訊。然後,在第二解碼操作中,錯誤檢查與校正電路508可將此新的可靠度資訊配置給此資料位元作為此資料位元的第二可靠度資訊。換言之,在動態產生第二可靠度資訊的一範例實施例中,在錯誤檢查與校正電路508執行第二解碼操作之前,第二可靠度資訊不儲存於記憶體儲存裝置10中。
在一範例實施例中,第二可靠度資訊亦可以是記錄於至少一特定查找表中。特別是,此特定查找表並不會在第一解碼操作中被使用。例如,可將此特定查找表標記為專用於解決所述第一類錯誤的查找表。
須注意的是,在前述範例實施例中,雖然使用第二可靠度資訊可提高對於第一類錯誤的更正能力,但是,對於不是可複寫式非揮發性記憶體模組406基於錯誤資料對第一記憶胞執行程式化操作而產生的錯誤(亦稱為第二類錯誤)來說,第二可靠度資訊對於第二類錯誤的更正能力是低於第一可靠度資訊對於第二類錯誤的更正能力。更具體來看,第二類錯誤例如是經由讀取臨界電壓屬於圖11中的重疊區域1131或1141之記憶胞而獲得的錯誤位元,或者經由讀取圖14的狀態1431~1434中任兩個相鄰狀態之間的重疊區域(或附近區域)之記憶胞而獲得的錯誤位元。但是,須注意的是,相對於第一類錯誤,第二類錯誤在儲存時(例如,在第二程式化操作中)是基於正確的資料來程式化,而非基於錯誤資料。
例如,在圖14的一範例實施例中,若某一個記憶胞儲存有位元“1”且其臨界電壓不屬於斜線區域(例如,此記憶胞的臨界電壓小於電壓準位VB),則根據所讀取的正確的第三資料位元(即,位元“1”)以及欲儲存的另一資料,第二程式化操作會將此記憶胞程式化為屬於狀態1431與1432的其中之一。爾後,若從此記憶胞讀取的資料位元中存在錯誤(例如,錯誤的第一資料位元及/或錯誤的第二資料位元),則此錯誤將被視為第二類錯誤,而非第一類錯誤。同理,若第二程式化操作是根據正確的第三資料位元(例如,位元“0”)以及欲儲存的另一資料而將某一記憶胞程式化為屬於狀態1433與1434的其中之一,則後續從此記憶胞讀取的資料位元中的錯誤也會被視為第二類錯誤,而非第一類錯誤。
在一範例實施例中,由於採用的第二可靠度資訊是為了增加具有高可靠度的資料位元被視為錯誤位元的機率,因此,若某一個資料位元的可靠度很高(例如,此資料位元的對數可能性比值的絕對值很大),則可能因為配置了第二可靠度資訊給此資料位元而反而降低解碼效率。藉此,在一範例實施例中,只有當所有已知的第一可靠度資訊(或查找表)皆已使用過後,才會切換為使用第二可靠度資訊來執行第二解碼操作,減少在解碼操作初期就發生誤判的機率。
圖15是根據本發明的一範例實施例所繪示的解碼方法的流程圖。請參照圖15,在步驟S1501中,發送第一讀取指令序列以指示從多個第一記憶胞讀取多個位元。在步驟S1502中,根據第一可靠度資訊對所述位元執行第一解碼操作。在步驟S1503中,判斷第一解碼操作是否失敗。若第一解碼操作未失敗(即,成功),在步驟S1504中,輸出成功解碼的位元。若第一解碼操作失敗,在步驟S1505中,判斷第一解碼操作是否符合預設條件。若第一解碼操作不符合預設條件,回到步驟S1502,持續使用第一可靠度資訊來執行第一解碼操作。若第一解碼操作符合預設條件,在步驟S1506中,根據第二可靠度資訊對所述位元執行第二解碼操作。
圖16至圖18是根據本發明的另一範例實施例所繪示的解碼方法的流程圖。請參照圖16,在步驟S1601中,發送讀取指令序列以指示從多個第一記憶胞讀取多個硬位元。在步驟S1602中,對所述硬位元執行硬位元模式解碼操作。在步驟S1603中,判斷所執行的硬位元模式解碼操作是否失敗。若所執行的硬位元模式解碼操作未失敗(即,成功),在步驟S1604中,輸出成功解碼的位元。若所執行的硬位元模式解碼操作失敗,在步驟S1605中,判斷所執行的硬位元模式解碼操作的次數是否達到第一次數。若所執行的硬位元模式解碼操作的次數未達到第一次數,在步驟S1606,調整硬決策讀取電壓準位,然後回到步驟S1601,使用調整過的硬決策讀取電壓準位來重新讀取第一記憶胞以獲得新的硬位元。然後,步驟S1602接續執行。此外,若所執行的硬位元模式解碼操作的次數達到第一次數,在步驟S1605之後進入圖17的步驟S1701。
請參照圖17,在步驟S1701中,發送讀取指令序列以指示從多個第一記憶胞讀取多個軟位元。在步驟S1702中,根據第一可靠度資訊對所述軟位元執行第一軟位元模式解碼操作。在步驟S1703中,判斷所執行的第一軟位元模式解碼操作是否失敗。若所執行的第一軟位元模式解碼操作未失敗,在步驟S1704中,輸出成功解碼的位元。若所執行的第一軟位元模式解碼操作失敗,在步驟S1705中,判斷所執行的第一軟位元模式解碼操作的次數是否達到第二次數。若所執行的第一軟位元模式解碼操作的次數未達到第二次數,在步驟S1706中,更新第一可靠度資訊,然後回到步驟S1702,根據更新過的第一可靠度資訊對所述軟位元執行第一軟位元模式解碼操作。然後,步驟S1703接續執行。此外,若所執行的第一軟位元模式解碼操作的次數達到第二次數,在步驟S1705之後進入圖18的步驟S1801。
請參照圖18,在步驟S1801中,基於第一可靠度資訊獲得第二可靠度資訊。此外,在另一範例實施例中,第二可靠度資訊也可以是獨立產生而與第一可靠度資訊無關。在步驟S1802中,根據第二可靠度資訊對所述軟位元執行第二軟位元模式解碼操作。在步驟S1803中,判斷所執行的第二軟位元模式解碼操作是否失敗。若所執行的第二軟位元模式解碼操作未失敗,在步驟S1804中,輸出成功解碼的位元。若所執行的第二軟位元模式解碼操作失敗,在步驟S1805中,判斷所執行的第二軟位元模式解碼操作的次數是否達到第三次數。若所執行的第二軟位元模式解碼操作的次數未達到第三次數,在步驟S1806中,更新第二可靠度資訊。例如,在步驟S1806中,可進一步降低某一個資料位元的對數可能性比值的絕對值或所使用的收斂參數。然後,回到步驟S1802,根據更新過的第二可靠度資訊對所述軟位元執行第二軟位元模式解碼操作。然後,步驟S1803接續執行。此外,若所執行的第二軟位元模式解碼操作的次數達到第三次數,在步驟S1807中,判定解碼失敗。
然而,圖15至圖18中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖15至圖18中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖15至圖18的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,本發明提出的解碼方法、記憶體儲存裝置及記憶體控制電路單元主要是針對用於儲存兩個以上之資料位元的記憶胞提出之解碼效率改善方案。在從第一記憶胞讀取多個位元之後,對於所述位元的第一解碼操作會根據第一可靠度資訊而被執行。若第一解碼操作失敗且符合預設條件,表示所述位元中可能存在特定類型的錯誤。例如,所述特定類型的錯誤可能包括第一類錯誤,其是基於錯誤資料對所述第一記憶胞執行程式化操作而產生的。因此,對於所述位元的第二解碼操作會根據第二可靠度資訊而被執行,其中第二可靠度資訊不同於第一可靠度資訊。特別是,第二可靠度資訊對於所述位元中的第一類錯誤的更正能力會高於第一可靠度資訊對於所述第一類錯誤的更正能力。藉此,可提高解碼效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10、30‧‧‧記憶體儲存裝置
11、31‧‧‧主機系統
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體
113‧‧‧唯讀記憶體
114‧‧‧資料傳輸介面
12‧‧‧輸入/輸出(I/O)裝置
20‧‧‧主機板
201‧‧‧隨身碟
202‧‧‧記憶卡
203‧‧‧固態硬碟
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
508‧‧‧錯誤檢查與校正電路
510‧‧‧緩衝記憶體
512‧‧‧電源管理電路
601‧‧‧儲存區
602‧‧‧替換區
610(0)~610(B)‧‧‧實體單元
612(0)~612(C)‧‧‧邏輯單元
1030‧‧‧二分圖
1032(1)~1032(k)‧‧‧奇偶節點
1034(1)~1034(n)‧‧‧訊息節點
1110、1120、1111、1121、1112、1122、1210、1220、1310、1320、1400、1410、1420、1411、1421、1431~1434‧‧‧狀態
1131、1141‧‧‧重疊區域
1301~1306‧‧‧電壓區間
1331、1341‧‧‧軟位元資訊
S1501‧‧‧步驟(發送第一讀取指令序列以指示從多個第一記憶胞讀取多個位元)
S1502‧‧‧步驟(根據第一可靠度資訊對所述位元執行第一解碼操作)
S1503‧‧‧步驟(判斷第一解碼操作是否失敗)
S1504‧‧‧步驟(輸出成功解碼的位元)
S1505‧‧‧步驟(判斷第一解碼操作是否符合預設條件)
S1506‧‧‧步驟(根據第二可靠度資訊對所述位元執行第二解碼操作)
S1601‧‧‧步驟(發送讀取指令序列以指示從多個第一記憶胞讀取多個硬位元)
S1602‧‧‧步驟(對所述硬位元執行硬位元模式解碼操作)
S1603‧‧‧步驟(判斷所執行的硬位元模式解碼操作是否失敗)
S1604‧‧‧步驟(輸出成功解碼的位元)
S1605‧‧‧步驟(判斷所執行的硬位元模式解碼操作的次數是否達到第一次數)
S1606‧‧‧步驟(調整硬決策讀取電壓準位)
S1701‧‧‧步驟(發送讀取指令序列以指示從多個第一記憶胞讀取多個軟位元)
S1702‧‧‧步驟(根據第一可靠度資訊對所述軟位元執行第一軟位元模式解碼操作)
S1703‧‧‧步驟(判斷所執行的第一軟位元模式解碼操作是否失敗)
S1704‧‧‧步驟(輸出成功解碼的位元)
S1705‧‧‧步驟(判斷所執行的第一軟位元模式解碼操作的次數是否達到第二次數)
S1706‧‧‧步驟(更新第一可靠度資訊)
S1801‧‧‧步驟(基於第一可靠度資訊獲得第二可靠度資訊)
S1802‧‧‧步驟(根據第二可靠度資訊對所述軟位元執行第二軟位元模式解碼操作)
S1803‧‧‧步驟(判斷所執行的第二軟位元模式解碼操作是否失敗)
S1804‧‧‧步驟(輸出成功解碼的位元)
S1805‧‧‧步驟(判斷所執行的第二軟位元模式解碼操作的次數是否達到第三次數)
S1806‧‧‧步驟(更新第二可靠度資訊)
S1807‧‧‧步驟(判定解碼失敗)
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。 圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。 圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖6是根據本發明的一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的示意圖。 圖7是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分布的示意圖。 圖8是根據本發明的一範例實施例所繪示的從記憶胞中讀取資料的示意圖。 圖9是根據本發明的另一範例實施例所繪示的從記憶胞中讀取資料的示意圖。 圖10是根據本發明的一範例實施例繪示奇偶檢查矩陣的示意圖。 圖11是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分佈發生變化的示意圖。 圖12是根據本發明的一範例實施例所繪示的硬位元模式解碼操作的示意圖。 圖13是根據本發明的一範例實施例所繪示的軟位元模式解碼操作的示意圖。 圖14是根據本發明的一範例實施例所繪示的程式化記憶胞的示意圖。 圖15是根據本發明的一範例實施例所繪示的解碼方法的流程圖。 圖16至圖18是根據本發明的另一範例實施例所繪示的解碼方法的流程圖。
Claims (25)
- 一種解碼方法,用於包括多個記憶胞的一可複寫式非揮發性記憶體模組,其中該些記憶胞包括多個第一記憶胞,該些第一記憶胞中的每一個記憶胞儲存有一第一資料位元與一第二資料位元,該第一資料位元的一位元值對應於一第一程式化操作的一程式化結果,該第二資料位元的一位元值對應於一第二程式化操作的一程式化結果,該第二程式化操作是基於該第一程式化操作的該程式化結果而執行,且該解碼方法包括:發送一第一讀取指令序列,其用以指示從該些第一記憶胞讀取多個位元;根據一第一可靠度資訊對該些位元執行一第一解碼操作;以及若該第一解碼操作失敗,根據一第二可靠度資訊對該些位元執行一第二解碼操作,其中該第二可靠度資訊不同於該第一可靠度資訊,且該第二可靠度資訊對於該些位元中的一第一類錯誤的一更正能力高於該第一可靠度資訊對於該第一類錯誤的一更正能力,其中該第一類錯誤是基於一錯誤資料對該些第一記憶胞執行該第二程式化操作而產生,其中該第二可靠度資訊對於該些位元中的一第二類錯誤的一更正能力低於該第一可靠度資訊對於該第二類錯誤的一更正能力, 其中該第二類錯誤不是基於該錯誤資料對該些第一記憶胞執行該第二程式化操作而產生的。
- 如申請專利範圍第1項所述的解碼方法,其中該第一可靠度資訊包括該些位元中的一第一位元的一第一對數可能性比值,該第二可靠度資訊包括該第一位元的一第二對數可能性比值,且該第二對數可能性比值的一絕對值小於該第一對數可能性比值的一絕對值。
- 如申請專利範圍第2項所述的解碼方法,其中該第一可靠度資訊更包括該些位元中的一第二位元的一第三對數可能性比值,該第二可靠度資訊更包括該第二位元的一第四對數可能性比值,且該第四對數可能性比值的一絕對值小於該第三對數可能性比值的一絕對值,其中該第一對數可能性比值的該絕對值與該第二對數可能性比值的該絕對值之間具有一第一差值,該第三對數可能性比值的該絕對值與該第四對數可能性比值的該絕對值之間具有一第二差值,且該第一差值不同於該第二差值。
- 如申請專利範圍第2項所述的解碼方法,其中該第一對數可能性比值的該絕對值與該第二對數可能性比值的該絕對值之間的一差值正相關於該第一對數可能性比值的該絕對值。
- 如申請專利範圍第1項所述的解碼方法,其中該第一可靠度資訊包括一第一收斂參數,且該第二可靠度資訊包括一第二收斂參數, 其中該第一收斂參數的值影響該些位元中的一第一位元的一位元值在該第一解碼操作中被改變的機率,該第二收斂參數的值影響該第一位元的該位元值在該第二解碼操作中被改變的機率,且該第二收斂參數不同於該第一收斂參數。
- 如申請專利範圍第1項所述的解碼方法,其中根據該第二可靠度資訊對該些位元執行該第二解碼操作的步驟包括:基於該第一可靠度資訊動態產生該第二可靠度資訊。
- 如申請專利範圍第1項所述的解碼方法,其中在執行該第二解碼操作之前,該第二可靠度資訊不儲存於一記憶體儲存裝置中,其中該記憶體儲存裝置包括該可複寫式非揮發性記憶體模組與一錯誤檢查與校正電路,且該第一解碼操作與該第二解碼操作是由該錯誤檢查與校正電路執行。
- 如申請專利範圍第1項所述的解碼方法,其中該第一程式化操作是對於該些記憶胞中的至少一第二記憶胞執行,該第二程式化操作是對於該些第一記憶胞執行,且該至少一第二記憶胞不屬於該些第一記憶胞。
- 如申請專利範圍第1項所述的解碼方法,其中該第一程式化操作與該第二程式化操作皆是對於該些第一記憶胞執行。
- 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個記憶胞;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫 式非揮發性記憶體模組,其中該些記憶胞包括多個第一記憶胞,該些第一記憶胞中的每一個記憶胞儲存有一第一資料位元與一第二資料位元,該第一資料位元的一位元值對應於一第一程式化操作的一程式化結果,該第二資料位元的一位元值對應於一第二程式化操作的一程式化結果,且該第二程式化操作是基於該第一程式化操作的該程式化結果而執行,其中該記憶體控制電路單元用以發送一第一讀取指令序列,其用以指示從該些第一記憶胞讀取多個位元,其中該記憶體控制電路單元更用以根據一第一可靠度資訊對該些位元執行一第一解碼操作,其中若該第一解碼操作失敗,該記憶體控制電路單元更用以根據一第二可靠度資訊對該些位元執行一第二解碼操作,其中該第二可靠度資訊不同於該第一可靠度資訊,且該第二可靠度資訊對於該些位元中的一第一類錯誤的一更正能力高於該第一可靠度資訊對於該第一類錯誤的一更正能力,其中該第一類錯誤是該可複寫式非揮發性記憶體模組基於一錯誤資料對該些第一記憶胞執行該第二程式化操作而產生的,其中該第二可靠度資訊對於該些位元中的一第二類錯誤的一更正能力低於該第一可靠度資訊對於該第二類錯誤的一更正能力,其中該第二類錯誤不是基於該錯誤資料對該些第一記憶胞執 行該第二程式化操作而產生的。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該第一可靠度資訊包括該些位元中的一第一位元的一第一對數可能性比值,該第二可靠度資訊包括該第一位元的一第二對數可能性比值,且該第二對數可能性比值的一絕對值小於該第一對數可能性比值的一絕對值。
- 如申請專利範圍第11項所述的記憶體儲存裝置,其中該第一可靠度資訊更包括該些位元中的一第二位元的一第三對數可能性比值,該第二可靠度資訊更包括該第二位元的一第四對數可能性比值,且該第四對數可能性比值的一絕對值小於該第三對數可能性比值的一絕對值,其中該第一對數可能性比值的該絕對值與該第二對數可能性比值的該絕對值之間具有一第一差值,該第三對數可能性比值的該絕對值與該第四對數可能性比值的該絕對值之間具有一第二差值,且該第一差值不同於該第二差值。
- 如申請專利範圍第11項所述的記憶體儲存裝置,其中該第一對數可能性比值的該絕對值與該第二對數可能性比值的該絕對值之間的一差值正相關於該第一對數可能性比值的該絕對值。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該第一可靠度資訊包括一第一收斂參數,且該第二可靠度資訊包括一第二收斂參數, 其中該第一收斂參數的值影響該些位元中的一第一位元的一位元值在該第一解碼操作中被改變的機率,該第二收斂參數的值影響該第一位元的該位元值在該第二解碼操作中被改變的機率,且該第二收斂參數不同於該第一收斂參數。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元根據該第二可靠度資訊對該些位元執行該第二解碼操作的操作包括:基於該第一可靠度資訊動態產生該第二可靠度資訊。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中在該記憶體控制電路單元執行該第二解碼操作之前,該第二可靠度資訊不儲存於該記憶體儲存裝置中。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該第一程式化操作是對於該些記憶胞中的至少一第二記憶胞執行,該第二程式化操作是對於該些第一記憶胞執行,且該至少一第二記憶胞不屬於該些第一記憶胞。
- 一種記憶體控制電路單元,用於控制包括多個記憶胞的一可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;一錯誤檢查與校正電路;以及一記憶體管理電路,耦接至該主機介面、該記憶體介面及該 錯誤檢查與校正電路,其中該些記憶胞包括多個第一記憶胞,該些第一記憶胞中的每一個記憶胞儲存有一第一資料位元與一第二資料位元,該第一資料位元的一位元值對應於一第一程式化操作的一程式化結果,該第二資料位元的一位元值對應於一第二程式化操作的一程式化結果,且該第二程式化操作是基於該第一程式化操作的該程式化結果而執行,其中該記憶體管理電路用以發送一第一讀取指令序列,其用以指示從該些第一記憶胞讀取多個位元,其中該錯誤檢查與校正電路用以根據一第一可靠度資訊對該些位元執行一第一解碼操作,其中若該第一解碼操作失敗,該錯誤檢查與校正電路更用以根據一第二可靠度資訊對該些位元執行一第二解碼操作,其中該第二可靠度資訊不同於該第一可靠度資訊,且該第二可靠度資訊對於該些位元中的一第一類錯誤的一更正能力高於該第一可靠度資訊對於該第一類錯誤的一更正能力,其中該第一類錯誤是該可複寫式非揮發性記憶體模組基於一錯誤資料對該些第一記憶胞執行該第二程式化操作而產生的,其中該第二可靠度資訊對於該些位元中的一第二類錯誤的一更正能力低於該第一可靠度資訊對於該第二類錯誤的一更正能力,其中該第二類錯誤不是基於該錯誤資料對該些第一記憶胞執 行該第二程式化操作而產生的。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中該第一可靠度資訊包括該些位元中的一第一位元的一第一對數可能性比值,該第二可靠度資訊包括該第一位元的一第二對數可能性比值,且該第二對數可能性比值的一絕對值小於該第一對數可能性比值的一絕對值。
- 如申請專利範圍第19項所述的記憶體控制電路單元,其中該第一可靠度資訊更包括該些位元中的一第二位元的一第三對數可能性比值,該第二可靠度資訊更包括該第二位元的一第四對數可能性比值,且該第四對數可能性比值的一絕對值小於該第三對數可能性比值的一絕對值,其中該第一對數可能性比值的該絕對值與該第二對數可能性比值的該絕對值之間具有一第一差值,該第三對數可能性比值的該絕對值與該第四對數可能性比值的該絕對值之間具有一第二差值,且該第一差值不同於該第二差值。
- 如申請專利範圍第19項所述的記憶體控制電路單元,其中該第一對數可能性比值的該絕對值與該第二對數可能性比值的該絕對值之間的一差值正相關於該第一對數可能性比值的該絕對值。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中該第一可靠度資訊包括一第一收斂參數,且該第二可靠度資訊包括一第二收斂參數, 其中該第一收斂參數的值影響該些位元中的一第一位元的一位元值在該第一解碼操作中被改變的機率,該第二收斂參數的值影響該第一位元的該位元值在該第二解碼操作中被改變的機率,且該第二收斂參數不同於該第一收斂參數。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中該錯誤檢查與校正電路根據該第二可靠度資訊對該些位元執行該第二解碼操作的操作包括:基於該第一可靠度資訊動態產生該第二可靠度資訊。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中在該錯誤檢查與校正電路執行該第二解碼操作之前,該第二可靠度資訊不儲存於一記憶體儲存裝置中,其中該記憶體儲存裝置包括該記憶體控制電路單元與該可複寫式非揮發性記憶體模組。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中該第一程式化操作是對於該些記憶胞中的至少一第二記憶胞執行,該第二程式化操作是對於該些第一記憶胞執行,且該第二記憶胞不屬於該些第一記憶胞。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106111497A TWI670715B (zh) | 2017-04-06 | 2017-04-06 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
US15/604,661 US10108490B1 (en) | 2017-04-06 | 2017-05-25 | Decoding method, memory storage device and memory control circuit unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106111497A TWI670715B (zh) | 2017-04-06 | 2017-04-06 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201837916A TW201837916A (zh) | 2018-10-16 |
TWI670715B true TWI670715B (zh) | 2019-09-01 |
Family
ID=63710376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106111497A TWI670715B (zh) | 2017-04-06 | 2017-04-06 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10108490B1 (zh) |
TW (1) | TWI670715B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275796B (zh) * | 2018-03-16 | 2023-08-08 | 爱思开海力士有限公司 | 具有混合解码方案的存储器系统及其操作方法 |
US10884858B2 (en) | 2018-03-16 | 2021-01-05 | SK Hynix Inc. | LDPC decoding device, memory system including the same and method thereof |
US11005503B2 (en) | 2018-03-16 | 2021-05-11 | SK Hynix Inc. | Memory system with hybrid decoding scheme and method of operating such memory system |
TWI672698B (zh) * | 2018-11-23 | 2019-09-21 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
KR20200126178A (ko) * | 2019-04-29 | 2020-11-06 | 삼성전자주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작 방법 |
TWI705449B (zh) * | 2019-09-16 | 2020-09-21 | 群聯電子股份有限公司 | 電壓識別方法、記憶體控制電路單元以及記憶體儲存裝置 |
CN111863099B (zh) * | 2020-07-31 | 2023-03-21 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
TWI764602B (zh) * | 2021-03-03 | 2022-05-11 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
CN112837728B (zh) * | 2021-03-10 | 2023-05-02 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110083060A1 (en) * | 2009-10-05 | 2011-04-07 | Kabushiki Kaisha Toshiba | Memory system and control method for the same |
US20150095741A1 (en) * | 2013-09-30 | 2015-04-02 | Phison Electronics Corp. | Decoding method, memory storage device and memory controlling circuit unit |
US20150186212A1 (en) * | 2013-12-31 | 2015-07-02 | Phison Electronics Corp. | Decoding method, memory storage device, and memory controlling circuit unit |
US20150293813A1 (en) * | 2014-04-15 | 2015-10-15 | Phison Electronics Corp. | Decoding method, memory storage device and memory control circuit unit |
US20160062828A1 (en) * | 2014-08-28 | 2016-03-03 | Phison Electronics Corp. | Data accessing method, memory storage device and memory controlling circuit unit |
US20160098316A1 (en) * | 2014-10-03 | 2016-04-07 | Phison Electronics Corp. | Error processing method, memory storage device and memory controlling circuit unit |
US9369152B2 (en) * | 2013-03-07 | 2016-06-14 | Marvell World Trade Ltd. | Systems and methods for decoding with late reliability information |
US9529666B2 (en) * | 2014-04-15 | 2016-12-27 | Phison Electronics Corp. | Decoding method, memory storage device and memory controlling circuit unit |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009574B2 (en) * | 2011-06-07 | 2015-04-14 | Marvell World Trade Ltd. | Identification and mitigation of hard errors in memory systems |
JP2013080450A (ja) * | 2011-09-22 | 2013-05-02 | Toshiba Corp | メモリ装置 |
US8935600B1 (en) * | 2011-09-28 | 2015-01-13 | Marvell International Ltd. | Modification of decoder operating mode based on a probability of non-standard errors in concatenated decoding systems |
TWI588834B (zh) * | 2016-02-23 | 2017-06-21 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI592937B (zh) * | 2016-07-05 | 2017-07-21 | 大心電子(英屬維京群島)股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
-
2017
- 2017-04-06 TW TW106111497A patent/TWI670715B/zh active
- 2017-05-25 US US15/604,661 patent/US10108490B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110083060A1 (en) * | 2009-10-05 | 2011-04-07 | Kabushiki Kaisha Toshiba | Memory system and control method for the same |
US9369152B2 (en) * | 2013-03-07 | 2016-06-14 | Marvell World Trade Ltd. | Systems and methods for decoding with late reliability information |
US20150095741A1 (en) * | 2013-09-30 | 2015-04-02 | Phison Electronics Corp. | Decoding method, memory storage device and memory controlling circuit unit |
US20150186212A1 (en) * | 2013-12-31 | 2015-07-02 | Phison Electronics Corp. | Decoding method, memory storage device, and memory controlling circuit unit |
US20150293813A1 (en) * | 2014-04-15 | 2015-10-15 | Phison Electronics Corp. | Decoding method, memory storage device and memory control circuit unit |
US9529666B2 (en) * | 2014-04-15 | 2016-12-27 | Phison Electronics Corp. | Decoding method, memory storage device and memory controlling circuit unit |
US20160062828A1 (en) * | 2014-08-28 | 2016-03-03 | Phison Electronics Corp. | Data accessing method, memory storage device and memory controlling circuit unit |
US20160098316A1 (en) * | 2014-10-03 | 2016-04-07 | Phison Electronics Corp. | Error processing method, memory storage device and memory controlling circuit unit |
Also Published As
Publication number | Publication date |
---|---|
US10108490B1 (en) | 2018-10-23 |
US20180293131A1 (en) | 2018-10-11 |
TW201837916A (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI670715B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN107092536B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI652677B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI595498B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI588834B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI612527B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI540586B (zh) | 解碼方法、記憶體儲存裝置、記憶體控制電路單元 | |
TWI537966B (zh) | 錯誤處理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI550615B (zh) | 資料存取方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW201642266A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI594255B (zh) | 解碼方法、記憶體控制電路單元及記憶體儲存裝置 | |
US10324787B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
TW202025162A (zh) | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI670725B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI691962B (zh) | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW201913388A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI702602B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI607452B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN109697134B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN107590018B (zh) | 译码方法、存储器控制电路单元及存储器存储装置 | |
TWI805509B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI764602B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN109213614B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI681393B (zh) | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN111258791B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 |