Method and device for improving data storage stability, storage control chip and storage medium
By generating a dedicated bad list for each block of the Flash memory and performing deduplication, the data stability problem in Flash storage is solved, improving the stability of data reading and writing and the utilization rate of storage capacity.
Patent Information
- Application Number
- CN202511018236.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-23
- Publication Date
- 2025-11-07
AI Technical Summary
The presence of bad pixels in Flash memory leads to frequent data writing errors, especially in low-quality Flash memory. Furthermore, the error correction performance of the memory controller chip is limited, making it impossible to effectively solve the problem of data storage stability.
Generate a dedicated bad list for each block, obtain bits through full disk read and write, determine the good or bad status of bit columns according to preset judgment rules, and store the dedicated bad list. Combine deduplication rules to optimize bad list management and reduce the risk of data errors.
It improves the stability of data read and write in Flash memory, reduces data storage errors, and enhances storage capacity utilization and management flexibility.
Smart Images

Figure CN120909514A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of Flash, in particular to a method and device for improving data storage stability, a storage control chip and a storage medium. BACKGROUND
[0002] Due to the physical structure characteristics of Flash, Flash is born with bad points, and as the number of uses increases, internal late bad points will also be generated. Bad points are bad bits, and when data is written to these bad points, level inversion will occur, that is, the wrong bit data is written. In order to solve this problem, a bad list (Bad Column Table) will be generated during the Flash production stage. The bad list records the location of the bad point, and when the Flash performs read and write operations, the bad list needs to be read and loaded in advance to complete the read and write of data with the help of the bad list.
[0003] In order to realize the unified management of the internal Flash, each Plane in the Flash will be configured with a common bad list, and the common bad list is only applicable to all Blocks under the current Plane. However, individual differences between Blocks and Pages cannot be avoided even under the same Plane, and if the common bad list is forcibly adapted, it is extremely likely to cause more error bits of the data stored in the Block, and this situation is particularly prominent in poor quality Flash. In addition, the error correction performance of the storage control chip has an upper limit, and for the storage control chip with weak error correction performance, the use of the common bad list may further cause more serious data storage stability problems. SUMMARY
[0004] The purpose of the present application is to overcome the deficiencies in the prior art, and to provide a method and device for improving data storage stability, a storage control chip and a storage medium, which can improve the data read and write stability of Flash.
[0005] The first aspect of the present application provides a method for improving data storage stability, comprising: performing full-disk read and write of Flash to obtain the bit of each Page in each Block; According to the bit of each Page in each Block, a predetermined judgment rule is used to judge the good and bad condition of each bit column in each Block, and a dedicated bad list of each Block is generated; store the dedicated bad list of each Block.
[0006] Further, in one of the preferred embodiments, after judging the good or bad condition of each bit column in each Block according to the bit of each Page in each Block and generating the exclusive bad list of each Block by using the preset judging rule, the method further comprises: deleting the exclusive bad list according to the preset deduplication rule, wherein the preset deduplication rule is to delete the repeated exclusive bad list; marking the Blocks with the same exclusive bad list with multiplexing marks.
[0007] Further, in one of the preferred embodiments, before deleting the exclusive bad list according to the preset deduplication rule, the method further comprises: reading the address of each Block; judging the Plane to which the Block belongs according to the address of each Block, and starting the deduplication processing of the exclusive bad list for the Blocks from the same Plane.
[0008] Further, in one of the preferred embodiments, the preset judging rule comprises: reading the bit under each bit column; calculating the proportion of good bits under each bit column; if the proportion is greater than or equal to a preset threshold, judging that the current bit column is a good bit column; otherwise, judging that the current bit column is a bad bit column.
[0009] The second aspect of the present application provides a device for improving the stability of data storage, comprising: a read-write module for performing full-disk read-write of a Flash to obtain the bit of each Page in each Block; a bad list generation module for judging the good or bad condition of each bit column in each Block according to the bit of each Page in each Block and generating the exclusive bad list of each Block by using a preset judging rule; a storage module for storing the exclusive bad list of each Block.
[0010] Further, in one of the preferred embodiments, the device further comprises: a deduplication module for deleting the exclusive bad list according to a preset deduplication rule, wherein the preset deduplication rule is to delete the repeated exclusive bad list; a marking module for marking the Blocks with the same exclusive bad list with multiplexing marks.
[0011] Further, in one of the preferred embodiments, further comprising: a reading module, configured to read the address of each Block; a location determining module, configured to determine the Plane to which each Block belongs according to the address of each Block, and enable the deduplication processing of the exclusive bad list for the Blocks from the same Plane.
[0012] Further, in one of the preferred embodiments, the preset determination rule comprises: reading the bit under each bit column; calculating the proportion of good bits under each bit column; if the proportion is greater than or equal to a preset threshold, determining that the current bit column is a good bit column; otherwise, determining that the current bit column is a bad bit column.
[0013] The third aspect of the present application provides a storage control chip, comprising the device for improving data storage stability as described above.
[0014] The fourth aspect of the present application provides a computer readable storage medium, characterized in that, storing executable code, when the executable code is executed by the processor of the electronic device, the processor executes the method for improving data storage stability as described above.
[0015] The technical solution of the present application comprises: performing full-disk read and write of the Flash to obtain the bit of each Page in each Block; determining the good and bad conditions of each bit column in each Block according to the bit of each Page in each Block by using a preset determination rule, and generating an exclusive bad list of each Block; and storing the exclusive bad list of each Block. By generating and storing the exclusive bad list of each Block, the read and write of data can be realized according to the exclusive bad list of each Block when performing the read and write operation of the Flash. Compared with the mode of adapting to the common bad list, the present application can well reduce the risk of more error bits of data, and improve the data read and write stability of the Flash. BRIEF DESCRIPTION OF DRAWINGS
[0016] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments. It should be understood that the following drawings only show some of the embodiments of the present application, and therefore should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.
[0017] Figure 1 is a flowchart of a method for improving data storage stability according to an embodiment of the present application; Figure 2 is a flowchart of a method for improving data storage stability according to another embodiment of the present application; Figure 3 is a flowchart of a method for improving data storage stability according to yet another embodiment of the present application; Figure 4 is a structural diagram of an apparatus for improving data storage stability according to an embodiment of the present application; Figure 5 is a structural diagram of an apparatus for improving data storage stability according to another embodiment of the present application; Figure 6 is a structural diagram of an apparatus for improving data storage stability according to yet another embodiment of the present application; Figure 7 is a structural diagram of a storage control chip according to an embodiment of the present application; Figure 8 is a structural diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0018] In order to facilitate the understanding of the present application, the related drawings will be used to describe the present application more fully. The drawings show the preferred embodiments of the present application. However, the present application can be realized in many different forms and is not limited to the embodiments described herein. On the contrary, these embodiments are provided to make the disclosure of the present application more thorough and comprehensive.
[0019] It should be noted that when an element is referred to as being "on" another element, it can be directly on the other element or there can be an intervening element. When an element is referred to as being "connected" to another element, it can be directly connected to the other element or intervening elements can be present. The terms "vertical", "horizontal", "left", "right", and the like as used herein are for the purpose of illustration only and are not intended to limit the present application.
[0020] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0021] In the related art, the public bad list is used to implement a systematic file for unified management of the Flash, and individual differences between the Block and the Page. If the public bad list is forcibly adapted, it is very likely to cause more error bits of the data stored in the Block, and this situation is particularly prominent in poor quality Flash. In addition, the error correction performance of the storage control chip has an upper limit, and for the storage control chip with weak error correction performance, the use of the public bad list may further cause more serious data storage stability problems.
[0022] Therefore, in order to solve the above technical problems, the application discloses a method for improving data storage stability, which can improve the data read-write stability of the Flash.
[0023] The technical scheme of the application is described in detail below with reference to the drawings.
[0024] Figure 1 A flowchart of a method for improving data storage stability in an embodiment of the application is shown.
[0025] Please refer to Figure 1 A method for improving data storage stability includes the following steps: Step S110, performing full-disk read-write of the Flash to obtain bit positions of each Page in each Block.
[0026] Nowadays, the main components of electronic storage products include Flash, a storage control chip, and a PCB. The Flash is used as a data medium, which is a "storage warehouse" for data. The storage control chip is used as an "administrator" of the Flash, which is responsible for processing communication interaction with the external host, controlling the Flash to perform data read-write functions, etc. The PCB is etched with electronic circuits, which is a "connection bridge" between the Flash and the storage control chip. It should be noted that before the electronic storage product is formally produced, it needs to go through the process of mass production. The above introduction is the hardware architecture of the electronic storage product, which is equivalent to the "human body". It does not have an "soul". The purpose of mass production is to give the electronic storage product a "soul".
[0027] The mass production is performed by full reading and writing of the Flash, first performing writing of the Flash, then reading the data written to the Flash, obtaining the internal physical structure information of the Flash (mainly the good and bad distribution position of the bit) by comparing the written data with the read data, generating a corresponding data file, and combining the pre-designed firmware code to formally produce a system capable of managing the Flash. The system for managing the Flash is stored in the Flash. When data reading and writing is needed, the storage control chip will initialize and read and load the system in the Flash. By relying on the system-level file provided by the system, the storage control chip can understand how to manage and control the Flash.
[0028] In addition, the internal architecture of the Flash is divided into levels, in turn, LUN (also known as DIE), Plane, Block, Page and Bit. LUN is the basic unit for receiving and executing Flash commands, Block is the smallest erase unit of Flash, Page is the read and write unit of Flash. Each Plane includes a plurality of Blocks, each Block includes a plurality of Pages, and each Page is composed of a plurality of Bits. Full reading and writing of the Flash is to obtain the good and bad condition of each Bit in the Flash in a full scan manner. The judgment method is that if the written data is "1" and the read data is "0", it means that the written data and the read data are different, and it is judged that the bit is a bad bit. If not, it is judged that the bit is a good bit. The present application can obtain the bit of each Page in each Block by full scan.
[0029] Step S120, according to the bit of each Page in each Block, a preset judgment rule is used to judge the good and bad condition of each bit column in each Block, and a dedicated bad list of each Block is generated.
[0030] It should be noted that in the present embodiment, the preset judgment rule can be as follows: reading the bits under each bit column; calculating the proportion of good bits under each bit column; if the proportion is greater than or equal to a preset threshold, it is determined that the current bit column is a good bit column; if not, it is determined that the current bit column is a bad bit column.
[0031] In order to better understand the principle of the preset judgment rule, please understand it in combination with the case. It is assumed that a certain Block of the Flash includes 10 Pages, Page0~9; each Page includes 4 bits, Bit0~3, as shown in Table 1:
[0032] Table 1 Firstly, in the firmware code design, each bit offset corresponding to the Page is allocated with one address line for management (becoming a bit column), as shown in Table 1, there are 4 bit columns, which are L0~L3. By reading the bits of each bit column, the proportion of good bits under each bit column is calculated (in this embodiment, "1" represents a good bit, and "0" represents a bad bit). For example, for the bit column L0, the total number of bits is 10, the number of good bits is 6, and the number of bad bits is 4, so the proportion of good bits of L0 is 60%; for the bit column L1, the total number of bits is 10, the number of good bits is 8, and the number of bad bits is 2, so the proportion of good bits of L0 is 80%; for the bit column L2, the total number of bits is 10, the number of good bits is 8, and the number of bad bits is 2, so the proportion of good bits of L2 is 80%; for the bit column L3, the total number of bits is 10, the number of good bits is 6, and the number of bad bits is 4, so the proportion of good bits of L3 is 60%. Finally, if the proportion is greater than or equal to a preset threshold (the preset threshold is pre-configured and can be configured according to the quality of the Flash, and in this embodiment, the preset threshold is 80%), it is determined that the current bit column is a good bit column; otherwise, it is determined that the current bit column is a bad bit column. Therefore, the exclusive bad list of the Block is obtained as 0110.
[0033] The determination method of the bit column is determined by the physical architecture characteristics of the Flash. In a certain Block, the bits at the same bit offset of different Pages will affect each other. If there are too many bad bits in the current bit column, the stability of other bits in the current bit column will be affected. Therefore, in consideration of data stability, these bits that may be affected need to be directly marked as bad to prevent these good bits from being affected by these bad bits, thereby causing serious data storage error problems.
[0034] As described above, by using the same preset determination rule for other Blocks of the Flash, the exclusive bad list of each Block in the Flash can be obtained. The exclusive bad list has a unique characteristic compared to the common bad list, that is, it cannot be adapted to all Blocks in the Flash to complete unified management. The exclusive bad list is only applicable to a certain Block.
[0035] Step S130, store the exclusive bad list of each Block.
[0036] It should be noted that in the embodiment, after obtaining the exclusive bad list of each block of the flash, the exclusive bad list of each block is stored. By generating and storing the exclusive bad list of each block, the data read and write can be realized according to the exclusive bad list of each block when the read and write operation of the flash is performed. Compared with the way of adapting the common bad list, the application can well reduce the risk of more error bits of data, and can improve the data read and write stability of the flash.
[0037] In addition, for the management mode of the common bad list, there are several thousands or even tens of thousands of blocks in most types of flash. The common bad list mode can save the data storage space of the flash to a certain extent, but this is a compromise for the stability of the flash. For the flash with low quality (i.e. Ink Die), this way is very easy to cause frequent data storage errors. And more importantly, for the blocks that do not adapt to the common bad list, these blocks will be "abandoned" and not used because they cannot adapt to the common bad list and cannot be centrally managed. In some extreme conditions, it may cause more discarded blocks of the flash and lose more data storage capacity. In addition, the error correction performance of the storage control chip has an upper limit (the error correction performance of most storage control chips is 72 Bit / 1K, i.e. correcting 72 bit error data per 1K byte). For the storage control chip with weak error correction performance, using the common bad list may further cause more serious data storage stability problems.
[0038] Further, considering that storing the exclusive bad list of each block will affect the storage capacity space of the flash, in the embodiment, the target capacity of the flash can be set in advance. If the flash can still reach the target capacity after production under the condition of using the exclusive bad list, then the exclusive bad list is used to manage each block of the flash. If the flash cannot reach the target capacity under the condition of using the exclusive bad list, then the common bad list is used to manage the flash. Through the above operation, the actual storage capacity space of the flash can be flexibly selected, and the flexibility of the storage solution is improved.
[0039] It should be noted that the generation of the common bad list can be as follows: reading and writing the bit of each page in each block under the current plane; calculating the good and bad number of bits under each bit column; generating the common bad list according to the good and bad number of bits under each bit column. It can be seen that the generation of the common bad list is not much different from the generation of the exclusive bad list in principle, only the dimensions are different. The generation of the common bad list is equivalent to merging the bit templates corresponding to all blocks under the current plane, and the common bad list obtained by merging can adapt to more blocks as much as possible, and the blocks that do not adapt are directly discarded and not used.
[0040] Figure 2 A flowchart of a method for improving data storage stability in another embodiment of the application is shown.
[0041] Please refer to Figure 2 A method for improving data storage stability, comprising the following steps: Step S210, performing full disk read and write of the Flash to obtain the bit of each page in each block.
[0042] The description of step S210 can be referred to step S110, which will not be repeated here.
[0043] Step S220, according to the bit of each page in each block, using a preset judgment rule to judge the good and bad situation of each bit column in each block, and generating an exclusive bad list for each block.
[0044] The description of step S220 can be referred to step S120, which will not be repeated here.
[0045] Step S230, according to the preset deduplication rule to the exclusive bad list, wherein the preset deduplication rule is to remove the repeated exclusive bad list.
[0046] It should be noted that since the exclusive bad list will occupy the data storage space of the Flash, in order to eliminate the influence of the space occupation of the exclusive bad list as much as possible, in this embodiment, the repeated exclusive bad list will also be removed, and only one exclusive bad list will be retained. The specific operation is to compare two exclusive bad lists, if they are the same, keep one; if not, keep both. In this way, blocks with the same exclusive bad list can share one, which can free up more space for the Flash to store other data, and can reduce the influence of the exclusive bad list on the storage space consumption to a certain extent.
[0047] Step S240, marking the blocks with the same exclusive bad list with a multiplexing mark.
[0048] It is to be noted that in this embodiment, in order to let Blocks with the same exclusive bad list share 1, these special Blocks are marked with a reuse mark. When the Flash needs to write data to these special Blocks, it will first read whether the Block has a reuse mark. Blocks with a reuse mark share the same exclusive bad list with some Blocks.
[0049] Step S250, store the exclusive bad list of each Block.
[0050] The description of this step S250 can be referred to step S130, which will not be repeated here.
[0051] Figure 3 The flowchart of the method for improving data storage stability in another embodiment of the application is shown.
[0052] Please refer to Figure 3 A method for improving data storage stability, comprising the following steps: Step S310, perform full-disk read-write of the Flash to obtain the bit of each Page in each Block.
[0053] The description of this step S310 can be referred to step S210, which will not be repeated here.
[0054] Step S320, according to the bit of each Page in each Block, using a preset judgment rule to judge the good and bad of each bit column in each Block, and generate an exclusive bad list for each Block.
[0055] The description of this step S320 can be referred to step S220, which will not be repeated here.
[0056] Step S330, read the address of each Block.
[0057] Step S340, according to the address of each Block, determine the Plane to which the Block belongs, and start the exclusive bad list deduplication processing for Blocks from the same Plane.
[0058] It should be noted that, as mentioned above, the internal architecture of the Flash is divided into levels, in order LUN (also known as DIE), Plane, Block, Page and Bit. The unified management of the Flash is based on the Plane level, and therefore, in this embodiment, the deduplication processing of the exclusive bad list is also based on the Plane level. By reading the address of the Block, the Plane to which the Block belongs is determined according to the address, and according to this operation, all Blocks of the Flash can be divided into their corresponding Planes, and the Blocks located in the same Plane are enabled for exclusive bad list deduplication processing, and the Blocks under different Planes do not need to be enabled for deduplication processing.
[0059] Step S350, according to the preset deduplication rule to the exclusive bad list, wherein the preset deduplication rule: remove the duplicate exclusive bad list.
[0060] The description of this step S350 is described with reference to step S230, which will not be repeated here.
[0061] Step S360, mark the Blocks with the same exclusive bad list with a multiplexing mark.
[0062] The description of this step S360 is described with reference to step S240, which will not be repeated here.
[0063] Step S370, store the exclusive bad list of each Block.
[0064] The description of this step S370 is described with reference to step S250, which will not be repeated here.
[0065] Corresponding to the method embodiments described above, the application discloses a device for improving data storage stability and corresponding embodiments.
[0066] Figure 4 The structure of the device for improving data storage stability in an embodiment of the present embodiment is shown.
[0067] Please refer to Figure 4 A device for improving data storage stability 400, comprising: a read-write module 410, a bad list generation module 420 and a storage module 430. Wherein: The read-write module 410 is used to perform full-disk read-write of the Flash, and obtain the bit of each Page in each Block.
[0068] The bad list generation module 420 is used to determine the good or bad condition of each bit column in each Block according to the bit of each Page in each Block, using a preset determination rule, and generate an exclusive bad list for each Block.
[0069] Further, in this embodiment, the preset determination rule can be executed in the following manner: reading the bit positions under each bit column; calculating the proportion of good bit positions under each bit column; if the proportion is greater than or equal to a preset threshold, determining that the current bit column is a good bit column; if not, determining that the current bit column is a bad bit column.
[0070] The storage module 430 is configured to store the exclusive bad list of each Block.
[0071] It should be noted that the method for improving data storage stability implemented by the device for improving data storage stability disclosed in this embodiment is the same as the above-mentioned embodiments, and thus will not be described in detail here. Alternatively, each module in this embodiment and the above-mentioned other operations or functions are respectively for implementing the method in the above-mentioned embodiments.
[0072] Figure 5 FIG. 6 shows a structural schematic diagram of the device for improving data storage stability in another embodiment of this embodiment.
[0073] Please refer to Figure 5 A device 400 for improving data storage stability, comprising: a read-write module 410, a bad list generation module 420, a deduplication module 440, a marking module 450, and a storage module 430. Wherein: the functions of the read-write module 410, the bad list generation module 420, and the storage module 430 please refer to Figure 4 will not be described here.
[0074] The deduplication module 440 is configured to remove duplicate exclusive bad lists according to a preset deduplication rule.
[0075] The marking module 450 is configured to mark Blocks with the same exclusive bad list with a multiplexing mark.
[0076] It should be noted that the method for improving data storage stability implemented by the device for improving data storage stability disclosed in this embodiment is the same as the above-mentioned embodiments, and thus will not be described in detail here. Alternatively, each module in this embodiment and the above-mentioned other operations or functions are respectively for implementing the method in the above-mentioned embodiments.
[0077] Figure 6 FIG. 6 shows a structural schematic diagram of the device for improving data storage stability in another embodiment of this embodiment.
[0078] Please refer to Figure 6An apparatus 400 for improving data storage stability, comprising: a read-write module 410, a bad list generation module 420, a read module 460, a location belonging module 470, a deduplication module 440, a marking module 450, and a storage module 430. The functions of the read-write module 410, the bad list generation module 420, the deduplication module 440, the marking module 450, and the storage module 430 are described above and will not be repeated here. Figure 5
[0079] The read module 460 is configured to read the address of each Block.
[0080] The location belonging module 470 is configured to determine the Plane to which each Block belongs according to the address of each Block, and enable the deduplication processing of the exclusive bad list for Blocks from the same Plane.
[0081] As shown in FIG. 7, a storage control chip 700 is provided. Figure 7 FIG. 7 shows a structure of the storage control chip 700.
[0082] Referring to FIG. 7, the storage control chip 700 comprises the apparatus 400 for improving data storage stability.
[0083] It should be noted that by generating and storing the exclusive bad list of each Block, the read-write operation of the Flash can be performed according to the exclusive bad list of each Block, which can reduce the risk of more error bits of data and improve the data read-write stability of the Flash.
[0084] Referring to FIG. 8, a computing electronic device 800 is provided. Figure 8 The computing electronic device 800 comprises a processor 810 and a memory 820.
[0085] The processor 810 can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0086] The general processor can be a microprocessor or the processor can also be any conventional processor. The memory 810 can include a variety of types of memory units, such as system memory, read-only memory (ROM), and permanent storage.
[0087] The ROM can store static data or instructions required by the processor 820 or other modules of the computer. The permanent storage can be a read-and-write memory device. The permanent storage can be a non-volatile storage device that does not lose stored instructions and data even if the computer is powered off. In some embodiments, the permanent storage employs a mass storage device (such as a magnetic or optical disk, flash memory) as the permanent storage.
[0088] In other embodiments, the permanent storage can be a removable storage device (such as a floppy disk, optical disk). The system memory can be a read-and-write memory device or a volatile read-and-write memory device, such as a dynamic random access memory. The system memory can store some or all of the instructions and data that the processor needs at runtime.
[0089] In addition, the memory 820 can include a combination of any computer readable storage media, including various types of semiconductor storage chips (such as DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), magnetic disks and / or optical disks can also be used.
[0090] In some embodiments, the memory 820 can include a read-and / or write removable storage device, such as a compact disc (CD), a read-only digital versatile disc (such as DVD-ROM, double-layer DVD-ROM), a read-only Blu-ray disc, an ultra-density optical disc, a flash memory card (such as an SD card, a min SD card, and a Micro-SD card, etc.), a magnetic floppy disk, etc. The computer readable storage medium does not include a carrier wave and an instantaneous electronic signal transmitted by wireless or wired transmission. The memory 820 stores executable code, which when processed by the processor 810, can cause the processor 810 to perform part or all of the above-mentioned methods.
[0091] In addition, the method according to the present application can also be implemented as a computer program or computer program product, which includes computer program code instructions for performing part or all of the steps of the above-mentioned methods of the present application.
[0092] Alternatively, the present application can also be implemented as a computer readable storage medium (or non-transitory machine readable storage medium or machine readable storage medium) on which an executable code (or computer program or computer instruction code) is stored, when the executable code (or computer program or computer instruction code) is executed by a processor of an electronic device (or a server, etc.), the processor executes part or all of the steps of the above-mentioned method according to the present application.
[0093] The above has described the embodiments of the present application, the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes are obvious to those skilled in the art without departing from the scope and spirit of the described embodiments. The selection of the terms used herein is intended to best explain the principles of the embodiments, practical application or improvement to the technology in the market, or to enable other ordinary skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for improving data storage stability, the method comprising: The method comprises the following steps: performing full-disk read and write of the Flash to obtain bit positions of each Page in each Block; judging good and bad conditions of each bit column in each Block according to the bit positions of each Page in each Block, and generating a dedicated bad list of each Block according to a preset judgment rule; storing the dedicated bad list of each Block.
2. The method for improving data storage stability of claim 1, wherein, After the step of judging good and bad conditions of each bit column in each Block according to the bit positions of each Page in each Block, and generating a dedicated bad list of each Block according to a preset judgment rule, the method further comprises the following steps: de-duplicating the dedicated bad list according to a preset de-duplication rule, wherein the preset de-duplication rule removes duplicate dedicated bad lists; marking Blocks with the same dedicated bad list as multiplexed.
3. The method for improving data storage stability of claim 2, wherein, Before the step of de-duplicating the dedicated bad list according to a preset de-duplication rule, the method further comprises the following steps: reading an address of each Block; judging a Plane to which the Block belongs according to the address of each Block, and starting de-duplication processing of the dedicated bad list for Blocks from the same Plane.
4. The method for improving data storage stability according to any one of claims 1 to 3, wherein, The preset judgment rule comprises the following steps: reading bit positions under each bit column; calculating a proportion of good bit positions under each bit column; if the proportion is greater than or equal to a preset threshold, determining that the current bit column is a good bit column; otherwise, determining that the current bit column is a bad bit column.
5. An apparatus for improving data storage stability, the apparatus comprising: The method comprises the following steps: a read-write module for performing full-disk read and write of the Flash to obtain bit positions of each Page in each Block; a bad list generation module for judging good and bad conditions of each bit column in each Block according to the bit positions of each Page in each Block, and generating a dedicated bad list of each Block according to a preset judgment rule; a storage module for storing the dedicated bad list of each Block.
6. The apparatus for improving data storage stability of claim 5, wherein, The method further comprises the following steps: a de-duplication module for de-duplicating the dedicated bad list according to a preset de-duplication rule, wherein the preset de-duplication rule removes duplicate dedicated bad lists; a marking module for marking Blocks with the same dedicated bad list as multiplexed.
7. The apparatus for improving data storage stability of claim 6, wherein, The method further comprises the following steps: a reading module for reading an address of each Block; a position belonging module for judging a Plane to which the Block belongs according to the address of each Block, and starting de-duplication processing of the dedicated bad list for Blocks from the same Plane.
8. The apparatus for improving data storage stability according to any one of claims 5 to 7, wherein, The preset judgment rule comprises the following steps: reading bit positions under each bit column; calculating a proportion of good bit positions under each bit column; if the proportion is greater than or equal to a preset threshold, determining that the current bit column is a good bit column; otherwise, determining that the current bit column is a bad bit column.
9. A memory control chip, comprising: The apparatus for improving data storage stability according to any one of claims 5-8.
10. A computer-readable storage medium, characterized in that, Executable code is stored, and when the executable code is executed by a processor of an electronic device, the processor executes the method for improving data storage stability according to any one of claims 1-4.
Citation Information
Patent Citations
Flash memory bad list compression method
CN108073473A
Data read-write method of memory and related equipment
CN112068781A
Flash memory device and flash memory control method
CN112540720A
Flash memory controller, storage device and reading method thereof
US20210034456A1
