TWI717171B - 資料讀取方法、儲存控制器與儲存裝置 - Google Patents
資料讀取方法、儲存控制器與儲存裝置 Download PDFInfo
- Publication number
- TWI717171B TWI717171B TW108147735A TW108147735A TWI717171B TW I717171 B TWI717171 B TW I717171B TW 108147735 A TW108147735 A TW 108147735A TW 108147735 A TW108147735 A TW 108147735A TW I717171 B TWI717171 B TW I717171B
- Authority
- TW
- Taiwan
- Prior art keywords
- decoded
- iterative decoding
- decoder
- decoding operations
- final
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000004044 response Effects 0.000 claims abstract description 47
- 208000011580 syndromic disease Diseases 0.000 claims description 165
- 238000012937 correction Methods 0.000 claims description 41
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 48
- 230000005540 biological transmission Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 8
- 238000013523 data management Methods 0.000 description 7
- 230000005055 memory storage Effects 0.000 description 7
- 238000005265 energy consumption Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提供一種資料讀取方法。所述方法包括:對多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字;經由第一解碼器,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字;反應於判定經由第二解碼器執行所述多個第二迭代解碼操作,根據所述X個第一已解碼碼字來產生第一軟位元資訊與對數似然比表,並且經由所述第二解碼器,根據所產生的所述第一軟位元資訊與所述對數似然比表來執行多個第二迭代解碼操作,以獲得最終已解碼碼字。
Description
本發明是有關於一種資料讀取方法,且特別是有關於一種適用於配置有可複寫式非揮發性記憶體模組的儲存裝置及其儲存控制器的資料讀取方法。
現有的錯誤檢查與校正電路中可具有兩個一解碼器,一個解碼器具有較低的解碼能力且較低的耗能(耗費較低的電力),另一個解碼器具有較高的解碼能力且較高的耗能。
一般來說,當對所讀取的讀取資料(原始碼字)來進行解碼操作時,錯誤檢查與校正電路會先使用較低耗能的解碼器來進行初步的解碼程序。當所述初步的解碼程序失敗後,錯誤檢查與校正電路再使用較高耗能的能力的解碼器來重新進行解碼,以嘗試獲得解碼正確的讀取資料。
然而,由於傳統方法會利用較高耗能的能力的解碼器重新解碼,而導致了整體解碼操作的耗費時間增加,更增加了耗能。
因此,如何增進具有複數種類的解碼器的錯誤檢查與校正電路的解碼效率,提昇解碼操作的性能且增進可複寫式非揮發性記憶體模組的資料讀取效率,是本領域人員研究的課題之一。
本發明的一實施例提供適用於配置有一可複寫式非揮發性記憶體模組的一儲存裝置的一種資料讀取方法,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值。所述方法包括:對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字;經由第一解碼器,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子;根據所述X個第一迭代解碼操作來判斷是否經由第二解碼器執行多個第二迭代解碼操作;反應於判定經由所述第二解碼器執行所述多個第二迭代解碼操作,根據所述X個第一已解碼碼字來產生第一軟位元資訊與對數似然比(Log Likelihood Ratio,LLR)表,並且經由所述第二解碼器,根據所產生的所述第一軟位元資訊與所述對數似然比表來執行多個第二迭代解碼操作,以獲得所述最終已解碼碼字;反應於判定不經由所述第二解碼器執行所述多個第二迭代解碼操作,經由所述第一解碼器,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字;以及反應於判定所述最終已解碼碼字為正確的,輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且完成所述讀取操作。
本發明的一實施例提供用於控制配置有可複寫式非揮發性記憶體模組的儲存裝置的一種儲存控制器。所述儲存控制器包括:連接介面電路、記憶體介面控制電路、讀取輔助電路單元、錯誤檢查與校正電路以及處理器。連接介面電路用以耦接至主機系統。記憶體介面控制電路用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值。處理器耦接至所述連接介面電路、所述記憶體介面控制電路、所述讀取輔助電路單元及所述錯誤檢查與校正電路。所述處理器用以對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字。所述讀取輔助電路單元指示所述第一解碼器,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子。此外,所述讀取輔助電路單元根據所述X個第一迭代解碼操作來判斷是否經由第二解碼器執行多個第二迭代解碼操作。反應於判定經由所述第二解碼器執行所述多個第二迭代解碼操作,所述讀取輔助電路單元根據所述X個第一已解碼碼字來產生第一軟位元資訊與對數似然比(Log Likelihood Ratio,LLR)表,並且指示所述第二解碼器,根據所產生的所述第一軟位元資訊與所述對數似然比表來執行多個第二迭代解碼操作,以獲得所述最終已解碼碼字;以及反應於判定不經由所述第二解碼器執行所述多個第二迭代解碼操作,所述讀取輔助電路單元指示所述第一解碼器,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字。此外,反應於判定所述最終已解碼碼字為正確的,所述錯誤檢查與校正電路輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且完成所述讀取操作。
本發明的一實施例提供一種儲存裝置。所述儲存裝置包括可複寫式非揮發性記憶體模組、記憶體介面控制電路及處理器。可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值。記憶體介面控制電路用以耦接至所述可複寫式非揮發性記憶體模組。處理器耦接至所述記憶體介面控制電路,其中所述處理器載入且執行讀取輔助程式碼模組,以實現資料讀取方法。其中所述處理器載入且執行一讀取輔助程式碼模組,以實現一資料讀取方法。所述資料讀取方法包括下列步驟:對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字;經由第一解碼器,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子;根據所述X個第一迭代解碼操作來判斷是否經由第二解碼器執行多個第二迭代解碼操作;反應於判定經由所述第二解碼器執行所述多個第二迭代解碼操作,根據所述X個第一已解碼碼字來產生第一軟位元資訊與對數似然比(Log Likelihood Ratio,LLR)表,並且經由所述第二解碼器,根據所產生的所述第一軟位元資訊與所述對數似然比表來執行多個第二迭代解碼操作,以獲得所述最終已解碼碼字;反應於判定不經由所述第二解碼器執行所述多個第二迭代解碼操作,經由所述第一解碼器,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字;以及反應於判定所述最終已解碼碼字為正確的,輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且完成所述讀取操作。
基於上述,本發明實施例所提供的資料讀取方法、儲存控制器及儲存裝置,可從目標實體頁面讀取原始碼字後,利用經由第一解碼器對所述原始碼字執行多個第一迭代解碼操作所獲得的多個第一已解碼碼字與對應的多個第一校驗子來判斷是否要進一步經由第二解碼器來執行多個第二迭代解碼操作或經由第一解碼器執行多個第三迭代解碼操作,並且反應於判定經由第二解碼器來執行多個第二迭代解碼操作,根據所述多個第一已解碼碼字來產生第一軟位元資訊與對應的對數似然比表,以有效地利用所述多個第一已解碼碼字來增進第二解碼器所執行的所述多個第二迭代解碼操作的正確率。如此一來,雖然第一解碼器執行多個第一迭代解碼操作的期間會耗費電力與時間,但是經由所述多個第一迭代解碼操作所獲得多個第一已解碼碼字可被利用在後續第二解碼器所執行的第二迭代解碼操作,而改善了傳統作法的第二解碼器因重新利用原始碼字來進行多個迭代解碼操作,而具有較大的耗時與耗能所導致的問題,增進了從目標實體頁面所讀取資料的正確性與可靠度,降低對所讀取資料所執行的解碼操作的負荷,進而增進了資料讀取操作整體的效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本實施例中,儲存裝置包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與儲存裝置控制器(亦稱,儲存控制器或儲存控制電路)。此外,儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至儲存裝置或從儲存裝置中讀取資料。
圖1A是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。
請參照圖1A,主機系統(Host System)10包括處理器(Processor)110、主機記憶體(Host Memory)120及資料傳輸介面電路(Data Transfer Interface Circuit)130。在本實施例中,資料傳輸介面電路130耦接(亦稱,電性連接)至處理器110與主機記憶體120。在另一實施例中,處理器110、主機記憶體120與資料傳輸介面電路130之間利用系統匯流排(System Bus)彼此耦接。
儲存裝置20包括儲存控制器(Storage Controller)210、可複寫式非揮發性記憶體模組(Rewritable Non-Volatile Memory Module)220及連接介面電路(Connection Interface Circuit)230。其中,儲存控制器210包括處理器211、資料管理電路(Data Management Circuit)212與記憶體介面控制電路(Memory Interface Control Circuit)213。
在本實施例中,主機系統10是透過資料傳輸介面電路130與儲存裝置20的連接介面電路230耦接至儲存裝置20來進行資料的存取操作。例如,主機系統10可經由資料傳輸介面電路130將資料儲存至儲存裝置20或從儲存裝置20中讀取資料。
在本實施例中,處理器110、主機記憶體120及資料傳輸介面電路130可設置在主機系統10的主機板上。資料傳輸介面電路130的數目可以是一或多個。透過資料傳輸介面電路130,主機板可以經由有線或無線方式耦接至儲存裝置20。儲存裝置20可例如是隨身碟、記憶卡、固態硬碟(Solid State Drive,SSD)或無線記憶體儲存裝置。無線記憶體儲存裝置可例如是近距離無線通訊(Near Field Communication,NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板也可以透過系統匯流排耦接至全球定位系統(Global Positioning System,GPS)模組、網路介面卡、無線傳輸裝置、鍵盤、螢幕、喇叭等各式I/O裝置。
在本實施例中,資料傳輸介面電路130與連接介面電路230是相容於高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準的介面電路。並且,資料傳輸介面電路130與連接介面電路230之間是利用快速非揮發性記憶體介面標準(Non-Volatile Memory express,NVMe)通訊協定來進行資料的傳輸。
然而,必須瞭解的是,本發明不限於此,資料傳輸介面電路130與連接介面電路230亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、序列先進附件(Serial Advanced Technology Attachment,SATA)標準、通用序列匯流排(Universal Serial Bus,USB)標準、SD介面標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、記憶棒(Memory Stick, MS)介面標準、多晶片封裝(Multi-Chip Package)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、eMMC介面標準、通用快閃記憶體(Universal Flash Storage,UFS)介面標準、eMCP介面標準、CF介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。此外,在另一實施例中,連接介面電路230可與儲存控制器210封裝在一個晶片中,或者連接介面電路230是佈設於一包含儲存控制器210之晶片外。
在本實施例中,主機記憶體120用以暫存處理器110所執行的指令或資料。例如,在本範例實施例中,主機記憶體120可以是動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)、靜態隨機存取記憶體(Static Random Access Memory,SRAM)等。然而,必須瞭解的是,本發明不限於此,主機記憶體120也可以是其他適合的記憶體。
儲存控制器210用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統10的指令在可複寫式非揮發性記憶體模組220中進行資料的寫入、讀取與抹除等運作。
更詳細來說,儲存控制器210中的處理器211為具備運算能力的硬體,其用以控制儲存控制器210的整體運作。具體來說,處理器211具有多個控制指令,並且在儲存裝置20運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
值得一提的是,在本實施例中,處理器110與處理器211例如是中央處理單元(Central Processing Unit,CPU)、微處理器(micro-processor)、或是其他可程式化之處理單元(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似電路元件,本發明並不限於此。
在一實施例中,儲存控制器210還具有唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當儲存控制器210被致能時,處理器211會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組220中之控制指令載入至儲存控制器210的隨機存取記憶體中。之後,處理器211會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。在另一實施例中,處理器211的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組220的特定區域,例如,可複寫式非揮發性記憶體模組220中專用於存放系統資料的實體儲存單元中。
在本實施例中,如上所述,儲存控制器210還包括資料管理電路212與記憶體介面控制電路213。應注意的是,儲存控制器210各部件所執行的操作亦可視為儲存控制器210所執行的操作。
其中,資料管理電路212耦接至處理器211、記憶體介面控制電路213與連接介面電路230。資料管理電路212用以接受處理器211的指示來進行資料的傳輸。例如,經由連接介面電路230從主機系統10(如,主機記憶體120)讀取資料,並且將所讀取的資料經由記憶體介面控制電路213寫入至可複寫式非揮發性記憶體模組220中(如,根據來自主機系統10的寫入指令來進行寫入操作)。又例如,經由記憶體介面控制電路213從可複寫式非揮發性記憶體模組220的一或多個實體單元中讀取資料(資料可讀取自一或多個實體單元中的一或多個記憶胞),並且將所讀取的資料經由連接介面電路230寫入至主機系統10(如,主機記憶體120)中(如,根據來自主機系統10的讀取指令來進行讀取操作)。在另一實施例中,資料管理電路212亦可整合至處理器211中。
記憶體介面控制電路213用以接受處理器211的指示,配合資料管理電路212來進行對於可複寫式非揮發性記憶體模組220的寫入(亦稱,程式化,Programming)操作、讀取操作或抹除操作。
舉例來說,處理器211可執行寫入指令序列,以指示記憶體介面控制電路213將資料寫入至可複寫式非揮發性記憶體模組220中;處理器211可執行讀取指令序列,以指示記憶體介面控制電路213從可複寫式非揮發性記憶體模組220的對應讀取指令的一或多個實體單元(亦稱,目標實體單元)中讀取資料;處理器211可執行抹除指令序列,以指示記憶體介面控制電路213對可複寫式非揮發性記憶體模組220進行抹除操作。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示對可複寫式非揮發性記憶體模組220執行相對應的寫入、讀取及抹除等操作。在一實施例中,處理器211還可以下達其他類型的指令序列給記憶體介面控制電路213,以對可複寫式非揮發性記憶體模組220執行相對應的操作。
此外,欲寫入至可複寫式非揮發性記憶體模組220的資料會經由記憶體介面控制電路213轉換為可複寫式非揮發性記憶體模組220所能接受的格式。具體來說,若處理器211要存取可複寫式非揮發性記憶體模組220,處理器211會傳送對應的指令序列給記憶體介面控制電路213以指示記憶體介面控制電路213執行對應的操作。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變預設讀取電壓組的多個預設讀取電壓值以進行讀取操作或讀取輔助操作,或執行垃圾回收程序等等)的相對應的指令序列。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
可複寫式非揮發性記憶體模組220是耦接至儲存控制器210(記憶體介面控制電路213)並且用以儲存主機系統10所寫入之資料。可複寫式非揮發性記憶體模組220可以是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、三階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、四階記憶胞(Quadruple Level Cell,QLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存4個位元的快閃記憶體模組)、三維NAND型快閃記憶體模組(3D NAND flash memory module)或垂直NAND型快閃記憶體模組(Vertical NAND flash memory module)等其他快閃記憶體模組或其他具有相同特性的記憶體模組。可複寫式非揮發性記憶體模組220中的記憶胞是以陣列的方式設置。
在本實施例中,可複寫式非揮發性記憶體模組220具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞。同一條字元線上的多個記憶胞會組成一或多個實體程式化單元。此外,多個實體程式化單元可組成一個實體單元(實體區塊或實體抹除單元)。
在本實施例中,是以記憶胞作為寫入(程式化)資料的最小單位。實體單元為抹除之最小單位,即,每一實體單元含有最小數目之一併被抹除之記憶胞。
儲存控制器210會配置多個邏輯單元給可複寫式非揮發性記憶體模組220。主機系統10是透過所配置的邏輯單元來存取儲存在多個實體單元中的使用者資料。在此,每一個邏輯單元可以是由一或多個邏輯位址組成。例如,邏輯單元可以是邏輯區塊(Logical Block)、邏輯頁面(Logical Page)或是邏輯扇區(Logical Sector)。一個邏輯單元可以是映射至一或多個實體單元,其中實體單元可以是一或多個實體位址、一或多個實體扇、一或多個實體程式化單元或者一或多個實體抹除單元。在本實施例中,邏輯單元為邏輯區塊,並且邏輯子單元為邏輯頁面。每一邏輯單元具有多個邏輯子單元。
此外,儲存控制器210會建立邏輯轉實體位址映射表(Logical To Physical address mapping table)與實體轉邏輯位址映射表(Physical To Logical address mapping table),以記錄配置給可複寫式非揮發性記憶體模組220的邏輯單元(如,邏輯區塊、邏輯頁面或邏輯扇區)與實體單元(如,實體抹除單元、實體程式化單元、實體扇區)之間的位址映射關係。換言之,儲存控制器210可藉由邏輯轉實體位址映射表來查找一邏輯單元所映射的實體單元,並且儲存控制器210可藉由實體轉邏輯位址映射表來查找一實體單元所映射的邏輯單元。然而,上述有關邏輯單元與實體單元映射的技術概念為本領域技術人員之慣用技術手段且非本發明所欲闡述的技術方案,不再贅述於此。
在本實施例中,錯誤檢查與校正電路214是耦接至處理器211並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當處理器211從主機系統10中接收到寫入指令時,錯誤檢查與校正電路214會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code,ECC)及/或錯誤檢查碼(error detecting code,EDC),並且處理器211會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組220中。之後,當處理器211從可複寫式非揮發性記憶體模組220中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路214會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。此外,在錯誤檢查與校正程序後,若成功解碼所讀取之資料,錯誤檢查與校正電路214可回傳錯誤位元數給處理器211。
在本實施例中,在接收到欲解碼之所述碼字(亦稱,目標碼字或原始碼字)之後,錯誤檢查與校正電路214會開始對所接收的所述碼字進行迭代解碼操作,辨識所接收碼字的多個資料位元,根據所述多個資料位元來查詢對應的對數似然比(Log Likelihood Ratio,LLR)表(亦稱,LLR表)以獲得對應多個資料位元的多個對數似然比值,並且經由所述對數似然比值來對所述碼字執行一輪的迭代解碼操作。
圖1B是根據本發明的一實施例所繪示的錯誤檢查與校正電路的方塊示意圖。請參照圖1B,在本實施例中,錯誤檢查與校正電路214包括解碼器與編碼器。解碼器包括第一解碼器2141與第二解碼器2142。編碼器包括第一編碼器2143與第二編碼器2144。所述第一解碼器2141所使用的第一演算法對應於第一編碼器2143所使用的第一演算法,並且所述第二解碼器2142所使用的第二演算法對應於第二編碼器2144所使用的第二演算法。
所述第一演算法例如是位元翻轉(bit flipping)演算法;所述第二演算法例如是最小值-總和演算法(Min-Sum Algorithm)。即,所述第一解碼器為使用位元翻轉演算法的位元翻轉解碼器,並且所述第二解碼器為使用最小值-總和演算法的最小值-總和解碼器外,第二解碼器2142的解碼能力與耗能皆大於第一解碼器2141。
應注意的是,第一解碼器2141或第二解碼器2142所使用演算法也可以為總和-乘積演算法(Sum-Product Algorithm,SPA)。
當儲存控制器210從可複寫式非揮發性記憶體模組406中讀取
n個資料位元(形成一個碼字)時,儲存控制器210(或錯誤檢查與校正電路214)也會取得每一個資料位元的通道可靠度資訊。此通道可靠度資訊用以表示對應的資料位元被解碼為位元“1”(亦稱,第一位元值)或是“0”(亦稱,第二位元值)的機率(或稱信心度)。錯誤檢查與校正電路214會通道可靠度資訊來執行解碼操作。在本實施例中,錯誤檢查與校正電路214所執行的解碼操作為迭代解碼(iterative decoding)操作。
在本實施例中,可靠度資訊皆是以對數似然比值(Log Likelihood Ratio,LLR)來表示。然而,當採用不同的演算法來進行迭代解碼操作時,儲存控制器210會先產生相應的不同的可靠度資訊表(亦稱,對數似然比值表),以供不同的解碼器來使用/查找。
在本實施例中,每當錯誤檢查與校正電路214完成對一筆所述碼字所執行的一輪迭代解碼操作,錯誤檢查與校正電路214可獲得對應所述碼字的已解碼碼字與對應所述已解碼碼字的校驗子。錯誤檢查與校正電路214可根據校驗子來判斷當下所執行的所述迭代解碼操作是解碼成功或解碼失敗。
若解碼失敗,錯誤檢查與校正電路214可根據所統計的對所述碼字所執行的迭代解碼操作的總次數與預設迭代次數門檻值來判斷是否需再次執行後續的一或多次的迭代操作。若所述總次數達到所述預設迭代次數門檻值,錯誤檢查與校正電路214會判定所述碼字的整體解碼操作(整體解碼操作可包括一或多個迭代解碼操作)是失敗的,並且輸出最後所獲得之已解碼碼字與對應的校驗子(如,反應於所述總次數達到所述預設迭代次數門檻值且最後獲得的校驗子不為零);若所述總次數不大於所述預設迭代次數門檻值,錯誤檢查與校正電路214會利用所獲得之已解碼碼字與對應的校驗子來再次執行新一輪的迭代解碼操作。廠商可根據需求自行設定預設迭代次數門檻值,本發明不限於此。
在每一次(每一輪)的迭代解碼操作的最後,錯誤檢查與校正電路214會計算對應當前最新獲得之已解碼碼字的校驗子,以判斷此次的迭代解碼操作是否成功。若解碼成功(解碼後所產生的碼字為正確,即,有效碼字),則結束本次的迭代操作並且也結束對此碼字的整體解碼操作;若解碼失敗(解碼後所產生的碼字為錯誤,即,無效碼字),則在所述總次數不大於所述預設迭代次數門檻值的情況下,結束本次的迭代操作並且重新開始新的一次(下一輪)的迭代操作。
更詳細來說,於每次迭代解碼操作中,錯誤檢查與校正電路214會判斷對應所述已解碼碼字的校驗子的多個位元值是否皆為零。若所述校驗子的多個位元值皆為零(即,“0”),錯誤檢查與校正電路214判定所述已解碼碼字為正確的,完成本次的迭代解碼操作,並且完成對應所述碼字的整體解碼操作。反之,若所述校驗子的所述多個位元值不皆為零(即,具有一或多個“1”),錯誤檢查與校正電路214判定所述已解碼碼字為錯誤的,完成本次的迭代解碼操作,完成所述碼字的整體解碼操作,並且輸出所述已解碼碼字。多個校驗子之間的大小比較,可利用所述多個校驗子所具有的“1”的總數量來判斷。例如,具有4個“1”的校驗子大於具有1個“1”的校驗子。
應注意的是,上述的說明僅用於解釋原始碼字、已解碼碼字與對應的校驗子的對應關係,其他關於低密度奇偶檢查碼演算法的迭代解碼操作、原始碼字、校驗子、已解碼碼字的細節並非本發明的技術方案,不贅述於此。
在一實施例中,儲存控制器210還包括緩衝記憶體218與電源管理電路219。緩衝記憶體是耦接至處理器211並且用以暫存來自於主機系統10的資料與指令、來自於可複寫式非揮發性記憶體模組220的資料或其他用以管理儲存裝置20的系統資料(如,對數似然比表或軟資訊),以讓處理器211可快速地從緩衝記憶體218中存取所述資料、指令或系統資料。電源管理電路219是耦接至處理器211並且用以控制儲存裝置20的電源。
在本實施例中,讀取輔助電路單元215包括解碼器管理電路2151與對數似然比表管理電路2152(亦稱,LLR表管理電路)。在處理器211執行讀取操作時,處理器211可指示所述讀取輔助電路單元215對所讀取的相應於所述讀取操作的原始碼字來執行讀取輔助操作,以輔助錯誤檢查與校正電路214對於所述原始碼字所進行的解碼操作。
更具體來說,在本實施例中,解碼器管理電路2151用以指示錯誤檢查與校正電路214去使用第一解碼器2141或第二解碼器2142來執行解碼操作。LLR表管理電路2152用以管理/記錄/查找所產生的對數似然比表。此外,解碼器管理電路2151與LLR表管理電路2152亦可整合在一起,並且解碼器管理電路2151或LLR表管理電路2152更可用以產生軟資訊及暫存所產生的軟資訊。所述軟資訊被輸入至第一解碼器2141或第二解碼器2142,以配合相應的對數似然比表來進行相應的解碼操作。以下利用圖2來說明本發明所提供的資料讀取方法(亦稱,讀取輔助方法)的細節及讀取輔助電路單元215的功能。應注意的是,讀取輔助電路單元215的各元件的運作可被視為讀取輔助電路單元215整體的運作。
圖2是根據本發明的一實施例所繪示的資料讀取方法的流程圖。請參照圖2,在步驟S210中,處理器211指示記憶體介面控制電路213對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字(也稱,硬位元碼字)。所述原始碼字會被傳送至錯誤檢查與校正電路214,以進行解碼操作。在本實施例中,所述原始碼字會先被傳送至具有較低耗能的第一解碼器,以進行多個第一迭代解碼操作。
如,在步驟S220,讀取輔助電路單元215(或解碼器管理電路2151)指示第一解碼器2141,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子。所述X為大於1的正整數,並且小於預設迭代次數門檻值。應注意的是,在一實施例中,於執行步驟S220的過程中,反應於獲得了正確的第一已解碼碼字(對應的第一校驗子為0),第一解碼器2141會直接輸出所述已解碼碼字,以完成所述讀取操作,並且讀取輔助電路單元215不再執行後續步驟(如,步驟S230~S260)。
接著,在步驟S230中,讀取輔助電路單元215(或解碼器管理電路2151)根據所述X個第一迭代解碼操作來判斷是否經由所述第一解碼器執行多個第二迭代解碼操作。
具體來說,讀取輔助電路單元215(或解碼器管理電路2151)可根據多個判斷方法中的其中之一來判斷使用第一解碼器2141以執行多個第二迭代解碼操作或使用第二解碼器2142以執行多個第三迭代解碼操作。
在本實施例中,所述多個判斷方法包括:(1)根據對應X個第一迭代解碼操作中的X個第一校驗子與校驗子門檻值來進行判斷;(2) 判斷對應X個第一迭代解碼操作中的X個第一校驗子是否收斂;(3)根據多個第一迭代解碼操作各自的翻轉位元總數量與翻轉位元總數量門檻值來進行判斷。
例如,在所述判斷方法(1)中:反應於判定所述X個第一校驗子中的目標校驗子的大小大於校驗子門檻值,讀取輔助電路單元215(或解碼器管理電路2151)判定使用第二解碼器2142以執行多個第三迭代解碼操作;反應於判定所述X個第一校驗子中的目標校驗子的大小不大於校驗子門檻值,讀取輔助電路單元215(或解碼器管理電路2151)判定使用第一解碼器2141以執行多個第二迭代解碼操作。所述目標校驗子可為所述X個第一校驗子中的第一個所獲得的第一校驗子、最終所獲得的第一校驗子或所述多個第一校驗子的平均值。
又例如,在所述判斷方法(2)中:反應於判定所述X個第一校驗子的大小皆在校驗子範圍內,讀取輔助電路單元215(或解碼器管理電路2151)判定所述X個第一校驗子不收斂,並且使用第二解碼器2142以執行多個第三迭代解碼操作;反應於判定所述X個第一校驗子的其中之一小於所述校驗子範圍,讀取輔助電路單元215(或解碼器管理電路2151)判定所述X個第一校驗子收斂,並且使用第一解碼器2141以執行多個第二迭代解碼操作。
又例如,在所述判斷方法(3)中:反應於判定對應於所述X個第一迭代解碼操作中的X個翻轉位元總數量的其中之一大於所述翻轉位元總數量門檻值,讀取輔助電路單元215(或解碼器管理電路2151)判定使用第二解碼器2142以執行多個第三迭代解碼操作;反應於判定對應於所述X個第一迭代解碼操作中的多個翻轉位元總數量皆不大於所述翻轉位元總數量門檻值,讀取輔助電路單元215(或解碼器管理電路2151)判定使用第一解碼器2141以執行多個第二迭代解碼操作。其中,對應於一個第一迭代解碼操作中的翻轉位元總數量用以表示在所述第一迭代解碼操作中,第一已解碼碼字中的被判定需執行翻轉(“0”翻轉為“1”或“1”翻轉為“0”)的位元值的總數量。此外,在一實施例中,讀取輔助電路單元215(或解碼器管理電路2151)更可計算所述X個翻轉位元總數量的總和。並且,反應於判定所述總和大於一特定門檻值,讀取輔助電路單元215(或解碼器管理電路2151)可判定使用第二解碼器2142以執行多個第三迭代解碼操作。
反應於判定經由第二解碼器執行多個第二迭代解碼操作,執行步驟S240;反應於判定不經由第二解碼器執行多個第二迭代解碼操作,執行步驟S250。
在步驟S240中,讀取輔助電路單元215(或LLR表管理電路2152)根據所述X個第一已解碼碼字來產生第一軟位元資訊及對應的對數似然比表,並且指示所述第二解碼器2142,根據所產生的所述第一軟位元資訊及對應的所述對數似然比表來執行多個第二迭代解碼操作,以獲得最終已解碼碼字。
具體來說,在根據所述X個第一已解碼碼字來產生對數似然比表的運作中,讀取輔助電路單元215(或LLR表管理電路2152)統計所述X個第一已解碼碼字各自的第一位元值總數量以及第二位元值總數量。接著,讀取輔助電路單元215(或LLR表管理電路2152)根據所述第一位元值總數量、第二位元值總數量、對數似然比上限值以及對數似然比下限值來產生對應的所述對數似然比表。
具體來說,讀取輔助電路單元215(或LLR表管理電路2152)根據所述X個第一校驗子,排序對應的所述X個第一已解碼碼字,以產生一第一軟位元資訊。其中,讀取輔助電路單元215(或解碼器管理電路2151)指示所述第二解碼器2142,根據所述對數似然比表對所述第一軟位元資訊執行所述多個第二迭代解碼操作,以獲得分別對應於所述多個第二迭代解碼操作的多個第二已解碼碼字以及對應所述多個第二已解碼碼字的多個第二校驗子。
圖3A為根據本發明的一實施例所繪示的根據多個已解碼碼字產生軟資訊的示意圖。圖4A是根據本發明的一實施例所繪示的產生對數似然比表的示意圖。請先參照圖3A,假設從目標實體頁面300所讀取的原始碼字為 “1 1 1 0 0”,並且X被預先設定為4。在執行步驟S220的過程中,如箭頭A31所示,可依序獲得分別對應4個迭代解碼操作的已解碼碼字311“1 0 1 0 0”、 已解碼碼字312“1 1 0 0 0”、 已解碼碼字313 “1 1 0 1 0”、 已解碼碼字314 “1 1 1 0 0”。讀取輔助電路單元215(或LLR表管理電路2152)可根據所述4個已解碼碼字來直接組成4位元軟位元資訊。所述「4位元」用以表示所述軟位元資訊的每個列由4個位元組成,並且亦可反映出所述軟位元資訊的總行數。
此外,如箭頭A32所示,讀取輔助電路單元215(或LLR表管理電路2152)可進一步統計所述4位元軟位元資訊中的每一列的第一位元值總數量(如,位元值“1”的總數量)以及第二位元值總數量(如,位元值“0”的總數量)。
在本實施例中,所述讀取輔助電路單元215(或LLR表管理電路2152)根據所述X個第一迭代解碼操作的總數量(或第一軟位元資訊的總行數)、對數似然比上限值以及對數似然比下限值來產生對應的所述對數似然比表。
請參照圖4A,假設對數似然比上限值為“+7”、對數似然比下限值為“-7”,並且X為4,即,經由所述X個第一迭代解碼操作可獲得4位元軟位元資訊。由於4位元軟位元資訊的總行數為X,即,4。所述4位元軟位元資訊的每一列的第一位元值的總數量的上限與下限、第一位元值的總數量的上限與下限是對應於X與0。基於此事實,所述讀取輔助電路單元215(或LLR表管理電路2152)可根據所述X個第一迭代解碼操作的總數量(即,所對應的所述4位元軟位元資訊的總行數)、對數似然比上限值為“+7”以及對數似然比下限值為“-7”來產生對應的對數似然比表T600。
在所產生的所述對數似然比表T600中,對數似然比值“-7”用以表示所對應的列的位元值為“1”的機率最高;對數似然比值“+7”用以表示所對應的列的位元值為“0”的機率最高;對數似然比值“0”用以表示所對應的列的位元值為“1”或“0”的機率彼此相等;對數似然比值“-3”用以表示所對應的列的位元值為“1”的機率高於為“0”的機率;對數似然比值“+3”用以表示所對應的列的位元值為“0”的機率高於為“1”的機率。
依此類推,所述讀取輔助電路單元215(或LLR表管理電路2152)可根據所對應的軟位元資訊的總行數、對數似然比上限值以及對數似然比下限值來產生其他的對數似然比表。
圖4B是根據本發明的一實施例所繪示的產生對數似然比表的示意圖。參照圖4B,假設對數似然比上限值為“+5”、對數似然比下限值為“-5”,並且軟位元資訊的總行數為2(2位元軟位元資訊)。所述讀取輔助電路單元215(或LLR表管理電路2152)可根據所述所對應的所述2位元軟位元資訊的總行數(即,2)、對數似然比上限值為“+5”以及對數似然比下限值為“-5”來產生對應的對數似然比表T610。
在所產生的所述對數似然比表T610中,對數似然比值“-5”用以表示所對應的列的位元值為“1”的機率最高;對數似然比值“+5”用以表示所對應的列的位元值為“0”的機率最高;對數似然比值“0”用以表示所對應的列的位元值為“1”或“0”的機率彼此相等。
在獲得所產生的第一軟位元資訊後,所述讀取輔助電路單元215(或LLR表管理電路2152)可統計所述第一軟位元資訊中的每一列的第一位元值總數量以及第二位元值總數量,其中所述第一軟位元資訊中的每一列對應至所述原始碼字的每一個位元值。
例如,如圖3A中的箭頭A32所示,圖3A中所產生的4位元軟位元資訊中的每一列的第一位元值與第二位元值的總數量皆可經由所述讀取輔助電路單元215(或LLR表管理電路2152)所統計。
接著,所述讀取輔助電路單元215指示所述第二解碼器2142,根據所述第一位元值總數量、所述第二位元值總數量以及所述對數似然比表對所述第一軟位元資訊執行所述多個第二迭代解碼操作,以獲得分別對應於所述多個第二迭代解碼操作的多個第二已解碼碼字以及對應所述多個第二已解碼碼字的多個第二校驗子。
例如,所述第二解碼器2142可經由圖3A所統計的所述第一位元值總數量、所述第二位元值總數量以及圖4A所產生的對應的所述對數似然比表T600來辨識所述原始碼字的各個位元值為第一位元值與第二位元值的機率(可靠度),藉此來執行所述多個第二迭代解碼操作。
反應於辨識所述多個第二校驗子中的一最終第二校驗子為零,所述錯誤檢查與校正電路判定所述多個第二已解碼碼字中對應所述最終第二校驗子的所述最終已解碼碼字為正確的。
請回到圖2,在步驟S250中,讀取輔助電路單元215(或解碼器管理電路2151)指示所述第一解碼器2141,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字。
具體來說,所述目標第一已解碼碼字的目標第一校驗子為所述X個第一校驗子中的最小者。此外,在讀取輔助電路單元215(或解碼器管理電路2151)指示所述第一解碼器2141,對所述X個第一已解碼碼字中的所述目標第一已解碼碼字執行所述多個第三迭代解碼操作,以獲得所述最終已解碼碼字的運作中,所述第一解碼器2141根據所述目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得分別對應於所述多個第三迭代解碼操作的多個第三已解碼碼字以及對應所述多個第三已解碼碼字的多個第三校驗子。其中,反應於辨識所述多個第三校驗子中的一最終第三校驗子為零,所述第一解碼器判定所述多個第三已解碼碼字中對應所述最終第三校驗子的所述最終已解碼碼字為正確的。
在步驟S260中,反應於判定所述最終已解碼碼字為正確的,錯誤檢查與校正電路214(或解碼器)輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且讀取輔助電路單元215完成所述讀取操作。
另一方面,反應於辨識所述多個第三迭代解碼操作的總數量大於迭代解碼門檻值及所述多個第三校驗子中的最終第三校驗子不為零,所述第一解碼器判定所述多個第三已解碼碼字中對應於所述最終第三校驗子的所述最終已解碼碼字為不正確的
反應於判定所述多個第三已解碼碼字中對應於所述最終第三校驗子的所述最終已解碼碼字為不正確的,所述讀取輔助電路單元215可使用下列方法(P1)~(P4)的其中之一來進行後續的處理。
更詳細來說,在方法(P1)中,所述讀取輔助電路單元215將所述原始碼字輸入至所述第二解碼器2142,以經由所述第二解碼器2142,根據預設的對數似然比表對所述原始碼字執行多個迭代解碼操作(亦稱,第四迭代解碼操作),以獲得分別對應於所述多個第四迭代解碼操作的多個第四已解碼碼字以及對應所述多個第四已解碼碼字的多個第四校驗子。其中,反應於辨識所述多個第四校驗子中的一最終第四校驗子為零,所述第二解碼器判定所述多個第四已解碼碼字中對應所述最終第四校驗子的所述最終已解碼碼字為正確的。在另一實施例中,所述讀取輔助電路單元215將所述所述多個第二已解碼碼字中具有最小的校驗子的目標第二已解碼碼字輸入至所述第二解碼器2142,以經由所述第二解碼器2142,根據預設的對數似然比表對所述目標第二已解碼碼字執行多個迭代解碼操作(亦稱,第四迭代解碼操作),以獲得分別對應於所述多個第四迭代解碼操作的多個第四已解碼碼字以及對應所述多個第四已解碼碼字的多個第四校驗子。
此外,在方法(P2)中,所述讀取輔助電路單元215執行所述根據所述X個第一已解碼碼字來產生所述對數似然比表,並且經由所述第二解碼器,根據所產生的所述對數似然比表來執行所述多個第二迭代解碼操作,以獲得所述最終已解碼碼字的步驟,即,執行步驟S240。
在方法(P3)中,所述讀取輔助電路單元215根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生第二軟位元資訊。此外,所述讀取輔助電路單元215根據所述第二軟位元資訊的總行數來產生另一對數似然比表。
接著,所述讀取輔助電路單元215統計所述第二軟位元資訊中的每一列的第一位元值總數量以及第二位元值總數量,並且指示所述第二解碼器2142,根據所述第二軟位元資訊中的每一列的所述第一位元值總數量、所述第二位元值總數量以及所述另一對數似然比表對所述第二軟位元資訊執行多個迭代解碼操作(亦稱,第五迭代解碼操作),以獲得分別對應於所述多個第五迭代解碼操作的多個第五已解碼碼字以及對應所述多個第五已解碼碼字的多個第五校驗子。反應於辨識所述多個第五校驗子中的一最終第五校驗子為零,所述第二解碼器判定所述多個第五已解碼碼字中對應所述最終第五校驗子的所述最終已解碼碼字為正確的。
方法(P4)近似於方法(P3),其中不同的地方在於:在方法(P3)中的根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生所述第二軟位元資訊的運作中,所述讀取輔助電路單元215從所述多個第三已解碼碼字中,選擇多個目標第三已解碼碼字,其中所述多個第三校驗子中對應所述多個目標第三已解碼碼字的多個目標第三校驗子小於所述多個第三校驗子中的其他的第三校驗子。
簡單來說,所述讀取輔助電路單元215根據所述多個第三校驗子的大小,選擇所述多個第三校驗子中較小的多個第三校驗子作為多個目標第三校驗子,並且使用對應的多個目標第三已解碼碼字來產生第二軟位元資訊。即,所述讀取輔助電路單元215依據所述多個目標第三校驗子的大小,由大至小,將所述多個目標第三已解碼碼字排序為所述第二軟位元資訊的多個行,其中所述多個目標第三已解碼碼字的總數量等於所述第二軟位元資訊的所述多個行的總數量(總行數),並且所述總數量是預先設定的。所述讀取輔助電路單元215根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生第二軟位元資訊。
圖3B為根據本發明的一實施例所繪示的根據多個已解碼碼字及多個校驗子產生軟資訊的示意圖。請參照圖3B,假設從目標實體頁面300所讀取的原始碼字為 “1 1 1 0 0”,所述多個第三迭代解碼操作的總數量為4,並且軟位元資訊的總數量被預先設定為2。如箭頭A33所示,可依序獲得分別對應4個第三迭代解碼操作的第三已解碼碼字321“1 0 1 0 0”、 第三已解碼碼字322“1 1 0 0 0”、 第三已解碼碼字323 “1 1 0 1 0”、 第三已解碼碼字324 “1 1 1 0 0”(共4個第三已解碼碼字)。對應所述多個第三已解碼碼字321、322、323、324的多個第三校驗子的大小(亦稱,校驗子大小)如圖3B所示,分別為“4”、“3”、“2”、“1”。
讀取輔助電路單元215(或LLR表管理電路2152)可根據所述多個校驗子大小來排序所述多個第三已解碼碼字,並且從所述多個第三已解碼碼字中選擇2個具有較小校驗子大小的第三已解碼碼字來組成2位元軟位元資訊。
此外,如箭頭A34所示,讀取輔助電路單元215可進一步統計所述2位元軟位元資訊中的每一列的第一位元值總數量(如,位元值“1”的總數量)以及第二位元值總數量(如,位元值“0”的總數量)。
在本實施例中,如,圖4B所示,所述讀取輔助電路單元215根據所述2位元軟位元資訊的總行數、對數似然比上限值以及對數似然比下限值來產生對應的所述對數似然比表610。
值得一提的是,在上述的多個實施例中,上述讀取輔助電路單元215是以硬體電路的方式來實施,但本發明不限於此。例如,在一實施例中,讀取輔助電路單元215可以軟體的方式實施為具有讀取輔助電路單元215的功能的讀取輔助程式碼模組。讀取輔助程式碼模組可包括解碼器管理程式碼模組與LLR表管理程式碼模組。所述解碼器管理程式碼模組為具有解碼器管理電路2151的功能的程式碼模組;所述LLR表管理程式碼模組為具有LLR表管理電路2152的功能的程式碼模組。所述處理器211可存取且執行讀取輔助程式碼模組(或解碼器管理程式碼模組與LLR表管理程式碼模組)來實施本發明所提供的資料讀取方法(或讀取輔助方法)。
綜上所述,本發明實施例所提供的資料讀取方法、儲存控制器及儲存裝置,可從目標實體頁面讀取原始碼字後,利用經由第一解碼器對所述原始碼字執行多個第一迭代解碼操作所獲得的多個第一已解碼碼字與對應的多個第一校驗子來判斷是否要進一步經由第二解碼器來執行多個第二迭代解碼操作或經由第一解碼器執行多個第三迭代解碼操作,並且反應於判定經由第二解碼器來執行多個第二迭代解碼操作,根據所述多個第一已解碼碼字來產生第一軟位元資訊與對應的對數似然比表,以有效地利用所述多個第一已解碼碼字來增進第二解碼器所執行的所述多個第二迭代解碼操作的正確率。如此一來,雖然第一解碼器執行多個第一迭代解碼操作的期間會耗費電力與時間,但是經由所述多個第一迭代解碼操作所獲得多個第一已解碼碼字可被利用在後續第二解碼器所執行的第二迭代解碼操作,而改善了傳統作法的第二解碼器因重新利用原始碼字來進行多個迭代解碼操作,而具有較大的耗時與耗能所導致的問題,增進了從目標實體頁面所讀取資料的正確性與可靠度,降低對所讀取資料所執行的解碼操作的負荷,進而增進了資料讀取操作整體的效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10:主機系統
20:儲存裝置
110、211:處理器
120:主機記憶體
130:資料傳輸介面電路
210:儲存控制器
212:資料傳輸管理電路
213:記憶體介面控制電路
214:錯誤檢查與校正電路
2141、2142:解碼器
2143、2144:編碼器
215:讀取輔助電路單元
2151:解碼器管理電路
2152:LLR表管理電路
218:緩衝記憶體
219:電源管理電路
220:可複寫式非揮發性記憶體模組
230:連接介面電路
300:目標實體頁面
311~324:已解碼碼字
S210、S220、S230、S240、S250、S260:資料讀取方法的流程步驟
A31~A34:箭頭
T600、T610:表
圖1A是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。
圖1B是根據本發明的一實施例所繪示的錯誤檢查與校正電路的方塊示意圖。
圖2是根據本發明的一實施例所繪示的資料讀取方法的流程圖。
圖3A為根據本發明的一實施例所繪示的根據多個已解碼碼字產生軟資訊的示意圖。
圖3B為根據本發明的一實施例所繪示的根據多個已解碼碼字及多個校驗子產生軟資訊的示意圖。
圖4A是根據本發明的一實施例所繪示的產生對數似然比表的示意圖。
圖4B是根據本發明的一實施例所繪示的產生對數似然比表的示意圖。
S210、S220、S230、S240、S250、S260:資料讀取方法的流程步驟
Claims (22)
- 一種資料讀取方法,適用於配置有一可複寫式非揮發性記憶體模組的一儲存裝置,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值,所述方法包括:對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字;經由第一解碼器,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子;根據所述X個第一迭代解碼操作來判斷是否經由第二解碼器執行多個第二迭代解碼操作;反應於判定經由所述第二解碼器執行所述多個第二迭代解碼操作,根據所述X個第一已解碼碼字以產生第一軟位元資訊與對數似然比(Log Likelihood Ratio,LLR)表,並且經由所述第二解碼器,根據所產生的所述第一軟位元資訊與所述對數似然比表以執行所述多個第二迭代解碼操作,以獲得所述最終已解碼碼字;反應於判定不經由所述第二解碼器執行所述多個第二迭代解碼操作,經由所述第一解碼器,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已 解碼碼字;以及反應於判定所述最終已解碼碼字為正確的,輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且完成所述讀取操作。
- 如申請專利範圍第1項所述的資料讀取方法,其中根據所述X個第一迭代解碼操作來判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作的步驟包括以下步驟(1)、步驟(2)及步驟(3)的其中之一:(1)根據對應所述X個第一迭代解碼操作中的所述X個第一校驗子與校驗子門檻值來進行判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作;(2)判斷對應所述X個第一迭代解碼操作中的所述X個第一校驗子是否收斂來判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作;(3)根據所述多個第一迭代解碼操作各自的翻轉位元總數量與翻轉位元總數量門檻值來進行判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作。
- 如申請專利範圍第1項所述的資料讀取方法,其中所述第一解碼器為使用位元翻轉演算法(Bit-Flipping Algorithm)的位元翻轉解碼器,並且所述第二解碼器為使用最小值-總和演算法(Min-Sum Algorithm)的最小值-總和解碼器。
- 如申請專利範圍第3項所述的資料讀取方法,其中根據所述X個第一已解碼碼字以產生所述第一軟位元資訊與所述對數似然比表的步驟包括:根據所述X個第一迭代解碼操作的總數量、對數似然比上限值以及對數似然比下限值以產生對應的所述對數似然比表。
- 如申請專利範圍第4項所述的資料讀取方法,其中根據所述X個第一已解碼碼字以產生所述第一軟位元資訊與所述對數似然比表的步驟更包括:根據所述X個第一校驗子,排序對應的所述X個第一已解碼碼字,以產生所述第一軟位元資訊;以及統計所述第一軟位元資訊中的每一列的第一位元值總數量以及第二位元值總數量,其中所述第一軟位元資訊中的每一列對應至所述原始碼字的每一個位元值,其中,其中根據所產生的所述第一軟位元資訊與所述對數似然比表以執行所述多個第二迭代解碼操作,以獲得所述最終已解碼碼字的步驟包括:經由所述第二解碼器,根據所述第一位元值總數量、所述第二位元值總數量以及所述對數似然比表對所述第一軟位元資訊執行所述多個第二迭代解碼操作,以獲得分別對應於所述多個第二迭代解碼操作的多個第二已解碼碼字以及對應所述多個第二已解碼碼字的多個第二校驗子;以及反應於辨識所述多個第二校驗子中的一最終第二校驗子為 零,判定所述多個第二已解碼碼字中對應所述最終第二校驗子的所述最終已解碼碼字為正確的。
- 如申請專利範圍第3項所述的資料讀取方法,其中所述目標第一已解碼碼字的目標第一校驗子為所述X個第一校驗子中的最小者,其中經由所述第一解碼器,對所述X個第一已解碼碼字中的所述目標第一已解碼碼字執行所述多個第三迭代解碼操作,以獲得所述最終已解碼碼字的步驟包括:經由所述第一解碼器,根據所述目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得分別對應於所述多個第三迭代解碼操作的多個第三已解碼碼字以及對應所述多個第三已解碼碼字的多個第三校驗子;反應於辨識所述多個第三校驗子中的一最終第三校驗子為零,判定所述多個第三已解碼碼字中對應所述最終第三校驗子的所述最終已解碼碼字為正確的;以及反應於辨識所述多個第三迭代解碼操作的總數量大於迭代解碼門檻值及所述多個第三校驗子中的最終第三校驗子不為零,判定所述多個第三已解碼碼字中對應於所述最終第三校驗子的所述最終已解碼碼字為不正確的。
- 如申請專利範圍第6項所述的資料讀取方法,其中反應於判定所述多個第三已解碼碼字中對應於所述最終第三校驗子的所述最終已解碼碼字為不正確的,所述方法更包括:將所述原始碼字輸入至所述第二解碼器,以經由所述第二解 碼器,根據預設的對數似然比表對所述原始碼字執行多個第四迭代解碼操作,以獲得分別對應於所述多個第四迭代解碼操作的多個第四已解碼碼字以及對應所述多個第四已解碼碼字的多個第四校驗子;以及反應於辨識所述多個第四校驗子中的一最終第四校驗子為零,判定所述多個第四已解碼碼字中對應所述最終第四校驗子的所述最終已解碼碼字為正確的。
- 如申請專利範圍第6項所述的資料讀取方法,其中反應於判定所述多個第三已解碼碼字中對應於所述最終第三校驗子的所述最終已解碼碼字為不正確的,所述方法更包括:執行所述根據所述X個第一已解碼碼字以產生所述對數似然比表,並且經由所述第二解碼器,根據所產生的所述對數似然比表以執行所述多個第二迭代解碼操作,以獲得所述最終已解碼碼字的步驟。
- 如申請專利範圍第6項所述的資料讀取方法,其中反應於判定所述多個第三已解碼碼字中對應於所述最終第二校驗子的所述最終已解碼碼字為不正確的,所述方法更包括:根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生第二軟位元資訊;根據所述第二軟位元資訊的總行數以產生另一對數似然比表;統計所述第二軟位元資訊中的每一列的第一位元值總數量以 及第二位元值總數量,經由所述第二解碼器,根據所述第二軟位元資訊中的每一列的所述第一位元值總數量、所述第二位元值總數量以及所述另一對數似然比表對所述第二軟位元資訊執行多個第五迭代解碼操作,以獲得分別對應於所述多個第五迭代解碼操作的多個第五已解碼碼字以及對應所述多個第五已解碼碼字的多個第五校驗子;以及反應於辨識所述多個第五校驗子中的一最終第五校驗子為零,判定所述多個第五已解碼碼字中對應所述最終第五校驗子的所述最終已解碼碼字為正確的。
- 如申請專利範圍第6項所述的資料讀取方法,其中所述根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生所述第二軟位元資訊的步驟包括:從所述多個第三已解碼碼字中,選擇多個目標第三已解碼碼字,其中所述多個第三校驗子中對應所述多個目標第三已解碼碼字的多個目標第三校驗子小於所述多個第三校驗子中的其他的第三校驗子;以及依據所述多個目標第三校驗子的大小,由大至小,將所述多個目標第三已解碼碼字排序為所述第二軟位元資訊的多個行,其中所述多個目標第三已解碼碼字的總數量等於所述第二軟位元資訊的所述多個行的總數量,並且所述總數量是預先設定的。
- 一種儲存控制器,用於控制配置有一可複寫式非揮發性記憶體模組的一儲存裝置,所述儲存控制器包括:一連接介面電路,用以耦接至一主機系統;一記憶體介面控制電路,用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值;一讀取輔助電路單元;一錯誤檢查與校正電路,其中所述錯誤檢查與校正電路包括編碼器與解碼器,並且所述解碼器包括第一解碼器以及第二解碼器;以及一處理器,耦接至所述連接介面電路、所述記憶體介面控制電路、所述讀取輔助電路單元及所述錯誤檢查與校正電路,其中所述處理器用以指示所述記憶體介面控制電路對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字,其中所述讀取輔助電路單元指示所述第一解碼器,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子, 其中所述讀取輔助電路單元根據所述X個第一迭代解碼操作來判斷是否經由第二解碼器執行多個第二迭代解碼操作,其中反應於判定經由所述第二解碼器執行所述多個第二迭代解碼操作,所述讀取輔助電路單元根據所述X個第一已解碼碼字以產生第一軟位元資訊與對數似然比(Log Likelihood Ratio,LLR)表,並且指示所述第二解碼器,根據所產生的所述第一軟位元資訊與所述對數似然比表以執行多個第二迭代解碼操作,以獲得所述最終已解碼碼字,其中反應於判定不經由所述第二解碼器執行所述多個第二迭代解碼操作,所述讀取輔助電路單元指示所述第一解碼器,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字,其中反應於判定所述最終已解碼碼字為正確的,所述錯誤檢查與校正電路輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且完成所述讀取操作。
- 如申請專利範圍第11項所述的儲存控制器,其中所述讀取輔助電路單元根據對應所述X個第一迭代解碼操作中的所述X個第一校驗子與校驗子門檻值來進行判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作,或判斷對應所述X個第一迭代解碼操作中的所述X個第一校驗子是否收斂來判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作,或根據所述多個第一迭代解碼操作各自的翻轉位元總數量與翻轉位元總數量門檻 值來進行判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作。
- 如申請專利範圍第11項所述的儲存控制器,其中所述第一解碼器為使用位元翻轉演算法(Bit-Flipping Algorithm)的位元翻轉解碼器,並且所述第二解碼器為使用最小值-總和演算法(Min-Sum Algorithm)的最小值-總和解碼器。
- 如申請專利範圍第13項所述的儲存控制器,其中在根據所述X個第一已解碼碼字以產生所述第一軟位元資訊與所述對數似然比表的運作中,所述讀取輔助電路單元根據所述X個第一迭代解碼操作的總數量、對數似然比上限值以及對數似然比下限值以產生對應的所述對數似然比表。
- 如申請專利範圍第14項所述的儲存控制器,其中在根據所述X個第一已解碼碼字以產生所述第一軟位元資訊與所述對數似然比表的運作中,所述讀取輔助電路單元根據所述X個第一校驗子,排序對應的所述X個第一已解碼碼字,以產生所述第一軟位元資訊,所述讀取輔助電路單元統計所述第一軟位元資訊中的每一列的第一位元值總數量以及第二位元值總數量,其中所述第一軟位元資訊中的每一列對應至所述原始碼字的每一個位元值,其中在根據所產生的所述對數似然比表以執行所述多個第二 迭代解碼操作的運作中,其中所述讀取輔助電路單元指示所述第二解碼器,根據所述第一位元值總數量、所述第二位元值總數量以及所述對數似然比表對所述第一軟位元資訊執行所述多個第二迭代解碼操作,以獲得分別對應於所述多個第二迭代解碼操作的多個第二已解碼碼字以及對應所述多個第二已解碼碼字的多個第二校驗子,其中反應於辨識所述多個第二校驗子中的一最終第二校驗子為零,所述錯誤檢查與校正電路判定所述多個第二已解碼碼字中對應所述最終第二校驗子的所述最終已解碼碼字為正確的。
- 如申請專利範圍第13項所述的儲存控制器,其中所述目標第一已解碼碼字的目標第一校驗子為所述X個第一校驗子中的最小者,其中在經由所述第一解碼器,對所述X個第一已解碼碼字中的所述目標第一已解碼碼字執行所述多個第三迭代解碼操作,以獲得所述最終已解碼碼字的運作中,所述第一解碼器根據所述目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得分別對應於所述多個第三迭代解碼操作的多個第三已解碼碼字以及對應所述多個第三已解碼碼字的多個第三校驗子,其中反應於辨識所述多個第三校驗子中的一最終第三校驗子為零,所述第一解碼器判定所述多個第三已解碼碼字中對應所述最終第三校驗子的所述最終已解碼碼字為正確的,反應於辨識所述多個第三迭代解碼操作的總數量大於迭代解 碼門檻值及所述多個第三校驗子中的最終第三校驗子不為零,所述第一解碼器判定所述多個第三已解碼碼字中對應於所述最終第三校驗子的所述最終已解碼碼字為不正確的。
- 如申請專利範圍第16項所述的儲存控制器,其中反應於判定所述多個第三已解碼碼字中對應於所述最終第三校驗子的所述最終已解碼碼字為不正確的,所述讀取輔助電路單元將所述原始碼字輸入至所述第二解碼器,以經由所述第二解碼器,根據預設的對數似然比表對所述原始碼字執行多個第四迭代解碼操作,以獲得分別對應於所述多個第四迭代解碼操作的多個第四已解碼碼字以及對應所述多個第四已解碼碼字的多個第四校驗子,其中反應於辨識所述多個第四校驗子中的一最終第四校驗子為零,所述第二解碼器判定所述多個第四已解碼碼字中對應所述最終第四校驗子的所述最終已解碼碼字為正確的。
- 如申請專利範圍第16項所述的儲存控制器,其中反應於判定所述多個第三已解碼碼字中對應於所述最終第二校驗子的所述最終已解碼碼字為不正確的,所述讀取輔助電路單元執行所述根據所述X個第一已解碼碼字以產生所述對數似然比表,並且經由所述第二解碼器,根據所產生的所述對數似然比表以執行所述多個第二迭代解碼操作,以獲得所述最終已解碼碼字的步驟。
- 如申請專利範圍第16項所述的儲存控制器,其中反應於判定所述多個第三已解碼碼字中對應於所述最終第二校驗子的所述最終已解碼碼字為不正確的,所述讀取輔助電路單元根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生第二軟位元資訊,其中所述讀取輔助電路單元根據所述第二軟位元資訊的總行數以產生另一對數似然比表,其中所述讀取輔助電路單元統計所述第二軟位元資訊中的每一列的第一位元值總數量以及第二位元值總數量,其中所述讀取輔助電路單元指示所述第二解碼器,根據所述第二軟位元資訊中的每一列的所述第一位元值總數量、所述第二位元值總數量以及所述另一對數似然比表對所述第二軟位元資訊執行多個第五迭代解碼操作,以獲得分別對應於所述多個第五迭代解碼操作的多個第五已解碼碼字以及對應所述多個第五已解碼碼字的多個第五校驗子,其中反應於辨識所述多個第五校驗子中的一最終第五校驗子為零,所述第二解碼器判定所述多個第五已解碼碼字中對應所述最終第五校驗子的所述最終已解碼碼字為正確的。
- 如申請專利範圍第16項所述的儲存控制器,其中在所述根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生所述第二軟位元資訊的運作中,所述讀取輔助電路單元從所述多個第三已解碼碼字中,選擇 多個目標第三已解碼碼字,其中所述多個第三校驗子中對應所述多個目標第三已解碼碼字的多個目標第三校驗子小於所述多個第三校驗子中的其他的第三校驗子,其中所述讀取輔助電路單元依據所述多個目標第三校驗子的大小,由大至小,將所述多個目標第三已解碼碼字排序為所述第二軟位元資訊的多個行,其中所述多個目標第三已解碼碼字的總數量等於所述第二軟位元資訊的所述多個行的總數量,並且所述總數量是預先設定的。
- 一種儲存裝置,所述儲存裝置包括:一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值;一記憶體介面控制電路,用以耦接至所述可複寫式非揮發性記憶體模組;以及一處理器,耦接至所述記憶體介面控制電路,其中所述處理器載入且執行一讀取輔助程式碼模組,以實現一資料讀取方法,該資料讀取方法包括下列步驟:對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字;經由第一解碼器,對所述原始碼字執行X個第一迭代解碼操 作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子;根據所述X個第一迭代解碼操作來判斷是否經由第二解碼器執行多個第二迭代解碼操作;反應於判斷經由所述第二解碼器執行所述多個第二迭代解碼操作,根據所述X個第一已解碼碼字以產生對數似然比(Log Likelihood Ratio,LLR)表,並且經由所述第二解碼器,根據所產生的所述對數似然比表以執行多個第二迭代解碼操作,以獲得所述最終已解碼碼字;反應於判斷不經由所述第二解碼器執行所述多個第二迭代解碼操作,經由所述第一解碼器,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字;以及反應於判定所述最終已解碼碼字為正確的,輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且完成所述讀取操作。
- 如申請專利範圍第21項所述的儲存裝置,其中根據所述X個第一迭代解碼操作來判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作的步驟包括以下步驟(1)、步驟(2)及步驟(3)的其中之一:(1)根據對應所述X個第一迭代解碼操作中的所述X個第一校驗子與校驗子門檻值來進行判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作;(2)判斷對應所述X個第一迭 代解碼操作中的所述X個第一校驗子是否收斂來判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作;(3)根據所述多個第一迭代解碼操作各自的翻轉位元總數量與翻轉位元總數量門檻值來進行判斷是否經由所述第二解碼器執行所述多個第二迭代解碼操作。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108147735A TWI717171B (zh) | 2019-12-26 | 2019-12-26 | 資料讀取方法、儲存控制器與儲存裝置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108147735A TWI717171B (zh) | 2019-12-26 | 2019-12-26 | 資料讀取方法、儲存控制器與儲存裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI717171B true TWI717171B (zh) | 2021-01-21 |
| TW202125259A TW202125259A (zh) | 2021-07-01 |
Family
ID=75237610
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108147735A TWI717171B (zh) | 2019-12-26 | 2019-12-26 | 資料讀取方法、儲存控制器與儲存裝置 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI717171B (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI804359B (zh) * | 2022-06-23 | 2023-06-01 | 慧榮科技股份有限公司 | 低密度奇偶校檢碼的解碼方法及裝置 |
| US12149260B2 (en) | 2022-06-23 | 2024-11-19 | Silicon Motion, Inc. | Method and apparatus for decoding low-density parity-check (LDPC) code |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI397076B (zh) * | 2007-03-29 | 2013-05-21 | Sandisk Technologies Inc | 非揮發性儲存器中利用以多重讀取為基礎之可靠度計量的解碼資料方法及系統 |
| TWI540425B (zh) * | 2011-12-30 | 2016-07-01 | 安華高科技通用Ip(新加坡)公司 | 用於非二進位制解碼低密度奇偶檢查編碼資料之設備、解碼在一混合域非二進位制低密度奇偶檢查解碼器中之資料之方法及儲存系統 |
| TWI561981B (en) * | 2015-12-14 | 2016-12-11 | Phison Electronics Corp | Data reading method, memory control circuit unit and memory storage apparatus |
| TWI563380B (en) * | 2014-09-26 | 2016-12-21 | Intel Corp | Using reliability information from multiple storage units and a parity storage unit to recover data for a failed one of the storage units |
| TWI584279B (zh) * | 2014-09-03 | 2017-05-21 | 美光科技公司 | 用於在多行中儲存一資料值之裝置及方法 |
| TWI619073B (zh) * | 2014-07-09 | 2018-03-21 | 英特爾股份有限公司 | 在處理具有未對準資料列的陣列期間用於刪除未對準記憶體存取的處理器、非暫時的機器可讀取的媒體和計算系統 |
| US10120615B2 (en) * | 2016-10-04 | 2018-11-06 | Shenzhen Epostar Electronics Limited Co. | Memory management method and storage controller using the same |
| TW201939288A (zh) * | 2018-03-09 | 2019-10-01 | 深圳大心電子科技有限公司 | 資料移動方法及儲存控制器 |
| TW201947402A (zh) * | 2018-05-14 | 2019-12-16 | 深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
-
2019
- 2019-12-26 TW TW108147735A patent/TWI717171B/zh active
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI397076B (zh) * | 2007-03-29 | 2013-05-21 | Sandisk Technologies Inc | 非揮發性儲存器中利用以多重讀取為基礎之可靠度計量的解碼資料方法及系統 |
| TWI540425B (zh) * | 2011-12-30 | 2016-07-01 | 安華高科技通用Ip(新加坡)公司 | 用於非二進位制解碼低密度奇偶檢查編碼資料之設備、解碼在一混合域非二進位制低密度奇偶檢查解碼器中之資料之方法及儲存系統 |
| TWI619073B (zh) * | 2014-07-09 | 2018-03-21 | 英特爾股份有限公司 | 在處理具有未對準資料列的陣列期間用於刪除未對準記憶體存取的處理器、非暫時的機器可讀取的媒體和計算系統 |
| TWI584279B (zh) * | 2014-09-03 | 2017-05-21 | 美光科技公司 | 用於在多行中儲存一資料值之裝置及方法 |
| TWI563380B (en) * | 2014-09-26 | 2016-12-21 | Intel Corp | Using reliability information from multiple storage units and a parity storage unit to recover data for a failed one of the storage units |
| TWI561981B (en) * | 2015-12-14 | 2016-12-11 | Phison Electronics Corp | Data reading method, memory control circuit unit and memory storage apparatus |
| TW201721435A (zh) * | 2015-12-14 | 2017-06-16 | 群聯電子股份有限公司 | 資料讀取方法、記憶體控制電路單元及記憶體儲存裝置 |
| US10120615B2 (en) * | 2016-10-04 | 2018-11-06 | Shenzhen Epostar Electronics Limited Co. | Memory management method and storage controller using the same |
| TW201939288A (zh) * | 2018-03-09 | 2019-10-01 | 深圳大心電子科技有限公司 | 資料移動方法及儲存控制器 |
| TW201947402A (zh) * | 2018-05-14 | 2019-12-16 | 深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI804359B (zh) * | 2022-06-23 | 2023-06-01 | 慧榮科技股份有限公司 | 低密度奇偶校檢碼的解碼方法及裝置 |
| US12149260B2 (en) | 2022-06-23 | 2024-11-19 | Silicon Motion, Inc. | Method and apparatus for decoding low-density parity-check (LDPC) code |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202125259A (zh) | 2021-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI686804B (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
| US10768855B1 (en) | Data reading method, storage controller and storage device | |
| US20150169406A1 (en) | Decoding techniques for a data storage device | |
| TWI612527B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI751620B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI691963B (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
| US10923212B2 (en) | Memory control method, memory storage device and memory control circuit unit | |
| US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
| CN105023613A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
| CN114661233A (zh) | 表格排序方法、存储器存储装置及存储器控制电路单元 | |
| TWI717171B (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
| CN111913829B (zh) | 数据读取方法、存储控制器与存储装置 | |
| CN111580741B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
| TW202236091A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI836877B (zh) | 讀取電壓校正方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI805509B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
| US11817172B2 (en) | Table management method, memory storage device and memory control circuit unit | |
| CN107025935B (zh) | 译码方法、内存储存装置及内存控制电路单元 | |
| CN115547388A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
| CN111258791B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
| US11809706B2 (en) | Memory management method, memory storage device, and memory control circuit unit | |
| US11853613B2 (en) | Encoding control method, memory storage device and memory control circuit unit | |
| US20250078897A1 (en) | Memory management method, memory storage device and memory control circuit unit | |
| CN111796961B (zh) | 数据读取方法、存储控制器与存储装置 | |
| TWI681393B (zh) | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 |