CN113241112B - Bad block screening method and device, computer readable storage medium and electronic equipment - Google Patents

Bad block screening method and device, computer readable storage medium and electronic equipment Download PDF

Info

Publication number
CN113241112B
CN113241112B CN202110318394.5A CN202110318394A CN113241112B CN 113241112 B CN113241112 B CN 113241112B CN 202110318394 A CN202110318394 A CN 202110318394A CN 113241112 B CN113241112 B CN 113241112B
Authority
CN
China
Prior art keywords
bit
block
data
bad block
current page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110318394.5A
Other languages
Chinese (zh)
Other versions
CN113241112A (en
Inventor
孙成思
孙日欣
王营许
高嵊昊
胡伟
朱渝林
童海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Baiwei Storage Technology Co ltd
Original Assignee
Chengdu Baiwei Storage Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Baiwei Storage Technology Co ltd filed Critical Chengdu Baiwei Storage Technology Co ltd
Priority to CN202110318394.5A priority Critical patent/CN113241112B/en
Publication of CN113241112A publication Critical patent/CN113241112A/en
Application granted granted Critical
Publication of CN113241112B publication Critical patent/CN113241112B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56016Apparatus features
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C2029/5606Error catch memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application discloses a bad block screening method, a bad block screening device, a computer readable storage medium and electronic equipment, wherein original data of a current page of a block to be screened of a NAND flash memory are read for a plurality of times to obtain a first data set; obtaining a bit flip number set based on the first data set and standard original data; judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, if not, marking the block to be screened corresponding to the current page as a bad block, converting the probability of bit turning into a deterministic trend, judging the bad block based on the bit turning number set, effectively preventing the situation that the bit turning probability leads to missing the statistical bit turning number, and screening the bad block more accurately to avoid missing the bad block.

Description

Bad block screening method and device, computer readable storage medium and electronic equipment
Technical Field
The present application relates to the field of data storage, and in particular, to a bad block screening method, a bad block screening device, a computer readable storage medium, and an electronic device.
Background
NAND flash (NAND flash) granules require strict quality assessment and screening prior to mass production due to the existence of factory bad blocks and growth bad blocks. In general, the screening process includes erasing (erase), programming and reading of a NAND flash whole data space for several rounds, the block with error in erase, program is directly marked as a bad block, the bad block in the read process is more complex to screen, in general, the main control has a bit flip statistics function of a page, the particle quality corresponding to the page can be classified into a better class and a worse class by setting a lower bit flip comparison threshold before the read, the worse page can be further screened, the data comparison is performed with the standard raw data in a mode of reading the original data (raw data) of the page to obtain the real bit flip number, and then the bit flip threshold of the bad block is compared to determine whether the block where the current page is located is marked as the bad block; in addition, another bad block screening strategy of the read flow directly starts the read retry function and the deep read retry function, and directly marks the block where the page is located as a bad block for the page where the read fails. The bad block screening strategies of the two read flows are judged according to the single read result, and the probability of bit turning is considered, so that the bad block screening strategy can cause bad block screening omission.
Disclosure of Invention
The technical problems to be solved by the application are as follows: provided are a bad block screening method, a bad block screening device, a computer readable storage medium and an electronic device, which can screen bad blocks more accurately and avoid missing bad blocks.
In order to solve the technical problems, the application adopts a technical scheme that:
a bad block screening method comprises the following steps:
reading original data of a current page of a block to be screened of the NAND flash memory for multiple times to obtain a first data set;
obtaining a bit flip number set based on the first data set and standard original data;
judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, and if not, marking the block to be screened corresponding to the current page as a bad block.
In order to solve the technical problems, the application adopts another technical scheme that:
a bad block screening device comprising:
the data acquisition module is used for reading the original data of the current page of the block to be screened of the NAND flash memory for multiple times to obtain a first data set;
the bit turnover number counting module is used for obtaining a bit turnover number set based on the first data set and standard original data;
and the bad block screening module is used for judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, and if not, marking the block to be screened corresponding to the current page as a bad block.
In order to solve the technical problems, the application adopts another technical scheme that:
a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of the bad block screening method described above.
In order to solve the technical problems, the application adopts another technical scheme that:
an electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps in the bad block screening method described above when the computer program is executed.
The application has the beneficial effects that:
the original data of the current page of the block to be screened of the NAND flash memory is read for multiple times, a bit turning number set is finally obtained based on a reading result, whether the block to be screened is a bad block is judged based on the bit turning number set, unlike the prior art that the bad block is judged only according to a single reading result, the original data of the page is read for multiple times due to probability of bit turning, a bit turning accumulated data set is finally obtained, the probability of bit turning is converted into a deterministic trend, the bad block is judged based on the bit turning number set, the situation that the bit turning probability leads to missing of counting the bit turning number is effectively prevented, the bad block can be screened more accurately, and missing of the bad block is avoided.
Drawings
FIG. 1 is a flow chart of steps of a bad block screening method according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a bad block screening device according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
FIG. 4 is a diagram of a bit flip number set of a bad block screening method according to an embodiment of the present application;
FIG. 4 (a) is a drawing of a case where the bit flip count set is in a steady state and the bit flip bad block threshold is not exceeded in the bad block screening method according to the embodiment of the present application;
FIG. 4 (b) is a drawing of a case where the bit flip count set is in a steady state but exceeds the bit flip bad block threshold in the bad block screening method according to the embodiment of the present application;
FIG. 4 (c) is a drawing of a case where the bit flip count set is in a steady state but exceeds the bit flip bad block threshold in the bad block screening method according to the embodiment of the present application;
FIG. 4 (d) is a drawing of a case where the bit flip count set is in a divergent state and exceeds the bit flip bad block threshold in the bad block screening method according to the embodiment of the present application;
fig. 4 (e) is a schematic diagram of a case where the bit flip number set is in a divergent state and exceeds the bit flip bad block threshold in the bad block screening method according to the embodiment of the present application.
Detailed Description
In order to describe the technical contents, the achieved objects and effects of the present application in detail, the following description will be made with reference to the embodiments in conjunction with the accompanying drawings.
Referring to fig. 1, an embodiment of the present application provides a bad block screening method, including the steps of:
reading original data of a current page of a block to be screened of the NAND flash memory for multiple times to obtain a first data set;
obtaining a bit flip number set based on the first data set and standard original data;
judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, and if not, marking the block to be screened corresponding to the current page as a bad block.
From the above description, the beneficial effects of the application are as follows: the original data of the current page of the block to be screened of the NAND flash memory is read for multiple times, a bit turning number set is finally obtained based on a reading result, whether the block to be screened is a bad block is judged based on the bit turning number set, unlike the prior art that the bad block is judged only according to a single reading result, the original data of the page is read for multiple times due to probability of bit turning, a bit turning accumulated data set is finally obtained, the probability of bit turning is converted into a deterministic trend, the bad block is judged based on the bit turning number set, the situation that the bit turning probability leads to missing of counting the bit turning number is effectively prevented, the bad block can be screened more accurately, and missing of the bad block is avoided.
Further, before the reading of the original data of the current page of the block to be screened of the NAND flash memory for multiple times, the method further comprises the steps of:
traversing the NAND flash memory by taking the block as a unit until all blocks of the NAND flash memory are traversed;
traversing the traversed blocks to be screened by taking pages as units until all pages of the blocks to be screened are traversed;
and marking the traversed target page as a current page.
As can be seen from the above description, all pages of all blocks of the NAND flash memory are traversed, and the traversed target page is marked as a current page, so that bad block screening can be conveniently performed on the corresponding block, and undetected pages can be avoided.
Further, the method further comprises the steps of:
and generating standard original data according to a preset data scattering rule and the data template of the current page.
According to the description, according to the preset data scattering rule and the standard original data generated by the data template of the current page, the bit turning number set obtained later can be more accurate, so that the accuracy of the test is improved.
Further, the obtaining the bit flip number set based on the first data set and the standard original data includes:
performing exclusive OR operation on the first data set and the standard original data to obtain a second data set;
performing OR operation based on second data in the second data set to obtain a third data set;
and determining the number of bits 1 of each third data in the third data set to obtain a bit turning number set.
Further, performing an exclusive-or operation on the first data set and the standard original data to obtain a second data set includes:
the ith element Pi in the second data set is:
wherein Ai represents the i-th element in the first data set, B0 represents the standard original data, j represents the number of elements in the first data set,representing an exclusive or operation.
As can be seen from the above description, the first data set is xored with the standard original data to obtain the second data set, which can embody the position of bit flip in the first data set.
Further, the performing an or operation based on the second data in the second data set to obtain a third data set includes:
the kth element Wk in the third data set is:
wherein Pk represents the kth element in the second data set, h represents the number of elements in the second data set,representing or operations.
As can be seen from the above description, since the bit1 indicates that the current bit is flipped, the bit 0 indicates that the current bit is not flipped, and the third data set is obtained by performing an or operation based on the second data in the second data set, and then determining the number of the bit1 of each third data in the third data set, to obtain a bit flipped number set, so as to accurately obtain the accumulated bit flipped number of each reading in multiple readings.
Further, the determining whether the bit flip number set is in a stable state, if not, marking the block to be screened corresponding to the current page as a bad block includes:
acquiring the last preset number of bit turning numbers of the bit turning number set to obtain a target bit turning number set;
calculating the difference value of adjacent bit turnover numbers in the target bit turnover number set to obtain a plurality of bit turnover number difference values;
and judging whether the difference values of the number of the bit turnovers are smaller than a second preset threshold value, if yes, marking the block to be screened corresponding to the current page as a good block, and if not, marking the block to be screened corresponding to the current page as a bad block.
As can be seen from the above description, if the difference between the last preset number of bit flip numbers is smaller than the second preset threshold, the set of bit flip numbers can be considered to be stable, even if the original data of the page is read for multiple times, the bit flip numbers will not be increased, the probability of bit flip is converted into a deterministic trend, and the accuracy of bad block screening is improved.
Referring to fig. 2, another embodiment of the present application provides a bad block screening device, including:
the data acquisition module is used for reading the original data of the current page of the block to be screened of the NAND flash memory for multiple times to obtain a first data set;
the bit turnover number counting module is used for obtaining a bit turnover number set based on the first data set and standard original data;
and the bad block screening module is used for judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, and if not, marking the block to be screened corresponding to the current page as a bad block.
Another embodiment of the present application provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the bad block screening method described above.
Referring to fig. 3, another embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor, where the processor implements the steps of the bad block screening method when executing the computer program.
The bad block screening method, the device, the computer readable storage medium and the electronic equipment of the present application can be applied to bad block screening of any type of NAND flash memory, such as single-level cell (SLC), multi-level cell (MLC) and three-level cell (TLC), and the following description will be given by way of specific embodiments:
example 1
Referring to fig. 1, a bad block screening method of the present embodiment includes the steps of:
s0, traversing the NAND flash memory by taking the block as a unit until all blocks of the NAND flash memory are traversed;
traversing the traversed blocks to be screened by taking pages as units until all pages of the blocks to be screened are traversed;
marking the traversed target page as a current page;
s1, reading original data of a current page of a block to be screened of the NAND flash memory for multiple times to obtain a first data set;
the number of times of reading can be set according to actual situation requirements, and the number of times of reading is set to be 10 times in the embodiment;
specifically, reading raw data of a current page of a block to be screened of the NAND flash memory for 10 times to obtain a data set A, wherein the data set A comprises elements A1, A2, … and A10;
s2, generating standard original data according to a preset data scattering rule and a data template of a current page;
the preset data scattering rules are the data scattering rules of the current main control;
specifically, according to the current main control data scattering rule and the current page data template, generating standard original data B0;
s3, obtaining a bit turning number set based on the first data set and standard original data;
specifically, performing exclusive-or operation on the first data set and the standard original data to obtain a second data set;
wherein the ith element Pi in the second data set is:
wherein Ai represents the i-th element in the first data set, B0 represents the standard original data, j represents the number of elements in the first data set,representing an exclusive or operation;
specifically, the first data set a includes A1, A2, …, a10, and standard original data B0, which are xored to obtain a second data set P, including elements P1, P2, …, P10;
assuming a1=01101, a2=01010, a3=01110, b0=01100 in the first data set a, p1=a1B0=00001,P2=A2/>B0=00110,P3=A3/>B0=00010;
Performing OR operation based on second data in the second data set to obtain a third data set;
wherein a kth element Wk in the third data set is:
wherein Pk represents the kth element in the second data set, h represents the number of elements in the second data set,representing or calculating;
determining the number of bits 1 of each third data in the third data set to obtain a bit turning number set;
specifically, the third data set W includes elements W1, W2, …, W10, w1=p1, w2=p1P2,W3=P1/>P2/>P3, and so on;
determining the number of bit1 of each third data in the third data set W to obtain a bit flip number set D which comprises elements D1, D2, … and D10;
as described above, p1=00001, p2=00110, p3=00010, then w1=p1=00001, w2=p1P2=00111,W3=P1/>P2/>P3=00111, since the number of bit1 of W1 is 1, the number of bit1 of W2 is 3, and the number of bit1 of W3 is 3, d1=1, d2=3, d3=3;
the second data set P obtained by performing exclusive OR operation on the first data set A and standard original data represents the bit position where bit overturn occurs, the third data set W obtained by performing OR operation on the second data in the second data set P represents the bit position where bit overturn occurs in each reading accumulation, namely W1 represents the bit position where bit overturn occurs in the first reading accumulation, W2 represents the bit position where bit overturn occurs in the first reading accumulation, W3 represents the bit position where bit overturn occurs in the first three reading accumulation, and so on, and the number of bit1 of W1-W10 is respectively determined to obtain D1-D10, the bit overturn number set D represents the bit overturn number occurring in each reading accumulation, namely D1 represents the bit overturn number occurring in the first reading accumulation, D2 represents the bit overturn number occurring in the first reading accumulation and so on;
s4, judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, and if not, marking the block to be screened corresponding to the current page as a bad block.
Example two
Referring to fig. 1 and 4, the present embodiment further defines how to perform bad block screening based on the bit flip number set based on the first embodiment, specifically:
D1-D10 in the bit turning number set D is a group of sequentially increasing data, the difference value of the front value and the rear value is the newly increased bit turning number of raw data read for two times, the newly increased bit turning number represents the randomness of the bit turning of the particles, the size of each value in the bit turning number set D represents the bit turning number possibly occurring in the current particles, and the larger the value is, the more likely the ECC (Error Correcting Code, error checking and correcting) cannot be corrected;
as shown in fig. 4, the number of bit inversions (i.e. bit inversions accumulated count in fig. 4) is taken as an ordinate, the read number is taken as an abscissa, and several situations in fig. 4 may occur, the broken line in fig. 4 represents the number of bit inversions corresponding to 10 readings, and the straight line represents the bit inversions bad block threshold TH0, it can be seen that the number of bit inversions in fig. 4 (a), fig. 4 (b) and fig. 4 (c) gradually tends to be stable in the test number, and the number of bit inversions in fig. 4 (d) and fig. 4 (e) does not tend to be stable in the test number, and still tends to be increased;
therefore, in the case of only fig. 4 (a) where no bad block exists in fig. 4, there is, of course, another case where the number of bit flip does not tend to be stable in the number of tests, but does not exceed the bit flip bad block threshold TH0;
s4, judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, and if not, marking the block to be screened corresponding to the current page as a bad block;
in this embodiment, the first preset threshold is a bit flip bad block threshold TH0;
specifically, the determining whether the bit flip number set is in a stable state, if not, marking the block to be screened corresponding to the current page as a bad block includes:
acquiring the last preset number of bit turning numbers of the bit turning number set to obtain a target bit turning number set;
calculating the difference value of adjacent bit turnover numbers in the target bit turnover number set to obtain a plurality of bit turnover number difference values;
judging whether the difference values of the number of the bit turnovers are smaller than a second preset threshold value, if yes, marking the block to be screened corresponding to the current page as a good block, and if not, marking the block to be screened corresponding to the current page as a bad block;
the preset number can be set according to actual situation requirements, and in the embodiment, the preset number is 3;
specifically, judging whether the number of bit turning sets D Ren Yibi exceeds TH0, if yes, marking the block to be screened corresponding to the current page as a bad block, and if D8 and D9 exceed TH0, marking the block to be screened corresponding to the current page as a bad block; if not, acquiring the last 3 bit turnover numbers of the bit turnover number set D to obtain a target bit turnover number set, namely D8, D9 and D10;
respectively calculating the difference value of D8 and D9, and the difference value of D9 and D10 to obtain a plurality of bit flip number difference values, namely G1 and G2;
judging whether G1 and G2 are smaller than TH1, if yes, marking the block to be screened corresponding to the current page as a good block, if not, marking the block to be screened corresponding to the current page as a bad block, and if G1 is 10, G2 is 17 and TH1 is 15, marking the block to be screened corresponding to the current page as a bad block.
Example III
Referring to fig. 2, a bad block screening device includes:
the data acquisition module is used for reading the original data of the current page of the block to be screened of the NAND flash memory for multiple times to obtain a first data set;
the bit turnover number counting module is used for obtaining a bit turnover number set based on the first data set and standard original data;
and the bad block screening module is used for judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, and if not, marking the block to be screened corresponding to the current page as a bad block.
Example IV
A computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the bad block screening method of either embodiment one or embodiment two.
Example five
Referring to fig. 3, an electronic device includes a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor implements the steps of the bad block screening method in the first or second embodiments when executing the computer program.
In summary, according to the bad block screening method, the bad block screening device, the readable storage medium and the electronic equipment provided by the application, the NAND flash memory is traversed by taking the block as a unit until all blocks of the NAND flash memory are traversed, the traversed block to be screened is traversed by taking the page as a unit until all pages of the block to be screened are traversed, and the traversed target page is marked as the current page, so that omission of undetected pages can be avoided; reading original data of a current page of a block to be screened of the NAND flash memory for multiple times to obtain a first data set, performing exclusive OR operation on the first data set and standard original data to obtain a second data set, and reflecting the position of bit turning in the first data set; performing OR operation on the second data in the second data set to obtain a third data set, determining the number of bits 1 of each third data set to obtain a bit turnover number set, and accurately obtaining the accumulated bit turnover number of each reading in multiple readings; judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if yes, marking the block to be screened corresponding to the current page as a bad block, if not, acquiring the bit turning number of the last preset number of the bit turning number set to obtain a target bit turning number set, calculating the difference value of the adjacent bit turning numbers to obtain a plurality of bit turning number difference values, judging whether the block to be screened corresponding to the current page is a bad block according to whether the bit turning number difference values are smaller than a second preset threshold, converting the probability of bit turning into a deterministic trend, judging the bad block based on the bit turning accumulated data set, effectively preventing the situation that the bit turning probability leads to missing the statistical bit turning number, and screening the bad block more accurately, and avoiding missing the bad block.
In the foregoing embodiments of the present application, it should be understood that the disclosed method, apparatus, computer readable storage medium and electronic device may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, and for example, the division of the modules is merely a logical function division, and there may be additional divisions when actually implemented, for example, multiple components or modules may be combined or integrated into another apparatus, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with respect to each other may be an indirect coupling or communication connection via some interfaces, devices or components or modules, which may be in electrical, mechanical, or other forms.
The components illustrated as separate components may or may not be physically separate, and components shown as components may or may not be physical modules, i.e., may be located in one place, or may be distributed over multiple network modules. Some or all of the components may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional module in each embodiment of the present application may be integrated into one processing module, or each component may exist alone physically, or two or more modules may be integrated into one module. The integrated modules may be implemented in hardware or in software functional modules.
The integrated modules, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in part or all of the technical solution or in part in the form of a software product stored in a storage medium, including instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
It should be noted that, for the sake of simplicity of description, the foregoing method embodiments are all expressed as a series of combinations of actions, but it should be understood by those skilled in the art that the present application is not limited by the order of actions described, as some steps may be performed in other order or simultaneously in accordance with the present application. Further, those skilled in the art will appreciate that the embodiments described in the specification are all preferred embodiments, and that the acts and modules referred to are not necessarily all required for the present application.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and for parts of one embodiment that are not described in detail, reference may be made to the related descriptions of other embodiments.
The foregoing description is only illustrative of the present application and is not intended to limit the scope of the application, and all equivalent changes made by the specification and drawings of the present application, or direct or indirect application in the relevant art, are included in the scope of the present application.

Claims (9)

1. The bad block screening method is characterized by comprising the following steps:
reading original data of a current page of a block to be screened of the NAND flash memory for multiple times to obtain a first data set;
obtaining a bit flip number set based on the first data set and standard original data;
judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, and if not, marking the block to be screened corresponding to the current page as a bad block;
judging whether the bit turning number set is in a stable state or not, if not, marking the block to be screened corresponding to the current page as a bad block comprises:
acquiring the last preset number of bit turning numbers of the bit turning number set to obtain a target bit turning number set;
calculating the difference value of adjacent bit turnover numbers in the target bit turnover number set to obtain a plurality of bit turnover number difference values;
and judging whether the difference values of the number of the bit turnovers are smaller than a second preset threshold value, if yes, marking the block to be screened corresponding to the current page as a good block, and if not, marking the block to be screened corresponding to the current page as a bad block.
2. The bad block screening method as claimed in claim 1, wherein the step of reading the original data of the current page of the block to be screened of the NAND flash memory a plurality of times is preceded by the steps of:
traversing the NAND flash memory by taking the block as a unit until all blocks of the NAND flash memory are traversed;
traversing the traversed blocks to be screened by taking pages as units until all pages of the blocks to be screened are traversed;
and marking the traversed target page as a current page.
3. The bad block screening method of claim 1, further comprising the steps of:
and generating standard original data according to a preset data scattering rule and the data template of the current page.
4. The method of claim 1, wherein the obtaining the set of bit flip numbers based on the first set of data and standard raw data comprises:
performing exclusive OR operation on the first data set and the standard original data to obtain a second data set;
performing OR operation based on second data in the second data set to obtain a third data set;
and determining the number of bits 1 of each third data in the third data set to obtain a bit turning number set.
5. The method of claim 4, wherein xoring the first data set with the standard original data to obtain a second data set comprises:
the ith element Pi in the second data set is:
wherein Ai represents the i-th element in the first data set, B0 represents the standard original data, j represents the number of elements in the first data set,representing an exclusive or operation.
6. The method of claim 4, wherein the performing an or operation based on the second data in the second data set to obtain a third data set includes:
the kth element Wk in the third data set is:
wherein Pk represents the kth element in the second data set, h represents the number of elements in the second data set,representing or operations.
7. A bad block screening device, comprising:
the data acquisition module is used for reading the original data of the current page of the block to be screened of the NAND flash memory for multiple times to obtain a first data set;
the bit turnover number counting module is used for obtaining a bit turnover number set based on the first data set and standard original data;
the bad block screening module is used for judging whether any bit turning number in the bit turning number set exceeds a first preset threshold, if yes, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit turning number set is in a stable state, and if not, marking the block to be screened corresponding to the current page as a bad block;
judging whether the bit turning number set is in a stable state or not, if not, marking the block to be screened corresponding to the current page as a bad block comprises:
acquiring the last preset number of bit turning numbers of the bit turning number set to obtain a target bit turning number set;
calculating the difference value of adjacent bit turnover numbers in the target bit turnover number set to obtain a plurality of bit turnover number difference values;
and judging whether the difference values of the number of the bit turnovers are smaller than a second preset threshold value, if yes, marking the block to be screened corresponding to the current page as a good block, and if not, marking the block to be screened corresponding to the current page as a bad block.
8. A computer readable storage medium having stored thereon a computer program, which when executed by a processor performs the steps of a bad block screening method according to any of claims 1 to 6.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the steps of a bad block screening method as claimed in any one of claims 1 to 6 when the computer program is executed by the processor.
CN202110318394.5A 2021-03-25 2021-03-25 Bad block screening method and device, computer readable storage medium and electronic equipment Active CN113241112B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110318394.5A CN113241112B (en) 2021-03-25 2021-03-25 Bad block screening method and device, computer readable storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110318394.5A CN113241112B (en) 2021-03-25 2021-03-25 Bad block screening method and device, computer readable storage medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN113241112A CN113241112A (en) 2021-08-10
CN113241112B true CN113241112B (en) 2023-11-21

Family

ID=77130534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110318394.5A Active CN113241112B (en) 2021-03-25 2021-03-25 Bad block screening method and device, computer readable storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN113241112B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918091B (en) * 2021-09-13 2022-06-07 北京得瑞领新科技有限公司 Control method and device for physical block in NAND flash memory and SSD (solid State disk) equipment

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929740A (en) * 2012-10-25 2013-02-13 北京星网锐捷网络技术有限公司 Method and device for detecting bad block of storage equipment
CN106845133A (en) * 2017-02-16 2017-06-13 成都天衡电科科技有限公司 A kind of computational methods and computing system of phase bit flipping number
CN107590021A (en) * 2017-08-22 2018-01-16 华中科技大学 A kind of coding and decoding device and coding and decoding method for reducing the flash memory bit error rate
CN109032524A (en) * 2018-07-26 2018-12-18 浪潮电子信息产业股份有限公司 A kind of method and relevant apparatus of bad block label
CN109087683A (en) * 2018-07-26 2018-12-25 西京学院 A kind of NAND Flash solid-state storage adaptive error control method
KR20190113438A (en) * 2018-03-28 2019-10-08 에스케이하이닉스 주식회사 Memory device and operating method thereof
CN110750466A (en) * 2019-10-18 2020-02-04 深圳豪杰创新电子有限公司 Method and device for prolonging erasing and writing life of flash memory
CN111061592A (en) * 2019-11-22 2020-04-24 山东航天电子技术研究所 Universal Nand Flash bit reversal error correction method
CN112181710A (en) * 2020-09-11 2021-01-05 厦门大学 Solid-state disk data storage method and device based on bit flipping

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929740A (en) * 2012-10-25 2013-02-13 北京星网锐捷网络技术有限公司 Method and device for detecting bad block of storage equipment
CN106845133A (en) * 2017-02-16 2017-06-13 成都天衡电科科技有限公司 A kind of computational methods and computing system of phase bit flipping number
CN107590021A (en) * 2017-08-22 2018-01-16 华中科技大学 A kind of coding and decoding device and coding and decoding method for reducing the flash memory bit error rate
KR20190113438A (en) * 2018-03-28 2019-10-08 에스케이하이닉스 주식회사 Memory device and operating method thereof
CN109032524A (en) * 2018-07-26 2018-12-18 浪潮电子信息产业股份有限公司 A kind of method and relevant apparatus of bad block label
CN109087683A (en) * 2018-07-26 2018-12-25 西京学院 A kind of NAND Flash solid-state storage adaptive error control method
CN110750466A (en) * 2019-10-18 2020-02-04 深圳豪杰创新电子有限公司 Method and device for prolonging erasing and writing life of flash memory
CN111061592A (en) * 2019-11-22 2020-04-24 山东航天电子技术研究所 Universal Nand Flash bit reversal error correction method
CN112181710A (en) * 2020-09-11 2021-01-05 厦门大学 Solid-state disk data storage method and device based on bit flipping

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
THE DEVELOPMENT OF A MASS MEMORY UNIT FOR A MICRO-SATELLITE USING NAND FLASH MEMORY;Ian J.Horsburgh;《Stellenbosch University》;1-140 *
提高NAND Flash存储系统可靠性的关键技术研究;冯卉;《中国优秀硕士学位论文全文数据库信息科技辑》(第07期);I137-53 *

Also Published As

Publication number Publication date
CN113241112A (en) 2021-08-10

Similar Documents

Publication Publication Date Title
US9153336B1 (en) Decoder parameter estimation using multiple memory reads
US8386860B2 (en) Methods of calculating compensation voltage and adjusting threshold voltage and memory apparatus and controller
US8149623B2 (en) Controller and non-volatile semiconductor memory device
US10613927B1 (en) System and method for improved memory error rate estimation
US9152488B2 (en) Storage module and low-complexity methods for assessing the health of a flash memory device
WO2022108618A1 (en) Method and apparatus for determining when actual wear of a flash memory device differs from reliability states for the flash memory device
US11630722B2 (en) Method and system for decoding data based on association of first memory location and second memory location
CN113241112B (en) Bad block screening method and device, computer readable storage medium and electronic equipment
CN110689914B (en) Solid state disk reading error correction method, device, equipment and storage medium
CN111078462B (en) Data verification method and circuit
CN112256193A (en) Method, device and storage medium for improving data security of solid state disk
CN111145820B (en) Data reading method and device, storage medium and equipment
CN116959540B (en) Data verification system with writemask
US9619320B2 (en) Error correction for non-volatile memory
CN110111829B (en) Method, device and medium for correcting flash memory channel
CN113035265B (en) Bad block screening method and device, readable storage medium and electronic equipment
CN113470728B (en) Error correction capability test method and device, readable storage medium and electronic equipment
US20220283894A1 (en) Detection method and system applied to intelligent analysis and detection for flash, intelligent terminal, and computer-readable storage medium
CN114791888A (en) State mapping processing method and device, medium and SSD device
TWI684106B (en) Method of training artificial intelligence to correct log-likelihood ratio for storage device
US10163515B1 (en) Memory system having feature boosting and operating method thereof
CN111522687A (en) Data processing method and device, solid state disk and computer readable storage medium
CN110322907A (en) The method of adjustment, system and 3D flash memory of threshold voltage in 3D flash memory
CN105279129B (en) The system and method based on preclinical data recirculation are carried out in solid state memory system
CN113053451B (en) Method, system, host and storage medium for generating softbit in Nandflash

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant