TW202303625A - Method of selecting decoding strategy for data storage system comprising comparing a syndrome sum with thresholds of a number of decoders in order to select one of the decoders - Google Patents

Method of selecting decoding strategy for data storage system comprising comparing a syndrome sum with thresholds of a number of decoders in order to select one of the decoders Download PDF

Info

Publication number
TW202303625A
TW202303625A TW110124848A TW110124848A TW202303625A TW 202303625 A TW202303625 A TW 202303625A TW 110124848 A TW110124848 A TW 110124848A TW 110124848 A TW110124848 A TW 110124848A TW 202303625 A TW202303625 A TW 202303625A
Authority
TW
Taiwan
Prior art keywords
sum
decoder
decoding
selecting
decoders
Prior art date
Application number
TW110124848A
Other languages
Chinese (zh)
Other versions
TWI769001B (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

Abstract

The present invention discloses a method of selecting a decoding strategy for a data storage system. In the method, a number of decoders are first provided. Next, a received word is read. Then, a syndrome sum of the received word is calculated. Afterwards, based on the syndrome sum, one decoder is selected from the decoders, and a parameter thereof is set. Finally, the selected decoder is applied to decode the received word. Each of the number of decoders has a corresponding threshold, and selecting the one decoder comprises selecting the decoder by comparing the syndrome sum with the thresholds. The thresholds are compared, in sequence from small to large, with the syndrome sum, and if the syndrome sum is smaller than the current threshold, the decoder corresponding to the current threshold is selected, otherwise the syndrome sum is compared with a next one of the thresholds. If the syndrome sum is not smaller than a maximum one of the thresholds, then the decoder corresponding to the maximum threshold is selected.

Description

資料儲存系統選擇解碼策略之方法 Method for Selecting Decoding Strategy in Data Storage System

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

各式儲存裝置的應用,例如行動電話、行車紀錄器、數位相機、網路監視器,在近幾年成長迅速。可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)有非揮發性、省電、體積小及快速讀寫等特性,因此廣為該等裝置所採用。 The applications of various storage devices, such as mobile phones, driving recorders, digital cameras, and network monitors, have grown rapidly in recent years. The rewritable non-volatile memory module (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 stored data in the rewritable non-volatile memory module, before the data is written into the module, it will be encoded with an error control code to generate a series of check sequences, which will be stored together with the data in the In the rewritable non-volatile memory module.

然而,存在於裝置內或外的因素導致從可複寫式非揮發性記憶體模組讀取資料時會有數位元產生錯誤。因此,藉由解碼機制來還原原始資料。 However, factors inside or outside the device cause bit errors 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 (Low Density Parity Check code: "LDPC") and Bose-Chaudhuri-Hocquenghem (Bose-Chaudhuri-Hocquenghem: "BCH") code. LDPC decoding module 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 (log-likelihood ratio: "LLR") corresponding to multiple memory packets read based on one read potential.

軟判決解碼須藉由進行多次的位移讀取電位同時對多個記憶包讀取多位元。每一個記憶包在進行多次不同位移電位讀取後會對應到一個二元序列。這些序列對應軟判決解碼所需的LLR值。進行越多次的位移讀取電位所獲得每位元的LLR值越精準,通常使得解碼成功的比例越高,但進行多次讀取造成解碼延遲。 Soft-decision decoding needs to simultaneously read multiple bits from multiple memory packets by shifting the read potential multiple times. Each memory package will correspond to a binary sequence after multiple reads 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 is obtained by reading the potential shifts more times, the higher the success ratio of decoding is usually, but the decoding delay is caused by multiple readings.

依據慣用的解碼流程,讀取資料後進入硬判決解碼模式解碼。一旦硬判決解碼失敗,即重複讀取資料後進行硬判決解碼,或一次或數次讀取已獲得每位元更精準的LLR值後進行軟判決。如此模式不僅僅造成延遲更會耗費電能。 According to the customary 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 one or several readings have obtained a more accurate LLR value per bit. This mode not only causes delay but also consumes power.

因此,如何判斷進行幾次讀取,或用哪一個解碼模式,對資料的讀取的速度與正確性極為重要。 Therefore, how to determine 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, so as to overcome the lack of prior art.

為達成該目的,在該方法中,首先,提供數個解碼器。其次,讀取得一個收到的字。接著,計算該收到的字之症狀值總和。然後,依據該症狀值總和,從該等解碼器選取一個解碼器,並設其參數。最後,用該選取的解碼器解碼該收到的字。 To achieve this, in the method, first, several decoders are provided. Next, a received word is read. Next, calculate the sum of the symptom values of the received word. 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 selected decoder.

1:讀取控制模組 1: Read 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)進行解碼。換言之,一種解碼策略就是一種解碼程序。為避免混淆,用「解碼策略」表示解碼程序,用「方法」表示從數種解碼策略選一種解碼策略的程序。 A method for selecting a decoding strategy in a data storage system according to an embodiment of the present invention is described below with reference to related figures. A "decoding strategy" means decoding a received word with an appropriate decoder. In other words, a decoding strategy is a decoding procedure. To avoid confusion, "decoding strategy" is used to indicate the decoding procedure, and "method" is used to indicate the procedure of selecting one decoding strategy from several decoding strategies.

此實施例中各種不同物件係按適用於說明之比例、尺寸、變形量或位移量而描繪,非按實際元件的比例繪製,合先敘明。此實施例中相同和對稱配置之元件皆以相同的編號來表示。另外,若用「前、後、左、右、上、下、內、外」等方向性術語描述此實施例,是按照指定之視圖方向表示,不作為對本發明限制之解釋。 Various objects in this embodiment are drawn according to the proportion, size, deformation or displacement suitable for the description, and are not drawn according to the scale of the actual components, and are described first. Elements of the same and symmetrical arrangement in this embodiment are denoted by the same numerals. In addition, if directional terms such as "front, back, left, right, up, down, inside, outside" are used to describe this embodiment, they are indicated according to the specified viewing direction, and are not interpreted as limiting 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 settings 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 energy consumption. Therefore, according to the error control code, parity check matrix, decoder, decoder setting parameters and LLR accuracy adopted by the error control module in the device, several decoding modules can be combined. Then, Simulate for multiple decoding modules to obtain FER under 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, let FER_REQ=0.002, and FER_REQ is the required FER (required FER). Referring to Figure 1, the intersection of the horizontal line FER_REQ=2*10 -3 and the FER curves of the four decoders, it can be seen that when the number of error bits is less than or equal to 125 bits, almost all of the four decoders can meet the required FER. When the error is greater than 125 bits and less than or equal to 259 bits, decoders 2, 3, and 4 can almost all meet the required FER. When the error is greater than 259 bits and less than or equal to 380 bits, decoders 3 and 4 can almost 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 meet 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 critical decoding capabilities of the four decoders in this embodiment are 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 , based on the characteristics of the LDPC matrix, the present invention estimates the number of error bits (error bits) of the received word from the sum of the syndrome values (syndrome sum: "synd_sum"). 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 is 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 910. Use the formula synd_sum=sum(mod(H*E'), 2) to calculate the sum of its symptom values, "E'" represents the transposition 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. These sequence pairs are divided into intervals of 50 according to synd_sum, and the E_i range of the sequence pairs where synd_sum_i falls in this interval is counted. 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 error bit critical values 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 with synd_sum_i>500 has sum(E_i)>125. The order pair of synd_sum_i>950, its sum(E_i)>259. The sequence pair with synd_sum_i>1150 has sum(E_i)>380. For the sequence pair of synd_sum_i>1250, its 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 total threshold (synd_sum_thr) of the symptom value of each decoder is the lower limit of the sum range of the symptom value in FIG. 2 corresponding to the critical value of the number of error bits. For example, the words are received, and the sum of their symptom values is calculated to be 1000, and then, the decoder considering the least operation time and power consumption. The error bit threshold of 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 with reference to Table 1 to implement a decoding strategy.

表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 Figure 3, according to a preferred embodiment of the present invention, a device for selecting a decoding strategy for a data storage system includes a read 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 analyzes its contents such as a read voltage, a position, and an encoder configuration.

該存儲單元2是一個記憶體,並連接該讀取控制模組1。該存儲單元2從該讀取控制模組1接收該讀取電壓、該位置訊息等,並對應地從記憶體中特定位置讀取一筆資料。往後,稱此筆資料稱為「收到的字」(received word)。 The storage unit 2 is a memory, and is connected to the reading 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. In the future, this data will be called "received word".

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

該輸出解多工器7於一端連接該存儲單元2,並於另一端連接該解碼配置控制模組3。該解碼配置控制模組3控制該輸出解多工器7選擇解碼器。該輸出解多工器7的功能為熟悉此技術領域者所能輕易瞭解,故不詳細描述之。 One end of the output demultiplexer 7 is connected to the storage unit 2 , and the other end is connected to the decoding configuration control module 3 . 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 familiar with this technical field, 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 example, 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 less 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 a part of the decoding module 4 .

在作業中,該解碼配置控制模組3從該讀取控制模組1接收該編碼器配置訊息,並產生若干訊息,用於控制該解碼模組4與該解多工器7。這些訊息包含特定解碼器的選擇與參數設定及 收到的字與解碼器之對應。因此,在作業中,依據該解碼配置控制模組3配置,把解碼器D1、D2、D3或D4分配給該收到的字,並輸出該收到的字,進行解碼。換言之,每一個收到的字匹配一個解碼器。然而,本裝置可同時處理多個收到的字。 During operation, the decoding configuration control module 3 receives the encoder configuration information from the reading control module 1 and generates a number of messages for controlling the decoding module 4 and the demultiplexer 7 . These messages include decoder-specific selection and parameter settings and Correspondence between received word and 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 . During 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 determines the best decoding strategy, including the selection of the decoder and setting parameters of the decoder, such as the maximum number of decoding iterations (maximal iteration, iter_max).

該命令產生模組6分別連接該讀取控制模組1及該解碼決策控制模組5。在作業中,該解碼決策控制模組5,依據解碼策略,觸發該命令產生模組6選擇性輸出一個重新讀取命令(不同讀取電壓或新編碼器配置訊息),並以特定格式呈現,供該讀取控制模組1使用。如此,令該讀取控制模組1重新讀取,並令該解碼配置控制模組3提供新編碼器配置訊息。 The command generation 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 triggers the command generation module 6 to selectively output a re-read command (different read voltage or new encoder configuration message) according to the decoding strategy, and presents it in a specific format, For the reading control module 1 to use. 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 numbers of "0" and "1" in the received word. We are used to performing exclusive OR operation (XOR) with the random sequence before the original data is written. Therefore, under the condition that the numbers of "0" and "1" in the received word are nearly evenly distributed, the larger the value, the more error bits caused by the operation 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 reads data from the storage unit 2 again according to different displacement reading voltages.

當收到的字的diff_0_1小於一個預設的偏差值D,且計算其症狀值總和(synd_sum)為800,從表1可判斷該解碼模組4中的該解碼器D1極可能解碼成功,故該解碼決策控制模組5輸出一 種解碼策略,觸發該命令產生模組6,要求該讀取控制模組1,令該解碼配置控制模組3,用該解碼模組4中的該解碼器D1,對該收到的字進行解碼,並把解碼結果與狀態輸出。 When the diff_0_1 of the word received 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 likely to decode successfully, so The decoding decision control module 5 outputs a A kind of decoding strategy triggers the command generation module 6, requires the reading control module 1, makes the decoding configuration control module 3, and uses the decoder D1 in the decoding module 4 to perform the received word Decode, and output the decoding 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 of the decoding module 4 is exceeded, so a decoding strategy is output to trigger the command generation module 6, requiring the reading control module 1 to use 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 using the above-mentioned apparatus will be described below.

在S10,讀取收到的字。詳言之,依據一個預設讀取命令,或用該命令產生模組6,令該讀取控制模組1從該存儲單元2中特定位置,以一個或多個讀取電壓,一次或多次讀取資料。每一位元提供一個二元序列。然後,把該二元序列傳至該解碼模組4。 At S10, the received word is read. Specifically, according to a preset read command, or using the command generation module 6, the read control module 1 can read one or more read voltages from a specific position in the storage unit 2 once or more read data. Each bit provides a binary sequence. Then, pass the binary sequence 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 maps 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。 In S14, the sum of the symptom values of the received word and diff_0_1 are calculated. As mentioned above, diff_0_1 is the absolute value of the difference between the numbers 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 symptoms and diff_0_1 of the received word.

在S16,判斷diff_0_1比值(diff_0_1除以統計長度)是否大於一個偏差值D。若diff_0_1大於或等於該偏差值,則走到S18,否則走到S20。在此較佳實施例中,該偏差值D經計算是2%。 In 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 D is calculated to be 2%.

在S18,該解碼決策控制模組5,經該命令產生模組6,發 出位移讀取電壓重新讀取命令。然後,回到S10,依據位移讀取電壓,從該存儲單元2讀取資料。 In S18, the decoding decision-making control module 5 generates the module 6 via the command, and sends Out-of-position read voltage re-read command. Then, return to S10, and read data from the storage unit 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 based on the sum of symptom values and Table 1, and set parameters for the selected decoder. The method of the present invention will be described below by taking 5 scenarios as examples.

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

在S20,設n為1。 In S20, set n to 1.

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

在S28,選取解碼器D1,並設其參數。 In S28, the 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 sum of symptom values is between sum of symptom values threshold 1 and sum of symptom values threshold 2 .

在S20,設n為1。 In S20, set n to 1.

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

在S24,判斷1小於4,並走到S26。 In S24, judge that 1 is less than 4, and go to S26.

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

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

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

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

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

在S20,設n為1。 In S20, set n to 1.

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

在S24,判斷1小於4,並走到S26。 In S24, judge that 1 is less than 4, and go to S26.

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

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

在S24,判斷2小於4,並走到S26。 In S24, judge that 2 is less than 4, and go to S26.

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

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

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

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

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

在S20,設n為1。 In S20, set n to 1.

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

在S24,判斷1小於4,並走到S26。 In S24, judge that 1 is less than 4, and go to S26.

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

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

在S24,判斷2小於4,並走到S26。 In S24, judge that 2 is less than 4, and go to S26.

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

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

在S24,判斷3小於4,並走到S26。 In S24, judge that 3 is less than 4, and go to S26.

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

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

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

接著,在S30,用解碼器D4,依據其參數及該等LLR值,解碼該收到的字。 Next, at S30, the received word is decoded by the decoder D4 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 4.

在S20,設n為1。 In S20, set n to 1.

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

在S24,判斷1小於4,並走到S26。 In S24, judge that 1 is less than 4, and go to S26.

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

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

在S24,判斷2小於4,並走到S26。 In S24, judge that 2 is less than 4, and go to S26.

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

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

在S24,判斷3小於4,並走到S26。 In S24, judge that 3 is less than 4, and go to S26.

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

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

在S24,判斷4不小於4,並走到S28。 In S24, judge that 4 is not less than 4, and go to S28.

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

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

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

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

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

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

S10~S34:步驟 S10~S34: Steps

Claims (8)

一種資料儲存系統選擇解碼策略之方法,包括以下步驟: A method for selecting a decoding strategy for a data storage system, comprising the following steps: 提供數個解碼器; Several decoders are provided; 讀取得一個收到的字(S10); Read a received word (S10); 計算該收到的字之症狀值總和(S14); Calculate the sum of the symptoms of the received word (S14); 依據該症狀值總和,從該等解碼器選取一個解碼器,並設其參數;及 select a decoder from among the decoders and set its parameters according to the sum of symptom values; and 用該選取的解碼器解碼該收到的字(S30)。 The received word is decoded with the selected decoder (S30). 如請求項1所述之資料儲存系統選擇解碼策略之方法,其中,每一個解碼器有一個對應的閾值,其中該選取一個解碼器的步驟包括以下步驟: The method for selecting a decoding strategy for a data storage system as described in Claim 1, wherein each decoder has a corresponding threshold, wherein the step of selecting a decoder includes the following steps: 比較該症狀值總和與該等閾值而選取一個解碼器。 A decoder is selected by comparing the sum of symptom values with the thresholds. 如請求項2所述之資料儲存系統選擇解碼策略之方法,其中該選取一個解碼器的步驟包括以下步驟: The method for selecting a decoding strategy for a data storage system as described in Claim 2, wherein the step of selecting a decoder includes the following steps: 把該等閾值,從小到大,逐一與該症狀值總和比較; Compare the thresholds, from small to large, with the sum of the symptom values one by one; 若該症狀值總和小於目前閾值,則選取目前閾值對應的解碼器,否則把該症狀值總和與下一個閾值比較。 If the sum of the symptom values is less than the current threshold, select the decoder corresponding to the current threshold, otherwise, compare the sum of the symptom values with the next threshold. 如請求項3所述之資料儲存系統選擇解碼策略之方法,其中該選取一個解碼器的步驟包括以下步驟: The method for selecting a decoding strategy for a data storage system as described in 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, the decoder corresponding to the maximum threshold is selected. 如請求項4所述之資料儲存系統選擇解碼策略之方 法,還包括以下步驟: The method for selecting a decoding strategy in the data storage system as described in Claim 4 method, including the following steps: 判斷解碼是否成功(S32);及 Judging whether the decoding is successful (S32); and 若解碼成功,則結束,否則判斷該選取的解碼器是否最後一個解碼器。 If the decoding is successful, then end, otherwise judge whether the selected decoder is the last decoder. 如請求項5所述之資料儲存系統選擇解碼策略之方法,還包括以下步驟: The method for selecting a decoding strategy for a data storage system as described in Claim 5 further includes the following steps: 若解碼不成功,則判斷該選取的解碼器是否最後一個解碼器(S34);及 If the decoding is unsuccessful, it is judged whether the selected decoder is the last decoder (S34); and 若該選取的解碼器是最後一個解碼器,則結束,否則把該症狀值總和與下一個解碼器的閾值比較。 If the selected decoder is the last one, then end, otherwise compare the sum of the symptom value with the threshold of the next decoder. 如請求項1所述之資料儲存系統選擇解碼策略之方法,還包括以下步驟: The method for selecting a decoding strategy for a data storage system as described in Claim 1 further includes the following steps: 計算該收到的字之症狀值總和及該收到的字的「0」與「1」的個數差的絕對值(S14); Calculate the sum of the symptom values of the received word and the absolute value of the difference between the number of "0" and "1" of the received word (S14); 把該個數差的絕對值除以一個統計長度而得到一個個數差比值; Divide the absolute value of the number difference by a statistical length to obtain a number difference ratio; 判斷該個數差比值是否大於或等於一個偏差值(S16); Judging whether the number difference ratio is greater than or equal to a deviation value (S16); 若該個數差比值小於該偏差值,則依據該症狀值總和,從該等解碼器選取一個解碼器(S20);及 If the number difference ratio is smaller than the deviation value, then select a decoder from the decoders according to the sum of the symptom values (S20); and 若該個數差比值大於或等於該偏差值,則重新讀取一個收到的字的步驟(S10)。 If the number difference ratio is greater than or equal to the deviation value, the step of re-reading a received word (S10). 如請求項1所述之資料儲存系統選擇解碼策略之方法,還包括一個產生若干LLR值的步驟,其中在解碼該收到的字的步驟,依據被選取的解碼器的參數及該等LLR值解碼該收到的字。 The method for selecting a decoding strategy for a data storage system as described in Claim 1, further comprising a step of generating a number of LLR values, wherein in the step of decoding the received word, according to 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 TWI769001B (en) 2022-06-21
TW202303625A true 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)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101526317B1 (en) * 2008-05-09 2015-06-11 삼성전자주식회사 Hierarchical decoding apparatus
US10298263B2 (en) * 2014-02-18 2019-05-21 Seagate Technology Llc Refresh, run, aggregate decoder recovery
US11070234B2 (en) * 2018-03-16 2021-07-20 SK Hynix Inc. Memory system with hybrid decoding scheme with information exchange and method of operating such memory system
US11057058B2 (en) * 2019-09-11 2021-07-06 SK Hynix Inc. Quality of service of an adaptive soft decoder
EP3835960A3 (en) * 2019-12-11 2021-09-01 Samsung Electronics Co., Ltd. Storage controller for correcting error, storage device including the same, and operating method thereof

Also Published As

Publication number Publication date
TWI769001B (en) 2022-06-21

Similar Documents

Publication Publication Date Title
US9170876B1 (en) Method and system for decoding encoded data stored in a non-volatile memory
US10019313B2 (en) Flash channel with selective decoder likelihood dampening
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
US20110231738A1 (en) Error correction decoding apparatus and error correction decoding method
US10534665B2 (en) Decoding method, memory storage device and memory control circuit unit
US20100192043A1 (en) Interruption criteria for block decoding
KR20110031092A (en) Memory system and control method for the same
US20220075686A1 (en) Memory system and control method
US20150169401A1 (en) Decoding method, memory storage device, and memory controlling circuit unit
US8935598B1 (en) System and method for adaptive check node approximation in LDPC decoding
CN111143107B (en) FPGA single event reversal verification circuit 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
US7818650B2 (en) Channel encoding apparatus and method
TW201603039A (en) Decoding method, memory controlling circuit unit and memory storage device
US10423484B2 (en) Memory controller, memory system, and control method
US20210028795A1 (en) Memory Controller and Method for Decoding Memory Devices with Early Hard-Decode Exit
KR20060050924A (en) Decoder and method for decoding low-density parity-check code
JP2019057752A (en) Memory system
JP2009271852A (en) Semiconductor storage device
US20220416812A1 (en) Log-likelihood ratio mapping tables in flash storage systems
TWI769002B (en) A device for selecting a decoding strategy for a data storage system
TWI769001B (en) Method for selecting decoding strategy for data storage system
JP2021141369A (en) Memory system