TWI717171B - Data reading method, storage controller and storage device - Google Patents
Data reading method, storage controller and storage device 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
本發明是有關於一種資料讀取方法,且特別是有關於一種適用於配置有可複寫式非揮發性記憶體模組的儲存裝置及其儲存控制器的資料讀取方法。The present invention relates to a data reading method, and more particularly to a data reading method suitable for a storage device equipped with a rewritable non-volatile memory module and a storage controller thereof.
現有的錯誤檢查與校正電路中可具有兩個一解碼器,一個解碼器具有較低的解碼能力且較低的耗能(耗費較低的電力),另一個解碼器具有較高的解碼能力且較高的耗能。The existing error checking and correction circuit may have two one-decoders, one decoder has lower decoding capability and lower energy consumption (lower power consumption), and the other decoder has higher decoding capability and Higher energy consumption.
一般來說,當對所讀取的讀取資料(原始碼字)來進行解碼操作時,錯誤檢查與校正電路會先使用較低耗能的解碼器來進行初步的解碼程序。當所述初步的解碼程序失敗後,錯誤檢查與校正電路再使用較高耗能的能力的解碼器來重新進行解碼,以嘗試獲得解碼正確的讀取資料。Generally speaking, when the read data (original codeword) is decoded, the error checking and correction circuit will first use a lower energy-consuming decoder to perform the preliminary decoding process. When the preliminary decoding procedure fails, the error checking and correction circuit uses a decoder with a higher energy consumption capability to re-decode, so as to try to obtain the correctly decoded read data.
然而,由於傳統方法會利用較高耗能的能力的解碼器重新解碼,而導致了整體解碼操作的耗費時間增加,更增加了耗能。However, since the traditional method uses a decoder with a higher energy consumption capability to re-decode, the overall decoding operation consumes more time and energy.
因此,如何增進具有複數種類的解碼器的錯誤檢查與校正電路的解碼效率,提昇解碼操作的性能且增進可複寫式非揮發性記憶體模組的資料讀取效率,是本領域人員研究的課題之一。Therefore, how to improve the decoding efficiency of error checking and correction circuits with plural types of decoders, improve the performance of the decoding operation, and improve the data reading efficiency of the rewritable non-volatile memory module is a topic for those skilled in the art. one.
本發明的一實施例提供適用於配置有一可複寫式非揮發性記憶體模組的一儲存裝置的一種資料讀取方法,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值。所述方法包括:對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字;經由第一解碼器,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子;根據所述X個第一迭代解碼操作來判斷是否經由第二解碼器執行多個第二迭代解碼操作;反應於判定經由所述第二解碼器執行所述多個第二迭代解碼操作,根據所述X個第一已解碼碼字來產生第一軟位元資訊與對數似然比(Log Likelihood Ratio,LLR)表,並且經由所述第二解碼器,根據所產生的所述第一軟位元資訊與所述對數似然比表來執行多個第二迭代解碼操作,以獲得所述最終已解碼碼字;反應於判定不經由所述第二解碼器執行所述多個第二迭代解碼操作,經由所述第一解碼器,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字;以及反應於判定所述最終已解碼碼字為正確的,輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且完成所述讀取操作。An embodiment of the present invention provides a data reading method suitable for a storage device equipped with a rewritable non-volatile memory module, wherein the rewritable non-volatile memory module has a plurality of characters Line, wherein each of the plurality of character lines is coupled to a plurality of memory cells, wherein each of the plurality of memory cells includes a plurality of physical pages, and in the plurality of physical pages Each physical page of is used to be programmed as a one-bit value. The method includes: performing a reading operation on a target codeword stored in a target physical page of the plurality of physical pages to obtain an original codeword; and performing X-th order on the original codeword through a first decoder An iterative decoding operation to obtain X first decoded codewords corresponding to the X first iterative decoding operations and X first syndromes corresponding to the X first decoded codewords; The X first iterative decoding operations are used to determine whether to perform multiple second iterative decoding operations via the second decoder; in response to the determination to perform the multiple second iterative decoding operations via the second decoder, according to the X First decoded codewords to generate first soft bit information and a log likelihood ratio (Log Likelihood Ratio, LLR) table, and through the second decoder, according to the generated first soft bit information Performing multiple second iterative decoding operations with the log-likelihood ratio table to obtain the final decoded codeword; in response to the decision not to perform the multiple second iterative decoding operations via the second decoder, Through the first decoder, perform multiple third iterative decoding operations on the target first decoded codeword among the X first decoded codewords to obtain the final decoded codeword; and respond to the determination The final decoded codeword is correct, the final decoded codeword is output as the reading data corresponding to the reading operation, and the reading operation is completed.
本發明的一實施例提供用於控制配置有可複寫式非揮發性記憶體模組的儲存裝置的一種儲存控制器。所述儲存控制器包括:連接介面電路、記憶體介面控制電路、讀取輔助電路單元、錯誤檢查與校正電路以及處理器。連接介面電路用以耦接至主機系統。記憶體介面控制電路用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值。處理器耦接至所述連接介面電路、所述記憶體介面控制電路、所述讀取輔助電路單元及所述錯誤檢查與校正電路。所述處理器用以對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字。所述讀取輔助電路單元指示所述第一解碼器,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子。此外,所述讀取輔助電路單元根據所述X個第一迭代解碼操作來判斷是否經由第二解碼器執行多個第二迭代解碼操作。反應於判定經由所述第二解碼器執行所述多個第二迭代解碼操作,所述讀取輔助電路單元根據所述X個第一已解碼碼字來產生第一軟位元資訊與對數似然比(Log Likelihood Ratio,LLR)表,並且指示所述第二解碼器,根據所產生的所述第一軟位元資訊與所述對數似然比表來執行多個第二迭代解碼操作,以獲得所述最終已解碼碼字;以及反應於判定不經由所述第二解碼器執行所述多個第二迭代解碼操作,所述讀取輔助電路單元指示所述第一解碼器,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字。此外,反應於判定所述最終已解碼碼字為正確的,所述錯誤檢查與校正電路輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且完成所述讀取操作。An embodiment of the present invention provides a storage controller for controlling a storage device equipped with a rewritable non-volatile memory module. The storage controller includes: a connection interface circuit, a memory interface control circuit, a reading auxiliary circuit unit, an error checking and correction circuit, and a processor. The connection interface circuit is used for coupling to the host system. The memory interface control circuit is used for coupling to the rewritable non-volatile memory module, wherein the rewritable non-volatile memory module has a plurality of character lines, wherein the plurality of characters Each character line of the line is coupled to a plurality of memory cells, wherein each of the plurality of memory cells includes a plurality of physical pages, and each of the plurality of physical pages is used to be programmed Converted to a one-bit value. The processor is coupled to the connection interface circuit, the memory interface control circuit, the read auxiliary circuit unit, and the error check and correction circuit. The processor is configured to perform a reading operation on the target codeword stored in the target physical page of the plurality of physical pages to obtain the original codeword. The reading auxiliary circuit unit instructs the first decoder to perform X first iterative decoding operations on the original codeword to obtain X first decoded operations corresponding to the X first iterative decoding operations, respectively The codeword and X first syndromes corresponding to the X first decoded codewords. In addition, the read auxiliary circuit unit determines whether to perform multiple second iterative decoding operations via the second decoder according to the X first iterative decoding operations. In response to determining that the plurality of second iterative decoding operations are performed through the second decoder, the read auxiliary circuit unit generates first soft bit information and logarithmic similarity according to the X first decoded code words Likelihood Ratio (Log Likelihood Ratio, LLR) table, and instruct the second decoder to perform multiple second iterative decoding operations according to the generated first soft bit information and the log likelihood ratio table, To obtain the final decoded codeword; and in response to determining not to perform the plurality of second iterative decoding operations via the second decoder, the read auxiliary circuit unit instructs the first decoder to The target first decoded codeword among the X first decoded codewords performs multiple third iterative decoding operations to obtain the final decoded codeword. In addition, in response to determining that the final decoded codeword is correct, the error checking and correction circuit outputs the final decoded codeword as the reading data corresponding to the reading operation, and completing the reading Take operation.
本發明的一實施例提供一種儲存裝置。所述儲存裝置包括可複寫式非揮發性記憶體模組、記憶體介面控制電路及處理器。可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值。記憶體介面控制電路用以耦接至所述可複寫式非揮發性記憶體模組。處理器耦接至所述記憶體介面控制電路,其中所述處理器載入且執行讀取輔助程式碼模組,以實現資料讀取方法。其中所述處理器載入且執行一讀取輔助程式碼模組,以實現一資料讀取方法。所述資料讀取方法包括下列步驟:對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字;經由第一解碼器,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子;根據所述X個第一迭代解碼操作來判斷是否經由第二解碼器執行多個第二迭代解碼操作;反應於判定經由所述第二解碼器執行所述多個第二迭代解碼操作,根據所述X個第一已解碼碼字來產生第一軟位元資訊與對數似然比(Log Likelihood Ratio,LLR)表,並且經由所述第二解碼器,根據所產生的所述第一軟位元資訊與所述對數似然比表來執行多個第二迭代解碼操作,以獲得所述最終已解碼碼字;反應於判定不經由所述第二解碼器執行所述多個第二迭代解碼操作,經由所述第一解碼器,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字;以及反應於判定所述最終已解碼碼字為正確的,輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且完成所述讀取操作。An embodiment of the present invention provides a storage device. The storage device includes a rewritable non-volatile memory module, a memory interface control circuit and a processor. The rewritable non-volatile memory module has a plurality of character lines, wherein each character line of the plurality of character lines is coupled to a plurality of memory cells, wherein each of the plurality of memory cells is The cell includes a plurality of physical pages, and each physical page of the plurality of physical pages is used to be programmed as a one-bit value. The memory interface control circuit is used for coupling to the rewritable non-volatile memory module. The processor is coupled to the memory interface control circuit, and the processor loads and executes the reading auxiliary code module to realize the data reading method. Wherein the processor loads and executes a reading auxiliary code module to realize a data reading method. The data reading method includes the following steps: performing a reading operation on the target codeword stored in the target physical page of the plurality of physical pages to obtain the original codeword; Word performs X first iterative decoding operations to obtain X first decoded codewords corresponding to said X first iterative decoding operations and X first codewords corresponding to said X first decoded codewords. Empirical; according to the X first iterative decoding operations to determine whether to perform multiple second iterative decoding operations via the second decoder; in response to the determination to perform the multiple second iterative decoding operations via the second decoder , Generating a first soft bit information and a log likelihood ratio (Log Likelihood Ratio, LLR) table according to the X first decoded codewords, and using the second decoder according to the generated first A soft bit information and the log-likelihood ratio table are used to perform a plurality of second iterative decoding operations to obtain the final decoded codeword; in response to a determination not to execute the plurality of first decoding operations through the second decoder A second iterative decoding operation, through the first decoder, performing multiple third iterative decoding operations on the target first decoded codeword among the X first decoded codewords to obtain a final decoded codeword; And in response to determining that the final decoded codeword is correct, output the final decoded codeword as the read data corresponding to the read operation, and complete the read operation.
基於上述,本發明實施例所提供的資料讀取方法、儲存控制器及儲存裝置,可從目標實體頁面讀取原始碼字後,利用經由第一解碼器對所述原始碼字執行多個第一迭代解碼操作所獲得的多個第一已解碼碼字與對應的多個第一校驗子來判斷是否要進一步經由第二解碼器來執行多個第二迭代解碼操作或經由第一解碼器執行多個第三迭代解碼操作,並且反應於判定經由第二解碼器來執行多個第二迭代解碼操作,根據所述多個第一已解碼碼字來產生第一軟位元資訊與對應的對數似然比表,以有效地利用所述多個第一已解碼碼字來增進第二解碼器所執行的所述多個第二迭代解碼操作的正確率。如此一來,雖然第一解碼器執行多個第一迭代解碼操作的期間會耗費電力與時間,但是經由所述多個第一迭代解碼操作所獲得多個第一已解碼碼字可被利用在後續第二解碼器所執行的第二迭代解碼操作,而改善了傳統作法的第二解碼器因重新利用原始碼字來進行多個迭代解碼操作,而具有較大的耗時與耗能所導致的問題,增進了從目標實體頁面所讀取資料的正確性與可靠度,降低對所讀取資料所執行的解碼操作的負荷,進而增進了資料讀取操作整體的效率。Based on the above, the data reading method, storage controller, and storage device provided by the embodiments of the present invention can read the original codeword from the target physical page, and then execute multiple first decoders on the original codeword through the first decoder. Multiple first decoded codewords obtained by an iterative decoding operation and corresponding multiple first syndromes are used to determine whether to further perform multiple second iterative decoding operations via the second decoder or via the first decoder Perform multiple third iterative decoding operations, and in response to the decision to perform multiple second iterative decoding operations via the second decoder, generate first soft bit information and corresponding information according to the multiple first decoded codewords The log-likelihood ratio table is used to effectively utilize the plurality of first decoded codewords to improve the accuracy of the plurality of second iterative decoding operations performed by the second decoder. In this way, although the first decoder will consume power and time during the multiple first iterative decoding operations, the multiple first decoded codewords obtained through the multiple first iterative decoding operations can be used in The second iterative decoding operation performed by the subsequent second decoder. The second decoder that improves the traditional practice re-uses the original codewords to perform multiple iterative decoding operations, which consumes more time and energy. The problem of improves the accuracy and reliability of the data read from the target physical page, reduces the load of the decoding operation performed on the read data, and thereby improves the overall efficiency of the data reading operation.
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。In order to make the above-mentioned features and advantages of the present invention more comprehensible, the following specific embodiments are described in detail in conjunction with the accompanying drawings.
在本實施例中,儲存裝置包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與儲存裝置控制器(亦稱,儲存控制器或儲存控制電路)。此外,儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至儲存裝置或從儲存裝置中讀取資料。In this embodiment, the storage device includes a rewritable non-volatile memory module and a storage device controller (also referred to as a storage controller or a storage control circuit). In addition, the storage device is used with the host system so that the host system can write data to the storage device or read data from the storage device.
圖1A是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。FIG. 1A is a block diagram of a host system and a storage device according to an embodiment of the invention.
請參照圖1A,主機系統(Host System)10包括處理器(Processor)110、主機記憶體(Host Memory)120及資料傳輸介面電路(Data Transfer Interface Circuit)130。在本實施例中,資料傳輸介面電路130耦接(亦稱,電性連接)至處理器110與主機記憶體120。在另一實施例中,處理器110、主機記憶體120與資料傳輸介面電路130之間利用系統匯流排(System Bus)彼此耦接。1A, the host system (Host System) 10 includes a processor (Processor) 110, a host memory (Host Memory) 120 and a data transfer interface circuit (Data Transfer Interface Circuit) 130. In this embodiment, the data
儲存裝置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。The
在本實施例中,主機系統10是透過資料傳輸介面電路130與儲存裝置20的連接介面電路230耦接至儲存裝置20來進行資料的存取操作。例如,主機系統10可經由資料傳輸介面電路130將資料儲存至儲存裝置20或從儲存裝置20中讀取資料。In this embodiment, the
在本實施例中,處理器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裝置。In this embodiment, the
在本實施例中,資料傳輸介面電路130與連接介面電路230是相容於高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準的介面電路。並且,資料傳輸介面電路130與連接介面電路230之間是利用快速非揮發性記憶體介面標準(Non-Volatile Memory express,NVMe)通訊協定來進行資料的傳輸。In this embodiment, the data
然而,必須瞭解的是,本發明不限於此,資料傳輸介面電路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之晶片外。However, it must be understood that the present invention is not limited to this. The data
在本實施例中,主機記憶體120用以暫存處理器110所執行的指令或資料。例如,在本範例實施例中,主機記憶體120可以是動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)、靜態隨機存取記憶體(Static Random Access Memory,SRAM)等。然而,必須瞭解的是,本發明不限於此,主機記憶體120也可以是其他適合的記憶體。In this embodiment, the
儲存控制器210用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統10的指令在可複寫式非揮發性記憶體模組220中進行資料的寫入、讀取與抹除等運作。The
更詳細來說,儲存控制器210中的處理器211為具備運算能力的硬體,其用以控制儲存控制器210的整體運作。具體來說,處理器211具有多個控制指令,並且在儲存裝置20運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。In more detail, the
值得一提的是,在本實施例中,處理器110與處理器211例如是中央處理單元(Central Processing Unit,CPU)、微處理器(micro-processor)、或是其他可程式化之處理單元(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似電路元件,本發明並不限於此。It is worth mentioning that, in this embodiment, the
在一實施例中,儲存控制器210還具有唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當儲存控制器210被致能時,處理器211會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組220中之控制指令載入至儲存控制器210的隨機存取記憶體中。之後,處理器211會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。在另一實施例中,處理器211的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組220的特定區域,例如,可複寫式非揮發性記憶體模組220中專用於存放系統資料的實體儲存單元中。In one embodiment, the
在本實施例中,如上所述,儲存控制器210還包括資料管理電路212與記憶體介面控制電路213。應注意的是,儲存控制器210各部件所執行的操作亦可視為儲存控制器210所執行的操作。In this embodiment, as described above, the
其中,資料管理電路212耦接至處理器211、記憶體介面控制電路213與連接介面電路230。資料管理電路212用以接受處理器211的指示來進行資料的傳輸。例如,經由連接介面電路230從主機系統10(如,主機記憶體120)讀取資料,並且將所讀取的資料經由記憶體介面控制電路213寫入至可複寫式非揮發性記憶體模組220中(如,根據來自主機系統10的寫入指令來進行寫入操作)。又例如,經由記憶體介面控制電路213從可複寫式非揮發性記憶體模組220的一或多個實體單元中讀取資料(資料可讀取自一或多個實體單元中的一或多個記憶胞),並且將所讀取的資料經由連接介面電路230寫入至主機系統10(如,主機記憶體120)中(如,根據來自主機系統10的讀取指令來進行讀取操作)。在另一實施例中,資料管理電路212亦可整合至處理器211中。The
記憶體介面控制電路213用以接受處理器211的指示,配合資料管理電路212來進行對於可複寫式非揮發性記憶體模組220的寫入(亦稱,程式化,Programming)操作、讀取操作或抹除操作。The memory
舉例來說,處理器211可執行寫入指令序列,以指示記憶體介面控制電路213將資料寫入至可複寫式非揮發性記憶體模組220中;處理器211可執行讀取指令序列,以指示記憶體介面控制電路213從可複寫式非揮發性記憶體模組220的對應讀取指令的一或多個實體單元(亦稱,目標實體單元)中讀取資料;處理器211可執行抹除指令序列,以指示記憶體介面控制電路213對可複寫式非揮發性記憶體模組220進行抹除操作。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示對可複寫式非揮發性記憶體模組220執行相對應的寫入、讀取及抹除等操作。在一實施例中,處理器211還可以下達其他類型的指令序列給記憶體介面控制電路213,以對可複寫式非揮發性記憶體模組220執行相對應的操作。For example, the
此外,欲寫入至可複寫式非揮發性記憶體模組220的資料會經由記憶體介面控制電路213轉換為可複寫式非揮發性記憶體模組220所能接受的格式。具體來說,若處理器211要存取可複寫式非揮發性記憶體模組220,處理器211會傳送對應的指令序列給記憶體介面控制電路213以指示記憶體介面控制電路213執行對應的操作。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變預設讀取電壓組的多個預設讀取電壓值以進行讀取操作或讀取輔助操作,或執行垃圾回收程序等等)的相對應的指令序列。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。In addition, the data to be written into the rewritable
可複寫式非揮發性記憶體模組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中的記憶胞是以陣列的方式設置。The rewritable
在本實施例中,可複寫式非揮發性記憶體模組220具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞。同一條字元線上的多個記憶胞會組成一或多個實體程式化單元。此外,多個實體程式化單元可組成一個實體單元(實體區塊或實體抹除單元)。In this embodiment, the rewritable
在本實施例中,是以記憶胞作為寫入(程式化)資料的最小單位。實體單元為抹除之最小單位,即,每一實體單元含有最小數目之一併被抹除之記憶胞。In this embodiment, the memory cell is used as the smallest unit for writing (programming) data. The physical unit is the smallest unit of erasure, that is, each physical unit contains one of the smallest number of memory cells that are erased.
儲存控制器210會配置多個邏輯單元給可複寫式非揮發性記憶體模組220。主機系統10是透過所配置的邏輯單元來存取儲存在多個實體單元中的使用者資料。在此,每一個邏輯單元可以是由一或多個邏輯位址組成。例如,邏輯單元可以是邏輯區塊(Logical Block)、邏輯頁面(Logical Page)或是邏輯扇區(Logical Sector)。一個邏輯單元可以是映射至一或多個實體單元,其中實體單元可以是一或多個實體位址、一或多個實體扇、一或多個實體程式化單元或者一或多個實體抹除單元。在本實施例中,邏輯單元為邏輯區塊,並且邏輯子單元為邏輯頁面。每一邏輯單元具有多個邏輯子單元。The
此外,儲存控制器210會建立邏輯轉實體位址映射表(Logical To Physical address mapping table)與實體轉邏輯位址映射表(Physical To Logical address mapping table),以記錄配置給可複寫式非揮發性記憶體模組220的邏輯單元(如,邏輯區塊、邏輯頁面或邏輯扇區)與實體單元(如,實體抹除單元、實體程式化單元、實體扇區)之間的位址映射關係。換言之,儲存控制器210可藉由邏輯轉實體位址映射表來查找一邏輯單元所映射的實體單元,並且儲存控制器210可藉由實體轉邏輯位址映射表來查找一實體單元所映射的邏輯單元。然而,上述有關邏輯單元與實體單元映射的技術概念為本領域技術人員之慣用技術手段且非本發明所欲闡述的技術方案,不再贅述於此。In addition, the
在本實施例中,錯誤檢查與校正電路214是耦接至處理器211並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當處理器211從主機系統10中接收到寫入指令時,錯誤檢查與校正電路214會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code,ECC)及/或錯誤檢查碼(error detecting code,EDC),並且處理器211會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組220中。之後,當處理器211從可複寫式非揮發性記憶體模組220中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路214會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。此外,在錯誤檢查與校正程序後,若成功解碼所讀取之資料,錯誤檢查與校正電路214可回傳錯誤位元數給處理器211。In this embodiment, the error checking and correcting
在本實施例中,在接收到欲解碼之所述碼字(亦稱,目標碼字或原始碼字)之後,錯誤檢查與校正電路214會開始對所接收的所述碼字進行迭代解碼操作,辨識所接收碼字的多個資料位元,根據所述多個資料位元來查詢對應的對數似然比(Log Likelihood Ratio,LLR)表(亦稱,LLR表)以獲得對應多個資料位元的多個對數似然比值,並且經由所述對數似然比值來對所述碼字執行一輪的迭代解碼操作。In this embodiment, after receiving the codeword to be decoded (also known as the target codeword or the original codeword), the error checking and
圖1B是根據本發明的一實施例所繪示的錯誤檢查與校正電路的方塊示意圖。請參照圖1B,在本實施例中,錯誤檢查與校正電路214包括解碼器與編碼器。解碼器包括第一解碼器2141與第二解碼器2142。編碼器包括第一編碼器2143與第二編碼器2144。所述第一解碼器2141所使用的第一演算法對應於第一編碼器2143所使用的第一演算法,並且所述第二解碼器2142所使用的第二演算法對應於第二編碼器2144所使用的第二演算法。FIG. 1B is a block diagram of an error checking and correction circuit according to an embodiment of the invention. Please refer to FIG. 1B. In this embodiment, the error checking and
所述第一演算法例如是位元翻轉(bit flipping)演算法;所述第二演算法例如是最小值-總和演算法(Min-Sum Algorithm)。即,所述第一解碼器為使用位元翻轉演算法的位元翻轉解碼器,並且所述第二解碼器為使用最小值-總和演算法的最小值-總和解碼器外,第二解碼器2142的解碼能力與耗能皆大於第一解碼器2141。The first algorithm is, for example, a bit flipping algorithm; the second algorithm is, for example, a Min-Sum Algorithm. That is, the first decoder is a bit-reversal decoder that uses a bit-reversal algorithm, and the second decoder is a minimum-sum decoder that uses a minimum-sum algorithm. The second decoder The decoding capability and energy consumption of the 2142 are both greater than that of the
應注意的是,第一解碼器2141或第二解碼器2142所使用演算法也可以為總和-乘積演算法(Sum-Product Algorithm,SPA)。It should be noted that the algorithm used by the
當儲存控制器210從可複寫式非揮發性記憶體模組406中讀取
n個資料位元(形成一個碼字)時,儲存控制器210(或錯誤檢查與校正電路214)也會取得每一個資料位元的通道可靠度資訊。此通道可靠度資訊用以表示對應的資料位元被解碼為位元“1”(亦稱,第一位元值)或是“0”(亦稱,第二位元值)的機率(或稱信心度)。錯誤檢查與校正電路214會通道可靠度資訊來執行解碼操作。在本實施例中,錯誤檢查與校正電路214所執行的解碼操作為迭代解碼(iterative decoding)操作。
When the
在本實施例中,可靠度資訊皆是以對數似然比值(Log Likelihood Ratio,LLR)來表示。然而,當採用不同的演算法來進行迭代解碼操作時,儲存控制器210會先產生相應的不同的可靠度資訊表(亦稱,對數似然比值表),以供不同的解碼器來使用/查找。In this embodiment, the reliability information is represented by the Log Likelihood Ratio (LLR). However, when different algorithms are used for iterative decoding operations, the
在本實施例中,每當錯誤檢查與校正電路214完成對一筆所述碼字所執行的一輪迭代解碼操作,錯誤檢查與校正電路214可獲得對應所述碼字的已解碼碼字與對應所述已解碼碼字的校驗子。錯誤檢查與校正電路214可根據校驗子來判斷當下所執行的所述迭代解碼操作是解碼成功或解碼失敗。In this embodiment, each time the error checking and
若解碼失敗,錯誤檢查與校正電路214可根據所統計的對所述碼字所執行的迭代解碼操作的總次數與預設迭代次數門檻值來判斷是否需再次執行後續的一或多次的迭代操作。若所述總次數達到所述預設迭代次數門檻值,錯誤檢查與校正電路214會判定所述碼字的整體解碼操作(整體解碼操作可包括一或多個迭代解碼操作)是失敗的,並且輸出最後所獲得之已解碼碼字與對應的校驗子(如,反應於所述總次數達到所述預設迭代次數門檻值且最後獲得的校驗子不為零);若所述總次數不大於所述預設迭代次數門檻值,錯誤檢查與校正電路214會利用所獲得之已解碼碼字與對應的校驗子來再次執行新一輪的迭代解碼操作。廠商可根據需求自行設定預設迭代次數門檻值,本發明不限於此。If the decoding fails, the error checking and
在每一次(每一輪)的迭代解碼操作的最後,錯誤檢查與校正電路214會計算對應當前最新獲得之已解碼碼字的校驗子,以判斷此次的迭代解碼操作是否成功。若解碼成功(解碼後所產生的碼字為正確,即,有效碼字),則結束本次的迭代操作並且也結束對此碼字的整體解碼操作;若解碼失敗(解碼後所產生的碼字為錯誤,即,無效碼字),則在所述總次數不大於所述預設迭代次數門檻值的情況下,結束本次的迭代操作並且重新開始新的一次(下一輪)的迭代操作。At the end of each iteration (each round) of the iterative decoding operation, the error checking and
更詳細來說,於每次迭代解碼操作中,錯誤檢查與校正電路214會判斷對應所述已解碼碼字的校驗子的多個位元值是否皆為零。若所述校驗子的多個位元值皆為零(即,“0”),錯誤檢查與校正電路214判定所述已解碼碼字為正確的,完成本次的迭代解碼操作,並且完成對應所述碼字的整體解碼操作。反之,若所述校驗子的所述多個位元值不皆為零(即,具有一或多個“1”),錯誤檢查與校正電路214判定所述已解碼碼字為錯誤的,完成本次的迭代解碼操作,完成所述碼字的整體解碼操作,並且輸出所述已解碼碼字。多個校驗子之間的大小比較,可利用所述多個校驗子所具有的“1”的總數量來判斷。例如,具有4個“1”的校驗子大於具有1個“1”的校驗子。In more detail, in each iterative decoding operation, the error checking and
應注意的是,上述的說明僅用於解釋原始碼字、已解碼碼字與對應的校驗子的對應關係,其他關於低密度奇偶檢查碼演算法的迭代解碼操作、原始碼字、校驗子、已解碼碼字的細節並非本發明的技術方案,不贅述於此。It should be noted that the above description is only used to explain the correspondence between the original codeword, the decoded codeword and the corresponding syndrome, and other iterative decoding operations, the original codeword, and the checksum of the low-density parity check code algorithm. The details of the sub and decoded codewords are not technical solutions of the present invention and will not be repeated here.
在一實施例中,儲存控制器210還包括緩衝記憶體218與電源管理電路219。緩衝記憶體是耦接至處理器211並且用以暫存來自於主機系統10的資料與指令、來自於可複寫式非揮發性記憶體模組220的資料或其他用以管理儲存裝置20的系統資料(如,對數似然比表或軟資訊),以讓處理器211可快速地從緩衝記憶體218中存取所述資料、指令或系統資料。電源管理電路219是耦接至處理器211並且用以控制儲存裝置20的電源。In one embodiment, the
在本實施例中,讀取輔助電路單元215包括解碼器管理電路2151與對數似然比表管理電路2152(亦稱,LLR表管理電路)。在處理器211執行讀取操作時,處理器211可指示所述讀取輔助電路單元215對所讀取的相應於所述讀取操作的原始碼字來執行讀取輔助操作,以輔助錯誤檢查與校正電路214對於所述原始碼字所進行的解碼操作。In this embodiment, the reading
更具體來說,在本實施例中,解碼器管理電路2151用以指示錯誤檢查與校正電路214去使用第一解碼器2141或第二解碼器2142來執行解碼操作。LLR表管理電路2152用以管理/記錄/查找所產生的對數似然比表。此外,解碼器管理電路2151與LLR表管理電路2152亦可整合在一起,並且解碼器管理電路2151或LLR表管理電路2152更可用以產生軟資訊及暫存所產生的軟資訊。所述軟資訊被輸入至第一解碼器2141或第二解碼器2142,以配合相應的對數似然比表來進行相應的解碼操作。以下利用圖2來說明本發明所提供的資料讀取方法(亦稱,讀取輔助方法)的細節及讀取輔助電路單元215的功能。應注意的是,讀取輔助電路單元215的各元件的運作可被視為讀取輔助電路單元215整體的運作。More specifically, in this embodiment, the
圖2是根據本發明的一實施例所繪示的資料讀取方法的流程圖。請參照圖2,在步驟S210中,處理器211指示記憶體介面控制電路213對所述多個實體頁面中的目標實體頁面所儲存的目標碼字執行讀取操作,以獲得原始碼字(也稱,硬位元碼字)。所述原始碼字會被傳送至錯誤檢查與校正電路214,以進行解碼操作。在本實施例中,所述原始碼字會先被傳送至具有較低耗能的第一解碼器,以進行多個第一迭代解碼操作。FIG. 2 is a flowchart of a data reading method according to an embodiment of the invention. Referring to FIG. 2, in step S210, the
如,在步驟S220,讀取輔助電路單元215(或解碼器管理電路2151)指示第一解碼器2141,對所述原始碼字執行X個第一迭代解碼操作,以獲得分別對應所述X個第一迭代解碼操作的X個第一已解碼碼字與對應所述X個第一已解碼碼字的X個第一校驗子。所述X為大於1的正整數,並且小於預設迭代次數門檻值。應注意的是,在一實施例中,於執行步驟S220的過程中,反應於獲得了正確的第一已解碼碼字(對應的第一校驗子為0),第一解碼器2141會直接輸出所述已解碼碼字,以完成所述讀取操作,並且讀取輔助電路單元215不再執行後續步驟(如,步驟S230~S260)。For example, in step S220, the reading auxiliary circuit unit 215 (or the decoder management circuit 2151) instructs the
接著,在步驟S230中,讀取輔助電路單元215(或解碼器管理電路2151)根據所述X個第一迭代解碼操作來判斷是否經由所述第一解碼器執行多個第二迭代解碼操作。Next, in step S230, the read auxiliary circuit unit 215 (or the decoder management circuit 2151) determines whether to perform multiple second iterative decoding operations via the first decoder according to the X first iterative decoding operations.
具體來說,讀取輔助電路單元215(或解碼器管理電路2151)可根據多個判斷方法中的其中之一來判斷使用第一解碼器2141以執行多個第二迭代解碼操作或使用第二解碼器2142以執行多個第三迭代解碼操作。Specifically, the reading auxiliary circuit unit 215 (or the decoder management circuit 2151) can determine whether to use the
在本實施例中,所述多個判斷方法包括:(1)根據對應X個第一迭代解碼操作中的X個第一校驗子與校驗子門檻值來進行判斷;(2) 判斷對應X個第一迭代解碼操作中的X個第一校驗子是否收斂;(3)根據多個第一迭代解碼操作各自的翻轉位元總數量與翻轉位元總數量門檻值來進行判斷。In this embodiment, the multiple judgment methods include: (1) judging according to X first syndromes and syndrome thresholds corresponding to X first iterative decoding operations; (2) judging corresponding Whether the X first syndromes in the X first iterative decoding operations converge; (3) The judgment is made according to the total number of flipped bits and the threshold value of the total number of flipped bits of the multiple first iterative decoding operations.
例如,在所述判斷方法(1)中:反應於判定所述X個第一校驗子中的目標校驗子的大小大於校驗子門檻值,讀取輔助電路單元215(或解碼器管理電路2151)判定使用第二解碼器2142以執行多個第三迭代解碼操作;反應於判定所述X個第一校驗子中的目標校驗子的大小不大於校驗子門檻值,讀取輔助電路單元215(或解碼器管理電路2151)判定使用第一解碼器2141以執行多個第二迭代解碼操作。所述目標校驗子可為所述X個第一校驗子中的第一個所獲得的第一校驗子、最終所獲得的第一校驗子或所述多個第一校驗子的平均值。For example, in the judgment method (1): in response to judging that the size of the target syndrome in the X first syndromes is greater than the syndrome threshold, the read auxiliary circuit unit 215 (or decoder management Circuit 2151) determines to use the
又例如,在所述判斷方法(2)中:反應於判定所述X個第一校驗子的大小皆在校驗子範圍內,讀取輔助電路單元215(或解碼器管理電路2151)判定所述X個第一校驗子不收斂,並且使用第二解碼器2142以執行多個第三迭代解碼操作;反應於判定所述X個第一校驗子的其中之一小於所述校驗子範圍,讀取輔助電路單元215(或解碼器管理電路2151)判定所述X個第一校驗子收斂,並且使用第一解碼器2141以執行多個第二迭代解碼操作。For another example, in the judgment method (2): in response to judging that the sizes of the X first syndromes are all within the syndrome range, the reading auxiliary circuit unit 215 (or the decoder management circuit 2151) judges The X first syndromes do not converge, and the
又例如,在所述判斷方法(3)中:反應於判定對應於所述X個第一迭代解碼操作中的X個翻轉位元總數量的其中之一大於所述翻轉位元總數量門檻值,讀取輔助電路單元215(或解碼器管理電路2151)判定使用第二解碼器2142以執行多個第三迭代解碼操作;反應於判定對應於所述X個第一迭代解碼操作中的多個翻轉位元總數量皆不大於所述翻轉位元總數量門檻值,讀取輔助電路單元215(或解碼器管理電路2151)判定使用第一解碼器2141以執行多個第二迭代解碼操作。其中,對應於一個第一迭代解碼操作中的翻轉位元總數量用以表示在所述第一迭代解碼操作中,第一已解碼碼字中的被判定需執行翻轉(“0”翻轉為“1”或“1”翻轉為“0”)的位元值的總數量。此外,在一實施例中,讀取輔助電路單元215(或解碼器管理電路2151)更可計算所述X個翻轉位元總數量的總和。並且,反應於判定所述總和大於一特定門檻值,讀取輔助電路單元215(或解碼器管理電路2151)可判定使用第二解碼器2142以執行多個第三迭代解碼操作。For another example, in the judgment method (3): it is reflected that one of the total numbers of X flipped bits in the X first iterative decoding operations is determined to be greater than the threshold value of the total number of flipped bits , The reading auxiliary circuit unit 215 (or the decoder management circuit 2151) decides to use the
反應於判定經由第二解碼器執行多個第二迭代解碼操作,執行步驟S240;反應於判定不經由第二解碼器執行多個第二迭代解碼操作,執行步驟S250。In response to determining to perform multiple second iterative decoding operations via the second decoder, step S240 is executed; in response to determining not to perform multiple second iterative decoding operations via the second decoder, step S250 is executed.
在步驟S240中,讀取輔助電路單元215(或LLR表管理電路2152)根據所述X個第一已解碼碼字來產生第一軟位元資訊及對應的對數似然比表,並且指示所述第二解碼器2142,根據所產生的所述第一軟位元資訊及對應的所述對數似然比表來執行多個第二迭代解碼操作,以獲得最終已解碼碼字。In step S240, the reading auxiliary circuit unit 215 (or the LLR table management circuit 2152) generates the first soft bit information and the corresponding log-likelihood ratio table according to the X first decoded codewords, and instructs all The
具體來說,在根據所述X個第一已解碼碼字來產生對數似然比表的運作中,讀取輔助電路單元215(或LLR表管理電路2152)統計所述X個第一已解碼碼字各自的第一位元值總數量以及第二位元值總數量。接著,讀取輔助電路單元215(或LLR表管理電路2152)根據所述第一位元值總數量、第二位元值總數量、對數似然比上限值以及對數似然比下限值來產生對應的所述對數似然比表。Specifically, in the operation of generating the log-likelihood ratio table according to the X first decoded codewords, the reading auxiliary circuit unit 215 (or the LLR table management circuit 2152) counts the X first decoded codewords The total number of first bit values and the total number of second bit values of each codeword. Next, the reading auxiliary circuit unit 215 (or the LLR table management circuit 2152) according to the total number of first bit values, the total number of second bit values, the upper limit of the log likelihood ratio and the lower limit of the log likelihood ratio To generate the corresponding log-likelihood ratio table.
具體來說,讀取輔助電路單元215(或LLR表管理電路2152)根據所述X個第一校驗子,排序對應的所述X個第一已解碼碼字,以產生一第一軟位元資訊。其中,讀取輔助電路單元215(或解碼器管理電路2151)指示所述第二解碼器2142,根據所述對數似然比表對所述第一軟位元資訊執行所述多個第二迭代解碼操作,以獲得分別對應於所述多個第二迭代解碼操作的多個第二已解碼碼字以及對應所述多個第二已解碼碼字的多個第二校驗子。Specifically, the reading auxiliary circuit unit 215 (or the LLR table management circuit 2152) sorts the corresponding X first decoded codewords according to the X first syndromes to generate a first soft bit Meta information. Wherein, the read auxiliary circuit unit 215 (or decoder management circuit 2151) instructs the
圖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個位元組成,並且亦可反映出所述軟位元資訊的總行數。3A is a schematic diagram of generating soft information based on multiple decoded codewords according to an embodiment of the present invention. 4A is a schematic diagram of generating a log-likelihood ratio table according to an embodiment of the invention. Please refer to FIG. 3A first, assuming that the original codeword read from the target
此外,如箭頭A32所示,讀取輔助電路單元215(或LLR表管理電路2152)可進一步統計所述4位元軟位元資訊中的每一列的第一位元值總數量(如,位元值“1”的總數量)以及第二位元值總數量(如,位元值“0”的總數量)。In addition, as indicated by the arrow A32, the read auxiliary circuit unit 215 (or the LLR table management circuit 2152) can further count the total number of first bit values (eg, bit values) of each column in the 4-bit soft bit information. The total number of meta value "1") and the total number of second bit value (for example, the total number of bit value "0").
在本實施例中,所述讀取輔助電路單元215(或LLR表管理電路2152)根據所述X個第一迭代解碼操作的總數量(或第一軟位元資訊的總行數)、對數似然比上限值以及對數似然比下限值來產生對應的所述對數似然比表。In this embodiment, the read auxiliary circuit unit 215 (or the LLR table management circuit 2152) is based on the total number of the X first iterative decoding operations (or the total number of rows of the first soft bit information), logarithmically similar The upper limit value of the likelihood ratio and the lower limit value of the log likelihood ratio are used to generate the corresponding log likelihood ratio table.
請參照圖4A,假設對數似然比上限值為“+7”、對數似然比下限值為“-7”,並且X為4,即,經由所述X個第一迭代解碼操作可獲得4位元軟位元資訊。由於4位元軟位元資訊的總行數為X,即,4。所述4位元軟位元資訊的每一列的第一位元值的總數量的上限與下限、第一位元值的總數量的上限與下限是對應於X與0。基於此事實,所述讀取輔助電路單元215(或LLR表管理電路2152)可根據所述X個第一迭代解碼操作的總數量(即,所對應的所述4位元軟位元資訊的總行數)、對數似然比上限值為“+7”以及對數似然比下限值為“-7”來產生對應的對數似然比表T600。4A, assuming that the upper limit value of the log likelihood ratio is "+7", the lower limit value of the log likelihood ratio is "-7", and X is 4, that is, through the X first iterative decoding operations, Get 4-bit soft bit information. Since the total number of rows of 4-bit soft bit information is X, that is, 4. The upper limit and lower limit of the total number of first bit values, and the upper limit and lower limit of the total number of first bit values in each row of the 4-bit soft bit information correspond to X and 0. Based on this fact, the read auxiliary circuit unit 215 (or the LLR table management circuit 2152) can be based on the total number of the X first iterative decoding operations (that is, the amount of the corresponding 4-bit soft bit information) The total number of rows), the upper limit of the log likelihood ratio is "+7" and the lower limit of the log likelihood ratio is "-7" to generate the corresponding log likelihood ratio table T600.
在所產生的所述對數似然比表T600中,對數似然比值“-7”用以表示所對應的列的位元值為“1”的機率最高;對數似然比值“+7”用以表示所對應的列的位元值為“0”的機率最高;對數似然比值“0”用以表示所對應的列的位元值為“1”或“0”的機率彼此相等;對數似然比值“-3”用以表示所對應的列的位元值為“1”的機率高於為“0”的機率;對數似然比值“+3”用以表示所對應的列的位元值為“0”的機率高於為“1”的機率。In the generated log-likelihood ratio table T600, the log-likelihood ratio "-7" is used to indicate that the bit value of the corresponding column has the highest probability of being "1"; the log-likelihood ratio "+7" is used The probability that the bit value of the corresponding column is "0" is the highest; the log likelihood ratio "0" is used to indicate that the probability of the bit value of the corresponding column is "1" or "0" is equal to each other; logarithm The likelihood ratio "-3" is used to indicate that the probability of the bit value of the corresponding column is "1" is higher than the probability of being "0"; the log likelihood ratio "+3" is used to indicate the bit of the corresponding column The probability of the meta value being "0" is higher than the probability of being "1".
依此類推,所述讀取輔助電路單元215(或LLR表管理電路2152)可根據所對應的軟位元資訊的總行數、對數似然比上限值以及對數似然比下限值來產生其他的對數似然比表。By analogy, the read auxiliary circuit unit 215 (or LLR table management circuit 2152) can generate the corresponding soft bit information according to the total number of rows, the upper limit of the log likelihood ratio, and the lower limit of the log likelihood ratio. Other log-likelihood ratio tables.
圖4B是根據本發明的一實施例所繪示的產生對數似然比表的示意圖。參照圖4B,假設對數似然比上限值為“+5”、對數似然比下限值為“-5”,並且軟位元資訊的總行數為2(2位元軟位元資訊)。所述讀取輔助電路單元215(或LLR表管理電路2152)可根據所述所對應的所述2位元軟位元資訊的總行數(即,2)、對數似然比上限值為“+5”以及對數似然比下限值為“-5”來產生對應的對數似然比表T610。4B is a schematic diagram of generating a log-likelihood ratio table according to an embodiment of the invention. 4B, suppose that the upper limit value of the log likelihood ratio is "+5", the lower limit value of the log likelihood ratio is "-5", and the total number of rows of soft bit information is 2 (2-bit soft bit information) . The reading auxiliary circuit unit 215 (or the LLR table management circuit 2152) can be based on the total number of rows (ie, 2) of the corresponding 2-bit soft bit information and the upper limit value of the log likelihood ratio " +5" and the lower limit of the log likelihood ratio is "-5" to generate the corresponding log likelihood ratio table T610.
在所產生的所述對數似然比表T610中,對數似然比值“-5”用以表示所對應的列的位元值為“1”的機率最高;對數似然比值“+5”用以表示所對應的列的位元值為“0”的機率最高;對數似然比值“0”用以表示所對應的列的位元值為“1”或“0”的機率彼此相等。In the generated log-likelihood ratio table T610, the log-likelihood ratio "-5" is used to indicate that the bit value of the corresponding column has the highest probability; the log-likelihood ratio "+5" is used The probability that the bit value of the corresponding column is "0" is the highest; the log likelihood ratio "0" is used to indicate that the probability of the bit value of the corresponding column is "1" or "0" is equal to each other.
在獲得所產生的第一軟位元資訊後,所述讀取輔助電路單元215(或LLR表管理電路2152)可統計所述第一軟位元資訊中的每一列的第一位元值總數量以及第二位元值總數量,其中所述第一軟位元資訊中的每一列對應至所述原始碼字的每一個位元值。After obtaining the generated first soft bit information, the read auxiliary circuit unit 215 (or LLR table management circuit 2152) can count the total number of first bit values of each row in the first soft bit information And the total number of second bit values, wherein each row in the first soft bit information corresponds to each bit value of the original codeword.
例如,如圖3A中的箭頭A32所示,圖3A中所產生的4位元軟位元資訊中的每一列的第一位元值與第二位元值的總數量皆可經由所述讀取輔助電路單元215(或LLR表管理電路2152)所統計。For example, as shown by the arrow A32 in FIG. 3A, the total number of the first bit value and the second bit value of each row in the 4-bit soft bit information generated in FIG. 3A can be read through the read Take statistics from the auxiliary circuit unit 215 (or the LLR table management circuit 2152).
接著,所述讀取輔助電路單元215指示所述第二解碼器2142,根據所述第一位元值總數量、所述第二位元值總數量以及所述對數似然比表對所述第一軟位元資訊執行所述多個第二迭代解碼操作,以獲得分別對應於所述多個第二迭代解碼操作的多個第二已解碼碼字以及對應所述多個第二已解碼碼字的多個第二校驗子。Then, the read
例如,所述第二解碼器2142可經由圖3A所統計的所述第一位元值總數量、所述第二位元值總數量以及圖4A所產生的對應的所述對數似然比表T600來辨識所述原始碼字的各個位元值為第一位元值與第二位元值的機率(可靠度),藉此來執行所述多個第二迭代解碼操作。For example, the
反應於辨識所述多個第二校驗子中的一最終第二校驗子為零,所述錯誤檢查與校正電路判定所述多個第二已解碼碼字中對應所述最終第二校驗子的所述最終已解碼碼字為正確的。In response to identifying that a final second syndrome of the plurality of second syndromes is zero, the error checking and correction circuit determines that the plurality of second decoded codewords corresponds to the final second syndrome The final decoded codeword of the empirical is correct.
請回到圖2,在步驟S250中,讀取輔助電路單元215(或解碼器管理電路2151)指示所述第一解碼器2141,對所述X個第一已解碼碼字中的目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得最終已解碼碼字。Please return to FIG. 2. In step S250, the read auxiliary circuit unit 215 (or decoder management circuit 2151) instructs the
具體來說,所述目標第一已解碼碼字的目標第一校驗子為所述X個第一校驗子中的最小者。此外,在讀取輔助電路單元215(或解碼器管理電路2151)指示所述第一解碼器2141,對所述X個第一已解碼碼字中的所述目標第一已解碼碼字執行所述多個第三迭代解碼操作,以獲得所述最終已解碼碼字的運作中,所述第一解碼器2141根據所述目標第一已解碼碼字執行多個第三迭代解碼操作,以獲得分別對應於所述多個第三迭代解碼操作的多個第三已解碼碼字以及對應所述多個第三已解碼碼字的多個第三校驗子。其中,反應於辨識所述多個第三校驗子中的一最終第三校驗子為零,所述第一解碼器判定所述多個第三已解碼碼字中對應所述最終第三校驗子的所述最終已解碼碼字為正確的。Specifically, the target first syndrome of the target first decoded codeword is the smallest one of the X first syndromes. In addition, the reading auxiliary circuit unit 215 (or the decoder management circuit 2151) instructs the
在步驟S260中,反應於判定所述最終已解碼碼字為正確的,錯誤檢查與校正電路214(或解碼器)輸出所述最終已解碼碼字以作為對應於所述讀取操作的讀取資料,並且讀取輔助電路單元215完成所述讀取操作。In step S260, in response to determining that the final decoded codeword is correct, the error checking and correction circuit 214 (or decoder) outputs the final decoded codeword as the reading corresponding to the reading operation Data, and the read
另一方面,反應於辨識所述多個第三迭代解碼操作的總數量大於迭代解碼門檻值及所述多個第三校驗子中的最終第三校驗子不為零,所述第一解碼器判定所述多個第三已解碼碼字中對應於所述最終第三校驗子的所述最終已解碼碼字為不正確的On the other hand, in response to identifying that the total number of the plurality of third iterative decoding operations is greater than the iterative decoding threshold and the final third syndrome among the plurality of third syndromes is not zero, the first The decoder determines that the final decoded codeword corresponding to the final third syndrome among the plurality of third decoded codewords is incorrect
反應於判定所述多個第三已解碼碼字中對應於所述最終第三校驗子的所述最終已解碼碼字為不正確的,所述讀取輔助電路單元215可使用下列方法(P1)~(P4)的其中之一來進行後續的處理。In response to determining that the final decoded codeword corresponding to the final third syndrome among the plurality of third decoded codewords is incorrect, the read
更詳細來說,在方法(P1)中,所述讀取輔助電路單元215將所述原始碼字輸入至所述第二解碼器2142,以經由所述第二解碼器2142,根據預設的對數似然比表對所述原始碼字執行多個迭代解碼操作(亦稱,第四迭代解碼操作),以獲得分別對應於所述多個第四迭代解碼操作的多個第四已解碼碼字以及對應所述多個第四已解碼碼字的多個第四校驗子。其中,反應於辨識所述多個第四校驗子中的一最終第四校驗子為零,所述第二解碼器判定所述多個第四已解碼碼字中對應所述最終第四校驗子的所述最終已解碼碼字為正確的。在另一實施例中,所述讀取輔助電路單元215將所述所述多個第二已解碼碼字中具有最小的校驗子的目標第二已解碼碼字輸入至所述第二解碼器2142,以經由所述第二解碼器2142,根據預設的對數似然比表對所述目標第二已解碼碼字執行多個迭代解碼操作(亦稱,第四迭代解碼操作),以獲得分別對應於所述多個第四迭代解碼操作的多個第四已解碼碼字以及對應所述多個第四已解碼碼字的多個第四校驗子。In more detail, in the method (P1), the read
此外,在方法(P2)中,所述讀取輔助電路單元215執行所述根據所述X個第一已解碼碼字來產生所述對數似然比表,並且經由所述第二解碼器,根據所產生的所述對數似然比表來執行所述多個第二迭代解碼操作,以獲得所述最終已解碼碼字的步驟,即,執行步驟S240。In addition, in the method (P2), the read
在方法(P3)中,所述讀取輔助電路單元215根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生第二軟位元資訊。此外,所述讀取輔助電路單元215根據所述第二軟位元資訊的總行數來產生另一對數似然比表。In the method (P3), the read
接著,所述讀取輔助電路單元215統計所述第二軟位元資訊中的每一列的第一位元值總數量以及第二位元值總數量,並且指示所述第二解碼器2142,根據所述第二軟位元資訊中的每一列的所述第一位元值總數量、所述第二位元值總數量以及所述另一對數似然比表對所述第二軟位元資訊執行多個迭代解碼操作(亦稱,第五迭代解碼操作),以獲得分別對應於所述多個第五迭代解碼操作的多個第五已解碼碼字以及對應所述多個第五已解碼碼字的多個第五校驗子。反應於辨識所述多個第五校驗子中的一最終第五校驗子為零,所述第二解碼器判定所述多個第五已解碼碼字中對應所述最終第五校驗子的所述最終已解碼碼字為正確的。Then, the read
方法(P4)近似於方法(P3),其中不同的地方在於:在方法(P3)中的根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生所述第二軟位元資訊的運作中,所述讀取輔助電路單元215從所述多個第三已解碼碼字中,選擇多個目標第三已解碼碼字,其中所述多個第三校驗子中對應所述多個目標第三已解碼碼字的多個目標第三校驗子小於所述多個第三校驗子中的其他的第三校驗子。Method (P4) is similar to method (P3), and the difference lies in: in method (P3), according to the plurality of third syndromes, the corresponding plurality of third decoded codewords are sorted to In the operation of generating the second soft bit information, the read
簡單來說,所述讀取輔助電路單元215根據所述多個第三校驗子的大小,選擇所述多個第三校驗子中較小的多個第三校驗子作為多個目標第三校驗子,並且使用對應的多個目標第三已解碼碼字來產生第二軟位元資訊。即,所述讀取輔助電路單元215依據所述多個目標第三校驗子的大小,由大至小,將所述多個目標第三已解碼碼字排序為所述第二軟位元資訊的多個行,其中所述多個目標第三已解碼碼字的總數量等於所述第二軟位元資訊的所述多個行的總數量(總行數),並且所述總數量是預先設定的。所述讀取輔助電路單元215根據所述多個第三校驗子,排序對應的所述多個第三已解碼碼字,以產生第二軟位元資訊。To put it simply, the read assist
圖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”。3B is a schematic diagram of generating soft information based on multiple decoded codewords and multiple syndromes according to an embodiment of the present invention. Referring to FIG. 3B, assuming that the original codeword read from the target
讀取輔助電路單元215(或LLR表管理電路2152)可根據所述多個校驗子大小來排序所述多個第三已解碼碼字,並且從所述多個第三已解碼碼字中選擇2個具有較小校驗子大小的第三已解碼碼字來組成2位元軟位元資訊。The read auxiliary circuit unit 215 (or the LLR table management circuit 2152) may sort the plurality of third decoded codewords according to the plurality of syndrome sizes, and select from the plurality of third decoded codewords Two third decoded codewords with a smaller syndrome size are selected to form 2-bit soft bit information.
此外,如箭頭A34所示,讀取輔助電路單元215可進一步統計所述2位元軟位元資訊中的每一列的第一位元值總數量(如,位元值“1”的總數量)以及第二位元值總數量(如,位元值“0”的總數量)。In addition, as indicated by arrow A34, the read
在本實施例中,如,圖4B所示,所述讀取輔助電路單元215根據所述2位元軟位元資訊的總行數、對數似然比上限值以及對數似然比下限值來產生對應的所述對數似然比表610。In this embodiment, as shown in FIG. 4B, the read
值得一提的是,在上述的多個實施例中,上述讀取輔助電路單元215是以硬體電路的方式來實施,但本發明不限於此。例如,在一實施例中,讀取輔助電路單元215可以軟體的方式實施為具有讀取輔助電路單元215的功能的讀取輔助程式碼模組。讀取輔助程式碼模組可包括解碼器管理程式碼模組與LLR表管理程式碼模組。所述解碼器管理程式碼模組為具有解碼器管理電路2151的功能的程式碼模組;所述LLR表管理程式碼模組為具有LLR表管理電路2152的功能的程式碼模組。所述處理器211可存取且執行讀取輔助程式碼模組(或解碼器管理程式碼模組與LLR表管理程式碼模組)來實施本發明所提供的資料讀取方法(或讀取輔助方法)。It is worth mentioning that, in the above-mentioned multiple embodiments, the above-mentioned reading
綜上所述,本發明實施例所提供的資料讀取方法、儲存控制器及儲存裝置,可從目標實體頁面讀取原始碼字後,利用經由第一解碼器對所述原始碼字執行多個第一迭代解碼操作所獲得的多個第一已解碼碼字與對應的多個第一校驗子來判斷是否要進一步經由第二解碼器來執行多個第二迭代解碼操作或經由第一解碼器執行多個第三迭代解碼操作,並且反應於判定經由第二解碼器來執行多個第二迭代解碼操作,根據所述多個第一已解碼碼字來產生第一軟位元資訊與對應的對數似然比表,以有效地利用所述多個第一已解碼碼字來增進第二解碼器所執行的所述多個第二迭代解碼操作的正確率。如此一來,雖然第一解碼器執行多個第一迭代解碼操作的期間會耗費電力與時間,但是經由所述多個第一迭代解碼操作所獲得多個第一已解碼碼字可被利用在後續第二解碼器所執行的第二迭代解碼操作,而改善了傳統作法的第二解碼器因重新利用原始碼字來進行多個迭代解碼操作,而具有較大的耗時與耗能所導致的問題,增進了從目標實體頁面所讀取資料的正確性與可靠度,降低對所讀取資料所執行的解碼操作的負荷,進而增進了資料讀取操作整體的效率。In summary, the data reading method, storage controller, and storage device provided by the embodiments of the present invention can read the original codeword from the target physical page, and then perform multiple operations on the original codeword through the first decoder. The multiple first decoded codewords obtained by the first iterative decoding operation and the corresponding multiple first syndromes are used to determine whether to further perform multiple second iterative decoding operations through the second decoder or through the first The decoder executes a plurality of third iterative decoding operations, and responds to the decision to execute a plurality of second iterative decoding operations through the second decoder, and generates the first soft bit information according to the plurality of first decoded code words and The corresponding log-likelihood ratio table is used to effectively use the plurality of first decoded codewords to improve the accuracy of the plurality of second iterative decoding operations performed by the second decoder. In this way, although the first decoder will consume power and time during the multiple first iterative decoding operations, the multiple first decoded codewords obtained through the multiple first iterative decoding operations can be used in The second iterative decoding operation performed by the subsequent second decoder. The second decoder that improves the traditional practice re-uses the original codewords to perform multiple iterative decoding operations, which consumes more time and energy. The problem of improves the accuracy and reliability of the data read from the target physical page, reduces the load of the decoding operation performed on the read data, and thereby improves the overall efficiency of the data reading operation.
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。Although the present invention has been disclosed in the above embodiments, it is not intended to limit the present invention. Anyone with ordinary knowledge in the technical field can make some changes and modifications without departing from the spirit and scope of the present invention. The scope of protection of the present invention shall be determined by the scope of the attached patent application.
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:表
10: Host system
20:
圖1A是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。 圖1B是根據本發明的一實施例所繪示的錯誤檢查與校正電路的方塊示意圖。 圖2是根據本發明的一實施例所繪示的資料讀取方法的流程圖。 圖3A為根據本發明的一實施例所繪示的根據多個已解碼碼字產生軟資訊的示意圖。 圖3B為根據本發明的一實施例所繪示的根據多個已解碼碼字及多個校驗子產生軟資訊的示意圖。 圖4A是根據本發明的一實施例所繪示的產生對數似然比表的示意圖。 圖4B是根據本發明的一實施例所繪示的產生對數似然比表的示意圖。 FIG. 1A is a block diagram of a host system and a storage device according to an embodiment of the invention. FIG. 1B is a block diagram of an error checking and correction circuit according to an embodiment of the invention. FIG. 2 is a flowchart of a data reading method according to an embodiment of the invention. 3A is a schematic diagram of generating soft information based on multiple decoded codewords according to an embodiment of the present invention. 3B is a schematic diagram of generating soft information based on multiple decoded codewords and multiple syndromes according to an embodiment of the present invention. 4A is a schematic diagram of generating a log-likelihood ratio table according to an embodiment of the invention. 4B is a schematic diagram of generating a log-likelihood ratio table according to an embodiment of the invention.
S210、S220、S230、S240、S250、S260:資料讀取方法的流程步驟 S210, S220, S230, S240, S250, S260: Process steps of the data reading method
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108147735A TWI717171B (en) | 2019-12-26 | 2019-12-26 | Data reading method, storage controller and storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108147735A TWI717171B (en) | 2019-12-26 | 2019-12-26 | Data reading method, storage controller and storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI717171B true TWI717171B (en) | 2021-01-21 |
TW202125259A TW202125259A (en) | 2021-07-01 |
Family
ID=75237610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108147735A TWI717171B (en) | 2019-12-26 | 2019-12-26 | Data reading method, storage controller and storage device |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI717171B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI804359B (en) * | 2022-06-23 | 2023-06-01 | 慧榮科技股份有限公司 | Method and apparatus for decoding low-density parity-check (ldpc) code |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI397076B (en) * | 2007-03-29 | 2013-05-21 | Sandisk Technologies Inc | Method and system for decoding data in non-volatile storage using reliability metrics based on multiple reads |
TWI540425B (en) * | 2011-12-30 | 2016-07-01 | 安華高科技通用Ip(新加坡)公司 | Apparatus for non-binary decoding of low density parity check encoded data, method of decoding data in a mixed domain non-binary low density rarity check decoder and storage system |
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 (en) * | 2014-09-03 | 2017-05-21 | 美光科技公司 | Apparatuses and methods for storing a data value in multiple columns |
TWI619073B (en) * | 2014-07-09 | 2018-03-21 | 英特爾股份有限公司 | Processor, non-transitory machine readable medium and computing system for eliminating misaligned memory accesses during processing of an array having misaligned data rows |
US10120615B2 (en) * | 2016-10-04 | 2018-11-06 | Shenzhen Epostar Electronics Limited Co. | Memory management method and storage controller using the same |
TW201939288A (en) * | 2018-03-09 | 2019-10-01 | 深圳大心電子科技有限公司 | Data moving method and storage controller |
TW201947402A (en) * | 2018-05-14 | 2019-12-16 | 深圳大心電子科技有限公司 | Memory management method and storage controller |
-
2019
- 2019-12-26 TW TW108147735A patent/TWI717171B/en active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI397076B (en) * | 2007-03-29 | 2013-05-21 | Sandisk Technologies Inc | Method and system for decoding data in non-volatile storage using reliability metrics based on multiple reads |
TWI540425B (en) * | 2011-12-30 | 2016-07-01 | 安華高科技通用Ip(新加坡)公司 | Apparatus for non-binary decoding of low density parity check encoded data, method of decoding data in a mixed domain non-binary low density rarity check decoder and storage system |
TWI619073B (en) * | 2014-07-09 | 2018-03-21 | 英特爾股份有限公司 | Processor, non-transitory machine readable medium and computing system for eliminating misaligned memory accesses during processing of an array having misaligned data rows |
TWI584279B (en) * | 2014-09-03 | 2017-05-21 | 美光科技公司 | Apparatuses and methods for storing a data value in multiple columns |
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 (en) * | 2015-12-14 | 2017-06-16 | 群聯電子股份有限公司 | Data reading method, memory control circuit unit and memory storage apparatus |
US10120615B2 (en) * | 2016-10-04 | 2018-11-06 | Shenzhen Epostar Electronics Limited Co. | Memory management method and storage controller using the same |
TW201939288A (en) * | 2018-03-09 | 2019-10-01 | 深圳大心電子科技有限公司 | Data moving method and storage controller |
TW201947402A (en) * | 2018-05-14 | 2019-12-16 | 深圳大心電子科技有限公司 | Memory management method and storage controller |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI804359B (en) * | 2022-06-23 | 2023-06-01 | 慧榮科技股份有限公司 | Method and apparatus for decoding low-density parity-check (ldpc) code |
Also Published As
Publication number | Publication date |
---|---|
TW202125259A (en) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150169406A1 (en) | Decoding techniques for a data storage device | |
TWI612527B (en) | Decoding method, memory storage device and memory control circuit unit | |
US10768855B1 (en) | Data reading method, storage controller and storage device | |
TWI686804B (en) | Data reading method, storage controller and storage device | |
US10923212B2 (en) | Memory control method, memory storage device and memory control circuit unit | |
CN111580741B (en) | Data writing method, memory control circuit unit and memory storage device | |
US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
TWI717171B (en) | Data reading method, storage controller and storage device | |
TWI691963B (en) | Data reading method, storage controller and storage device | |
CN113140253B (en) | Memory management method, memory storage device and memory control circuit unit | |
CN107025935B (en) | Decoding method, memory storage device and memory control circuit unit | |
TWI751620B (en) | Memory control method, memory storage device and memory control circuit unit | |
TWI836877B (en) | Read voltage calibration method, memory storage device and memory control circuit unit | |
TWI805509B (en) | Decoding method, memory storage device and memory control circuit unit | |
CN111258791B (en) | Memory control method, memory storage device and memory control circuit unit | |
CN111863099B (en) | Memory control method, memory storage device and memory control circuit unit | |
US11817172B2 (en) | Table management method, memory storage device and memory control circuit unit | |
US11809706B2 (en) | Memory management method, memory storage device, and memory control circuit unit | |
CN111913829B (en) | Data reading method, memory controller and memory device | |
US11853613B2 (en) | Encoding control method, memory storage device and memory control circuit unit | |
TWI681393B (en) | Decoding method, memory controlling circuit unit and memory storage device | |
CN111459704B (en) | Memory control method, memory storage device and memory control circuit unit | |
CN115910182A (en) | Reading voltage correction method, storage device and memory control circuit unit | |
CN114661233A (en) | Table sorting method, memory storage device and memory control circuit unit | |
TW202236091A (en) | Memory control method, memory storage device and memory control circuit unit |