TWI769001B - Method for selecting decoding strategy for data storage system - Google Patents

Method for selecting decoding strategy for data storage system Download PDF

Info

Publication number
TWI769001B
TWI769001B TW110124848A TW110124848A TWI769001B TW I769001 B TWI769001 B TW I769001B TW 110124848 A TW110124848 A TW 110124848A TW 110124848 A TW110124848 A TW 110124848A TW I769001 B TWI769001 B TW I769001B
Authority
TW
Taiwan
Prior art keywords
decoding
decoder
sum
selecting
symptom
Prior art date
Application number
TW110124848A
Other languages
Chinese (zh)
Other versions
TW202303625A (en
Inventor
張柏堅
施沛渝
曾戈忠
Original Assignee
睿寬智能科技有限公司
大陸商江蘇芯盛智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 睿寬智能科技有限公司, 大陸商江蘇芯盛智能科技有限公司 filed Critical 睿寬智能科技有限公司
Priority to TW110124848A priority Critical patent/TWI769001B/en
Application granted granted Critical
Publication of TWI769001B publication Critical patent/TWI769001B/en
Publication of TW202303625A publication Critical patent/TW202303625A/en

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

本發明係揭露一種資料儲存系統選擇解碼策略之方法。在此方法中,首先提供數個解碼器。其次,讀取得一個收到的字。接著,計算該收到的字之症狀值總和。然後,依據該症狀值總和,從該等解碼器選取一個解碼器,並設其參數。最後,用該選取的解碼器解碼該收到的字。 The invention discloses a method for selecting a decoding strategy in a data storage system. In this method, several decoders are first provided. Second, a received word is read. Next, the sum of the symptom values of the received word is calculated. Then, according to the sum of the symptom values, a decoder is selected from the decoders, and its parameters are set. Finally, the received word is decoded with the chosen decoder.

Description

資料儲存系統選擇解碼策略之方法 Method for selecting decoding strategy for data storage system

本發明有關於NAND快閃記憶體,特別是應用於採用低密度奇偶校驗(Low Density Parity Check:“LDPC”)碼之錯誤控制碼,尤其是一種資料儲存系統選擇解碼策略之方法。 The present invention relates to a NAND flash memory, especially to an error control code using a low density parity check (Low Density Parity Check: "LDPC") code, especially a method for selecting a decoding strategy for a data storage system.

各式儲存裝置的應用,例如行動電話、行車紀錄器、數位相機、網路監視器,在近幾年成長迅速。可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)有非揮發性、省電、體積小及快速讀寫等特性,因此廣為該等裝置所採用。 The application of various storage devices, such as mobile phones, dash cams, digital cameras, and network monitors, has grown rapidly in recent years. The rewritable non-volatile memory module has the characteristics of non-volatility, power saving, small size and fast reading and writing, so it is widely used in these devices.

為確保可複寫式非揮發性記憶體模組裡的儲存資料之正確性,在資料寫進模組前,會用錯誤控制碼,將其編碼,產生一串校驗序列,連同資料一同儲存至可複寫式非揮發性記憶體模組中。 In order to ensure the correctness of the data stored in the rewritable non-volatile memory module, before the data is written into the module, an error control code will be used to encode it to generate a series of verification sequences, which will be stored together with the data in the module. Rewritable non-volatile memory modules.

然而,存在於裝置內或外的因素導致從可複寫式非揮發性記憶體模組讀取資料時會有數位元產生錯誤。因此,藉由解碼機制來還原原始資料。 However, factors inside or outside the device cause digital errors to occur when reading data from the rewritable non-volatile memory module. Therefore, the original data is restored through the decoding mechanism.

現行NAND Flash的錯誤控制碼中最常被使用的為低密度奇偶檢查碼(Low Density Parity Check code:“LDPC”)與博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem:“BCH”)碼。LDPC的解碼模 式涵蓋硬判決解碼(Hard Decoding)與軟判決解碼(Soft Decoding)。 The most commonly used error control codes in current NAND Flash are Low Density Parity Check code (“LDPC”) and Bose-Chaudhuri-Hocquenghem: "BCH") code. LDPC decoding mode The formula covers hard decision decoding (Hard Decoding) and soft decision decoding (Soft Decoding).

硬判決解碼法只依據一次讀取電位,對多個記憶包讀取後所對應的對數可能性比值(log-likelihood ratio:“LLR”)進行解碼。 The hard-decision decoding method only decodes the log-likelihood ratio ("LLR") corresponding to the reading of multiple memory packets according to one read potential.

軟判決解碼須藉由進行多次的位移讀取電位同時對多個記憶包讀取多位元。每一個記憶包在進行多次不同位移電位讀取後會對應到一個二元序列。這些序列對應軟判決解碼所需的LLR值。進行越多次的位移讀取電位所獲得每位元的LLR值越精準,通常使得解碼成功的比例越高,但進行多次讀取造成解碼延遲。 Soft-decision decoding requires multiple bits to be read from multiple memory packets simultaneously by shifting the read potential multiple times. Each memory packet corresponds to a binary sequence after multiple readings of different displacement potentials. These sequences correspond to the LLR values required for soft-decision decoding. The more accurate the LLR value of each bit cell is obtained by shifting the read potential more times, which usually results in a higher decoding success rate, but the decoding delay is caused by multiple readings.

依據慣用的解碼流程,讀取資料後進入硬判決解碼模式解碼。一旦硬判決解碼失敗,即重複讀取資料後進行硬判決解碼,或一次或數次讀取已獲得每位元更精準的LLR值後進行軟判決。如此模式不僅僅造成延遲更會耗費電能。 According to the conventional decoding process, after reading the data, enter the hard-decision decoding mode to decode. Once the hard-decision decoding fails, the hard-decision decoding is performed after reading the data repeatedly, or the soft-decision is performed after a more accurate LLR value per cell is obtained by reading one or several times. This mode not only causes delay but also consumes power.

因此,如何判斷進行幾次讀取,或用哪一個解碼模式,對資料的讀取的速度與正確性極為重要。 Therefore, how to judge how many times to read, or which decoding mode to use, is extremely important to the speed and accuracy of data reading.

本發明之主要目的是提供一種資料儲存系統選擇解碼策略之方法,以克服先前技藝之缺失。 The main purpose of the present invention is to provide a method for selecting a decoding strategy for a data storage system to overcome the deficiencies of the prior art.

為達成該目的,在該方法中,首先,提供數個解碼器。其次,讀取得一個收到的字。接著,計算該收到的字之症狀值總和。然後,依據該症狀值總和,從該等解碼器選取一個解碼器,並設其參數。最後,用該選取的解碼器解碼該收到的字。 To achieve this, in the method, first, several decoders are provided. Second, a received word is read. Next, the sum of the symptom values of the received word is calculated. Then, according to the sum of the symptom values, a decoder is selected from the decoders, and its parameters are set. Finally, the received word is decoded with the chosen decoder.

1:讀取控制模組 1: Read the control module

2:存儲單元 2: storage unit

3:解碼配置控制模組 3: Decoding configuration control module

4:解碼模組 4: Decoding module

5:解碼決策控制模組 5: Decoding decision control module

6:命令產生模組 6: Command generation module

7:輸出解多工器 7: Output Demultiplexer

8:輸入多工器 8: Input Multiplexer

D:偏差值 D: Deviation value

D1-D4:解碼器 D1-D4: Decoder

S10~S34:步驟 S10~S34: Steps

〔圖1〕是依據本發明的一個實施例的四個解碼器的訊框錯誤率曲線的示意圖。 [FIG. 1] is a schematic diagram of frame error rate curves of four decoders according to an embodiment of the present invention.

〔圖2〕是錯誤位元總數對應症狀值總和之示意圖。 [Fig. 2] is a schematic diagram of the total number of error bits corresponding to the sum of symptom values.

〔圖3〕係依據本發明的一個實施例的資料儲存系統中選擇解碼策略之裝置之方塊圖。 [FIG. 3] is a block diagram of a device for selecting a decoding strategy in a data storage system according to an embodiment of the present invention.

〔圖4〕係依據本發明的一個實施例的資料儲存系統中選擇解碼策略之方法之流程圖。 [FIG. 4] is a flowchart of a method for selecting a decoding strategy in a data storage system according to an embodiment of the present invention.

以下參考相關圖式,說明依據本發明的一個實施例的資料儲存系統選擇解碼策略之方法。「解碼策略」表示用一個適當的解碼器對一個收到的字(received word)進行解碼。換言之,一種解碼策略就是一種解碼程序。為避免混淆,用「解碼策略」表示解碼程序,用「方法」表示從數種解碼策略選一種解碼策略的程序。 The following describes a method for selecting a decoding strategy in a data storage system according to an embodiment of the present invention with reference to the related drawings. "Decoding strategy" means decoding a received word with an appropriate decoder. In other words, a decoding strategy is a decoding procedure. To avoid confusion, the decoding procedure is denoted by "decoding strategy", and the procedure of selecting one decoding strategy from several decoding strategies is denoted by "method".

此實施例中各種不同物件係按適用於說明之比例、尺寸、變形量或位移量而描繪,非按實際元件的比例繪製,合先敘明。此實施例中相同和對稱配置之元件皆以相同的編號來表示。另外,若用「前、後、左、右、上、下、內、外」等方向性術語描述此實施例,是按照指定之視圖方向表示,不作為對本發明限制之解釋。 Various objects in this embodiment are drawn according to the proportions, sizes, deformations or displacements suitable for the description, and are not drawn according to the scale of the actual elements, which will be described together first. Identical and symmetrically arranged elements in this embodiment are denoted by the same reference numerals. In addition, if directional terms such as "front, rear, left, right, top, bottom, inner, outer" are used to describe this embodiment, it is shown according to the specified view direction, and is not construed as a limitation of the present invention.

一個資料儲存裝置包含至少一個解碼器。採用的錯誤控制碼類別、奇偶校驗矩陣、設計解碼器所採用的解碼演算法、解碼器本身的參數設定、收到的字的LLR值的精準度…等,會影響其訊框錯率(frame error rate:“FER”)、解碼速度與耗能。因此,可針對設備中的錯誤控制模組採用的錯誤控制碼、奇偶校驗矩陣、解碼器、解碼器設定參數及LLR的精準度…等,搭配成幾種解碼模組。然後, 針對多個解碼模組進行模擬,以獲得在不同錯誤位元數(raw error bits)下的FER。 A data storage device includes at least one decoder. The type of error control code used, the parity check matrix, the decoding algorithm used to design the decoder, the parameter setting of the decoder itself, the accuracy of the LLR value of the received word, etc., will affect its frame error rate ( frame error rate: "FER"), decoding speed and power consumption. Therefore, according to the error control code, parity check matrix, decoder, decoder setting parameters and LLR accuracy used by the error control module in the equipment, it can be matched into several decoding modules. Then, Simulations are performed for multiple decoding modules to obtain FER at different raw error bits.

在FER是0.002的條件下,設FER_REQ=0.002,FER_REQ是所要求的FER(required FER)。參考圖1,水平線FER_REQ=2*10-3與四條解碼器的FER曲線交點,可得知當錯誤位元數小於或等於125位元,四個解碼器幾乎都可達到要求的FER。當錯誤大於125位元且小於或等於259位元,解碼器2、3、4幾乎都可達到要求的FER。當錯誤大於259位元且小於或等於380位元,解碼器3、4幾乎都可達到要求的FER。當錯誤大於380位元且小於或等於440位元,解碼器4幾乎都可達到要求的FER。當錯誤大於440位元,四個解碼器幾乎都無法達到要求的FER。因此,本實施例的四個解碼器在條件FER_REQ=2*10-3下解碼能力臨界分別為125、259、380、440位元。 Under the condition that FER is 0.002, set FER_REQ=0.002, and FER_REQ is the required FER (required FER). Referring to Figure 1, the horizontal line FER_REQ=2* 10-3 intersects the FER curves of the four decoders. It can be known that when the number of error bits is less than or equal to 125 bits, almost all of the four decoders can achieve the required FER. When the error is greater than 125 bits and less than or equal to 259 bits, almost all decoders 2, 3, and 4 can achieve the required FER. When the error is greater than 259 bits and less than or equal to 380 bits, almost all decoders 3 and 4 can achieve the required FER. When the error is greater than 380 bits and less than or equal to 440 bits, decoder 4 can almost always achieve the required FER. When the error is larger than 440 bits, the four decoders can hardly achieve the required FER. Therefore, under the condition of FER_REQ=2*10 −3 , the four decoders in this embodiment have the decoding capability thresholds of 125, 259, 380, and 440 bits, respectively.

參考圖2,基於低密度校奇偶校驗矩陣的特性,本發明從症狀值總和(syndrome sum:“synd_sum”)推測收到的字的錯誤位元(error bits)數。舉例而言,錯誤控制系統採用一個低密度奇偶校驗碼的奇偶校驗矩陣H,一個合法的碼字C(code-word)的長度為N。在本實施例中,預先產生相等數量的10到910個錯誤位元,即一個錯誤向量(error vector:“E”)的長度為N(length(E)=N)且錯誤向量總和為10到910。利用算式synd_sum=sum(mod(H*E’),2),計算其症狀值總和,”E’”表示向量E的轉置矩陣(transportation)。如此,可得許多序對(synd_sum_i,sum(E_i)),i=0,1,2,…,1000000000。將這些序對依據synd_sum每間隔50為一區間,統計synd_sum_i落在這區間的序對其E_i 範圍。如450

Figure 110124848-A0101-12-0005-6
synd_sum_i<500,重新排序後E_i範圍在110到170個錯誤位元數。將A
Figure 110124848-A0101-12-0005-7
synd_sum_i<B標示為(A+B)/2。 Referring to FIG. 2, the present invention infers the number of error bits of a received word from a syndrome sum ("synd_sum") based on the properties of a low-density parity check matrix. For example, the error control system adopts a parity check matrix H of a low density parity check code, and the length of a legal code word C (code-word) is N. In this embodiment, an equal number of 10 to 910 error bits are generated in advance, that is, the length of an error vector (error vector: "E") is N (length(E)=N) and the sum of the error vectors is 10 to 910. Use the formula synd_sum=sum(mod(H*E'),2) to calculate the sum of its symptom values, "E'" represents the transpose matrix (transportation) of the vector E. In this way, many sequence pairs (synd_sum_i, sum(E_i)), i=0,1,2,…,1000000000 can be obtained. Take these sequence pairs according to synd_sum every 50 as an interval, and count the sequence pair E_i range of synd_sum_i falling in this interval. such as 450
Figure 110124848-A0101-12-0005-6
synd_sum_i<500, E_i ranges from 110 to 170 error bits after reordering. will A
Figure 110124848-A0101-12-0005-7
synd_sum_i<B is denoted as (A+B)/2.

本實施例的四個解碼器的錯誤位元數臨界值,在條件FER_REQ=2*10-3下分別為125、259、380、440位元。再藉由圖2所示,synd_sum_i>500的序對,其sum(E_i)>125。synd_sum_i>950的序對,其sum(E_i)>259。synd_sum_i>1150的序對,其sum(E_i)>380。synd_sum_i>1250的序對,其sum(E_i)>440。 The threshold values of the number of error bits of the four decoders in this embodiment are respectively 125, 259, 380, and 440 bits under the condition of FER_REQ=2*10 -3 . As shown in Fig. 2, the sequence pair of synd_sum_i>500, its sum(E_i)>125. For pairs with synd_sum_i>950, sum(E_i)>259. For pairs with synd_sum_i>1150, sum(E_i)>380. For pairs with synd_sum_i>1250, sum(E_i)>440.

依據圖1、2所示,可推論而訂出下列表1。每一個解碼器的症狀值總程閾值(synd_sum_thr)即為其錯誤位元數臨界值所對應圖2中症狀值總和範圍之下限。舉例而言,收到的字,並計算其症狀值總和為1000,然後,考量最少操作時間與耗能的解碼器。解碼器3的錯誤位元數臨界值為380位元。如圖2所示,在synd_sum_i

Figure 110124848-A0101-12-0005-8
1150=synd_sum_thr_3的序對中,sum(E_i)
Figure 110124848-A0101-12-0005-9
380。因此,第三解碼器為最佳解碼器。如此,計算收到的字的症狀值總和後,即可參考表1選擇適當解碼器以進行解碼策略(decoding strategy)。 According to Figures 1 and 2, the following Table 1 can be deduced. The symptom value total threshold (synd_sum_thr) of each decoder is the lower limit of the symptom value sum range in FIG. 2 corresponding to its error bit threshold value. For example, the received word, and its symptom value is calculated to sum to 1000, and then, consider the decoder with the least operating time and energy consumption. The number of error bits threshold for decoder 3 is 380 bits. As shown in Figure 2, in synd_sum_i
Figure 110124848-A0101-12-0005-8
1150=In the sequence pair of synd_sum_thr_3, sum(E_i)
Figure 110124848-A0101-12-0005-9
380. Therefore, the third decoder is the best decoder. In this way, after calculating the sum of the symptom values of the received words, an appropriate decoder can be selected for a decoding strategy with reference to Table 1.

表1

Figure 110124848-A0101-12-0005-1
Table 1
Figure 110124848-A0101-12-0005-1

如圖3所示,依據本發明之較佳實施例,一個資料儲存系統選擇解碼策略之裝置包括一個讀取控制模組1、一個存儲 單元2、一個解碼配置控制模組3、一個解碼模組4、一個解碼決策控制模組5、一個命令產生模組6、一個輸出解多工器7及一個輸入多工器8。 As shown in FIG. 3, according to a preferred embodiment of the present invention, a device for selecting a decoding strategy in a data storage system includes a reading control module 1, a storage Unit 2 , a decoding configuration control module 3 , a decoding module 4 , a decoding decision control module 5 , a command generation module 6 , an output demultiplexer 7 and an input multiplexer 8 .

該讀取控制模組1接收一個讀取命令,並解析其內容之一個讀取電壓、一個位置及一個編碼器配置等訊息。 The read control module 1 receives a read command, and parses the contents of a read voltage, a position and an encoder configuration and other information.

該存儲單元2是一個記憶體,並連接該讀取控制模組1。該存儲單元2從該讀取控制模組1接收該讀取電壓、該位置訊息等,並對應地從記憶體中特定位置讀取一筆資料。往後,稱此筆資料稱為「收到的字」(received word)。 The storage unit 2 is a memory, and is connected to the read control module 1 . The storage unit 2 receives the read voltage, the position information, etc. from the read control module 1, and correspondingly reads a piece of data from a specific position in the memory. Henceforth, this information is called "received word".

該解碼配置控制模組3連接該讀取控制模組1。稍後,將詳細描述該解碼配置控制模組3之作業。 The decoding configuration control module 3 is connected to the read control module 1 . The operation of the decoding configuration control module 3 will be described in detail later.

該輸出解多工器7於一端連接該存儲單元2,並於另一端連接該解碼配置控制模組3。該解碼配置控制模組3控制該輸出解多工器7選擇解碼器。該輸出解多工器7的功能為熟悉此技術領域者所能輕易瞭解,故不詳細描述之。 The output demultiplexer 7 is connected to the storage unit 2 at one end, and is connected to the decoding configuration control module 3 at the other end. The decoding configuration control module 3 controls the output demultiplexer 7 to select a decoder. The function of the output demultiplexer 7 can be easily understood by those skilled in the art, so it will not be described in detail.

該解碼模組4連接該輸出解多工器7。換言之,該解碼模組4透過該輸出解多工器7連接該存儲單元2及該解碼配置控制模組3。該解碼模組4有若干解碼器,該等解碼器的總數為m。 依據此實施例中,m是4。換言之,該解碼模組4有4個解碼器D1、D2、D3及D4。在其他實施例中,該解碼模組4可有更少或更多解碼器。 The decoding module 4 is connected to the output demultiplexer 7 . In other words, the decoding module 4 is connected to the storage unit 2 and the decoding configuration control module 3 through the output demultiplexer 7 . The decoding module 4 has several decoders, and the total number of these decoders is m. According to this embodiment, m is 4. In other words, the decoding module 4 has four decoders D1, D2, D3 and D4. In other embodiments, the decoding module 4 may have fewer or more decoders.

該輸入多工器8連接解碼器D1、D2、D3及D4。該輸入多工器8可被視為該解碼模組4的一部分。 The input multiplexer 8 is connected to the decoders D1, D2, D3 and D4. The input multiplexer 8 can be regarded as part of the decoding module 4 .

在作業中,該解碼配置控制模組3從該讀取控制模組1接收該編碼器配置訊息,並產生若干訊息,用於控制該解碼模組4與該解多工器7。這些訊息包含特定解碼器的選擇與參數設定及 收到的字與解碼器之對應。因此,在作業中,依據該解碼配置控制模組3配置,把解碼器D1、D2、D3或D4分配給該收到的字,並輸出該收到的字,進行解碼。換言之,每一個收到的字匹配一個解碼器。然而,本裝置可同時處理多個收到的字。 In operation, the decoding configuration control module 3 receives the encoder configuration information from the read control module 1 and generates a number of messages for controlling the decoding module 4 and the demultiplexer 7 . These messages include the selection and parameter setting of specific decoders and The received word corresponds to the decoder. Therefore, in operation, according to the configuration of the decoding configuration control module 3, the decoder D1, D2, D3 or D4 is allocated to the received word, and the received word is output for decoding. In other words, each received word matches a decoder. However, the device can process multiple received words simultaneously.

該解碼決策控制模組5連接該解碼模組4。在作業中,該解碼決策控制模組5從該解碼模組4接收synd_sum、diff_0_1及解碼狀態(解碼失敗或成功)當作解碼決策的依據。該解碼決策控制模組5判斷這些資訊,並決定最佳解碼策略,包含解碼器的選擇與解碼器設定參數,例如最大解碼遞迴次數(maximal iteration,iter_max)。 The decoding decision control module 5 is connected to the decoding module 4 . In operation, the decoding decision control module 5 receives synd_sum, diff_0_1 and decoding status (decoding failure or success) from the decoding module 4 as the basis for decoding decision. The decoding decision control module 5 judges the information and decides the optimal decoding strategy, including decoder selection and decoder setting parameters, such as the maximum decoding iteration (maximal iteration, iter_max).

該命令產生模組6分別連接該讀取控制模組1及該解碼決策控制模組5。在作業中,該解碼決策控制模組5,依據解碼策略,觸發該命令產生模組6選擇性輸出一個重新讀取命令(不同讀取電壓或新編碼器配置訊息),並以特定格式呈現,供該讀取控制模組1使用。如此,令該讀取控制模組1重新讀取,並令該解碼配置控制模組3提供新編碼器配置訊息。 The command generating module 6 is respectively connected to the reading control module 1 and the decoding decision control module 5 . During operation, the decoding decision control module 5, according to the decoding strategy, triggers the command generation module 6 to selectively output a re-reading command (different reading voltage or new encoder configuration information) and present it in a specific format, It is used by the reading control module 1 . In this way, the reading control module 1 is made to read again, and the decoding configuration control module 3 is made to provide new encoder configuration information.

實施時,我們可定義diff_0_1為收到的字中「0」與「1」的個數差的絕對值。我們習慣在原始資料寫入前會與隨機序列進行互斥或運算(XOR)。因此,在收到的字中「0」與「1」的個數接近均勻分布的條件下,其值越大代表操作讀取電壓(read Vth)造成的錯誤位元越多。因此,當讀取電壓偏差所造成的錯誤位元量大於該解碼模組4的解碼能力,該解碼決策控制模組5輸出一種解碼策略,觸發該命令產生模組6,要求該讀取控制模組1,依據不同位移讀取電壓,從該存儲單元2重新讀取資料。 During implementation, we can define diff_0_1 as the absolute value of the difference between the number of "0" and "1" in the received word. We are used to doing an exclusive OR operation (XOR) with a random sequence before the original data is written. Therefore, under the condition that the number of "0" and "1" in the received word is nearly uniform, the larger the value, the more error bits caused by the read voltage (read Vth). Therefore, when the amount of error bits caused by the reading voltage deviation is greater than the decoding capability of the decoding module 4, the decoding decision control module 5 outputs a decoding strategy, triggers the command generation module 6, and requires the reading control module Group 1, according to different displacement read voltages, re-read data from the memory cell 2.

當收到的字的diff_0_1小於一個預設的偏差值D,且計算其症狀值總和(synd_sum)為800,從表1可判斷該解碼模組4中的該解碼器D1極可能解碼成功,故該解碼決策控制模組5輸出一 種解碼策略,觸發該命令產生模組6,要求該讀取控制模組1,令該解碼配置控制模組3,用該解碼模組4中的該解碼器D1,對該收到的字進行解碼,並把解碼結果與狀態輸出。 When the diff_0_1 of the received word is less than a preset deviation value D, and the sum of its symptom values (synd_sum) is calculated to be 800, it can be judged from Table 1 that the decoder D1 in the decoding module 4 is very likely to decode successfully, so The decoding decision control module 5 outputs a A kind of decoding strategy, trigger this order to produce module 6, require this reading control module 1, make this decoding configuration control module 3, use this decoder D1 in this decoding module 4, this received word is carried out Decode, and output the decoded result and status.

若計算其症狀值總和為1500,則可知超出該解碼模組4的解碼能力範圍,故輸出一種解碼策略,觸發該命令產生模組6,要求該讀取控制模組1,以不同讀取電壓,從該存儲單元2重新讀取資料,或調整該等解碼器之設定參數。 If the sum of the symptom values is calculated to be 1500, it can be seen that the decoding capability range of the decoding module 4 is exceeded, so a decoding strategy is output to trigger the command to generate the module 6, and the reading control module 1 is required to read the voltage with different reading voltages. , re-read data from the storage unit 2, or adjust the setting parameters of the decoders.

如圖4所示,以下將描述用上述裝置選擇解碼策略的方法。 As shown in FIG. 4, a method of selecting a decoding strategy with the above-mentioned apparatus will be described below.

在S10,讀取收到的字。詳言之,依據一個預設讀取命令,或用該命令產生模組6,令該讀取控制模組1從該存儲單元2中特定位置,以一個或多個讀取電壓,一次或多次讀取資料。每一位元提供一個二元序列。然後,把該二元序列傳至該解碼模組4。 At S10, the received word is read. In detail, according to a preset reading command, or using the command to generate the module 6, the reading control module 1 is made to read the voltage from a specific position in the storage unit 2 with one or more reading voltages, one or more times. read data. Each bit provides a binary sequence. Then, the binary sequence is passed to the decoding module 4 .

在S12,產生若干LLR值。詳言之,為在S10獲得的每一個二元序列,提供一個LLR值。然後,把該等LLR值,經該輸出多工器7,傳至該解碼模組4。該解碼模組4從該輸出多工器7接收一連串二元序列,並將其對應至一連串LLR值,供該解碼模組4解碼使用。 At S12, several LLR values are generated. In detail, for each binary sequence obtained at S10, an LLR value is provided. Then, the LLR values are transmitted to the decoding module 4 through the output multiplexer 7 . The decoding module 4 receives a series of binary sequences from the output multiplexer 7 and corresponds them to a series of LLR values for the decoding module 4 to decode.

在S14,計算該收到的字的症狀值總和及diff_0_1。如上述,diff_0_1為收到的字中「0」與「1」的個數差的絕對值。該解碼模組4從該輸出解多工器7接收該收到的字,並計算該收到的字的症狀值總和及diff_0_1。 At S14, the sum of the symptom values of the received word and diff_0_1 are calculated. As above, diff_0_1 is the absolute value of the difference between the number of "0" and "1" in the received word. The decoding module 4 receives the received word from the output demultiplexer 7 and calculates the sum of the symptom values of the received word and diff_0_1.

在S16,判斷diff_0_1比值(diff_0_1除以統計長度)是否大於一個偏差值D。若diff_0_1大於或等於該偏差值,則走到S18,否則走到S20。在此較佳實施例中,該偏差值D經計算是2%。 At S16, it is judged whether the ratio of diff_0_1 (diff_0_1 divided by the statistical length) is greater than a deviation value D. If diff_0_1 is greater than or equal to the deviation value, go to S18, otherwise go to S20. In this preferred embodiment, the deviation value D is calculated to be 2%.

在S18,該解碼決策控制模組5,經該命令產生模組6,發 出位移讀取電壓重新讀取命令。然後,回到S10,依據位移讀取電壓,從該存儲單元2讀取資料。 At S18, the decoding decision control module 5 generates the module 6 through the command, and sends Output the displacement read voltage reread command. Then, returning to S10, data is read from the memory cell 2 according to the displacement read voltage.

若diff_0_1小於統計長度的2%,則依據症狀值總和的值與表1選取適當解碼器,並為選取的解碼器設定參數。以下將以5種情境為例描述本發明的方法。 If diff_0_1 is less than 2% of the statistical length, select an appropriate decoder according to the sum of the symptom values and Table 1, and set parameters for the selected decoder. The method of the present invention will be described below by taking five scenarios as examples.

在第一種情境中,症狀值總和小於症狀值總和閾值1。 In the first scenario, the sum of symptom values is less than the sum of symptom values threshold of 1.

在S20,設n為1。 At S20, n is set to 1.

在S22,判斷該症狀值總和小於症狀值總和閾值1,並走到S28。 At S22, it is judged that the symptom value sum is less than the symptom value sum threshold value 1, and the process goes to S28.

在S28,選取解碼器D1,並設其參數。 At S28, decoder D1 is selected and its parameters are set.

接著,在S30,用解碼器D1,依據其參數及該等LLR值,解碼該收到的字。 Next, at S30, the received word is decoded by the decoder D1 according to its parameters and the LLR values.

在第二種情境中,症狀值總和介於症狀值總和閾值1與症狀值總和閾值2之間。 In the second scenario, the symptom value sum is between the symptom value sum threshold 1 and the symptom value sum threshold 2.

在S20,設n為1。 At S20, n is set to 1.

在S22,判斷該症狀值總和不小於症狀值總和閾值1,並走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold value 1, and the process goes to S24.

在S24,判斷1小於4,並走到S26。 At S24, it is judged that 1 is less than 4, and it goes to S26.

在S26,把n+1。換言之,n變成2。然後,走回S22。 At S26, n+1 is set. In other words, n becomes 2. Then, go back to S22.

在S22,判斷該症狀值總和小於症狀值總和閾值2,並走到S28。 At S22, it is judged that the symptom value sum is less than the symptom value sum threshold 2, and the process goes to S28.

在S28,選取解碼器D2,並設其參數。 At S28, decoder D2 is selected and its parameters are set.

接著,在S30,用解碼器D2,依據其參數及該等LLR值,解碼該收到的字。 Next, at S30, decoder D2 is used to decode the received word according to its parameters and the LLR values.

在第三種情境中,症狀值總和介於症狀值總和閾值2與症狀值總和閾值3之間。 In the third scenario, the symptom value sum is between the symptom value sum threshold 2 and the symptom value sum threshold 3.

在S20,設n為1。 At S20, n is set to 1.

在S22,判斷該症狀值總和不小於症狀值總和閾值1,並走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold value 1, and the process goes to S24.

在S24,判斷1小於4,並走到S26。 At S24, it is judged that 1 is less than 4, and it goes to S26.

在S26,把n+1。換言之,n變成2。然後,走回S22。 At S26, n+1 is set. In other words, n becomes 2. Then, go back to S22.

在S22,判斷該症狀值總和不小於症狀值總和閾值2,並走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold 2, and the process goes to S24.

在S24,判斷2小於4,並走到S26。 At S24, it is judged that 2 is less than 4, and it goes to S26.

在S26,把n+1。換言之,n變成3。然後,走回S22。 At S26, n+1 is set. In other words, n becomes 3. Then, go back to S22.

在S22,判斷該症狀值總和小於症狀值總和閾值3,並走到S28。 At S22, it is judged that the symptom value sum is less than the symptom value sum threshold value 3, and the process goes to S28.

在S28,選取解碼器D3,並設其參數。 At S28, decoder D3 is selected and its parameters are set.

接著,在S30,用解碼器D3,依據其參數及該等LLR值,解碼該收到的字。 Next, at S30, decoder D3 is used to decode the received word according to its parameters and the LLR values.

在第四種情境中,症狀值總和介於症狀值總和閾值3與症狀值總和閾值4之間。 In the fourth scenario, the symptom value sum is between the symptom value sum threshold 3 and the symptom value sum threshold 4.

在S20,設n為1。 At S20, n is set to 1.

在S22,判斷該症狀值總和不小於症狀值總和閾值1,並走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold value 1, and the process goes to S24.

在S24,判斷1小於4,並走到S26。 At S24, it is judged that 1 is less than 4, and it goes to S26.

在S26,把n+1。換言之,n變成2。然後,走回S22。 At S26, n+1 is set. In other words, n becomes 2. Then, go back to S22.

在S22,判斷該症狀值總和不小於症狀值總和閾值2,並走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold 2, and the process goes to S24.

在S24,判斷2小於4,並走到S26。 At S24, it is judged that 2 is less than 4, and it goes to S26.

在S26,把n+1。換言之,n變成3。然後,走回S22。 At S26, n+1 is set. In other words, n becomes 3. Then, go back to S22.

在S22,判斷該症狀值總和不小於症狀值總和閾值3,並 走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold 3, and Go to S24.

在S24,判斷3小於4,並走到S26。 At S24, it is judged that 3 is less than 4, and it goes to S26.

在S26,把n+1。換言之,n變成4。然後,走回S22。 At S26, n+1 is set. In other words, n becomes 4. Then, go back to S22.

在S22,判斷該症狀值總和小於症狀值總和閾值4,並走到S28。 In S22, it is judged that the symptom value sum is smaller than the symptom value sum threshold value 4, and the process goes to S28.

在S28,選取解碼器D4,並設其參數。 At S28, decoder D4 is selected and its parameters are set.

接著,在S30,用解碼器D4,依據其參數及該等LLR值,解碼該收到的字。 Next, at S30, decoder D4 is used to decode the received word according to its parameters and the LLR values.

在第五種情境中,症狀值總和大於症狀值總和閾值4。 In the fifth scenario, the sum of symptom values is greater than the sum of symptom values threshold of 4.

在S20,設n為1。 At S20, n is set to 1.

在S22,判斷該症狀值總和不小於症狀值總和閾值1,並走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold value 1, and the process goes to S24.

在S24,判斷1小於4,並走到S26。 At S24, it is judged that 1 is less than 4, and it goes to S26.

在S26,把n+1。換言之,n變成2。然後,走回S22。 At S26, n+1 is set. In other words, n becomes 2. Then, go back to S22.

在S22,判斷該症狀值總和不小於症狀值總和閾值2,並走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold 2, and the process goes to S24.

在S24,判斷2小於4,並走到S26。 At S24, it is judged that 2 is less than 4, and it goes to S26.

在S26,把n+1。換言之,n變成3。然後,走回S22。 At S26, n+1 is set. In other words, n becomes 3. Then, go back to S22.

在S22,判斷該症狀值總和不小於症狀值總和閾值1,並走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold value 1, and the process goes to S24.

在S24,判斷3小於4,並走到S26。 At S24, it is judged that 3 is less than 4, and it goes to S26.

在S26,把n+1。換言之,n變成4。然後,走回S22。 At S26, n+1 is set. In other words, n becomes 4. Then, go back to S22.

在S22,判斷該症狀值總和不小於症狀值總和閾值4,並走到S24。 At S22, it is judged that the symptom value sum is not less than the symptom value sum threshold value 4, and the process goes to S24.

在S24,判斷4不小於4,並走到S28。 At S24, it is judged that 4 is not less than 4, and it goes to S28.

在S28,選取解碼器D4,並設其參數。 At S28, decoder D4 is selected and its parameters are set.

接著,在S30,用解碼器D4,依據其參數及該等LLR值,解碼該收到的字。 Next, at S30, decoder D4 is used to decode the received word according to its parameters and the LLR values.

不論在那種情境中,都會從S30走到S32。 No matter in that situation, it will go from S30 to S32.

在S32,判斷解碼是否成功。若解碼成功,則結束,否則走到S34。 At S32, it is judged whether the decoding is successful. If the decoding is successful, end, otherwise go to S34.

在S34,判斷n是否小於4。若n是1或2或3,則回到S26,否則結束。 In S34, it is judged whether or not n is smaller than 4. If n is 1 or 2 or 3, go back to S26, otherwise end.

以上所述說明,僅為本發明的一個實施方式而已,意在明確本發明的特徵,並非用以限定本發明實施例的範圍,本技術領域內的一般技術人員依據本發明所作的均等變化,以及本領域內技術人員熟知的改變,仍應屬本發明涵蓋的範圍。 The above description is only an embodiment of the present invention, and is intended to clarify the characteristics of the present invention, but not to limit the scope of the embodiments of the present invention. Those skilled in the art make equal changes according to the present invention. And the changes well known to those skilled in the art should still belong to the scope covered by the present invention.

S10~S34:步驟 S10~S34: Steps

Claims (7)

一種資料儲存系統選擇解碼策略之方法,包括以下步驟:提供數個解碼器;讀取得一個收到的字(S10);計算該收到的字之症狀值總和及該收到的字的「0」與「1」的個數差的絕對值(S14);把該個數差的絕對值除以一個統計長度而得到一個個數差比值;判斷該個數差比值是否大於或等於一個偏差值(S16);若該個數差比值小於該偏差值,則依據該症狀值總和,從該等解碼器選取一個解碼器並設其參數(S20);及若該個數差比值大於或等於該偏差值,則重新讀取一個收到的字的步驟(S10);及用該選取的解碼器解碼該收到的字(S30)。 A method for selecting a decoding strategy for a data storage system, comprising the following steps: providing a plurality of decoders; reading a received word (S10); calculating the sum of the symptom values of the received word and the "0" of the received word The absolute value of the number difference between "" and "1" (S14); divide the absolute value of the number difference by a statistical length to obtain a number difference ratio; determine whether the number difference ratio is greater than or equal to a deviation value (S16); if the number difference ratio is less than the deviation value, select a decoder from the decoders and set its parameters according to the sum of the symptom values (S20); and if the number difference ratio is greater than or equal to the If the deviation value is found, the steps of re-reading a received word (S10); and decoding the received word with the selected decoder (S30). 如請求項1所述之資料儲存系統選擇解碼策略之方法,其中,每一個該些解碼器有一個對應的閾值,其中該選取一個解碼器的步驟包括以下步驟:比較該症狀值總和與該等閾值而選取一個解碼器。 The method for selecting a decoding strategy for a data storage system as claimed in claim 1, wherein each of the decoders has a corresponding threshold, wherein the step of selecting a decoder comprises the step of: comparing the sum of the symptom values with the threshold and select a decoder. 如請求項2所述之資料儲存系統選擇解碼策略之方法,其中該選取一個解碼器的步驟包括以下步驟:把該等閾值,從小到大,逐一與該症狀值總和比較;若該症狀值總和小於目前閾值,則選取目前閾值對應的解碼 器,否則把該症狀值總和與下一個閾值比較。 The method for selecting a decoding strategy for a data storage system according to claim 2, wherein the step of selecting a decoder includes the following steps: comparing the thresholds, from small to large, with the symptom value summation one by one; if the symptom value summation is less than the current threshold, select the decoding corresponding to the current threshold Otherwise, the sum of the symptom values is compared with the next threshold. 如請求項3所述之資料儲存系統選擇解碼策略之方法,其中該選取一個解碼器的步驟包括以下步驟:若該症狀值總和不小於一個最大閾值,則選取該最大閾值對應的解碼器。 The method for selecting a decoding strategy for a data storage system according to claim 3, wherein the step of selecting a decoder includes the following steps: if the sum of the symptom values is not less than a maximum threshold, selecting a decoder corresponding to the maximum threshold. 如請求項4所述之資料儲存系統選擇解碼策略之方法,還包括以下步驟:判斷解碼是否成功(S32);及若解碼成功,則結束,否則判斷該選取的解碼器是否最後一個解碼器。 The method for selecting a decoding strategy for a data storage system according to claim 4, further comprising the following steps: judging whether the decoding is successful (S32); and if the decoding is successful, end, otherwise judging whether the selected decoder is the last decoder. 如請求項5所述之資料儲存系統選擇解碼策略之方法,還包括以下步驟:若解碼不成功,則判斷該選取的解碼器是否最後一個解碼器(S34);及若該選取的解碼器是最後一個解碼器,則結束,否則把該症狀值總和與下一個解碼器的閾值比較。 The method for selecting a decoding strategy for a data storage system according to claim 5, further comprising the steps of: if the decoding is unsuccessful, judging whether the selected decoder is the last decoder (S34); and if the selected decoder is The last decoder ends, otherwise the sum of the symptom values is compared with the threshold of the next decoder. 如請求項1所述之資料儲存系統選擇解碼策略之方法,還包括一個產生若干LLR值的步驟,其中在解碼該收到的字的步驟,依據被選取的解碼器的參數及該等LLR值解碼該收到的字。 The method for selecting a decoding strategy for a data storage system as claimed in claim 1, further comprising a step of generating a plurality of LLR values, wherein the step of decoding the received word is based on the parameters of the selected decoder and the LLR values Decode the received word.
TW110124848A 2021-07-06 2021-07-06 Method for selecting decoding strategy for data storage system TWI769001B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW110124848A TWI769001B (en) 2021-07-06 2021-07-06 Method for selecting decoding strategy for data storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110124848A TWI769001B (en) 2021-07-06 2021-07-06 Method for selecting decoding strategy for data storage system

Publications (2)

Publication Number Publication Date
TWI769001B true TWI769001B (en) 2022-06-21
TW202303625A TW202303625A (en) 2023-01-16

Family

ID=83104152

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110124848A TWI769001B (en) 2021-07-06 2021-07-06 Method for selecting decoding strategy for data storage system

Country Status (1)

Country Link
TW (1) TWI769001B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347194B2 (en) * 2008-05-09 2013-01-01 Samsung Electronics Co., Ltd. Hierarchical decoding apparatus
US20190245557A1 (en) * 2014-02-18 2019-08-08 Seagate Technology Llc Refresh, run, aggregate decoder recovery
CN110275796A (en) * 2018-03-16 2019-09-24 爱思开海力士有限公司 Storage system and its operating method with hybrid decoding scheme
US20210075446A1 (en) * 2019-09-11 2021-03-11 SK Hynix Inc. Quality of service of an adaptive soft decoder
CN112951313A (en) * 2019-12-11 2021-06-11 三星电子株式会社 Memory controller for error correction, memory device including the same, and method of operating the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347194B2 (en) * 2008-05-09 2013-01-01 Samsung Electronics Co., Ltd. Hierarchical decoding apparatus
US20190245557A1 (en) * 2014-02-18 2019-08-08 Seagate Technology Llc Refresh, run, aggregate decoder recovery
CN110275796A (en) * 2018-03-16 2019-09-24 爱思开海力士有限公司 Storage system and its operating method with hybrid decoding scheme
US20210075446A1 (en) * 2019-09-11 2021-03-11 SK Hynix Inc. Quality of service of an adaptive soft decoder
CN112951313A (en) * 2019-12-11 2021-06-11 三星电子株式会社 Memory controller for error correction, memory device including the same, and method of operating the same

Also Published As

Publication number Publication date
TW202303625A (en) 2023-01-16

Similar Documents

Publication Publication Date Title
US9170876B1 (en) Method and system for decoding encoded data stored in a non-volatile memory
US8984376B1 (en) System and method for avoiding error mechanisms in layered iterative decoding
US20160027521A1 (en) Method of flash channel calibration with multiple luts for adaptive multiple-read
CN107276594B (en) Method for generating soft information by decoder under hard selection hard decoding mode
US7853854B2 (en) Iterative decoding of a frame of data encoded using a block coding algorithm
US20110231738A1 (en) Error correction decoding apparatus and error correction decoding method
US8510641B2 (en) Circuit and technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix
US8935598B1 (en) System and method for adaptive check node approximation in LDPC decoding
US20220075686A1 (en) Memory system and control method
US7818650B2 (en) Channel encoding apparatus and method
US20200044668A1 (en) Method for ldpc decoding, ldpc decoder and storage device
KR20190071485A (en) Error correction device, operating method of error correction device, and controller including error correction device
US20170288698A1 (en) Power saving for bit flipping decoding algorithm in ldpc decoder
KR20060050924A (en) Decoder and method for decoding low-density parity-check code
US20220416812A1 (en) Log-likelihood ratio mapping tables in flash storage systems
TWI460733B (en) Memory controller with low density parity check code decoding capability and relevant memory controlling method
TWI769001B (en) Method for selecting decoding strategy for data storage system
TWI769002B (en) A device for selecting a decoding strategy for a data storage system
US11843393B2 (en) Method and apparatus for decoding with trapped-block management
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
CN110289863B (en) Decoding apparatus, decoding method, and signal transmission system
Nguyen et al. Performance enhancement of polar codes in multi-level cell NAND flash memories using systematic encoding
US20210081275A1 (en) Memory system
JP7309551B2 (en) memory system
JP7419113B2 (en) memory system