Data randomization device and method and solid state disk

By combining cascaded linear feedback shift registers and error correction encoders, random interference is generated and data accuracy is ensured, solving the problems of poor data randomization effect and high cost, and improving the data reliability of storage devices.

CN120631310APending Publication Date: 2025-09-12JINAN MAIWEI INTELLIGENT TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510795476.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-13
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

The existing technology lacks mature data randomization equipment, resulting in poor data randomization effect and high cost, and cannot effectively improve the reliability of data in storage devices.

Method used

By using multiple cascaded linear feedback shift registers, random interference is generated through the input seed of the data to be written and the clock signal of the data transmission bus to form data randomization processing, and combined with an error correction encoder to ensure data accuracy.

Benefits of technology

The data randomization effect is significantly improved, the data reliability in the storage device is improved, and the cost is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120631310A_ABST
    Figure CN120631310A_ABST
Patent Text Reader

Abstract

The invention discloses data randomization equipment, a data randomization method and a solid state disk, belongs to the field of data randomization, and aims to solve the problem that linear feedback shift registers are low in cost and the randomness of obtained random interference can be improved through cascaded linear feedback shift registers. Therefore, a scrambling module in the data randomization equipment comprises a plurality of cascaded linear feedback shift registers, and the cascaded linear feedback shift registers can output M-bit random interference through each bit output channel according to an input seed of data to be written and a clock signal of a data transmission bus; the random interference is generated through the multi-stage cascaded linear feedback shift registers, so that the randomness of the generated random interference can be greatly improved, the data randomization effect is improved, and the implementation cost is relatively low.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data randomization, and in particular to a data randomization device, method and solid-state hard disk. Background Art

[0002] In some storage devices, the increase in flash memory density has resulted in shorter and shorter spacing between storage cells, causing more severe interference and posing a challenge to data reliability. Data randomization technology can perturb the data to be written to the storage device, making the 0 / 1 distribution of the data to be written in the storage device more uniform, thereby reducing interference between data and improving data reliability. However, the related technology lacks a mature data randomization device, resulting in high costs and poor randomization effects.

[0003] Therefore, how to provide a solution to the above technical problems is a problem that those skilled in the art need to solve at present. Summary of the Invention

[0004] The object of the present invention is to provide a data randomization device, method, and solid-state hard disk. The scrambling module in the data randomization device of the present invention includes multiple cascaded linear feedback shift registers. The multiple cascaded linear feedback shift registers can output M bits of random interference through each bit output channel based on the input seed of the data to be written and the clock signal of the data transmission bus. Since the random interference is generated by the multiple stages of cascaded linear feedback shift registers, the randomness of the generated random interference can be greatly improved, thereby improving the data randomization effect, and the implementation cost is relatively low.

[0005] To solve the above technical problems, the present invention provides a data randomization device, including a processing module and a scrambling module:

[0006] a processing module, configured to determine, for data to be written into the storage device, an input seed of the data to be written, and input the input seed into the scrambling module, wherein the input seed is an N-bit binary number, where N is the number of bits of the first linear feedback shift register;

[0007] The scrambling module includes a plurality of cascaded linear feedback shift registers and M bit output channels, where M is the bit width of a data transmission bus, which is a bus that transmits the data to be written to a storage device. The first end of the bit output channel is connected one-to-one to a data bit of an output register, which is a linear feedback shift register at the end of the cascaded plurality of linear feedback shift registers. The second end of the bit output channel is connected one-to-one to a transmission line in the data transmission bus.

[0008] The plurality of cascaded linear feedback shift registers are used to output M bits of random interference through each bit output channel according to the input seed of the data to be written and the clock signal of the data transmission bus.

[0009] On the other hand, the processing module is specifically configured to:

[0010] For any physical page to be written into the storage device, determining an input seed of the physical page to be written into, and inputting the input seed into a scrambling module;

[0011] The cascaded plurality of linear feedback shift registers include a first linear feedback shift register and a second linear feedback shift register;

[0012] The first linear feedback shift register is configured to be initialized with the input seed of the physical page to be written, and to update its own value when the data frame currently being written to the storage device in the physical page to be written switches;

[0013] The second linear feedback shift register is used to be initialized with the real-time value of the first linear feedback shift register, and to update its own value under the triggering of the clock signal of the data transmission bus, and output the data on its corresponding bit through each bit output channel.

[0014] On the other hand, for any physical page to be written into the storage device, determining the input seed of the physical page to be written into includes:

[0015] For any physical page to be written to the storage device, select an initial seed for the physical page to be written from the seed query table;

[0016] Selecting a perturbation for the physical page to be written from a perturbation lookup table;

[0017] The XOR result of the initial seed and the disturbance is used as the input seed to be written into the physical page.

[0018] On the other hand, for any physical page to be written to the storage device, selecting an initial seed for the physical page to be written from the seed lookup table includes:

[0019] For any physical page to be written in the storage device, an initial seed is selected from the seed lookup table according to the page address of the physical page to be written, the number of erase / write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table.

[0020] On the other hand, for any physical page to be written in the storage device, selecting an initial seed for the physical page to be written from the seed lookup table according to the page address of the physical page to be written, the number of erase / write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table includes:

[0021] For any physical page to be written to the storage device, an initial seed is selected from the seed lookup table for the physical page to be written according to the page address of the physical page to be written, the number of erase / write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table, and a first index value of the seed lookup table is determined by a first relational expression;

[0022] Selecting an initial seed for the physical page to be written from a seed lookup table using a first index value;

[0023] The first relation includes:

[0024] ;

[0025] Among them, index seed is the first index value, mod is the modulus operation, PageAddr is the page address of the physical page to be written, PEcycle is the number of erase and write cycles of the flash memory block where the physical page to be written is located, and X is the number of initial seeds in the seed lookup table.

[0026] On the other hand, selecting a perturbation for a physical page to be written from the perturbation lookup table includes:

[0027] A perturbation is selected for the physical page to be written according to the page address of the physical page to be written and the number of perturbations in the perturbation lookup table.

[0028] On the other hand, selecting a perturbation for the physical page to be written according to the page address of the physical page to be written and the number of perturbations in the perturbation lookup table includes:

[0029] Determine a second index value of the disturbance lookup table using a second relational expression according to the page address of the physical page to be written and the number of disturbances in the disturbance lookup table;

[0030] Selecting a perturbation for the physical page to be written from the perturbation lookup table according to the second index value;

[0031] The second relationship includes:

[0032] ;

[0033] Among them, index agitation is the second index value, Quotient is the quotient operation, PageAddr is the page address of the physical page to be written, and Y is the number of disturbances in the disturbance lookup table.

[0034] On the other hand, the storage device is a storage device based on NAND flash memory technology;

[0035] The value of N is greater than the value of M.

[0036] To solve the above technical problems, the present invention further provides a data randomization method for implementing the content executed by the processing module in the above data randomization device.

[0037] To solve the above technical problems, the present invention further provides a solid-state hard disk, comprising a storage device and the above-mentioned data randomization device connected to the storage device.

[0038] Beneficial effects: The present invention provides a data randomization device. Considering that the cost of a linear feedback shift register is low and the randomness of the random interference obtained can be improved by cascading linear feedback shift registers, the scrambling module in the data randomization device of the present invention includes a plurality of cascaded linear feedback shift registers. The plurality of cascaded linear feedback shift registers can output M bits of random interference through each bit output channel according to the input seed of the data to be written and the clock signal of the data transmission bus; since the random interference is generated by the multi-stage cascaded linear feedback shift registers, the randomness of the generated random interference can be greatly improved, thereby improving the data randomization effect, and the implementation cost is low.

[0039] The present invention also provides a data randomization method and a solid-state hard disk, which have the same beneficial effects as the above data randomization device. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the relevant technologies and the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0041] Figure 1 A schematic structural diagram of a data randomization device provided by the present invention;

[0042] Figure 2 A schematic structural diagram of a scrambling module provided by the present invention;

[0043] Figure 3 A schematic flow chart of a data randomization method provided by the present invention;

[0044] Figure 4 A schematic diagram of a process for determining an input seed provided by the present invention;

[0045] Figure 5 This is a structural schematic diagram of a solid-state hard disk provided by the present invention. DETAILED DESCRIPTION

[0046] The core of the present invention is to provide a data randomization device, method and solid-state hard disk. The scrambling module in the data randomization device of the present invention includes multiple cascaded linear feedback shift registers. The multiple cascaded linear feedback shift registers can output M bits of random interference through each bit output channel based on the input seed of the data to be written and the clock signal of the data transmission bus. Since the random interference is generated by multiple stages of cascaded linear feedback shift registers, the randomness of the generated random interference can be greatly improved, thereby improving the data randomization effect, and the implementation cost is relatively low.

[0047] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.

[0048] Please refer to Figure 1 , Figure 1 This is a structural diagram of a data randomization device provided by the present invention, which includes a processing module 1 and a scrambling module 2:

[0049] Processing module 1 is configured to determine an input seed of the data to be written to the storage device, and input the input seed to scrambling module 2, wherein the input seed is an N-bit binary number, where N is the number of bits of the first linear feedback shift register;

[0050] The scrambling module 2 includes a plurality of cascaded linear feedback shift registers 21 and M bit output channels 22, where M is the bit width of the data transmission bus, which is a bus that transmits the data to be written to the storage device. The first end of the bit output channel 22 is connected one-to-one to a data bit of the output register, which is the linear feedback shift register at the end of the cascaded plurality of linear feedback shift registers 21. The second end of the bit output channel 22 is connected one-to-one to a transmission line in the data transmission bus.

[0051] The cascaded multiple linear feedback shift registers 21 are used to output M bits of random interference through each bit output channel 22 according to the input seed of the data to be written and the clock signal of the data transmission bus.

[0052] Specifically, taking into account the technical problems in the above background technology, and considering that the cost of linear feedback shift registers is relatively low, and that the randomness of the random interference obtained can be improved by cascading linear feedback shift registers, the embodiment of the present invention intends to generate random interference through cascaded LSFRs (Linear Feedback Shift Registers) in combination with the input seed of the data to be written and the clock signal of the data transmission bus, and output M bits of random interference through each bit output channel 22, thereby performing data randomization processing on the data to be written.

[0053] Specifically, based on the above considerations, the data randomization device in the embodiment of the present invention includes a processing module 1 and a scrambling module 2. The processing module 1 can determine the input seed of the data to be written and input the input seed into the scrambling module 2. The number of bits of the input seed can be consistent with the number of bits of the cascaded LSFR; and the scrambling module 2 is composed of a plurality of cascaded linear feedback shift registers 21 and M bit output channels 22. The plurality of cascaded LSFRs can output M bits of random interference through each bit output channel 22 according to the input seed of the data to be written and the clock signal of the data transmission bus. It is precisely because the plurality of cascaded LSFRs can undergo multi-stage random interference iterations that the randomness of the final output random interference can be greatly improved, so that the data randomization effect is better, the reliability of the data in the storage device is improved, and the cost of the LSFR is low.

[0054] The present invention provides a data randomization device. Considering the low cost of linear feedback shift registers and the ability to improve the randomness of random interference generated by cascading linear feedback shift registers, a scrambling module in the data randomization device of the present invention includes multiple cascaded linear feedback shift registers. The multiple cascaded linear feedback shift registers can output M bits of random interference through each bit output channel based on an input seed of data to be written and a clock signal of a data transmission bus. Since random interference is generated by multiple stages of cascaded linear feedback shift registers, the randomness of the generated random interference can be significantly improved, thereby improving the data randomization effect and achieving low implementation cost.

[0055] Based on the above embodiment:

[0056] As an optional embodiment, the processing module 1 is specifically configured to:

[0057] For any physical page to be written into the storage device, determine the input seed of the physical page to be written into, and input the input seed into the scrambling module 2;

[0058] The cascaded plurality of linear feedback shift registers 21 include a first linear feedback shift register and a second linear feedback shift register;

[0059] A first linear feedback shift register is configured to be initialized with an input seed of the physical page to be written and to update its own value when a data frame currently being written to the storage device in the physical page to be written switches;

[0060] The second linear feedback shift register is used to be initialized with the real-time value of the first linear feedback shift register, and to update its own value under the triggering of the clock signal of the data transmission bus, and output the data on its corresponding bit through each bit output channel 22.

[0061] Specifically, to better illustrate the embodiments of the present invention, please refer to Figure 2 , Figure 2 This is a structural diagram of a scrambling module 2 provided by the present invention, which includes a first linear feedback shift register, a second linear feedback shift register, and M bit output channels 22 (including data transmission lines and XOR gates). The two LSFRs are composed of several flip-flops and XOR gates. The X of the first linear feedback shift register is 1 To X 32 The value of (the superscript here represents the serial number) is input into the second linear feedback shift register as a 32-bit seed. Figure 2 The value of N is 32, the value of M is 8, and the number of bit output channels 22 is 8. The 8 bit output channels 22 are respectively connected to the 2nd, 3rd, 5th, 6th, 9th, 12th, 13th and 17th data bits of the second linear feedback shift register, and transmit the values ​​of these data bits to the corresponding XOR gates; the input data [0:7] in the figure is the 8-bit data to be written on the data transmission bus, and the output data [0:7] is the 8-bit output data on the data transmission bus after data randomization.

[0062] The original polynomials of the first linear feedback shift register and the second linear feedback shift register can be set flexibly and autonomously. For example, the original polynomial of the first linear feedback shift register can be:

[0063] ;

[0064] The original polynomial of the second linear feedback shift register can be:

[0065] .

[0066] Specifically, in the embodiment of the present invention, the input seed can be generated in units of physical pages, that is, a single physical page uses the same input seed. When the same input seed is used, due to the presence of two cascaded linear feedback shift registers, the random interference superimposed on each data frame to be written into the physical page also has strong randomness. The specific scheme is as follows: the processing module 1 can determine the input seed of the physical page to be written for any physical page to be written into the storage device, and input the input seed into the scrambling module 2; the first linear feedback shift register can be initialized with the input seed of the physical page to be written, and when the data frame currently being written into the storage device in the physical page to be written switches, it updates its own value, that is, for the physical page to be written, the input seed of the physical page to be written is updated. When writing data in the same data frame within a physical page, the first linear feedback shift register does not undergo a state change. Instead, it undergoes a state change (updates its own value) when a data frame switch occurs. This state change can be triggered by another clock signal, which is not limited in this embodiment of the present invention. The second linear feedback shift register can be initialized with the real-time value of the first linear feedback shift register and, triggered by the clock signal of the data transmission bus, updates its own value and outputs the data at its corresponding bit through each bit output channel 22. That is, (triggered by the clock signal of the data transmission bus), when the write data on the data transmission bus changes, the second linear feedback shift register can perform a state update (i.e., shift).

[0067] Specifically, through the above method, a single input seed can be used for a single physical page, which reduces the number of input seeds used, reduces space occupation and calculation times, and saves resources.

[0068] Of course, in addition to this form, the size of the data unit corresponding to the input seed can also be flexibly set. For example, an input seed can be generated corresponding to a single data frame to be written, etc. This embodiment of the present invention does not limit this.

[0069] Specifically, to better illustrate the embodiments of the present invention, please refer to Figure 3 , Figure 3 This is a flow chart of a data randomization method provided by the present invention. The processing module 1 can generate an input seed, and the scrambling module 2 can obtain random interference based on the input seed and act on the data to be written to obtain scrambled data to be written. In order to prevent errors in the scrambled data to be written during long-term storage in a storage device, in an embodiment of the present invention, an error correction encoder can be used to perform error correction encoding on the scrambled data to be written to obtain error correction encoded data to be written, which is finally written to the storage device.

[0070] The data to be written may include original data and its metadata, or only original data, etc., which is not limited in the embodiment of the present invention. The metadata can help the hard disk firmware better maintain the reliability of the data. The specific content of the metadata can be flexibly set. For example, it may include the logical address, check code and NAND (NAND) characteristic data generated during the writing process (including temperature, voltage, P / E (Program / Erase Cycle) value during writing), etc., which is not limited in the embodiment of the present invention.

[0071] In another aspect, the data randomization device may further include an error correction encoder;

[0072] An error correction encoder, configured to perform error correction coding on the data to be written after scrambling (applying random interference), and write the error correction coded data to be written into a storage device;

[0073] The error correction decoder is used to perform error correction decoding on the data to be read out in the storage device to obtain the data to be read out, so as to obtain the original data to be read out after descrambling the data to be read out.

[0074] Specifically, considering that errors may occur during the long-term storage of the scrambled data to be written in the storage device, which not only causes data corruption but also reduces the data randomization effect, the accuracy of the data to be written in the storage device can be ensured by error correction coding. Therefore, in an embodiment of the present invention, the error correction encoder can be used to perform error correction coding on the scrambled (random interference applied) data to be written, and the error correction encoded data to be written is written to the storage device. Then, when the data needs to be read, the error correction decoder can be used to perform error correction decoding on the data to be read in the storage device to obtain the data to be read, so that the original data to be read can be obtained after the data to be read is descrambled, which is conducive to further improving data reliability.

[0075] As an optional embodiment, for any physical page to be written to a storage device, determining an input seed for the physical page to be written includes:

[0076] For any physical page to be written to the storage device, select an initial seed for the physical page to be written from the seed query table;

[0077] Selecting a perturbation for the physical page to be written from a perturbation lookup table;

[0078] The XOR result of the initial seed and the disturbance is used as the input seed of the physical page to be written.

[0079] Specifically, considering that directly storing a large number of input seeds for backup would occupy a large amount of storage space, a large number of input seeds in different forms can be obtained based on a smaller amount of data by combining data A (initial seed) and data B (disturbance). Therefore, in an embodiment of the present invention, "for any physical page to be written to the storage device, determining the input seed for the physical page to be written" includes: for any physical page to be written to the storage device, selecting an initial seed for the physical page to be written from a seed lookup table; selecting a disturbance for the physical page to be written from a disturbance lookup table; and using the XOR result of the initial seed and the disturbance as the input seed for the physical page to be written. By combining data A (initial seed) and data B (disturbance) in this manner, the amount of data storage can be greatly reduced while generating the same number of input seeds, thereby saving resources.

[0080] Of course, in addition to this specific method, "for any physical page to be written to the storage device, determining the input seed for the physical page to be written" can also be implemented in many other ways, which are not limited in the embodiment of the present invention.

[0081] As an optional embodiment, for any physical page to be written in the storage device, selecting an initial seed for the physical page to be written from the seed lookup table includes:

[0082] For any physical page to be written in the storage device, an initial seed is selected from the seed lookup table according to the page address of the physical page to be written, the number of erase / write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table.

[0083] Specifically, taking into account the three parameters of the page address of the physical page to be written, the number of erase and write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table, the initial seeds can be evenly selected from the seed lookup table, so as to better perform data randomization processing between "different physical pages" and "flash memory blocks with different erase and write times" and improve the data randomization effect.

[0084] Of course, in addition to these parameters, the initial seed for the physical page to be written may be selected from the seed query table based on other types of parameter combinations, which is not limited in this embodiment of the present invention.

[0085] As an optional embodiment, for any physical page to be written to the storage device, selecting an initial seed for the physical page to be written from the seed lookup table according to the page address of the physical page to be written, the number of erase / write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table includes:

[0086] For any physical page to be written to the storage device, an initial seed is selected from the seed lookup table for the physical page to be written according to the page address of the physical page to be written, the number of erase / write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table, and a first index value of the seed lookup table is determined by a first relational expression;

[0087] Selecting an initial seed for the physical page to be written from a seed lookup table using a first index value;

[0088] The first relation includes:

[0089] ;

[0090] Among them, index seed is the first index value, mod is the modulus operation, PageAddr is the page address of the physical page to be written, PEcycle is the number of erase and write cycles of the flash memory block where the physical page to be written is located, and X is the number of initial seeds in the seed lookup table.

[0091] Specifically, considering that through the first relationship formula above, the initial seeds can be cyclically selected from the seed query table for different physical pages to be written, and the number of erase and write times of the flash memory block where the physical page to be written is located can also be comprehensively considered, so as to better randomize data "between flash memory blocks with different erase and write times", further reduce data interference, and improve data reliability. Therefore, the first relationship formula in the embodiment of the present invention is designed in the above form.

[0092] Of course, in addition to the above specific forms, the first relational expression can also be in many other forms, which are not limited in the embodiments of the present invention.

[0093] As an optional embodiment, selecting a perturbation for a physical page to be written from a perturbation lookup table includes:

[0094] A perturbation is selected for the physical page to be written according to the page address of the physical page to be written and the number of perturbations in the perturbation lookup table.

[0095] Specifically, considering the comprehensive reference to the page address of the physical page to be written and the number of disturbances in the disturbance lookup table, disturbances can be evenly selected for different physical pages to be written from the disturbance lookup table. Therefore, in an embodiment of the present invention, disturbances can be selected for the physical page to be written according to the page address of the physical page to be written and the number of disturbances in the disturbance lookup table.

[0096] Of course, in addition to “the page address of the physical page to be written and the number of disturbances in the disturbance lookup table”, disturbances may be selected for the physical page to be written according to other parameters, which are not limited in the embodiment of the present invention.

[0097] As an optional embodiment, selecting a perturbation for the physical page to be written according to the page address of the physical page to be written and the number of perturbations in the perturbation lookup table includes:

[0098] Determine a second index value of the disturbance lookup table using a second relational expression according to the page address of the physical page to be written and the number of disturbances in the disturbance lookup table;

[0099] Selecting a perturbation for the physical page to be written from the perturbation lookup table according to the second index value;

[0100] The second relationship includes:

[0101] ;

[0102] Among them, index agitation is the second index value, Quotient is the quotient operation, PageAddr is the page address of the physical page to be written, and Y is the number of disturbances in the disturbance lookup table.

[0103] Specifically, to better illustrate the embodiments of the present invention, please refer to Figure 4 , Figure 4 This is a flow chart of determining an input seed provided by the present invention. The seed lookup table includes X 32-bit seeds, numbered 0 to X, and the perturbation lookup table includes Y 32-bit perturbations, numbered 0 to Y. The selection of the initial seed can refer to the page address of the physical page to be written and the number of erase and write times of the flash memory block in which it is located, while the selection of the perturbation can refer to the page address of the physical page to be written. Finally, the input seed can be obtained by XORing the initial seed and the perturbation.

[0104] The values ​​of X and Y can be flexibly set, for example, X can be 38, Y can be 95, etc., which is not limited in the embodiment of the present invention.

[0105] Specifically, considering that the second relationship above can be used to cyclically select perturbations for different batches of physical pages to be written from the perturbation lookup table, and each physical page in the same batch (the number is Y) can use the same perturbation, the selection logic is relatively simple, which can reduce the amount of calculation and save computing resources.

[0106] Of course, in addition to this specific form, the second relational expression may also be of many other types, which is not limited in the embodiment of the present invention.

[0107] As an optional embodiment, the bit output channel 22 includes a data transmission line and an XOR gate;

[0108] The first end of the data transmission line serves as the first end of the bit output channel 22, and the second end of the data transmission line is connected to the first input end of the XOR gate, which is arranged in a bit transmission line corresponding to the bit output channel 22 in the data transmission bus.

[0109] Specifically, the bit output channel 22 in the embodiment of the present invention can selectively transmit the data of one bit of the corresponding LSFR to the XOR gate of the "one bit transmission line corresponding to the bit output channel 22 in the data transmission bus", thereby performing an XOR operation on the data to be written on the bit transmission line and the "one bit data of the LSFR" through the XOR gate, thereby realizing random processing of the data, and the structure is simple and the cost is low.

[0110] Of course, in addition to this specific form, the bit output channel 22 may also be in other specific forms, which is not limited in the embodiment of the present invention.

[0111] As an optional embodiment, the storage device is a storage device based on NAND flash memory technology;

[0112] The value of N is greater than the value of M.

[0113] Specifically, considering that there is a relatively serious data interference problem in storage devices using NAND (NAND) flash memory technology, the storage device in the embodiment of the present invention can be a storage device based on NAND flash memory technology; considering that when the value of N is greater than the value of M, the data random effect can be further improved, the value of N in the embodiment of the present invention is greater than the value of M.

[0114] Among them, a single flash memory cell can be of multiple types, for example, it can be SLC (Single-Level Cell), TLC (Triple-Level Cell) or QLC (Quad-Level Cell), etc., which is not limited in the embodiment of the present invention.

[0115] Of course, in addition to storage devices based on NAND flash memory technology, the storage device can also be a storage device based on other flash memory technologies; the value of N can theoretically be equal to the value of M, which is not limited in the embodiments of the present invention.

[0116] The present invention also provides a data randomization method for implementing the contents executed by the processing module in the data randomization device in the aforementioned embodiment.

[0117] For an introduction to the data randomization method provided by an embodiment of the present invention, please refer to the aforementioned embodiment of the data randomization device, and the embodiment of the present invention will not be described in detail here.

[0118] The present invention also provides a computer program product, comprising a computer program / instruction, which, when executed by a processing module in a data randomization device, implements the steps of the data randomization method in the aforementioned embodiment.

[0119] For an introduction to the computer program product provided by an embodiment of the present invention, please refer to the aforementioned embodiment of the data randomization device, and the embodiment of the present invention will not be described in detail here. The present invention also provides a solid-state hard disk, including a storage device and the above-mentioned data randomization device connected to the storage device.

[0120] Specifically, to better illustrate the embodiments of the present invention, please refer to Figure 5 , Figure 5 This is a structural diagram of a solid-state drive provided by the present invention. The solid-state drive includes a data randomization device and a storage device. The data randomization device can be part of the processor of the solid-state drive. The data randomization device can be connected to the host to receive data read and write requests.

[0121] For an introduction to the solid-state hard disk provided by the embodiment of the present invention, please refer to the aforementioned embodiment of the data randomization device, and the embodiment of the present invention will not be described in detail here.

[0122] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the embodiments can be referred to each other. It should also be noted that in this specification, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or equipment. In the absence of further restrictions, the elements defined by the sentence "comprise a..." do not exclude the presence of other identical elements in the process, method, article or equipment including the element.

[0123] The above description of the disclosed embodiments is intended to enable one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention is not limited to the embodiments shown herein but is intended to conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data randomization device, characterized in that: Including processing module and scrambling module: a processing module, configured to determine, for data to be written into the storage device, an input seed of the data to be written, and input the input seed into the scrambling module, wherein the input seed is an N-bit binary number, where N is the number of bits of the first linear feedback shift register; The scrambling module includes a plurality of cascaded linear feedback shift registers and M bit output channels, where M is the bit width of a data transmission bus, which is a bus that transmits the data to be written to a storage device. The first end of the bit output channel is connected one-to-one to a data bit of an output register, which is a linear feedback shift register at the end of the cascaded plurality of linear feedback shift registers. The second end of the bit output channel is connected one-to-one to a transmission line in the data transmission bus. The plurality of cascaded linear feedback shift registers are used to output M bits of random interference through each bit output channel according to the input seed of the data to be written and the clock signal of the data transmission bus.

2. The data randomization device according to claim 1, characterized in that The processing module is specifically used for: For any physical page to be written into the storage device, determining an input seed of the physical page to be written into, and inputting the input seed into a scrambling module; The cascaded plurality of linear feedback shift registers include a first linear feedback shift register and a second linear feedback shift register; The first linear feedback shift register is configured to be initialized with the input seed of the physical page to be written, and to update its own value when the data frame currently being written to the storage device in the physical page to be written switches; The second linear feedback shift register is used to be initialized with the real-time value of the first linear feedback shift register, and to update its own value under the triggering of the clock signal of the data transmission bus, and output the data on its corresponding bit through each bit output channel.

3. The data randomization device according to claim 2, characterized in that For any physical page to be written into the storage device, determining the input seed of the physical page to be written into includes: For any physical page to be written to the storage device, select an initial seed for the physical page to be written from the seed query table; Selecting a perturbation for the physical page to be written from a perturbation lookup table; The XOR result of the initial seed and the disturbance is used as the input seed to be written into the physical page.

4. The data randomization device according to claim 3, characterized in that For any physical page to be written to the storage device, selecting an initial seed for the physical page to be written from the seed lookup table includes: For any physical page to be written in the storage device, an initial seed is selected from the seed lookup table according to the page address of the physical page to be written, the number of erase / write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table.

5. The data randomization device according to claim 4, characterized in that For any physical page to be written in the storage device, selecting an initial seed for the physical page to be written from the seed lookup table according to the page address of the physical page to be written, the number of erase / write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table includes: For any physical page to be written to the storage device, an initial seed is selected from the seed lookup table for the physical page to be written according to the page address of the physical page to be written, the number of erase / write times of the flash memory block where the physical page to be written is located, and the number of initial seeds in the seed lookup table, and a first index value of the seed lookup table is determined by a first relational expression; Selecting an initial seed for the physical page to be written from a seed lookup table using a first index value; The first relation includes: ; Among them, index seed is the first index value, mod is the modulus operation, PageAddr is the page address of the physical page to be written, PEcycle is the number of erase and write cycles of the flash memory block where the physical page to be written is located, and X is the number of initial seeds in the seed lookup table.

6. The data randomization device according to claim 3, characterized in that Selecting a perturbation from the perturbation lookup table for the physical page to be written includes: A perturbation is selected for the physical page to be written according to the page address of the physical page to be written and the number of perturbations in the perturbation lookup table.

7. The data randomization device according to claim 6, characterized in that Selecting a perturbation for the physical page to be written according to the page address of the physical page to be written and the number of perturbations in the perturbation lookup table includes: Determine a second index value of the disturbance lookup table using a second relational expression according to the page address of the physical page to be written and the number of disturbances in the disturbance lookup table; Selecting a perturbation for the physical page to be written from the perturbation lookup table according to the second index value; The second relationship includes: ; Among them, index agitation is the second index value, Quotient is the quotient operation, PageAddr is the page address of the physical page to be written, and Y is the number of disturbances in the disturbance lookup table.

8. The data randomization device according to any one of claims 1 to 7, characterized in that: The storage device is a storage device based on NAND flash memory technology; The value of N is greater than the value of M.

9. A data randomization method, characterized in that: Used to implement the content executed by the processing module in the data randomization device according to any one of claims 1 to 8.

10. A solid state hard disk, characterized in that: The method comprises a storage device and a data randomization device according to any one of claims 1 to 8 connected to the storage device.