TWI913112B - 解碼控制方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents
解碼控制方法、記憶體儲存裝置及記憶體控制電路單元Info
- Publication number
- TWI913112B TWI913112B TW114104842A TW114104842A TWI913112B TW I913112 B TWI913112 B TW I913112B TW 114104842 A TW114104842 A TW 114104842A TW 114104842 A TW114104842 A TW 114104842A TW I913112 B TWI913112 B TW I913112B
- Authority
- TW
- Taiwan
- Prior art keywords
- decoding
- data
- parity data
- decoding operation
- memory
- Prior art date
Links
Abstract
一種解碼控制方法、記憶體儲存裝置及記憶體控制電路單元。所述解碼控制方法包括:響應於根據寫入資料及第一奇偶資料所執行的第一解碼操作為失敗,讀取第二奇偶資料;根據所述第二奇偶資料執行第二解碼操作;響應於所述第二解碼操作為成功,則提高對應於所述第二奇偶資料的對數可能性比值;以及根據所述寫入資料、所述第一奇偶資料及所述第二奇偶資料執行第三解碼操作。
Description
本發明是有關於一種記憶體管理技術,且特別是有關於一種解碼控制方法、記憶體儲存裝置及記憶體控制電路單元。
行動電話與筆記型電腦等可攜式電子裝置在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(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。
在一範例實施例中,主機系統11為電腦系統。在一範例實施例中,主機系統11可為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。在一範例實施例中,記憶體儲存裝置10與主機系統11可分別包括圖3的記憶體儲存裝置30與主機系統31。
圖3是根據本發明的範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,記憶體儲存裝置30可與主機系統31搭配使用以儲存資料。例如,主機系統31可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統。例如,記憶體儲存裝置30可為主機系統31所使用的安全數位(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包括連接介面單元41、記憶體控制電路單元42及可複寫式非揮發性記憶體模組43。
連接介面單元41用以耦接至主機系統11。記憶體儲存裝置10可經由連接介面單元41與主機系統11通訊。在一範例實施例中,連接介面單元41是相容於高速周邊零件互連介面(Peripheral Component Interconnect Express, PCI Express)標準。在一範例實施例中,連接介面單元41亦可以是符合序列先進附件(Serial Advanced Technology Attachment, SATA)標準、並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、通用序列匯流排(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)標準或其他適合的標準。連接介面單元41可與記憶體控制電路單元42封裝在一個晶片中,或者連接介面單元41是佈設於一包含記憶體控制電路單元42之晶片外。
記憶體控制電路單元42耦接至連接介面單元41與可複寫式非揮發性記憶體模組43。記憶體控制電路單元42用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統11的指令在可複寫式非揮發性記憶體模組43中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組43用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組43可包括單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、二階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、三階記憶胞(Triple Level Cell, TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、四階記憶胞(Quad Level Cell, QLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存4個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
可複寫式非揮發性記憶體模組43中的每一個記憶胞是以電壓(以下亦稱為臨界電壓)的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,進而改變記憶胞的臨界電壓。此改變記憶胞之臨界電壓的操作亦稱為“把資料寫入至記憶胞”或“程式化(programming)記憶胞”。隨著臨界電壓的改變,可複寫式非揮發性記憶體模組43中的每一個記憶胞具有多個儲存狀態。透過施予讀取電壓可以判斷一個記憶胞是屬於哪一個儲存狀態,藉此取得此記憶胞所儲存的一或多個位元。
一範例實施例中,可複寫式非揮發性記憶體模組43的記憶胞可構成多個實體程式化單元,並且此些實體程式化單元可構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞可組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元可至少可被分類為下實體程式化單元與上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit, LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit, MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速率會大於上實體程式化單元的寫入速率,及/或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。
在一範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元可為實體頁(page)或是實體扇(sector)。若實體程式化單元為實體頁,則此些實體程式化單元可包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤更正碼等管理資料)。在一範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊(block)。
圖5是根據本發明的範例實施例所繪示的記憶體控制電路單元的概要方塊圖。請參照圖5,記憶體控制電路單元42包括記憶體管理電路51、主機介面52及記憶體介面53。
記憶體管理電路51用以控制記憶體控制電路單元42的整體運作。具體來說,記憶體管理電路51具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路51的操作時,等同於說明記憶體控制電路單元42的操作。
在一範例實施例中,記憶體管理電路51的控制指令是以韌體型式來實作。例如,記憶體管理電路51具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在一範例實施例中,記憶體管理電路51的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組43的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路51具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元42被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組43中之控制指令載入至記憶體管理電路51的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
在一範例實施例中,記憶體管理電路51的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路51包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。記憶胞管理電路用以管理可複寫式非揮發性記憶體模組43的記憶胞或記憶胞群組。記憶體寫入電路用以對可複寫式非揮發性記憶體模組43下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組43中。記憶體讀取電路用以對可複寫式非揮發性記憶體模組43下達讀取指令序列以從可複寫式非揮發性記憶體模組43中讀取資料。記憶體抹除電路用以對可複寫式非揮發性記憶體模組43下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組43中抹除。資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組43的資料以及從可複寫式非揮發性記憶體模組43中讀取的資料。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組43執行相對應的寫入、讀取及抹除等操作。在一範例實施例中,記憶體管理電路51還可以下達其他類型的指令序列給可複寫式非揮發性記憶體模組43以指示執行相對應的操作。
主機介面52是耦接至記憶體管理電路51。記憶體管理電路51可透過主機介面52與主機系統11通訊。主機介面52可用以取得與識別主機系統11的指令與資料。例如,主機系統11的指令與資料可透過主機介面52來傳送至記憶體管理電路51。此外,記憶體管理電路51可透過主機介面52將資料傳送至主機系統11。在本範例實施例中,主機介面52是相容於PCI Express標準。然而,必須瞭解的是本發明不限於此,主機介面52亦可以是相容於SATA標準、PATA標準、IEEE 1394標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面53是耦接至記憶體管理電路51並且用以存取可複寫式非揮發性記憶體模組43。例如,記憶體管理電路51可透過記憶體介面53存取可複寫式非揮發性記憶體模組43。也就是說,欲寫入至可複寫式非揮發性記憶體模組43的資料會經由記憶體介面53轉換為可複寫式非揮發性記憶體模組43所能接受的格式。具體來說,若記憶體管理電路51要存取可複寫式非揮發性記憶體模組43,記憶體介面53會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收(Garbage Collection, GC)操作等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路51產生並且透過記憶體介面53傳送至可複寫式非揮發性記憶體模組43。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
在一範例實施例中,記憶體控制電路單元42還包括錯誤檢查與校正電路54、緩衝記憶體55及電源管理電路56。
錯誤檢查與校正電路54是耦接至記憶體管理電路51並且用以執行錯誤檢查與校正操作以確保資料的正確性。具體來說,當記憶體管理電路51從主機系統11取得寫入指令時,錯誤檢查與校正電路54會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路51會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組43中。之後,當記憶體管理電路51從可複寫式非揮發性記憶體模組43中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路54會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正操作。
緩衝記憶體55是耦接至記憶體管理電路51並且用以暫存資料。電源管理電路56是耦接至記憶體管理電路51並且用以控制記憶體儲存裝置10的電源。
在一範例實施例中,圖4的可複寫式非揮發性記憶體模組43可包括快閃記憶體模組。在一範例實施例中,圖4的記憶體控制電路單元42可包括快閃記憶體控制器。在一範例實施例中,圖5的記憶體管理電路51可包括快閃記憶體管理電路。
圖6是根據本發明的範例實施例所繪示的管理可複寫式非揮發性記憶體模組的示意圖。請參照圖6,記憶體管理電路51可將可複寫式非揮發性記憶體模組43中的實體單元610(0)~610(B)邏輯地分組至儲存區601與閒置(spare)區602。
在一範例實施例中,一個實體單元是指一個實體位址或一個實體程式化單元。在一範例實施例中,一個實體單元亦可以是由多個連續或不連續的實體位址組成。在一範例實施例中,一個實體單元亦可以是指一個虛擬區塊(VB)。一個虛擬區塊可包括多個實體位址或多個實體程式化單元。在一範例實施例中,一個虛擬區塊可包括一或多個實體抹除單元。
儲存區601中的實體單元610(0)~610(A)用以儲存使用者資料(例如來自圖1的主機系統11的使用者資料)。例如,儲存區601中的實體單元610(0)~610(A)可儲存有效(valid)資料與無效(invalid)資料。閒置區602中的實體單元610(A+1)~610(B)未儲存資料(例如有效資料)。例如,若某一個實體單元未儲存有效資料,則此實體單元可被關聯(或加入)至閒置區602。此外,閒置區602中的實體單元(或未儲存有效資料的實體單元)可被抹除。在寫入新資料時,一或多個實體單元可被從閒置區602中提取以儲存此新資料。在一範例實施例中,閒置區602亦稱為閒置池(free pool)。
記憶體管理電路51可配置邏輯單元612(0)~612(C)以映射儲存區601中的實體單元610(0)~610(A)。在一範例實施例中,每一個邏輯單元對應一個邏輯位址。例如,一個邏輯位址可包括一或多個邏輯區塊位址(Logical Block Address, LBA)或其他的邏輯管理單元。在一範例實施例中,一個邏輯單元也可對應一個邏輯程式化單元或者由多個連續或不連續的邏輯位址組成。
須注意的是,一個邏輯單元可被映射至一或多個實體單元。若某一實體單元當前有被某一邏輯單元映射,則表示此實體單元當前儲存的資料包括有效資料。反之,若某一實體單元當前未被任一邏輯單元映射,則表示此實體單元當前儲存的資料為無效資料。
記憶體管理電路51可將描述邏輯單元與實體單元之間的映射關係的管理資料(亦稱為邏輯至實體映射資訊)記錄於至少一邏輯至實體映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路51可根據此邏輯至實體映射表中的資訊來存取可複寫式非揮發性記憶體模組43。
在一範例實施例中,錯誤檢查與校正電路54可包括編碼電路541與解碼電路542。編碼電路541用以編碼資料。解碼電路542用以解碼資料。在一範例實施例中,編碼電路541與解碼電路542亦可結合為單一編/解碼電路。
在一範例實施例中,錯誤檢查與校正電路54可支援低密度奇偶檢查(Low-Density Parity-Check,LDPC)碼。例如,錯誤檢查與校正電路54可利用低密度奇偶檢查碼來解碼與編碼資料。在此領域具有通常知識者應能理解如何利用低密度奇偶檢查碼來解碼與編碼,在此便不再贅述。在另一範例實施例中,錯誤檢查與校正電路54也亦支援BCH碼、迴旋碼(convolutional code)或渦輪碼(turbo code),本發明不加以限制。
在一範例實施例中,錯誤檢查與校正電路54(或解碼電路542)可針對從可複寫式非揮發性記憶體模組43中的一實體單元讀取出的資料進行解碼,以嘗試更正此資料中的錯誤。假設此資料的位元錯誤率(Bit Error Rate,BER)不高,錯誤檢查與校正電路544(或解碼電路542)可基於硬解碼(hard decode)模式來解碼此資料,以嘗試快速更正此資料中的少量錯誤。假設此資料的位元錯誤率較高,錯誤檢查與校正電路54(或解碼電路542)可基於軟解碼(soft decode)模式來解碼此資料,以提高此資料的解碼成功率。進一步說明,在硬解碼模式中,記憶體管理電路51僅需從此實體單元中讀取對應於各記憶胞的硬位元(hard bit),錯誤檢查與校正電路54(或解碼電路542)可根據前述的硬位元進行解碼。另外,在軟解碼模式中,記憶體管理電路51需同時從此實體單元讀取對應於單一記憶胞的一個硬位元與多個軟位元(soft bit),錯誤檢查與校正電路54(或解碼電路542)可根據前述的硬位元及軟位元進行解碼。
總地來說,軟解碼模式需比硬解碼模式採用更多用來輔助解碼的資料(意即,軟位元),以提高此資料的解碼成功率。
圖7是根據本發明的範例實施例所繪示的第一實體單元的臨界電壓分布及使用多個讀取電壓準位來讀取第一實體單元的示意圖。請參照圖7,假設第一實體單元包括多個記憶胞,且此些記憶胞的臨界電壓分布包括狀態701與702。例如,狀態701對應於位元“1”,而狀態702對應於位元“0”。也就是說,若某一個記憶胞的臨界電壓屬於狀態701,表示此記憶胞是用以儲存位元“1”。若某一個記憶胞的臨界電壓屬於狀態702,表示此記憶胞是用以儲存位元“0”。須注意的是,狀態701與702也可對應於其他的位元或位元組合,本發明不加以限制。
需要說明的是,狀態701與狀態702之間的重疊區域會隨著可複寫式非揮發性記憶體模組43的使用程度(或磨損程度)而擴大,從而降低針對某一記憶胞屬於狀態701或狀態702的判斷準確度。例如,當重疊區域擴大時,在針對第一實體單元施加讀取電壓準位V(HB)後,原先屬於狀態701的一記憶胞的臨界電壓會大於讀取電壓準位V(HB),故此記憶胞會被誤判為屬於狀態702(意即,此記憶胞所儲存的位元會被誤判為位元“0”)。例如,當重疊區域擴大時,在針對第一實體單元施加讀取電壓準位V(HB)後,原先屬於狀態702的一記憶胞的臨界電壓會小於讀取電壓準位V(HB),故此記憶胞會被誤判為屬於狀態701(意即,此記憶胞所儲存的位元會被誤判為位元“1”)。此時,從第一實體單元所讀取的資料可能具有大量的錯誤位元,錯誤檢查與校正電路54(或解碼電路542)可基於軟解碼模式來解碼此資料,從而提高此資料的解碼成功率。
在一範例實施例中,在軟解碼模式中,記憶體管理電路51可發送至少一讀取指令序列至可複寫式非揮發性記憶體模組43。讀取指令序列可指示可複寫式非揮發性記憶體模組43基於多個讀取電壓準位讀取第一實體單元中的資料。具體地,多個讀取電壓準位可包括圖7的讀取電壓準位V(HB)及讀取電壓準位V(SB1)~ V(SB4)。自第一實體單元中所讀取的資料可包括圖7的硬位元HB、軟位元SB(1)及軟位元SB(2)。
在一範例實施例中,可複寫式非揮發性記憶體模組43可針對第一實體單元中的某一記憶胞依序施加讀取電壓準位V(HB)及讀取電壓準位V(SB1)~ V(SB4),以取得此記憶胞的讀取結果,並據以回傳硬位元HB、軟位元SB(1)及軟位元SB(2)至記憶體管理電路51。例如,硬位元HB可反映使用讀取電壓準位V(HB)對此記憶胞的讀取結果。若此記憶胞的臨界電壓低於讀取電壓準位V(HB),可複寫式非揮發性記憶體模組43可將位元值為“1”的硬位元HB回傳至記憶體管理電路51。相對地,若此記憶胞的臨界電壓高於讀取電壓準位V(HB),可複寫式非揮發性記憶體模組43可將位元值為“0”的硬位元HB回傳至記憶體管理電路51。類似地,軟位元SB(1)及軟位元SB(2)可反映使用讀取電壓準位V(SB1)~ V(SB4)對此記憶胞的讀取結果。
在一範例實施例中,讀取電壓準位V(SB1)~V(SB4)可劃分出多個電壓區間711~716。例如,電壓區間712介於讀取電壓準位V(SB1)與V(SB3)之間,依此類推。透過讀取某一記憶胞所獲得的硬位元HB、軟位元SB(1)及軟位元SB(2)可反映出此記憶胞的臨界電壓所位於的電壓區間(例如是,電壓區間712)。進一步說明,假設透過讀取某一記憶胞所獲得的硬位元HB、軟位元SB(1)及軟位元SB(2)為“110”,反映此記憶胞的臨界電壓位於電壓區間712。關於讀取電壓準位V(SB1)~V(SB4)的數量及電壓區間711~716的數量可依實際需求自行設計,本發明不加以限制。
在一範例實施例中,支援低密度奇偶檢查碼的錯誤檢查與校正電路54可使用可靠度資訊來執行解碼操作。可靠度資訊可例如是對數可能性比值(Log Likelihood Ratio,LLR)。具體地,在解碼操作中,錯誤檢查與校正電路54(或解碼電路542)可使用對數可能性比值來對由記憶體管理電路51所讀取的資料進行解碼。在另一範例實施例中,錯誤檢查與校正電路54(或解碼電路542)也可使用其他類型的可靠度資訊來執行解碼操作,本發明並不限制。
在一範例實施例中,若一資料(或位元值)所對應的對數可能性比值(可能為正數或負數)的絕對值越大,則表示所述資料的可靠度越高,意即,所述資料的位元值有高機率為正確的。相對地,若所述資料所對應的對數可能性比值的絕對值越小,則表示所述資料的可靠度越低,意即,所述資料的位元值有高機率為錯誤的。例如,當對數可能性比值為0時,則表示對應的資料(或位元值)為0的機率與為1的機率相同。例如,當對數可能性比值為正數且值越大,則表示對應的資料(或位元值)為0的機率越高。例如,當對數可能性比值為負數且值越小,則表示對應的資料(或位元值)為1的機率越高。若資料有高機率為錯誤的,則解碼電路542可在解碼操作中更正此錯誤,意即,改變此資料的位元值。在一範例實施例中,對數可能性比值的表示範圍是由錯誤檢查與校正電路54的解碼電路542支援的位元寬度(bit-width)決定。以位元寬度為5位元為例,對數可能性比值的表示範圍為-15至+15。
需要說明的是,隨著可複寫式非揮發性記憶體模組43的的使用時間及使用頻率增加,可複寫式非揮發性記憶體模組43中的每一個實體單元的磨損程度及讀取次數、抹除次數等變數皆有所不同。也就是說,每一個實體單元的可靠度也不同,因此,儲存於不同的實體單元中的資料所對應的對數可能性比值,可源自於不同的查詢表。
圖8是根據本發明的範例實施例所繪示的對應於第一實體單元的第一查詢表的示意圖。請參照圖8,第一查詢表81可用以記載對應於各個電壓區間711~716的硬位元HB、軟位元SB(1)、軟位元SB(2)及對數可能性比值LLR(1)~LLR(6)。在一範例實施例中,假設解碼電路542支援的位元寬度為5位元,對數可能性比值LLR(1)~LLR(6)的表示範圍為-15至+15。
在一範例實施例中,記憶體管理電路51可根據針對某一資料的解碼操作的解碼結果更新(或調整)對應於此資料的可靠度資訊(意即,對數可能性比值)。
在一範例實施例中,在記憶體管理電路51將資料寫入可複寫式非揮發性記憶體模組43之前,資料會先被編碼以產生對應的奇偶資料,資料及奇偶資料會再被儲存至可複寫式非揮發性記憶體模組43。爾後,當記憶體管理電路51欲讀取實體單元時,記憶體管理電路51可讀取所述實體單元中的資料及其對應的奇偶資料。錯誤檢查與校正電路54中的解碼電路542可根據從所述實體單元中讀取出來的所述資料以及所述奇偶資料來執行解碼操作,以偵測並更正所述資料中的錯誤。
在一範例實施例中,記憶體管理電路51取得寫入資料。編碼電路541可根據所述寫入資料來執行編碼操作以產生第一奇偶資料與第二奇偶資料。在一範例實施例中,第二奇偶資料根據寫入資料與第一奇偶資料而產生。具體地,編碼電路541可根據所述寫入資料執行一個編碼操作以產生第一奇偶資料,並且編碼電路541可再根據所述寫入資料及第一奇偶資料執行另一個編碼操作以產生第二奇偶資料。在另一範例實施例中,第二奇偶資料不根據第一奇偶資料而產生。具體地,編碼電路541可例如是具備彼此獨立運作的第一編碼電路(未繪示)及第二編碼電路(未繪示)。編碼電路541中的第一編碼電路可根據所述寫入資料執行所述第一編碼操作以產生第一奇偶資料,並且編碼電路541中的第二編碼電路可根據所述寫入資料執行所述第二編碼操作以產生第二奇偶資料。另外,第一奇偶資料可單獨或搭配第二奇偶資料與寫入資料執行解碼操作。第二奇偶資料不可單獨與寫入資料執行解碼操作。
在編碼寫入資料後,記憶體管理電路51可發送寫入指令序列(亦稱為第一寫入指令序列)至可複寫式非揮發性記憶體模組43。所述第一寫入指令序列可用以指示可複寫式非揮發性記憶體模組43儲存所述寫入資料、第一奇偶資料及第二奇偶資料。在一範例實施例中,記憶體管理電路51可將所述寫入資料及第一奇偶資料儲存至同一個實體單元(例如是,第一實體單元)中,並且將第二奇偶資料儲存至另一個實體單元(亦稱為,第二實體單元)中。
在一範例實施例中,編碼電路541可根據所述寫入資料來執行編碼操作以產生第三奇偶資料。在一範例實施例中,第三奇偶資料根據寫入資料、第一奇偶資料與第二奇偶資料而產生。具體地,在編碼電路541依序產生第一奇偶資料與第二奇偶資料後,編碼電路541可再根據所述寫入資料、第一奇偶資料與第二奇偶資料執行編碼操作以產生第三奇偶資料。在另一範例實施例中,第三奇偶資料不根據第一奇偶資料與第二奇偶資料而產生。具體地,所述編碼操作還可包括第三編碼操作。除了上述的第一編碼電路及第二編碼電路之外,編碼電路541還可包括第三編碼電路(未繪示)。編碼電路541中的第三編碼電路可根據寫入資料執行所述第三編碼操作以產生第三奇偶資料。另外,第一奇偶資料可單獨、搭配第二奇偶資料或搭配第二奇偶資料與第三奇偶資料與所述寫入資料執行解碼操作。第二奇偶資料需搭配第一奇偶資料與所述寫入資料執行解碼操作。第三奇偶資料需搭配第一奇偶資料與第二奇偶資料與所述寫入資料執行解碼操作。
在編碼寫入資料後,記憶體管理電路51可發送寫入指令序列(亦稱為第二寫入指令序列)至可複寫式非揮發性記憶體模組43。所述第二寫入指令序列可用以指示可複寫式非揮發性記憶體模組43儲存所述寫入資料、第一奇偶資料、第二奇偶資料及第三奇偶資料。在一範例實施例中,記憶體管理電路51可將所述寫入資料及第一奇偶資料儲存至同一個實體單元(意即,第一實體單元)中,並且將第二奇偶資料與第三奇偶資料儲存至另一個實體單元(意即,第二實體單元)中。在一範例實施例中,第二奇偶資料與第三奇偶資料被儲存於不同的實體單元中,其中用以儲存第三奇偶資料的實體單元亦稱為第三實體單元。
爾後,記憶體管理電路51可發送至少一讀取指令序列至可複寫式非揮發性記憶體模組43。所述讀取指令序列可指示可複寫式非揮發性記憶體模組43對特定的實體單元進行資料讀取。在從可複寫式非揮發性記憶體模組43中讀取所述寫入資料時,記憶體管理電路51可一併從可複寫式非揮發性記憶體模組43中讀取第一奇偶資料(及第二奇偶資料與第三奇偶資料)。解碼電路542可根據第一奇偶資料(及第二奇偶資料與第三奇偶資料)與從可複寫式非揮發性記憶體模組43中讀取出來的所述寫入資料來執行解碼操作,以偵測並更正所述寫入資料的錯誤。
需要說明的是,在從可複寫式非揮發性記憶體模組43中讀取所述寫入資料時,記憶體管理電路51可僅先一併讀取第一奇偶資料,並在需要更高的錯誤更正能力的情況(意即,第一奇偶資料解碼失敗)下,再視解碼情況讀取第二奇偶資料(及第三奇偶資料),以提升解碼速度。
換言之,錯誤檢查與校正電路54可執行迭代(iteration)解碼操作。一個迭代解碼操作是用以解碼來自可複寫式非揮發性記憶體模組43中的一筆資料。在迭代解碼操作中,用於檢查資料的正確性的奇偶檢查操作與用以更正資料中的錯誤的解碼操作可重複且交替執行,直到解碼成功或迭代次數到達一預定次數。若迭代次數到達所述預定次數,即表示解碼失敗。若解碼成功,則錯誤檢查與校正電路54可停止解碼操作並輸出解碼成功的資料。
在一範例實施例中,在從可複寫式非揮發性記憶體模組43中讀取所述寫入資料時,錯誤檢查與校正電路54(或解碼電路542)可先基於硬解碼模式使用預設的可靠度資訊(意即,對數可能性比值)來解碼寫入資料與第一奇偶資料。若解碼失敗,錯誤檢查與校正電路54(或解碼電路542)可改為基於軟解碼模式使用更新過的(或調整過的)對數可能性比值來解碼寫入資料、第一奇偶資料及第二奇偶資料(與第三奇偶資料),以提高解碼成功率。
圖9是根據本發明的範例實施例所繪示的解碼流程的示意圖。請參照圖9,假設第一奇偶資料P(1)、第二奇偶資料P(2)及第三奇偶資料P(3)皆是藉由對儲存至可複寫式非揮發性記憶體模組43的寫入資料901進行編碼而產生。相關的操作細節已詳述於上,在此不重複重述。
在一範例實施例中,記憶體管理電路51可發送第一讀取指令序列至可複寫式非揮發性記憶體模組43,以從可複寫式非揮發性記憶體模組43中讀取寫入資料901及第一奇偶資料P(1)。在記憶體管理電路51從可複寫式非揮發性記憶體模組43中讀取寫入資料901及第一奇偶資料P(1)時,記憶體管理電路51也會取得對應於寫入資料901的對數可能性比值以及對應於第一奇偶資料P(1)的對數可能性比值。在一範例實施例中,記憶體管理電路51可通過查表的方式來取得對數可能性比值。具體地,由於寫入資料901及第一奇偶資料P(1)被儲存於同一個實體單元(意即,第一實體單元)中,記憶體管理電路可自對應於第一實體單元的第一查詢表81中取得對應於寫入資料901及第一奇偶資料P(1)的對數可能性比值。由於寫入資料901及第一奇偶資料P(1)未被解碼過,記憶體管理電路51可自第一查詢表81中取得預設的對數可能性比值。
爾後,錯誤檢查與校正電路54可根據寫入資料901與第一奇偶資料P(1)執行解碼操作(亦稱為第一解碼操作)。具體地,記憶體管理電路51可將取得的對數可能性比值(意即,對應於寫入資料901及第一奇偶資料P(1)的對數可能性比值)提供給錯誤檢查與校正電路54。據此,錯誤檢查與校正電路54的解碼電路542可使用由記憶體管理電路51所提供的對數可能性比值來對寫入資料901與第一奇偶資料P(1)執行第一解碼操作,以提升解碼效率。
若解碼成功(意即,第一解碼操作為成功),錯誤檢查與校正電路54可停止解碼操作,並輸出解碼成功的資料。
另一方面,若解碼失敗(意即,第一解碼操作為失敗),記憶體管理電路51可再發送第二讀取指令序列至可複寫式非揮發性記憶體模組43,以從可複寫式非揮發性記憶體模組43中讀取第二奇偶資料P(2)。在記憶體管理電路51從可複寫式非揮發性記憶體模組43中讀取第二奇偶資料P(2)時,記憶體管理電路51也會取得對應於第二奇偶資料P(2)的對數可能性比值。具體地,由於第二奇偶資料P(2)與寫入資料901(及第一奇偶資料P(1))儲存在不同的實體單元(意即,第二實體單元)中,記憶體管理電路51可自對應於第二實體單元的第二查詢表中取得對應於第二奇偶資料P(2)的對數可能性比值,其中第二查詢表不同於前述的第一查詢表81。第二查詢表所記載的內容類似於第一查詢表81,故不在此重述。由於第二奇偶資料P(2)未被解碼過,記憶體管理電路51可自第二查詢表中取得預設的對數可能性比值。
接下來,解碼電路542可根據第二奇偶資料P(2)執行解碼操作(亦稱為第二解碼操作)。具體地,記憶體管理電路51可將取得的對數可能性比值(意即,對應於第二奇偶資料P(2)的對數可能性比值)提供給錯誤檢查與校正電路54。據此,錯誤檢查與校正電路54的解碼電路542可使用由記憶體管理電路51所提供的對數可能性比值來對第二奇偶資料P(2)執行第二解碼操作,以提升解碼效率。
若解碼失敗(意即,第二解碼操作為失敗),記憶體管理電路51可降低對應於第二奇偶資料P(2)的對數可能性比值。在一範例實施例中,記憶體管理電路51可記錄解碼操作(例如是,第一解碼操作及/或第二解碼操作)的一解碼結果,並根據所述解碼結果調整對數可能性比值。具體地,由於第一解碼操作為失敗,記憶體管理電路51可降低對應於寫入資料901的對數可能性比值以及對應於第一奇偶資料P(1)的對數可能性比值。類似地,由於第二解碼操作亦為失敗,記憶體管理電路51可降低對應於第二奇偶資料P(2)的對數可能性比值。據此,解碼電路542可使用調降過的對數可能性比值對寫入資料901、第一奇偶資料P(1)及第二奇偶資料P(2)進行解碼操作,以提升解碼效率。值得一提的是,透過增加奇偶資料的資料長度(意即,將第一奇偶資料P(1)及第二奇偶資料P(2)合併為奇偶資料P(12)),解碼電路542可提高對寫入資料901的錯誤更正能力。
另一方面,若解碼成功(意即,第二解碼操作為成功),則記憶體管理電路51可提高對應於第二奇偶資料P(2)的對數可能性比值。具體地,記憶體管理電路51可根據解碼結果來調整對數可能性比值。由於針對第二奇偶資料P(2)的第二解碼操作為成功(意即,第二奇偶資料P(2)為正確的),記憶體管理電路51可將對應於第二奇偶資料P(2) (例如是,“1001”)的對數可能性比值提高為“-15, +15, +15, -15”。另外,由於第一解碼操作為失敗,記憶體管理電路51可降低對應於寫入資料901的對數可能性比值以及對應於第一奇偶資料P(1)的對數可能性比值。
據此,解碼電路542可使用調整過的對數可能性比值對寫入資料901、第一奇偶資料P(1)及第二奇偶資料P(2)進行解碼操作(意即,第三解碼操作),以提升解碼效率。
以解碼電路542的視角來說,寫入資料901、第一奇偶資料P(1)及第二奇偶資料P(2)可被視為一串行資料。假設寫入資料901為“1010”、第一奇偶資料P(1)為“1100”且第二奇偶資料P(2)為“1001”,則所述串行資料為“101011001001”。由於寫入資料901與第一奇偶資料P(1)被儲存於同一個實體單元(意即,第一實體單元)中,故寫入資料901與第一奇偶資料P(1)可被視為所述串行資料的第一部份(意即,所述串行資料的前8個位元“10101100”)。類似地,由於第二奇偶資料P(2)與寫入資料901(及第一奇偶資料P(1))被儲存於不同的實體單元(意即,第二實體單元)中,故第二奇偶資料P(2)可被視為所述串行資料的第二部份(意即,所述串行資料的後4個位元“1001”)。也就是說,解碼電路542可根據串行資料執行解碼操作(意即,第三解碼操作)。
在一範例實施例中,解碼電路542可使用第一對數可能性比值對所述第一部份執行第三解碼操作,並且使用第二對數可能性比值對所述第二部份執行第三解碼操作。對應於寫入資料901與第一奇偶資料P(1)的對數可能性比值即為第一對數可能性比值,對應於第二奇偶資料P(2)的對數可能性比值即為第二對數可能性比值。如前述,對應於寫入資料901與第一奇偶資料P(1)的對數可能性比值源自於第一查詢表81,且對應於第二奇偶資料P(2)的對數可能性比值源自於第二查詢表。也就是說,第一對數可能性比值源自第一查詢表81,且第二對數可能性比值源自第二查詢表。
在此,第一部份已被解碼過且解碼失敗(意即,第一解碼操作為失敗),且第二部份已被解碼過且解碼成功(意即,第二解碼操作為成功)。解碼電路542可使用調降過的第一對數可能性比值對寫入資料901與第一奇偶資料P(1)進行第三解碼操作,並使用調高過的第二對數可能性比值對第二奇偶資料P(2)進行第三解碼操作,以提升解碼效率。
若解碼成功(意即,第三解碼操作為成功),錯誤檢查與校正電路54可停止解碼操作,並輸出解碼成功的資料。
另一方面,若解碼失敗(意即,第三解碼操作為失敗),記憶體管理電路51可再發送第三讀取指令序列至可複寫式非揮發性記憶體模組43,以從可複寫式非揮發性記憶體模組43中讀取第三奇偶資料P(3)。在記憶體管理電路51從可複寫式非揮發性記憶體模組43中讀取第三奇偶資料P(3)時,記憶體管理電路51也會取得對應於第三奇偶資料P(3)的對數可能性比值。具體地,由於第三奇偶資料P(3)與第二奇偶資料P(2)及寫入資料901(及第一奇偶資料P(1))儲存在不同的實體單元(意即,第三實體單元)中,記憶體管理電路51可自對應於用以儲存第三奇偶資料P(3)的實體單元的第三查詢表中取得對應於第三奇偶資料P(3)的對數可能性比值,其中第三查詢表不同於前述的第一查詢表及第二查詢表。第三查詢表所記載的內容類似於第一查詢表81,故不在此重述。
接下來,解碼電路542可根據第三奇偶資料P(3)執行解碼操作(亦稱為第四解碼操作)。具體地,錯誤檢查與校正電路54的解碼電路542可使用對應於第三奇偶資料P(3)的對數可能性比值來對第三奇偶資料P(3)執行第四解碼操作,以提升解碼效率。
若解碼失敗(意即,第四解碼操作為失敗),記憶體管理電路51可降低對應於第三奇偶資料P(3)的對數可能性比值。在一範例實施例中,記憶體管理電路51可記錄解碼操作的解碼結果,並據以調整對數可能性比值。具體地,由於第三解碼操作為失敗,記憶體管理電路51再次降低對應於寫入資料901的對數可能性比值以及對應於第一奇偶資料P(1)的對數可能性比值。類似地,由於第四解碼操作亦為失敗,記憶體管理電路51可降低對應於第三奇偶資料P(3)的對數可能性比值。據此,解碼電路542可使用調降過的對數可能性比值對寫入資料901、第一奇偶資料P(1)、第二奇偶資料P(2)及第三奇偶資料P(3)進行解碼操作,以提升解碼效率。在此,解碼電路542可將第一奇偶資料P(1)、第二奇偶資料P(2)及第三奇偶資料P(3)合併為奇偶資料P(13),並根據寫入資料901與奇偶資料P(13)執行解碼操作,以提高對寫入資料901的錯誤更正能力。
另一方面,若解碼成功(意即,第四解碼操作為成功),記憶體管理電路51可提高對應於第三奇偶資料P(3)的對數可能性比值。以對數可能性比值的表示範圍為-15至+15為例,假設第三奇偶資料P(3)為“1001”,則對應於第三奇偶資料P(3)的對數可能性比值為“-15, +15, -15, +15”。另外,由於第三解碼操作為失敗,記憶體管理電路51再次降低對應於寫入資料901的對數可能性比值以及對應於第一奇偶資料P(1)的對數可能性比值。
據此,解碼電路542可使用調整過的對數可能性比值對寫入資料901、第一奇偶資料P(1)、第二奇偶資料P(2)及第三奇偶資料P(3)進行解碼操作(意即,第五解碼操作),以提升解碼效率。值得一提的是,解碼電路542可將第一奇偶資料P(1)、第二奇偶資料P(2)及第三奇偶資料P(3)合併為資料長度較長的奇偶資料P(13),並根據寫入資料901與奇偶資料P(13)執行第五解碼操作,以提高對寫入資料901的錯誤更正能力。
關於第五解碼操作為成功或失敗的後續操作,可例如是參考第三解碼操作為成功或失敗的後續操作,在此便不再贅述。
需要說明的是,在一範例實施例中,若第三解碼操作為失敗,記憶體管理電路51也可不調整對應於寫入資料901的對數可能性比值以及對應於第一奇偶資料P(1)的對數可能性比值。也就是說,記憶體管理電路51也可僅調整(即,提高)解碼成功的資料的對數可能性比值,從而提升解碼能力。
須注意的是,圖9是以奇偶資料P(1)~P(3)為例。在一範例實施例中,編碼電路541還可對寫入資料901進行更多次編碼操作,以產生更多的奇偶資料。據此,在後續解碼寫入資料901時,響應於解碼失敗,更多的奇偶資料可被用以延長奇偶資料P(1),以有效提高對寫入資料901的解碼成功率。
圖10是根據本發明的範例實施例所繪示的解碼控制方法的流程圖。請參照圖10,在步驟S1001中,根據串行資料執行解碼操作。在步驟S1002中,在解碼操作中,使用第一對數可能性比值對串行資料的第一部份執行解碼操作,並且使用第二對數可能性比值對串行資料的第二部份執行解碼操作,其中第一對數可能性比值源自第一查詢表,且第二對數可能性比值源自第二查詢表,其中在執行解碼操作之前,第二部份已被解碼過,且解碼成功。
圖11是根據本發明的範例實施例所繪示的解碼控制方法的流程圖。請參照圖11,在步驟S1101中,響應於根據寫入資料及第一奇偶資料所執行的第一解碼操作為失敗,讀取第二奇偶資料。在步驟S1102中,根據第二奇偶資料執行第二解碼操作。在步驟S1103中,響應於第二解碼操作為成功,則提高對應於第二奇偶資料的對數可能性比值。在步驟S1104中,根據寫入資料、第一奇偶資料及第二奇偶資料執行第三解碼操作。
然而,圖10與圖11中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖10與圖11中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖10與圖11的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,本發明的範例實施例可藉由記錄每一次解碼操作的解碼結果,並根據所述解碼結果動態地調整可靠度資訊(意即,對數可能性比值),可有效地提升解碼能力。此外,本發明的範例實施例還可將多個奇偶資料儲存於不同的實體單元中,以根據不同的實體單元具有不同的可靠度的特性,來提升解碼能力。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
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:嵌入式多晶片封裝儲存裝置 41:連接介面單元 42:記憶體控制電路單元 43:可複寫式非揮發性記憶體模組 51:記憶體管理電路 52:主機介面 53:記憶體介面 54:錯誤檢查與校正電路 55:緩衝記憶體 56:電源管理電路 601:儲存區 602:閒置區 610(0)~610(B):實體單元 612(0)~612(C):邏輯單元 711~716:電壓區間 81:查詢表 901:寫入資料 HB、SB(1)、SB(2):位元 LLR、LLR(1)~LLR(6):對數可能性比值 P(1)、P(12)、P(13)、P(2)、P(3):奇偶資料 S1001:步驟(根據串行資料執行解碼操作) S1002:步驟(在解碼操作中,使用第一對數可能性比值對串行資料的第一部份執行解碼操作,並且使用第二對數可能性比值對串行資料的第二部份執行解碼操作,其中第一對數可能性比值源自第一查詢表,且第二對數可能性比值源自第二查詢表,其中在執行解碼操作之前,第二部份已被解碼過,且解碼成功) S1101:步驟(響應於根據寫入資料及第一奇偶資料所執行的第一解碼操作為失敗,讀取第二奇偶資料) S1102:步驟(根據第二奇偶資料執行第二解碼操作) S1103:步驟(響應於第二解碼操作為成功,則提高對應於第二奇偶資料的對數可能性比值) S1104:步驟(根據寫入資料、第一奇偶資料及第二奇偶資料執行第三解碼操作) V(HB)、V(SB1)~V(SB4):讀取電壓準位
圖1是根據本發明的範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據本發明的範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。 圖3是根據本發明的範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據本發明的範例實施例所繪示的記憶體儲存裝置的概要方塊圖。 圖5是根據本發明的範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖6是根據本發明的範例實施例所繪示的管理可複寫式非揮發性記憶體模組的示意圖。 圖7是根據本發明的範例實施例所繪示的第一實體單元的臨界電壓分布及使用多個讀取電壓準位來讀取第一實體單元的示意圖。 圖8是根據本發明的範例實施例所繪示的對應於第一實體單元的第一查詢表的示意圖。 圖9是根據本發明的範例實施例所繪示的解碼流程的示意圖。 圖10是根據本發明的範例實施例所繪示的解碼控制方法的流程圖。 圖11是根據本發明的範例實施例所繪示的解碼控制方法的流程圖。
S1101:步驟(響應於根據寫入資料及第一奇偶資料所執行的第一解碼操作為失敗,讀取第二奇偶資料)
S1102:步驟(根據第二奇偶資料執行第二解碼操作)
S1103:步驟(響應於第二解碼操作為成功,則提高對應於第二奇偶資料的對數可能性比值)
S1104:步驟(根據寫入資料、第一奇偶資料及第二奇偶資料執行第三解碼操作)
Claims (21)
- 一種解碼控制方法,用於可複寫式非揮發性記憶體模組,所述解碼控制方法包括: 響應於根據寫入資料及第一奇偶資料所執行的第一解碼操作為失敗,讀取第二奇偶資料; 根據所述第二奇偶資料執行第二解碼操作; 響應於所述第二解碼操作為成功,提高對應於所述第二奇偶資料的對數可能性比值;以及 根據所述寫入資料、所述第一奇偶資料及所述第二奇偶資料執行第三解碼操作。
- 如請求項1所述的解碼控制方法,更包括: 響應於所述第一解碼操作為失敗,降低對應於所述寫入資料的對數可能性比值以及對應於所述第一奇偶資料的對數可能性比值。
- 如請求項1所述的解碼控制方法,更包括: 響應於所述第三解碼操作為失敗,讀取第三奇偶資料; 根據所述第三奇偶資料執行第四解碼操作; 響應於所述第四解碼操作為成功,提高對應於所述第三奇偶資料的對數可能性比值;以及 根據所述寫入資料、所述第一奇偶資料、所述第二奇偶資料及所述第三奇偶資料執行第五解碼操作。
- 如請求項1所述的解碼控制方法,更包括: 記錄所述第一解碼操作與所述第二解碼操作的解碼結果;以及 根據所述解碼結果調整所述對數可能性比值。
- 一種解碼控制方法,用於可複寫式非揮發性記憶體模組,所述解碼控制方法包括: 根據串行資料執行解碼操作; 在所述解碼操作中,使用第一對數可能性比值對所述串行資料的第一部份執行所述解碼操作,並且使用第二對數可能性比值對所述串行資料的第二部份執行所述解碼操作, 其中所述第一對數可能性比值源自第一查詢表,且所述第二對數可能性比值源自第二查詢表, 其中在執行所述解碼操作之前,所述第二部份已被解碼過,且解碼成功。
- 如請求項5所述的解碼控制方法,其中在執行所述解碼操作之前,所述第一部份已被解碼過,且解碼失敗。
- 如請求項5所述的解碼控制方法,其中所述第一部份與所述第二部份自不同的實體單元被讀取。
- 一種記憶體儲存裝置,包括: 連接介面單元,耦接至主機系統; 可複寫式非揮發性記憶體模組;以及 記憶體控制電路單元,耦接至所述連接介面單元及所述可複寫式非揮發性記憶體模組, 其中,所述記憶體控制電路單元用以: 響應於根據寫入資料及第一奇偶資料所執行的第一解碼操作為失敗,讀取第二奇偶資料;以及 響應於第二解碼操作為成功,提高對應於所述第二奇偶資料的對數可能性比值, 所述記憶體控制電路單元包括解碼電路,所述解碼電路用以: 根據所述第二奇偶資料執行所述第二解碼操作;以及 根據所述寫入資料、所述第一奇偶資料及所述第二奇偶資料執行第三解碼操作。
- 如請求項8所述的記憶體儲存裝置,其中所述記憶體控制電路單元更用以: 響應於所述第一解碼操作為失敗,降低對應於所述寫入資料的對數可能性比值以及對應於所述第一奇偶資料的對數可能性比值。
- 如請求項8所述的記憶體儲存裝置,其中所述記憶體控制電路單元更用以: 響應於所述第三解碼操作為失敗,讀取第三奇偶資料;以及 響應於第四解碼操作為成功,提高對應於所述第三奇偶資料的對數可能性比值, 並且所述解碼電路更用以: 根據所述第三奇偶資料執行所述第四解碼操作;以及 根據所述寫入資料、所述第一奇偶資料、所述第二奇偶資料及所述第三奇偶資料執行第五解碼操作。
- 如請求項8所述的記憶體儲存裝置,其中所述記憶體控制電路單元更用以: 記錄所述第一解碼操作與所述第二解碼操作的解碼結果;以及 根據所述解碼結果調整所述對數可能性比值。
- 一種記憶體儲存裝置,包括: 連接介面單元,耦接至主機系統; 可複寫式非揮發性記憶體模組;以及 記憶體控制電路單元,耦接至所述連接介面單元及所述可複寫式非揮發性記憶體模組,其中 所述記憶體控制電路單元包括解碼電路,所述解碼電路用以: 根據串行資料執行解碼操作;以及 在所述解碼操作中,使用第一對數可能性比值對所述串行資料的第一部份執行所述解碼操作,並且使用第二對數可能性比值對所述串行資料的第二部份執行所述解碼操作, 其中所述第一對數可能性比值源自第一查詢表,且所述第二對數可能性比值源自第二查詢表, 其中在執行所述解碼操作之前,所述第二部份已被解碼過,且解碼成功。
- 如請求項12所述的記憶體儲存裝置,其中在執行所述解碼操作之前,所述第一部份已被解碼過,且解碼失敗。
- 如請求項12所述的記憶體儲存裝置,其中所述第一部份與所述第二部份自不同的實體單元被讀取。
- 一種記憶體控制電路單元,用以控制可複寫式非揮發性記憶體模組,所述記憶體控制電路單元包括: 主機介面,耦接至連接介面單元; 記憶體介面,耦接至所述可複寫式非揮發性記憶體模組; 解碼電路;以及 記憶體管理電路,耦接至所述主機介面、所述記憶體介面以及所述解碼電路, 其中,所述記憶體管理電路用以: 響應於根據寫入資料及第一奇偶資料所執行的第一解碼操作為失敗,讀取第二奇偶資料;以及 響應於第二解碼操作為成功,提高對應於所述第二奇偶資料的對數可能性比值, 所述解碼電路用以: 根據所述第二奇偶資料執行所述第二解碼操作;以及 根據所述寫入資料、所述第一奇偶資料及所述第二奇偶資料執行第三解碼操作。
- 如請求項15所述的記憶體控制電路單元,其中所述記憶體管理電路更用以: 響應於所述第一解碼操作為失敗,降低對應於所述寫入資料的對數可能性比值以及對應於所述第一奇偶資料的對數可能性比值。
- 如請求項15所述的記憶體控制電路單元,其中所述記憶體管理電路更用以: 響應於所述第三解碼操作為失敗,讀取第三奇偶資料;以及 響應於第四解碼操作為成功,提高對應於所述第三奇偶資料的對數可能性比值, 所述解碼電路更用以: 根據所述第三奇偶資料執行所述第四解碼操作;以及 根據所述寫入資料、所述第一奇偶資料、所述第二奇偶資料及所述第三奇偶資料執行第五解碼操作。
- 如請求項15所述的記憶體控制電路單元,其中所述記憶體管理電路更用以: 記錄所述第一解碼操作與所述第二解碼操作的解碼結果;以及 根據所述解碼結果調整所述對數可能性比值。
- 一種記憶體控制電路單元,用以控制可複寫式非揮發性記憶體模組,所述記憶體控制電路單元包括: 主機介面,耦接至連接介面單元; 記憶體介面,耦接至所述可複寫式非揮發性記憶體模組; 解碼電路;以及 記憶體管理電路,耦接至所述主機介面、所述記憶體介面以及所述解碼電路, 其中,所述解碼電路用以: 根據串行資料執行解碼操作;以及 在所述解碼操作中,使用第一對數可能性比值對所述串行資料的第一部份執行所述解碼操作,並且使用第二對數可能性比值對所述串行資料的第二部份執行所述解碼操作, 其中所述第一對數可能性比值源自第一查詢表,且所述第二對數可能性比值源自第二查詢表, 其中在執行所述解碼操作之前,所述第二部份已被解碼過,且解碼成功。
- 如請求項19所述的記憶體控制電路單元,其中在執行所述解碼操作之前,所述第一部份已被解碼過,且解碼失敗。
- 如請求項19所述的記憶體控制電路單元,其中所述第一部份與所述第二部份自不同的實體單元被讀取。
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TWI913112B true TWI913112B (zh) | 2026-01-21 |
Family
ID=
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114127692A (zh) | 2019-07-24 | 2022-03-01 | 微芯片技术股份有限公司 | 用于对利用提前硬解码退出的存储器设备进行解码的存储器控制器和方法 |
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114127692A (zh) | 2019-07-24 | 2022-03-01 | 微芯片技术股份有限公司 | 用于对利用提前硬解码退出的存储器设备进行解码的存储器控制器和方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI751620B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI640865B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI628543B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN109491828B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
| CN118051182A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
| CN113724774A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
| CN113140253A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
| US20240201857A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
| TWI597731B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN111538687B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
| TWI834149B (zh) | 表格管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI913112B (zh) | 解碼控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN117174132A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
| CN111258791B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
| TW202232477A (zh) | 編碼控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI914012B (zh) | 錯誤更正方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI898784B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI880783B (zh) | 資料檢查方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN111863099A (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
| TWI880640B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI867874B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN113360429B (zh) | 数据重建方法、存储器存储装置及存储器控制电路单元 | |
| CN112799973B (zh) | 编码控制方法、存储器存储装置及存储器控制电路单元 | |
| US20240402943A1 (en) | Memory management method, memory storage device and memory control circuit unit | |
| CN120086057A (zh) | 解码控制方法、存储器存储装置及存储器控制电路单元 |