A polar code BP detection method suitable for ReRAM memory
By using the polar code BP detection method, the problem of hidden path interference in ReRAM memory is solved. The decision threshold is calculated by hard decision and noise standard deviation. Combined with iteration and threshold decision, selector failure and hidden path are corrected, and high accuracy and low latency detection effect are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAQIAO UNIVERSITY
- Filing Date
- 2025-09-28
- Publication Date
- 2026-07-31
AI Technical Summary
Data reliability is reduced due to through-path interference in ReRAM memory, and existing detection schemes struggle to reduce decoding latency while maintaining high detection accuracy.
The polar code BP detection method is adopted. The decision threshold is calculated by hard decision and noise standard deviation. Combined with iteration and threshold decision, the selector failure and hidden path problem are corrected. The graph structure is used for iterative update and unreliable cells are re-detected.
While ensuring detection efficiency, it significantly reduced detection latency and improved data reliability and detection accuracy.
Smart Images

Figure CN121331211B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of next-generation communication technology, and in particular to a polar code BP detection method suitable for ReRAM memory. Background Technology
[0002] ReRAM combines the advantages of traditional random access memory and flash memory, featuring simple and fast read / write operations, low power consumption, and high storage density. This makes ReRAM a promising candidate for applications in non-volatile memory, artificial neural networks, chaotic circuits, programmable logic devices, information processing, and pattern recognition circuits. As a key representative of emerging storage technologies, ReRAM has a wealth of classic applications. It can be used in next-generation communication systems and computer storage, providing efficient support for data transmission and storage. It also plays a crucial role in artificial intelligence neural network accelerators, helping to improve computational efficiency. Furthermore, it is suitable for biomimetic brain-like computing scenarios, providing strong support for simulating human brain neural functions and promoting the development of brain-like technologies. However, the high-density integration of ReRAM also brings serious data interference problems, the most prominent being the through-path problem. A through-path refers to a closed path formed in a ReRAM cross-array when traversing logic 1 cells using alternating vertical and horizontal steps. This path can cause current leakage during the read process, interfering with the read results of the target cell and reducing data reliability. To solve this problem, memristors are often connected in series with selectors to avoid current interference between different cells. However, during the manufacturing and maintenance of memory, the nondeterministic failure of selectors can lead to new problems of mutual interference between array resistors. Therefore, a more comprehensive solution is needed to address the memory nondeterminism problem in the entire array.
[0003] The ReRAM storage process is implemented by changing the resistance values of the memristors in the cross-array: during writing, logic 0 bits are programmed to a high-resistance state (R0), and logic 1 bits are programmed to a low-resistance state (R1); during reading, the resistance state is detected by applying a specific voltage and measuring the current, thereby determining the stored data bit. Leakage path interference is caused by current leakage between adjacent memory cells in the cross-array. When reading a cell in a high-resistance state, there may be bypass paths formed by other cells in a low-resistance state, causing interference to the read signal and misjudging it as a low-resistance state. This situation is particularly prone to occur when the selector of a memory cell fails, and the selector's function is to prevent reverse current flow and the formation of leaky paths. However, defects in the manufacturing or maintenance process may cause the selector to fail again, thus failing to effectively isolate leaky paths. Therefore, additional detection schemes are needed to deal with leaky path interference. Although traditional error correction codes (ECC) can correct some errors, leaky path interference is data-dependent, and conventional ECC may not be effective in handling this dependent error mode.
[0004] In existing technologies, traditional MAP detection, ESE detection, and pilot unit detection use thresholds for decision-making. Although this ensures high detection efficiency, the use of hard decision-making results in relatively low overall detection accuracy. While BP detection using soft information maintains high detection accuracy, the overall decoding latency is very high. There is a lack of detection schemes that can maintain high detection accuracy while also maintaining a certain decoding latency. Summary of the Invention
[0005] The purpose of this invention is to provide a polar code BP detection method suitable for ReRAM memory, aiming to solve or improve at least one of the above-mentioned technical problems.
[0006] To achieve the above objectives, the present invention provides the following solution:
[0007] A method for detecting polar code BP in ReRAM memory, comprising:
[0008] After obtaining the array's resistance value after channel transmission, a hard decision is made to divide it into high-resistance state cells R. H Low-resistivity unit R L and the through unit R U and R L Unit and R U All elements are labeled as uncertain elements R. s ;
[0009] The noise standard deviation of the memory array is obtained to calculate the decision threshold, and the uncertain cells are decided based on the decision threshold, resulting in the set of low-resistivity cells and the set of uncertain cells after the decision.
[0010] In a memory array, if all other cells in the row or column containing the uncertain cell are high-resistance cells, then the currently uncertain cell is marked as a low-resistance cell.
[0011] In a memory array, if R S All other cells in the same row or column are R. H The unit will then be the current R S The unit is labeled R L unit;
[0012] Obtain the noise standard deviation of the memory array, calculate the decision threshold, and apply the decision threshold to R. S The unit makes a decision, resulting in the set of low-resistivity units L and the set of uncertain units S after the decision.
[0013] R in the post-judgment set S s The unit is simultaneously denoted as SFN unit and SPN unit, and a graph structure is formed for iteration;
[0014] The graph structure is updated based on the iteration results;
[0015] When the maximum number of iterations is reached or the message converges, a threshold decision is made to obtain the pre-output matrix Z, and the unreliable units in the pre-output matrix Z are re-detected.
[0016] Furthermore, the noise standard deviation of the memory array is obtained to calculate the decision threshold, and R is then applied based on the decision threshold. S The unit makes a decision, including:
[0017] The expression for the decision threshold is:
[0018] T=R′0+σΦ -1 (ε);
[0019] In the formula, T is the decision threshold; R′0 is R U The unit's read resistance value; ε is the preset R H The unit was misclassified as R L The probability of a cell; σ is the noise standard deviation; Φ -1 This is the inverse cumulative distribution function of the standard normal distribution;
[0020] Based on the decision threshold, R S The unit makes a decision, and the expression is:
[0021]
[0022] In the formula, r i,j y represents the actual resistance value of the cell in row i and column j of the memory array; i,jLet be the read resistance value of the cell in the i-th row and j-th column of the memory array; T be the decision threshold; L be the set of low-resistance cells; and S be the set of uncertain cells.
[0023] Furthermore, regarding R S After the unit makes a decision, it also includes:
[0024] Traverse all cells in the memory array; if the cell in row i and column j is R... L If a unit is selected, then the corresponding bit b is determined. i,j =1; if the cell in row i and column j is R H If a unit is selected, then the corresponding bit b is determined. i,j =0, thus obtaining the bit matrix B of the memory array.
[0025] Furthermore, the R of the set S after the judgment s The unit is simultaneously designated as both SFN and SPN units, and the resulting structure is iterated, including:
[0026] The probability P(SF) of selector failure is output from the SFN cell to the SPN cell through iterative updates; the probability P(SP) of a slip-through path problem occurs is output from the SPN cell to the SFN cell, and the probability PR of the SPN cell being a low-resistance cell is also output.
[0027] Furthermore, the selector failure probability is expressed as:
[0028]
[0029] In the formula, P(SF) i,j |Y) represents the probability of a selector failure event occurring at the cell output in this iteration; SF i,j The selector failed in the cell; Y is the read signal matrix; i and j are the row and column indices of the memory array, respectively; u and v are the row and column indices of the SPN node connected to cell i in row j, respectively; P(SF i,j ) represents the probability of the selector failing in the previous iteration; m and n are the row and column indices of the diagonal cell of cell (i,j); D i,j The set of SPN nodes connected to the cell in row i and column j; The actual resistance value of the unit in row u and column v; y u,v The resistance value read from the u-row, v-column cell; S is the set of uncertain cells;
[0030] The probability of the hidden path problem occurring is expressed as:
[0031]
[0032] f(m,n,u,v)=P(r m,v =RL |y m,v )P(r u,n =R L |y u,n )P(r u,v =R L |y u,v );
[0033] In the formula, P(SP) m,n ) represents the probability that the m-row, n-column cell is affected by a hidden path; f(m,n,u,v) represents the probability that cell (m,n) satisfies the condition for a hidden path to occur; m, u, and i are the row indices of the memory array; n, v, and j are the column indices of the memory array; r m,v r is the actual resistance value of the m-row, v-column cell; u,n r is the actual resistance value of the cell in row u and column n; u,v The actual resistance value of the unit in row u and column v; y m,v The reading resistance value for the m-row, v-column cell; y u,n The reading resistance value for cell u in row n; y u,v R is the reading resistance value for the cell in row u and column v; L Low-resistivity unit; SF u,v A selector failure occurred for the u-row, v-column cell;
[0034] Uncertain element R s For R L The probability of a unit is expressed as:
[0035]
[0036]
[0037] In the formula, P(r) m,n =R L |y m,n The cell in row m and column n is R. L The probability of a unit; ε(SP) m,n ) represents the probability of a hidden path occurring in the m-th row and n-th column cell, with each cell initially having the hidden path probability obtained in step 1; m and n are the row and column indices of the memory array; r m,n The actual resistance value of the m-row n-column cell; y m,n R is the reading resistance value for the m-row, n-column cell; L For low-resistivity cells; φ is the probability density function; ε is the probability that an m-row, n-column cell is affected by a hidden path; SP m,n The m-row n-column cell is subject to latent path interference; R U For uncertain cells; y is the reading resistance; R x σ is the given theoretical resistance value; σ is the noise standard deviation.
[0038] Furthermore, based on the iteration results, the graph structure is updated, including:
[0039] At the end of each iteration, if the probability of the selector of the current cell failing is less than the square of the preset selector failure probability, then a decision is made based on the probability value of the current cell iteration.
[0040] The probability value expression is:
[0041] P(r m,n =R L |y m,n );
[0042] In the formula, r m,n The actual resistance value of the m-row n-column cell; y m,n R is the reading resistance value for the m-row, n-column cell; L It is a low-resistivity unit;
[0043] A preset iteration threshold η is used. If the probability value P is greater than η, the current unit is determined to be R. L Unit; if the probability value P is less than η, then the current unit is determined as R. H The element is removed from the uncertain element R. S The connection.
[0044] Furthermore, when the maximum number of iterations is reached or the message converges, a threshold decision is made to obtain the pre-output matrix Z, and the unreliable units in the pre-output matrix Z are re-detected, including:
[0045] Calculate the absolute difference between the output data of SPN and SFN units between adjacent iterations;
[0046] If the absolute difference between three consecutive iterations is 0, then decoding ends;
[0047] After decoding, the log-likelihood ratio of the original data is output, and the bit values of the original data are estimated based on the log-likelihood ratio to make a decision, thus obtaining the pre-output matrix Z;
[0048] The bit values in the output matrix Z are subjected to reliability testing to identify unreliable cells.
[0049] Unreliable units should be retested.
[0050] Furthermore, the absolute difference between the output data of the SPN and SFN units between adjacent iterations is calculated, including:
[0051] The absolute difference between the output data of the SPN and SFN cells between adjacent iterations is calculated using the following expression:
[0052] ΔP iter=max(|P (t) (SF)-P (t-1) (SF)|,|P (t) (SP)-P (t-1) (SP)|,|P (t) (r=
[0053] R L |y)-P (t-1) (r=R L |y)|);
[0054] In the formula, ΔP iter P is the difference between the output data of two cells being iterated; (t) (SF) represents the probability that the SFN unit selector fails in this iteration; P (t-1) (SF) represents the probability that the SFN cell selector failed in the previous iteration; P (t) (SP) represents the probability of a hidden path problem occurring in the SPN unit during this iteration; P (t-1) (SP) represents the probability of a hidden path problem occurring in the SPN unit during the previous iteration; P (t) (r=R L |y) represents the original data of the uncertain element in this iteration, R. L The probability of a unit, P (t-1) (r=R L |y) represents the original data of the uncertain element calculated in the previous iteration, which is R. L The probability of a cell; t is the iteration number; SF is the SFN node; SP is the SPN node; r is the actual resistance of the iteration cell; R L It is a low-resistivity unit.
[0055] Furthermore, reliability testing is performed on the bit values in the output matrix Z to identify unreliable units, including:
[0056] Let q be the prior probability that a bit in the data stored in the memory array cell is 1. Calculate the number of bits that are 1 in the data stored in the memory array after decoding.
[0057] Determine the difference between the number of bits with a value of 1 in the pre-output matrix Z and the number of bits with a value of 1 in the data stored in the decoded memory array, and determine the number of unreliable cells;
[0058] Traverse the output SPN cell to find the probability PR matrix of the low resistance cell, calculate the distance between each cell and 0.5, and determine the position index of the unreliable cell by combining the number of unreliable cells.
[0059] Furthermore, unreliable units are re-tested, including:
[0060] Using the detection results of all elements except unreliable elements as known information, the BP detection described above is repeated for the unreliable elements. The log-likelihood ratio output after each re-detection is then checked to see if it is greater than 0. If it is less than 0 or equal to 0, the current element is considered a low-resistivity element R. L If it is greater than 0, then the current cell is a high-resistivity cell R. H The re-detection results will modify the output data at the corresponding position in the pre-output matrix Z.
[0061] According to specific embodiments provided by the present invention, the present invention discloses the following technical effects:
[0062] This invention discloses a polar code BP detection method suitable for ReRAM memory. It adds threshold decision and multiple correction mechanism to the traditional BP detector, which greatly reduces the detection latency while ensuring a certain detection efficiency. Attached Figure Description
[0063] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0064] Figure 1 This is a schematic diagram of the method flow of the present invention;
[0065] Figure 2 This example demonstrates threshold settings for different noise levels.
[0066] Figure 3 This is the implementation process of this embodiment;
[0067] Figure 4 This is the simulation result of the bit error rate in an 8×8 array in this embodiment;
[0068] Figure 5 This is the simulation result of the bit error rate in a 16×16 array in this embodiment.
[0069] Detailed implementation method
[0070] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0071] The purpose of this invention is to provide a polar code BP detection method suitable for ReRAM memory, aiming to solve or improve at least one of the above-mentioned technical problems.
[0072] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0073] like Figure 1 As shown, this invention provides a polar code BP detection method suitable for ReRAM memory, comprising:
[0074] Step 1: Obtain the read resistance value of the memory array after channel transmission, perform hard decision, and divide it into high-resistance state cells R. H Low-resistivity unit R L and the through unit R U It includes the following steps:
[0075] Obtain the read resistance matrix Y∈[y] of the ReRAM memory array i,j ] M×N This contains the read resistance values for all positions in the array, where the read resistance value y of the cell in the i-th row and j-th column is... i,j Based on the preset resistance value and the read resistance value, the cells of the ReRAM memory array are divided into high-resistance cells R. H Low-resistivity unit R L and the through unit R U This yields the set of high-resistivity elements H, the set of low-resistivity elements L, and the set of uncertain elements U; and the low-resistivity element R... L and the through unit R U All are labeled as uncertain elements R S Thus, the set of uncertain units S is obtained.
[0076] In the above steps, the preset resistance value is R. 0,y =1000Ω, R 1,y =100Ω,R′ 0,y =(R 0,y -1 +(3×R 1,y ) -1 ) -1 Calculate the difference between the reading resistance value and the preset resistance value for each unit; if the reading resistance value of the unit in the i-th row and j-th column is y... i,j With R 0,y If the difference is the minimum difference, then the current element is a high-resistivity element R. H Record its actual resistance value r i,j =1000Ω; if with R 1,y If the difference is the minimum difference, then the current element is a low-resistivity element R. LRecord its actual resistance value r i,j =100Ω; if with R′ 0,y If the difference is the minimum difference, then the current element is the through element R. U Record its actual resistance value r i,j =(R 0,y -1 +(3×R 1,y ) -1 ) -1 ;
[0077] Step 2, in the memory array, if a certain R S All other cells in the same row or column are R. H The unit will then be the current R S The unit is labeled R L unit.
[0078] Step 3: Obtain the noise standard deviation of the memory array, calculate the decision threshold, and apply the decision threshold to R. S The unit performs a decision to obtain the set of low-resistivity elements L and the set of uncertain elements S after the decision, including the following steps:
[0079] The expression for the decision threshold is:
[0080] T=R′0+σΦ -1 (ε)
[0081] In the formula, T is the decision threshold; R′0 is R U The unit's read resistance value; ε is the preset R H The unit was misclassified as R L The probability of a cell; σ is the noise standard deviation; Φ -1 It is the inverse cumulative distribution function of the standard normal distribution.
[0082] like Figure 2 As shown, the threshold results for different noise levels are obtained by applying the threshold decision formula. Here, R′0 represents the resistance value of the high-resistivity unit affected by the slip-through path, and its value adopts the general ReRAM channel setting, i.e., 230.77.
[0083] Based on the decision threshold, R S The unit makes a decision, and the expression is:
[0084]
[0085] In the formula, r i,j y represents the actual resistance value of the cell in row i and column j of the memory array; i,j Let be the read resistance value of the cell in the i-th row and j-th column of the memory array; T be the decision threshold; L be the set of low-resistance cells; and S be the set of uncertain cells.
[0086] Traverse all cells in the memory array; if the cell in row i and column j is R... L If a unit is selected, then the corresponding bit b is determined. i,j =1; if the cell in row i and column j is R H If a unit is selected, then the corresponding bit b is determined. i,j =0, thus obtaining the bit matrix B of the memory array;
[0087] Step 4, set R of the post-judgment set S. s The element is simultaneously designated as an SFN element and an SPN element, and the graph structure is iterated through, including the following steps:
[0088] In the memory array, each uncertain cell R s It may be simultaneously affected by the stealth path SPN and the selector failure SFN, therefore each uncertain element R s They are simultaneously denoted as SFN units and SPN units, forming a graph structure for iteration.
[0089] The probability P(SF) of selector failure is output from the SFN cell to the SPN cell through iterative updates. The SPN cell outputs the probability P(SP) of a through-path problem occurring to the SFN cell, and simultaneously outputs the probability PR that the SPN cell is a low-resistance cell. This process includes the following steps:
[0090] Figure 3 Image (6) shows the input and output of the cell connected to cell y1 and cell 5 in the memory array during one iteration;
[0091] The selector failure probability is expressed as:
[0092]
[0093] In the formula, P(SF) i,j |Y) represents the probability of a selector failure event occurring at the cell output in this iteration; SF i,j The selector failed in the cell; Y is the read signal matrix; i and j are the row and column indices of the memory array, respectively; u and v are the row and column indices of the SPN node connected to cell i in row j, respectively; P(SF i,j ) represents the probability of the selector failing in the previous iteration; m and n are the row and column indices of the diagonal cell of cell (i,j); D i,j The set of SPN nodes connected to the cell in row i and column j; The actual resistance value of the unit in row u and column v; y u,v The resistance value read from the u-row, v-column cell; S is the set of uncertain cells;
[0094] The probability of the hidden path problem occurring is expressed as:
[0095]
[0096] f(m,n,u,v)=P(r m,v =R L |y m,v )P(r u,n =R L |y u,n )P(r u,v =R L |y u,v );
[0097] In the formula, P(SP) m,n ) represents the probability that the m-row, n-column cell is affected by a hidden path; f(m,n,u,v) represents the probability that cell (m,n) satisfies the condition for a hidden path to occur; m, u, and i are the row indices of the memory array; n, v, and j are the column indices of the memory array; r m,v r is the actual resistance value of the m-row, v-column cell; u,n r is the actual resistance value of the cell in row u and column n; u,v The actual resistance value of the unit in row u and column v; y m,v The reading resistance value for the m-row, v-column cell; y u,n The reading resistance value for cell u in row n; y u,v R is the reading resistance value for the cell in row u and column v; L Low-resistivity unit; SF u,v A selector failure occurred for the u-row, v-column cell;
[0098] Uncertain element R s For R L The probability of a unit is expressed as:
[0099]
[0100] In the formula, P(r) m,n =R L |y m,n The cell in row m and column n is R. L The probability of a unit; ε(SP) m,n ) represents the probability of a hidden path occurring in the m-th row and n-th column cell, with each cell initially having the hidden path probability obtained in step 1; m and n are the row and column indices of the memory array; r m,n The actual resistance value of the m-row n-column cell; y m,n R is the reading resistance value for the m-row, n-column cell; L For low-resistivity cells; φ is the probability density function; ε is the probability that an m-row, n-column cell is affected by a hidden path; SP m,nThe m-row n-column cell is subject to latent path interference; R U For uncertain cells; y is the reading resistance; R x Given a theoretical resistance value, set to 100Ω here; σ is the noise standard deviation;
[0101] In the above steps, the probability density function φ describes the receiving resistance y under a given theoretical resistance value R. x The probability distribution at that time.
[0102] Step 5: Update the graph structure based on the iteration results, including the following steps:
[0103] At the end of each iteration, if the probability of the selector of the current cell failing is less than the square of the preset selector failure probability, then a decision is made based on the probability value of the current cell iteration.
[0104] The probability value expression is:
[0105] P(r m,n =R L |y m,n );
[0106] In the formula, r m,n The actual resistance value of the m-row n-column cell; y m,n R is the reading resistance value for the m-row, n-column cell; L It is a low-resistivity unit;
[0107] A preset iteration threshold η is used. If the probability value P is greater than η, the current unit is determined to be R. L Unit; if the probability value P is less than η, then the current unit is determined as R. H The element is removed from the uncertain element R. S The connection.
[0108] In this invention, the iteration threshold η is preferably 0.5.
[0109] like Figure 3 As shown, Figure 3 Image (1) is the data matrix of the original data. Figure 3 Image (2) shows the storage state of the original data in the memory array. The original data is 0, and the data in the memory array is R. H Unit; the original data is 1, and it is R in the memory array. L unit. Figure 3 Image (3) shows the array of read resistance values for the memory, where y m,n The reading resistance value is for the m-row n-column cell. Figure 3 Image (4) represents the hard decision process, dividing the memory array cells into R... H Unit, R L Unit and RU Unit; simultaneously R L Unit and R U The unit is labeled R S Unit. If a certain R S All other cells in the same row or column are R. H The unit will then be the current R S The unit is labeled R L Unit, the remaining units are still labeled R S unit. Figure 3 Image (5) shows the threshold decision process for R. S Cells whose resistance value is less than the threshold set in step three are directly identified as R. L unit. Figure 3 Image (6) shows the input and output data of the uncertain cell in the first row and fifth column during one iteration in step 4.
[0110] Step 6: When the maximum number of iterations is reached or the message convergence is achieved, a final threshold decision is made. Simultaneously, low-reliability units are re-tested, including the following steps:
[0111] The absolute difference between the output data of the SPN and SFN cells between adjacent iterations is calculated using the following expression:
[0112] ΔP iter =max(|P (t) (SF)-P (t-1) (SF)|,|P (t) (SP)-P (t-1) (SP)|,|P (t) (r=
[0113] R L |y)-P (t-1) (r=R L |y)|);
[0114] In the formula, ΔP iter P is the difference between the output data of two cells being iterated; (t) (SF) represents the probability that the SFN unit selector fails in this iteration; P (t-1) (SF) represents the probability that the SFN cell selector failed in the previous iteration; P (t) (SP) represents the probability of a hidden path problem occurring in the SPN unit during this iteration; P (t-1) (SP) represents the probability of a hidden path problem occurring in the SPN unit during the previous iteration; P (t) (r=R L |y) represents the original data of the uncertain element in this iteration, R. L The probability of a unit, P (t-1) (r=RL |y) represents the original data of the uncertain element calculated in the previous iteration, which is R. L The probability of a cell; t is the iteration number; SF is the SFN node; SP is the SPN node; r is the actual resistance of the iteration cell; R L It is a low-resistivity unit.
[0115] Decoding ends when the absolute difference between three consecutive iterations is 0.
[0116] The decoding process ends, and the log-likelihood ratio of the original data is output. The bit value of the original data is estimated based on the log-likelihood ratio.
[0117] The log-likelihood ratio of the original data is calculated using the following expression:
[0118]
[0119] In the formula, LLR(x ij () represents the compressed log-likelihood ratio; The original log-likelihood ratio; y ij The reading resistance value for cell i in row j; x ij This represents the original data for cell i in row i and column j.
[0120] When LLR(x) ij When )>0, then the bit b corresponding to the unit in row i and column j is i,j =0; when LLR(x) ij When ) < 0, then the bit b corresponding to the unit in row i and column j is... i,j =1.
[0121] The pre-output matrix Z is obtained, including all b. i,j The verdict.
[0122] Before outputting the final test results, the test results need to be judged. Unreliable units need to be retested. First, a judgment needs to be made on whether to trigger a retest.
[0123] Let q be the prior probability that a bit in the data stored in a memory array cell is 1. The proportion of bits with a value of 1 in the decoded data stored in the memory array is calculated using the following expression:
[0124]
[0125] In the formula, The percentage of 1s in the decoded data stored in the memory array; NUM is the number of memory array cells, with a size of M×N, where M is the number of rows and N is the number of columns; m and n are the row and column indices of the memory array, respectively; B is the bit matrix; b m,n The hard decision value for the m-row, n-column cell;
[0126] Perform verification distribution. if Where ε is the error threshold for the tolerance distribution, and its value is set to 0.001, which is considered the reliability standard in engineering practice. If the above formula holds true, a re-verification is triggered. Otherwise, the detection reliability is considered high, and the result is output directly.
[0127] For the pre-output matrix Z, the number of unreliable cells is calculated, including the following steps:
[0128] Traverse the pre-output matrix Z to determine the difference between the number of bits with a value of 1 in the pre-output matrix Z and the number of bits with a value of 1 in the decoded memory array. The expression is:
[0129]
[0130] In the formula, Δ1 is the difference in the number of bits with a value of 1; num1 represents the number of 1s in the pre-output matrix Z; num1 represents the number of 1s in the data stored in the decoded memory array.
[0131] Since both 0→1 and 1→0 errors can exist simultaneously in the memory array, it is assumed that Δ1 units in both the units identified as 0 and 1 are unreliable. Finally, the number of unreliable units is determined to be 2×Δ1.
[0132] Determining the location of unreliable cells includes the following steps:
[0133] Traverse the output SPN cell to find the probability PR matrix of a low-resistance cell, and calculate the distance between each cell and 0.5. The expression is:
[0134] ΔPR i,j =|PR i,j -0.5|;
[0135] In the formula, PR i,j Let ΔPR be the probability that the cell in the i-th row and j-th column is a low-resistance cell. i,j For PR i,j The absolute value of the difference from 0.5.
[0136] ΔPR i,j Sort by size from smallest to largest, and select ΔPR. i,j The minimum number of cells (2×Δ1) is considered an unreliable cell, and the position index of the unreliable cell is output.
[0137] Finally, unreliable cells are re-checked, including the following steps:
[0138] Using the detection results of all elements except unreliable elements as known information, the BP detection described above is repeated for the unreliable elements. The log-likelihood ratio output after each re-detection is then checked to see if it is greater than 0. If it is less than 0 or equal to 0, the current element is considered a low-resistivity element R. L If it is greater than 0, then the current cell is a high-resistivity cell R. H The re-detection results will modify the output data at the corresponding position in the pre-output matrix Z.
[0139] The effects of this invention can be further illustrated by the following simulations, which compare it with other existing solutions. All simulation conditions use memory array sizes of 8×8 and 16×16, with R0′ = (R0′). -1 +(3×R1) -1 ) -1 R1 = 100Ω, R0 = 1000Ω, p f =0.001, and the maximum number of iterations is set to 15.
[0140] like Figure 4 As shown, this describes the use of ESE (Essential Signal) detectors, MAP (Maximum A posteriori) detectors, pilot (pilot correlation) detectors, BP (belief propagation) detectors, and the proposed multi-threshold improved belief propagation detector scheme in M×N=8×8 (corresponding to a storage code length of 64) and p f The bit error rate (BER) is calculated when the noise level is 0.001. During detection, all detectors' raw input data are selected to follow a Bernoulli distribution, meaning that 0 and 1 each account for half of the total data. This eliminates the influence of the raw data on the detection results. 10,000 experiments were conducted, and the proportion of total false negatives to all bits was calculated. It can be observed that as the noise level changes from 80 to 20, the BER of the proposed NEW BP scheme increases from 1.9 × 10⁻⁶. -3 It was reduced to 2.2×10 -4 The BP detector has a resolution of 4.9 × 10⁻⁶. -3 It was reduced to 2.2×10 -3 The ESE detector has a capacity of 4.9 × 10⁻⁶. -3 It was reduced to 2.1×10 -2 The pilot detector is 4.9 × 10⁻⁶. -3 It was reduced to 2.2×10 -3 The MAP detector has a capacity of 4.9 × 10⁻⁶. -3 It was reduced to 5.3×10 -4 The bit error rate of the detector presented in this paper is consistently lower than that of existing technologies. This indicates that the proposed scheme improves decision accuracy by re-detecting units with lower reliability.
[0141] like Figure 5 As shown, for M×N=16×16 (corresponding to a storage code length of 256) and p f A similar evaluation was performed for the case where the value is 0.001. In this case, all parameters were used. Figure 2 The settings were optimized, and 10,000 experiments were conducted to calculate the proportion of total false positives (FRP) bits across all detectors. The same conclusion holds true when the code length is 256, with noise decreasing from 80 to 20. The proposed NEW BP scheme has a bit error rate of 8.3 × 10⁻⁶. -3 Reduced to 7×10 -4 Furthermore, the proposed solution can achieve even better performance in larger arrays.
[0142] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0143] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the core ideas of the present invention. Furthermore, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A polar code BP detection method suitable for ReRAM memory, characterized in that, include: The array's resistance value after channel transmission is obtained, and a hard decision is made to classify it into high-resistance cells. Low-resistivity unit and the underwater communication unit and will Unit and All elements are marked as indeterminate elements. ; In a memory array, if all other cells in the row or column in which the cell resides are the current cell is marked as a cell; Calculate the decision threshold by obtaining the noise standard deviation of the memory array, and then apply the decision threshold to... The unit makes a decision, resulting in the set of low-resistivity units L and the set of uncertain units S after the decision. The post-decision set S is The cells are simultaneously referred to as selector failure cells SFN and potential short path cells SPN, and constitute a graph data structure for iteration; The graph data structure is updated based on the iteration results; When the maximum number of iterations is reached or the message converges, the bit values of the original data are estimated based on the log-likelihood ratio to make a decision, and the pre-output matrix Z is obtained. The unreliable units in the pre-output matrix Z are then re-detected. 2.The BP detection method for polar codes applied to ReRAM memory according to claim 1, wherein, The noise standard deviation of the acquired memory array is used to calculate the decision threshold, and the decision threshold is then used to... The unit makes a decision, including: The expression for the decision threshold is: ; In the formula, T is the decision threshold; for The reading resistance value of the cell; For preset The unit was misidentified as The probability of a unit; The standard deviation of noise; This is the inverse cumulative distribution function of the standard normal distribution; Based on decision threshold The unit makes a decision, and the expression is: ; In the formula, This represents the actual resistance value of the cell in row i and column j of the memory array; This represents the read resistance value of the cell in the i-th row and j-th column of the memory array; is the decision threshold; L is the set of low-resistivity cells; S is the set of uncertain cells. 3.The BP detection method for polar codes applied to ReRAM memory according to claim 1, wherein, right After the unit makes a decision, it also includes: Traverse all cells in the memory array, if the cell in row i and column j is... If a unit is selected, the corresponding bit is determined. If the cell in row i and column j is If a unit is selected, the corresponding bit is determined. The bit matrix of the memory array is obtained. . 4.The BP detection method for polar codes applied to ReRAM memory according to claim 1, wherein, The method comprises the following steps of: The unit is also referred to as a selector failure unit SFN and a potential path unit SPN, and the structure is iterated, comprising: The probability P(SF) of selector failure is output from the selector failure unit SFN to the slip-through path unit SPN through iterative updates; the slip-through path unit SPN outputs the probability P(SP) of slip-through path problem to the selector failure unit SFN, and at the same time outputs the probability PR that the slip-through path unit SPN is a low-resistance unit.
5. A polar code BP detection method suitable for ReRAM memory according to claim 4, characterized in that, The selector failure probability is expressed as: ; In the formula, This represents the probability of a selector failure event occurring at the cell output in this iteration. The selector failed for the cell; To read the signal matrix; i and j are the row and column indices of the memory array, respectively; u and v are the row and column indices of the SPN node connected to the cell in row i and column j, respectively; is the probability that the selector failed in the previous iteration; m and n are the row and column indices of the diagonal cell of cell (i,j); The set of SPN nodes connected to the cell in row i and column j; The actual resistance value of the unit in row u and column v; The resistance value read from the u-row, v-column cell; S is the set of uncertain cells; The probability of the hidden path problem occurring is expressed as: ; ; In the formula, This represents the probability that an m-row, n-column cell is affected by a hidden path. represent The probability that a cell satisfies the conditions for the occurrence of a hidden path; m, u, and i are the row indices of the memory array; n, v, and j are the column indices of the memory array; This represents the actual resistance value of the m-row, v-column cell; This represents the actual resistance value of the unit in row u and column n. The actual resistance value of the unit in row u and column v; The reading resistance value for the m-row, v-column cell; The reading resistance value for cell in row u and column n; The reading resistance value for the cell in row u and column v; It is a low-resistivity unit; A selector failure occurred for the u-row, v-column cell; Uncertainty unit For The probability of a unit is expressed by: ; ; In the formula, The cell in the m-th row and n-th column is The probability of a unit; Let m be the probability of a hidden path occurring in the m-th row and n-th column cell. The initial value of each cell is the hidden path probability obtained in step 1; m and n are the row index and column index of the memory array. The actual resistance value of the m-row n-column cell; The reading resistance value for the m-row, n-column cell; It is a low-resistivity unit; It is the probability density function; Let m be the probability that the m-row, n-column cell is affected by the hidden path. The m-row, n-column cell is subject to latent path interference; It is an uncertain element; To read the resistor; Given a theoretical resistance value; This represents the noise standard deviation.
6. The polar code BP detection method for ReRAM memory according to claim 1, characterized in that, The step of updating the graph data structure based on the iteration results includes: At the end of each iteration, if the probability of the selector of the current cell failing is less than the square of the preset selector failure probability, then a decision is made based on the probability value of the current cell iteration. The probability value expression is: ; wherein is the actual resistance value of an m row by n column cell; is the read resistance value of an m row by n column cell; is a low resistance state cell; a preset iteration threshold η, if the probability value P is greater than η, the current cell is determined as a certain cell; if the probability value P is less than η, the current cell is determined as an uncertain cell, and the current cell is removed from the connection with the uncertain cell .
7. The BP detection method for polar codes applied to ReRAM memory according to claim 1, wherein, When the maximum number of iterations is reached or the message converges, a decision is made based on the estimated bit value of the original data according to the log-likelihood ratio, resulting in a pre-output matrix Z. Unreliable units in the pre-output matrix Z are then re-detected, including: Calculate the absolute difference between the output data of the through path unit SPN and the selector failure unit SFN between adjacent iterations; If the absolute difference between three consecutive iterations is 0, then decoding ends; After decoding, the log-likelihood ratio of the original data is output, and the bit values of the original data are estimated based on the log-likelihood ratio to make a decision, thus obtaining the pre-output matrix Z; The bit values in the output matrix Z are subjected to reliability testing to identify unreliable units; Unreliable units should be retested.
8. A polar code BP detection method for ReRAM memory according to claim 7, characterized in that, The calculation of the absolute difference between the output data of the latent path unit SPN and the selector failure unit SFN between adjacent iterations includes: The absolute difference between the output data of the through-path unit SPN and the selector failure unit SFN between adjacent iterations is calculated using the following expression: ; In the formula, The difference between the output data of the two cells being iterated; This represents the probability of the selector failure unit SFN failing in this iteration; This represents the probability that the selector failure unit SFN failed in the previous iteration; This represents the probability of a hidden path problem occurring in the SPN (Side Path Unit) during this iteration. This represents the probability of a hidden path problem occurring in the SPN (Sneak Path Unit) during the previous iteration. The original data for the uncertain element in this iteration calculation is: The probability of a unit, The original data representing the uncertain element from the previous iteration calculation is The probability of the cell; t is the iteration number; SF is the SFN node; SP is the SPN node; r is the actual resistance of the iteration cell; It is a low-resistivity unit. 9.The BP detection method for polar codes applied to ReRAM memory according to claim 7, wherein, The step of performing reliability detection on the bit values in the output matrix Z to determine unreliable units includes: where the prior probability of a bit value of 1 in the data stored in the memory array unit is the number of bit values of 1 in the data stored in the memory array after decoding is calculated; The number of unreliable cells is determined by the difference between the number of bits with a value of 1 in the pre-output matrix Z and the number of bits with a value of 1 in the data stored in the decoded memory array. Traverse the output of the potential path unit SPN and the probability PR matrix of low resistance units, calculate the distance between each unit and 0.5, and determine the position index of the unreliable unit by combining the number of unreliable units.
10. The BP detection method for polar codes applied to ReRAM memories according to claim 7, characterized in that, Re-test unreliable units, including: Using the detection results of all elements except unreliable elements as known information, the BP detection described above is repeated for the unreliable elements. The log-likelihood ratio output after each re-detection is then checked to see if it is greater than 0. If it is less than 0 or equal to 0, the current element is considered a low-resistivity element. If the value is greater than 0, then the current cell is a high-resistivity cell. The re-detection results will modify the output data at the corresponding position in the pre-output matrix Z.