Method for detecting data in a disk storage system
By constructing a binary matrix and using iterative estimation methods, the complexity of data detection in disk storage systems is reduced, detection efficiency and practicality are improved, and data security and integrity are ensured.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-13
- Publication Date
- 2026-03-24
AI Technical Summary
Existing data detection methods for disk storage systems are complex and impractical, resulting in slow detection speeds and making them unsuitable for real-world applications.
A binary matrix is constructed using the channel characteristics of the storage system, and the positions of non-zero elements are recorded. An auxiliary sequence is constructed by reading the output sequence of the storage channel. The storage data bit sequence is estimated iteratively, and the constraint relationship between the auxiliary sequence and the sub-sequence is used for iterative updates until the constraint relationship is satisfied or the maximum number of iterations is reached.
It reduces the complexity of data detection, improves operational convenience and efficiency, reduces the error rate, ensures data security and integrity, and enhances system reliability and stability.
Smart Images

Figure CN121523622B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of data storage technology, specifically relating to a data detection method in a disk storage system. Background Technology
[0002] With the continuous increase in data storage density and data read / write speed of disk storage systems, interference between stored data bits has become a significant factor affecting data accuracy. How to efficiently estimate the data bit sequence from the read storage channel output sequence has become a key issue in data detection for disk storage systems.
[0003] Currently, data detection in disk storage systems primarily relies on a storage system channel characteristic model to construct a grid diagram. The stored data bit sequence passes through the storage channel, and noise is superimposed to obtain the storage channel output sequence. A forward-backward iterative method based on the grid diagram is used to estimate the data bits. However, due to the characteristics of channel interference noise in disk storage systems, the number of states in the grid diagram is usually high. The computational complexity of the forward-backward iterative method increases with the number of states in the grid diagram and the data length, leading to a decrease in the detection speed and making it unsuitable for practical applications. Summary of the Invention
[0004] The purpose of this invention is to provide a data detection method in a disk storage system, which solves the problems of high complexity and poor practicality of existing data detection methods.
[0005] The technical solution adopted in this invention is a data detection method in a disk storage system, which is implemented according to the following steps:
[0006] Step 1: Construct a set of binary matrices using the channel characteristics of the storage system, and record the positions of the non-zero elements in the binary matrices;
[0007] Step 2: Read the stored channel output sequence and construct an auxiliary sequence;
[0008] Step 3: Iteratively estimate the stored data bit sequence and output the estimation result.
[0009] The invention is further characterized in that,
[0010] Step 1 specifically involves:
[0011] Step 101, set the length of the stored data bit sequence to be... n The sequence length of the channel characteristics of the storage system is m The sequence values are h[1], h[2], ..., h[μ]. During data detection, m Given all sequence parameters, construct a binary matrix H, which includes several submatrices, H1, H2, …, H…μ The number of sub-matrices corresponds to the sequence length of the channel characteristics of the storage system. m Each row of each submatrix contains two 1s, and the remaining elements are 0s;
[0012] (1)
[0013] Wherein, submatrix H b The dimension is ( n - b )× n ,1≤ b ≤ m Then the first k The two 1s in the row are respectively located in the first row. k Column and number k + b Column, 1≤ k ≤ n - b ;
[0014] Step 102: For the rows and columns containing non-zero elements in the binary matrix H, use a binary array [ j ][ i Record it, among which j This indicates the position of the row containing the non-zero element. i This indicates the position of the column containing the non-zero element.
[0015] Step 2 specifically involves reading the stored channel output sequence, denoted as r[ t An auxiliary sequence is constructed using the storage channel output sequence and the channel characteristics of the storage system. The auxiliary sequence includes... m +1 subsequences, where the subsequence f[ of part 0] t The length of ] is the length of the data bit sequence. n ;
[0016] (6)
[0017] No. b Partial subsequence w b [ t ],1≤ b ≤ m The length corresponds to the submatrix H b number of rows;
[0018] (7)
[0019] Where h[0]=1, and L takes the value of m - b and n - t The smaller of the two values;
[0020] The subsequence w1[t] of the first part, the... 2 Partial subsequences w2[t],…, m Partial subsequence w μ An auxiliary sequence consisting of [t] is denoted as w[t]. The length of the auxiliary sequence is equal to the number of rows in the binary matrix H.
[0021] Step 3 specifically involves using the subsequence f[ of part 0]. t Combined with the auxiliary sequence w[t], estimate the storage data bit sequence x[t]. The estimation process is an iterative process. If the estimated storage data bit sequence x[t] satisfies the given constraint relationship or reaches the preset maximum number of iterations, the iteration process is terminated.
[0022] The iterative process is as follows:
[0023] Step 301, Initialization;
[0024] Step 302: Determine whether the constraint relationship is satisfied. If yes, end the iterative estimation process and exit the iterative process; otherwise, proceed to step 302.
[0025] Step 303, update array R;
[0026] Step 304, update array Q;
[0027] Step 305, update array g;
[0028] Step 306: Estimate the bit sequence of the stored data;
[0029] Step 307: Determine whether the preset maximum number of iterations has been reached. If yes, end the iterative estimation process and exit the iterative process. Otherwise, set k ← k + 1, go to step 303, and continue the iterative process.
[0030] The iterative process is as follows:
[0031] Step 301, Initialize settings k =0, set the maximum number of iterations K max K max =50, set x (0) [t] represents the initial value of the stored data bit sequence. If the subsequence f[ of the 0th part...] t If x > 0, then x (0) [t] = +1; otherwise x (0) [t] = -1; then initialize three arrays g, Q, and R respectively, g[t] = 0, Q[j][i] = f[i], R[j][i] = 0, and the length of array g[t] is 1. nThe number of rows in arrays Q and R is equal to the number of rows in the binary matrix H, and the values in arrays Q and R correspond to the non-zero elements of matrix H.
[0032] Step 302: Determine whether the constraint relationship is satisfied;
[0033] Constraint relationship y b [t] is;
[0034] y b [t]= x (k) [t] x (k) [tj](12)
[0035] judge;
[0036] 1≤ j ≤ m (13)
[0037] j +1≤ t ≤ n (14)
[0038] If both (13) and (14) are satisfied, the constraint relationship holds. b [t]=+1, if the t-th b Partial subsequence w b [ t If ]>0, then exit the iteration process;
[0039] If (13) and (14) are not satisfied simultaneously, the constraint relationship is not valid. b If [t] = -1, then the constraint relationship is not satisfied;
[0040] Step 303, update array R;
[0041] R[j][i]=min(Q[j][i ],w[j])(15)
[0042] Where min represents the minimum value, Q[j][i] [] is the value of the element in the j-th row of array Q, excluding Q[j][i].
[0043] Step 304, update array Q;
[0044] (16)
[0045] Where M(i) includes the row containing all non-zero elements in the i-th column of the binary matrix H;
[0046] Step 305, update array g;
[0047] (17)
[0048] Step 306: Estimate the bit sequence of the stored data;
[0049] If the array g[i] is updated to > 0, then x (k+1) [i] = +1; otherwise x (k+1) [i]=-1, at this time, the initial value of the stored data bit sequence is x. (k+1) [t];
[0050] Step 307: Determine whether the preset maximum number of iterations has been reached;
[0051] Determine if k=K max If the condition is met, exit the iteration process; otherwise, set k ← k + 1, go to step 303, and continue the iteration process.
[0052] In step 1, when the length of the stored data bit sequence... n The sequence length of the storage system channel characteristics is 8. m When the value is 3, the submatrices are as follows:
[0053] (2)
[0054] (3)
[0055] (4)
[0056] The constructed binary matrix H is:
[0057] (5).
[0058] In step 2, when the length of the stored data bit sequence... n The sequence length of the storage system channel characteristics is 8. m When h is 3, assuming h[1]=1, h[2]=-1, h[3]=-1, then we have:
[0059] f[t]=r[t]+r[t+1]-r[t+2]-r[t+3](8)
[0060] (9)
[0061] (10)
[0062] (11)
[0063] Let w1[t], w2[t], ..., w μ The auxiliary sequence composed of [t] is denoted as w[t].
[0064] The beneficial effects of this invention are: the data detection method in the disk storage system of this invention has good data detection performance, and its complexity is significantly reduced compared with the existing forward and backward iterative method based on grid graphs, which improves the convenience and efficiency of operation, improves the performance of the data storage system at a small cost, reduces the bit error rate of system data, ensures the security and integrity of data, improves the reliability and stability of the system, and has broad application prospects. Attached Figure Description
[0065] Figure 1 This is an iterative flowchart of the data detection method in the disk storage system of the present invention;
[0066] Figure 2 This is a detection result diagram of the EPR4 storage channel in Embodiment 6 of the present invention;
[0067] Figure 3 This is a detection result diagram of the EEPR4 storage channel in Embodiment 6 of the present invention. Detailed Implementation
[0068] The present invention will now be described in detail with reference to the accompanying drawings and specific embodiments.
[0069] Example 1
[0070] The data detection method in the disk storage system of the present invention is implemented according to the following steps;
[0071] Step 1: Construct a set of binary matrices using the channel characteristics of the storage system, and record the positions of the non-zero elements in the binary matrices;
[0072] Step 2: Read the stored channel output sequence and construct an auxiliary sequence;
[0073] Step 3: Iteratively estimate the stored data bit sequence and output the estimation result.
[0074] Example 2
[0075] Based on Example 2, step 1 in this example specifically involves:
[0076] Step 101, set the length of the stored data bit sequence to be... n The sequence length of the channel characteristics of the storage system is m The sequence values are h[1], h[2], ..., h[μ]. During data detection, m Given all sequence parameters, construct a binary matrix H, which includes several submatrices, H1, H2, …, H… μ The number of sub-matrices corresponds to the sequence length of the channel characteristics of the storage system. m Each row of each submatrix contains two 1s, and the remaining elements are 0s;
[0077] (1)
[0078] Wherein, submatrix H b The dimension is ( n - b )× n ,1≤ b ≤ m Then the first k The two 1s in the row are respectively located in the first row. k Column and number k + b Column, 1≤ k ≤ n - b ;
[0079] Step 102: For the rows and columns containing non-zero elements in the binary matrix H, use a binary array [ j ][ i Record it, among which j This indicates the position of the row containing the non-zero element. i This indicates the position of the column containing the non-zero element.
[0080] Example 3
[0081] Based on Example 2, step 2 in this example specifically involves reading the storage channel output sequence, denoted as r[ t An auxiliary sequence is constructed using the storage channel output sequence and the channel characteristics of the storage system. The auxiliary sequence includes... m +1 subsequences, where the subsequence f[ of part 0] t The length of ] is the length of the data bit sequence. n ;
[0082] (6)
[0083] No. b Partial subsequence w b [ t ],1≤ b ≤ m The length corresponds to the submatrix H b number of rows;
[0084] (7)
[0085] Where h[0]=1, and L takes the value of m - b and n - t The smaller of the two values;
[0086] The subsequence w1[t] of the first part, the... 2 Partial subsequences w2[t],…, m Partial subsequence w μ An auxiliary sequence consisting of [t] is denoted as w[t]. The length of the auxiliary sequence is equal to the number of rows in the binary matrix H.
[0087] Example 4
[0088] Based on Example 3, step 3 in this example specifically involves using the subsequence f[ of part 0]. t Combined with the auxiliary sequence w[t], estimate the storage data bit sequence x[t]. The estimation process is an iterative process. If the estimated storage data bit sequence x[t] satisfies the given constraint relationship or reaches the preset maximum number of iterations, the iteration process is terminated.
[0089] Example 5
[0090] Based on Example 4, the iterative process flow in this example is as follows: Figure 1 As shown, specifically,
[0091] Step 301, Initialization;
[0092] Step 302: Determine whether the constraint relationship is satisfied. If yes, end the iterative estimation process and exit the iterative process; otherwise, proceed to step 302.
[0093] Step 303, update array R;
[0094] Step 304, update array Q;
[0095] Step 305, update array g;
[0096] Step 306: Estimate the bit sequence of the stored data;
[0097] Step 307: Determine whether the preset maximum number of iterations has been reached. If yes, end the iterative estimation process and exit the iterative process. Otherwise, set k ← k + 1, go to step 303, and continue the iterative process.
[0098] Example 6
[0099] The data detection method in the disk storage system of the present invention is implemented according to the following steps:
[0100] Step 1: Construct a set of binary matrices using the channel characteristics of the storage system, and record the positions of the non-zero elements in the binary matrices;
[0101] Step 101, set the length of the stored data bit sequence to be...n The sequence length of the channel characteristics of the storage system is m The sequence values are h[1], h[2], ..., h[μ]. During data detection, m Given all sequence parameters, construct a binary matrix H, which includes several submatrices, H1, H2, …, H… μ The number of sub-matrices corresponds to the sequence length of the channel characteristics of the storage system. m Each row of each submatrix contains two 1s, and the remaining elements are 0s;
[0102] (1)
[0103] Wherein, submatrix H b The dimension is ( n - b )× n ,1≤ b ≤ m Then the first k The two 1s in the row are respectively located in the first row. k Column and number k + b Column, 1≤ k ≤ n - b .
[0104] When the length of the stored data bit sequence n The sequence length of the storage system channel characteristics is 8. m When the value is 3, the submatrices are respectively;
[0105] (2)
[0106] (3)
[0107] (4)
[0108] The constructed binary matrix H is:
[0109] (5).
[0110] Step 102: For the rows and columns containing non-zero elements in the binary matrix H, use a binary array [ j ][ i Record it, among which j This indicates the position of the row containing the non-zero element. iThe position of the non-zero element is the column position. According to formula (5), the positions of the non-zero elements in the first row of the binary matrix H are [1][1] and [1][2], and the positions of the non-zero elements in the second row are [2][2] and [2][3]. The positions of the non-zero elements in the other rows of the binary matrix H are recorded one by one.
[0111] Step 2: Read the stored channel output sequence and construct an auxiliary sequence;
[0112] Step 2 specifically involves reading the stored channel output sequence, denoted as r[ t An auxiliary sequence is constructed using the storage channel output sequence and the channel characteristics of the storage system. The auxiliary sequence includes... m +1 subsequences, where the subsequence f[ of part 0] t The length of ] is the length of the data bit sequence. n ;
[0113] (6)
[0114] No. b Partial subsequence w b [ t ],1≤ b ≤ m The length corresponds to the submatrix H b number of rows;
[0115] (7)
[0116] Where h[0]=1, and L takes the value of m - b and n - t The smaller of the two values.
[0117] The subsequence w1[t] of the first part, the... 2 Partial subsequences w2[t],…, m Partial subsequence w μ An auxiliary sequence consisting of [t] is denoted as w[t]. The length of the auxiliary sequence is equal to the number of rows in the binary matrix H.
[0118] When the length of the stored data bit sequence n The sequence length of the storage system channel characteristics is 8. m When h is 3, assuming h[1]=1, h[2]=-1, h[3]=-1, then we have:
[0119] f[t]=r[t]+r[t+1]-r[t+2]-r[t+3](8)
[0120] (9)
[0121] (10)
[0122] (11)
[0123] Let w1[t], w2[t], ..., w μ The auxiliary sequence composed of [t] is denoted as w[t].
[0124] Step 3: Iteratively estimate the stored data bit sequence and output the estimation result.
[0125] Step 3 specifically involves using the subsequence f[ of part 0]. t Combined with the auxiliary sequence w[t], the storage data bit sequence x[t] is estimated. The estimation process is an iterative process. If the estimated storage data bit sequence x[t] satisfies the given constraint relationship or reaches the preset maximum number of iterations, the iterative process is terminated.
[0126] Step 301, Initialize settings k =0, set the maximum number of iterations K max K max =50, set x (0) [t] represents the initial value of the stored data bit sequence. If the subsequence f[ of the 0th part...] t If x > 0, then x (0) [t] = +1; otherwise x (0) [t] = -1; then initialize three arrays g, Q, and R respectively, g[t] = 0, Q[j][i] = f[i], R[j][i] = 0, and the length of array g[t] is 1. n The number of rows in arrays Q and R is equal to the number of rows in the binary matrix H, and the values in arrays Q and R correspond to the non-zero elements of matrix H.
[0127] Step 302: Determine whether the constraint relationship is satisfied;
[0128] Constraint relationship y b [t] is;
[0129] y b [t]= x (k) [t] x (k) [tj](12)
[0130] judge;
[0131] 1≤ j ≤ m (13)
[0132] j +1≤t ≤ n (14)
[0133] If both (13) and (14) are satisfied, the constraint relationship holds. b [t]=+1, if the t-th b Partial subsequence w b [ t If ]>0, then exit the iteration process;
[0134] If (13) and (14) are not satisfied simultaneously, the constraint relationship is not valid. b If [t] = -1, then the constraint relationship is not satisfied;
[0135] Step 303, update array R;
[0136] R[j][i]=min(Q[j][i ],w[j])(15)
[0137] Where min represents the minimum value, Q[j][i] ] is the value of the element in the j-th row of array Q, excluding Q[j][i].
[0138] Step 304, update array Q;
[0139] (16)
[0140] Where M(i) includes the row containing all non-zero elements in the i-th column of the binary matrix H.
[0141] Step 305, update array g;
[0142] (17)
[0143] Step 306: Estimate the bit sequence of the stored data;
[0144] If the array g[i] is updated to > 0, then x (k+1) [i] = +1; otherwise x (k+1) [i]=-1, at this time, the initial value of the stored data bit sequence is x. (k+1) [t].
[0145] Step 307: Determine whether the preset maximum number of iterations has been reached;
[0146] Determine if k=K max If the condition is met, exit the iteration process; otherwise, set k ← k + 1, go to step 303, and continue the iteration process.
[0147] To verify the data detection method in the disk storage system of this invention, two typical storage channel models were selected for verification. For each channel model, the bit error rate (BER) detection performance under different signal-to-noise ratio (SNR) conditions was evaluated. Figure 2 As shown, the sequence describing the channel characteristics has a length of 4, and its values are h[1]=1, h[2]=1, h[3]=-1, h[4]=-1. The curves in the figure... Curve + represents the BER performance of the traditional grid graph method, while curve + represents the BER performance of the proposed data detection method in the disk storage system. The proposed data detection method shows minimal performance degradation compared to the traditional method. Figure 3 As shown, the sequence describing the channel characteristics has a length of 5, and its values are h[1]=1, h[2]=2, h[3]=0, h[4]=-2, h[5]=-1. The curves in the figure... Curve + represents the BER performance of the traditional grid graph method, while curve + represents the BER performance of the proposed data detection method in the disk storage system. The proposed data detection method in the disk storage system does not significantly reduce the data detection performance compared to the traditional method, thus solving the problems of high complexity and poor practicality of existing data detection methods and improving the efficiency and practicality of the detection process.
Claims
1. A data detection method in a disk storage system, characterized in that, The specific steps are as follows: Step 1: Construct a set of binary matrices using the channel characteristics of the storage system, and record the positions of the non-zero elements in the binary matrices; Step 2: Read the stored channel output sequence and construct an auxiliary sequence; Step 3: Iteratively estimate the stored data bit sequence and output the estimation result; Step 1 specifically involves: Step 101, set the length of the stored data bit sequence to be... n The sequence length of the channel characteristics of the storage system is μ The sequence values are h[1], h[2], ..., h[μ]. During data detection, μ Given that all sequence values are known, construct a binary matrix H, which includes several submatrices, H1, H2, …, H… μ The number of sub-matrices corresponds to the sequence length of the channel characteristics of the storage system. μ Each row of each submatrix contains two 1s, and the remaining elements are 0s; (1) Wherein, submatrix H b The dimension is ( n - b )× n ,1≤ b ≤ μ Then the first k The two 1s in the row are respectively located in the first row. k Column and number k + b Column, 1≤ k ≤ n - b ; Step 102: For the rows and columns containing non-zero elements in the binary matrix H, use a binary array [ j ][ i Record it, among which j This indicates the position of the row containing the non-zero element. i This indicates the column position of the non-zero element; Step 2 specifically involves reading the stored channel output sequence, denoted as r[ t An auxiliary sequence is constructed using the storage channel output sequence and the channel characteristics of the storage system. The auxiliary sequence includes... μ +1 subsequences, where the subsequence f[ of part 0] t The length of ] is the length of the data bit sequence. n ; (6) No. b Partial subsequence w b [ t ],1≤ b ≤ μ The length corresponds to the submatrix H b number of rows; (7) Where h[0]=1, and L takes the value of μ - b and n - t The smaller of the two values; Let the subsequences of the first part be w1[t], the subsequences of the second part be w2[t], ..., the subsequences of the third part be w1[t], w2[t], ..., the subsequences of the fourth part be w1[t], w2[t], ..., the subsequences of the fifth part be w1[t], w2[t], ..., the subsequences of the sixth part be w1[t μ Partial subsequence w μ An auxiliary sequence consisting of [t] is denoted as w[t]. The length of the auxiliary sequence is equal to the number of rows in the binary matrix H.
2. The data detection method in a disk storage system according to claim 1, characterized in that, Step 3 specifically involves using the subsequence f[ of part 0]. t Combine the auxiliary sequence w[t] to estimate the storage data ratio of the sequence x[t]. The estimation process is an iterative process. If the estimated storage data bit sequence x[t] satisfies the given constraints or reaches the preset maximum number of iterations, the iterative process terminates.
3. The data detection method in a disk storage system according to claim 2, characterized in that, The iterative process is as follows: Step 301, Initialization; Step 302: Determine whether the constraint relationship is satisfied. If yes, end the iterative estimation process and exit the iterative process; otherwise, proceed to step 302. Step 303, update array R; Step 304, update array Q; Step 305, update array g; Step 306: Estimate the bit sequence of the stored data; Step 307: Determine whether the preset maximum number of iterations has been reached. If yes, end the iterative estimation process and exit the iterative process. Otherwise, set k ← k + 1, go to step 303, and continue the iterative process.
4. The data detection method in a disk storage system according to claim 3, characterized in that, The iterative process is as follows: Step 301, Initialize settings k =0, set the maximum number of iterations K max K max =50, set x (0) [t] is the initial value of the stored data bit sequence. If the subsequence f[ of the 0th part...] t If x > 0, then x (0) [t] = +1; otherwise x (0) [t] = -1; then initialize three arrays g, Q, and R respectively, g[t] = 0, Q[j][i] = f[i], R[j][i] = 0, and the length of array g[t] is 1. n The number of rows in arrays Q and R is equal to the number of rows in the binary matrix H, and the values in arrays Q and R correspond to the non-zero elements of matrix H. Step 302: Determine whether the constraint relationship is satisfied; Constraint relationship y b [t] is; y b [t]= x (k) [t] x (k) [t-j](12) judge; 1≤ j ≤ μ (13) j +1≤ t ≤ n (14) If both (13) and (14) are satisfied, the constraint relationship holds. b [t]=+1, if the t-th b Partial subsequence w b [ t If ]>0, then exit the iteration process; If (13) and (14) are not satisfied simultaneously, the constraint relationship is not valid. b If [t] = -1, then the constraint relationship is not satisfied; Step 303, update array R; R[j][i]=min(Q[j][i ],w[j])(15) Where min represents the minimum value, Q[j][i] [] is the value of the element in the j-th row of array Q, excluding Q[j][i]. Step 304, update array Q; (16) Where M(i) includes the row containing all non-zero elements in the i-th column of the binary matrix H; Step 305, update array g; (17) Step 306: Estimate the bit sequence of the stored data; If the array g[i] is updated to > 0, then x (k+1) [i] = +1; otherwise x (k+1) [i]=-1, at this time, the initial value of the stored data bit sequence is x. (k+1) [t]; Step 307: Determine whether the preset maximum number of iterations has been reached; Determine if k=K max If the condition is met, exit the iteration process; otherwise, set k ← k + 1, go to step 303, and continue the iteration process.
5. The data detection method in a disk storage system according to claim 1, characterized in that, In step 1, when the length of the stored data bit sequence... n The sequence length of the storage system channel characteristics is 8. μ When the value is 3, the submatrices are as follows: (2) (3) (4) The constructed binary matrix H is: (5)。 6. The data detection method in a disk storage system according to claim 1, characterized in that, In step 2, when the length of the stored data bit sequence... n The sequence length of the storage system channel characteristics is 8. μ When h is 3, assuming h[1]=1, h[2]=-1, h[3]=-1, then we have: f[t]=r[t]+r[t+1]-r[t+2]-r[t+3](8) (9) (10) (11) Let w1[t], w2[t], ..., w μ The auxiliary sequence composed of [t] is denoted as w[t].
Citation Information
Patent Citations
Coding auxiliary blind frame synchronization method and system based on maximum value detection
CN115664430A
Error correction decoding method and device for low-density parity check codes
CN116318178A