CN113241112A - 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
CN113241112A
CN113241112A CN202110318394.5A CN202110318394A CN113241112A CN 113241112 A CN113241112 A CN 113241112A CN 202110318394 A CN202110318394 A CN 202110318394A CN 113241112 A CN113241112 A CN 113241112A
Authority
CN
China
Prior art keywords
bit
block
data
bad block
data set
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.)
Granted
Application number
CN202110318394.5A
Other languages
Chinese (zh)
Other versions
CN113241112B (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

Images

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

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention discloses a bad block screening method, a bad block screening device, a computer readable storage medium and electronic equipment.A first data set is obtained by reading original data of a current page of a block to be screened of an NAND flash memory for multiple times; obtaining a bit flipping number set based on the first data set and standard original data; judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking a block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning number set is in a stable state, if not, marking the block to be screened corresponding to the current page as the bad block, converting the probability of bit overturning into a deterministic trend, judging the bad block based on the bit overturning number set, effectively preventing the bit overturning probability from causing omission of counting the bit overturning number, screening the bad block more accurately, and avoiding missing the bad block.

Description

Bad block screening method and device, computer readable storage medium and electronic equipment
Technical Field
The present invention relates to the field of data storage, and in particular, to a bad block screening method and apparatus, a computer-readable storage medium, and an electronic device.
Background
NAND flash (NAND flash) pellets require rigorous quality assessment and screening prior to mass production due to the presence of factory and growing bad blocks. Generally, a screening process comprises erasing (erase), programming (program) and reading (read) for a plurality of rounds of the whole data space of the NAND flash, blocks (blocks) with errors in the erase and the program are directly marked as bad blocks, bad blocks of the read process are screened more complexly, generally, a main control has a bit (bit) turning statistical function of a page, a lower bit turning comparison threshold value is set before the read, the particle quality corresponding to the page can be divided into a better type and a worse type, the worse page can be further distinguished, and a mode of reading original data (raw data) of the page is generally adopted, data comparison is carried out with standard raw data to obtain the real number of bit turning, and then the data turning threshold value of the bad blocks is compared with the bit turning threshold value of the bad blocks to determine whether the block where the current page is marked as the bad block; and another bad block screening strategy of the read process is adopted, the read retry and deep read retry functions are directly started, and the block where the page is located is directly marked as a bad block for the page failed in the read process. The bad block screening strategies of the two read flows are judged according to the result of single read, and the screening strategy may cause the condition of missing screening of the bad blocks in consideration of the probability of bit turnover.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: the bad block screening method and device, the computer readable storage medium and the electronic equipment are provided, the bad blocks can be screened more accurately, and the missing of the bad blocks is avoided.
In order to solve the technical problems, the invention 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 flipping number set based on the first data set and standard original data;
judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning 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 problem, the invention adopts another technical scheme as follows:
a bad block screening apparatus comprising:
the data acquisition module is used for 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 bit overturning number counting module is used for obtaining a bit overturning number set based on the initial data set and standard original data;
and the bad block screening module is used for judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning 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 problem, the invention adopts another technical scheme as follows:
a computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the above-mentioned bad block screening method.
In order to solve the technical problem, the invention adopts another technical scheme as follows:
an electronic device comprises a memory, a processor and a computer program stored on the memory and capable of running on the processor, wherein the processor implements the steps of the bad block screening method when executing the computer program.
The invention has the beneficial effects that:
the method comprises the steps of reading original data of a current page of a block to be screened of an NAND flash memory for multiple times, finally obtaining a bit turning number set based on a reading result, judging whether the block to be screened is a bad block based on the bit turning number set, judging the bad block based on a single reading result in no longer like the prior art, reading the original data of the page for multiple times due to probability of bit turning, finally obtaining a bit turning accumulated data set, converting the probability of bit turning into a deterministic trend, judging the bad block based on the bit turning number set, effectively preventing the bit turning probability from causing omission of counting the bit turning number, screening the bad block more accurately, and avoiding missing of the bad block.
Drawings
FIG. 1 is a flowchart illustrating steps of a bad block screening method according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a bad block screening apparatus according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present invention;
FIG. 4 is a drawing of a set of bit flipping numbers of the bad block screening method according to an embodiment of the present invention;
fig. 4(a) is a drawing of a case where a bit flipping number set is in a stable state and does not exceed a bit flipping bad block threshold in the bad block screening method according to the embodiment of the present invention;
fig. 4(b) is a diagram illustrating a situation where the bit flipping number set is in a stable state but exceeds the bit flipping bad block threshold in the bad block screening method according to the embodiment of the present invention;
fig. 4(c) is a diagram illustrating a situation where the bit flipping number set is in a stable state but exceeds the bit flipping bad block threshold in the bad block screening method according to the embodiment of the present invention;
fig. 4(d) is a drawing of a situation where the bit flipping number set is in a divergent state and exceeds the bit flipping bad block threshold in the bad block screening method according to the embodiment of the present invention;
fig. 4(e) is a diagram illustrating a case where the bit flipping number set is in a divergent state and exceeds the bit flipping bad block threshold in the bad block screening method according to the embodiment of the present invention.
Detailed Description
In order to explain technical contents, achieved objects, and effects of the present invention in detail, the following description is made with reference to the accompanying drawings in combination with the embodiments.
Referring to fig. 1, an embodiment of the present invention provides a bad block screening method, including:
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 flipping number set based on the first data set and standard original data;
judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning 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 present invention are: the method comprises the steps of reading original data of a current page of a block to be screened of an NAND flash memory for multiple times, finally obtaining a bit turning number set based on a reading result, judging whether the block to be screened is a bad block based on the bit turning number set, judging the bad block based on a single reading result in no longer like the prior art, reading the original data of the page for multiple times due to probability of bit turning, finally obtaining a bit turning accumulated data set, converting the probability of bit turning into a deterministic trend, judging the bad block based on the bit turning number set, effectively preventing the bit turning probability from causing omission of counting the bit turning number, screening the bad block more accurately, and avoiding missing of the bad block.
Further, before reading the original data of the current page of the block to be screened of the NAND flash memory for multiple times, the method further includes the steps of:
traversing the NAND flash memory by taking a block as a unit until all blocks of the NAND flash memory are traversed;
for the traversed block to be screened, traversing the block to be screened by taking a page as a unit until all pages of the block to be screened are traversed;
and for the traversed target page, marking the target page as a current page.
From the above description, it can be known that all pages of all blocks of the NAND flash memory are traversed, and the traversed target page is marked as the current page, so that the bad block screening can be conveniently performed on the corresponding block, and the omission of undetected pages can be avoided.
Further, the method also comprises the following steps:
and generating standard original data according to a preset data scattering rule and the data template of the current page.
According to the description, the standard original data generated according to the preset data scattering rule and the data template of the current page can enable the subsequently obtained bit overturning number set to be more accurate, and therefore the testing accuracy is improved.
Further, the obtaining a set of bit flipping numbers based on the first data set and the 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 on the second data in the second data set to obtain a third data set;
and determining the number of bit1 of each third data in the third data set to obtain a bit flip number set.
Further, the 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:
Figure BDA0002991763980000051
where Ai represents the ith element in the first data setB0 denotes the standard raw data, j denotes the number of elements of the first data set,
Figure BDA0002991763980000052
indicating an exclusive or operation.
As can be seen from the above description, the xor is performed on the first data set and the standard original data to obtain the second data set, which can represent the bit flipping position 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:
Wk=Pk∨P(k-1)∨P(k-2)∨...∨P(k-(k-1))k=1,2,...,h;
in the formula, Pk represents the kth element in the second data set, h represents the number of elements in the second data set, and a v represents an or operation.
As can be seen from the above description, since bit1 indicates that the current bit is flipped, and bit 0 indicates that the current bit is not flipped, an or operation is performed based on the second data in the second data set to obtain a third data set, and then the number of bit1 of each third data in the third data set is determined to obtain a bit-flipping number set, which can accurately obtain the bit-flipping number accumulated in each reading in multiple readings.
Further, the determining whether the bit flipping number set is in a stable state, and if not, marking the block to be filtered corresponding to the current page as a bad block includes:
acquiring the bit overturning number of the last preset number of the bit overturning number set to obtain a target bit overturning number set;
calculating the difference value of the adjacent bit flipping numbers in the target bit flipping number set to obtain a plurality of bit flipping number difference values;
and judging whether the difference values of the bit turning numbers are all smaller than a second preset threshold value, if so, 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 bit flipping numbers of the preset number is smaller than the second preset threshold, it can be considered that the set of the bit flipping numbers tends to be stable, and even if the original data of the page is read for many times, the bit flipping numbers will not increase, and the probability of bit flipping is converted into a deterministic trend, thereby improving the accuracy of bad block screening.
Referring to fig. 2, another embodiment of the present invention provides a bad block screening apparatus, including:
the data acquisition module is used for 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 bit overturning number counting module is used for obtaining a bit overturning number set based on the initial data set and standard original data;
and the bad block screening module is used for judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning 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 invention provides a computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, implements the steps of the bad block filtering method described above.
Referring to fig. 3, another embodiment of the present invention provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor implements the steps of the bad block filtering method when executing the computer program.
The bad block screening method, apparatus, computer readable storage medium and electronic device of the present invention can be applied to any type of NAND flash bad block screening, such as Single Level Cell (SLC), multi-level cell (MLC) and three-level cell (TLC), and are described in the following by specific embodiments:
example one
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 a block as a unit until all blocks of the NAND flash memory are traversed;
for the traversed block to be screened, traversing the block to be screened by taking a page as a unit until all pages of the block to be screened are traversed;
for the traversed target page, marking the 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 reading times can be set according to actual requirements, and in the embodiment, the reading times are set to be 10 times;
specifically, raw data of a current page of a block to be screened of the NAND flash memory for 10 times is read to obtain a data set a, which includes elements a1, a2, … and a 10;
s2, generating standard original data according to the preset data scattering rule and the data template of the current page;
the preset data scattering rule is a data scattering rule of the current master control;
specifically, standard original data B0 is generated according to the data scattering rule of the current master control and the data template of the current page;
s3, obtaining a bit flipping 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:
Figure BDA0002991763980000071
in the formula, Ai representsThe ith element in the first data set, B0 represents the standard raw data, j represents the number of elements in the first data set,
Figure BDA0002991763980000072
represents an exclusive or operation;
specifically, a1, a2, … and a10 in the first data set a are subjected to exclusive or with standard original data B0 respectively to obtain a second data set P, which contains elements P1, P2, … and P10;
assuming that a1 is 01101, a2 is 01010, A3 is 01110, and B0 is 01100 in the first data set a, then
Figure BDA0002991763980000073
Performing OR operation on the second data in the second data set to obtain a third data set;
wherein the kth element Wk in the third data set is:
Wk=Pk∨P(k-1)∨P(k-2)∨...∨P(k-(k-1))k=1,2,...,h;
in the formula, Pk represents the kth element in the second data set, h represents the number of elements in the second data set, and a V represents OR operation;
determining the number of bits 1 of each third data in the third data set to obtain a bit flip number set;
specifically, the third data set W contains elements W1, W2, …, W10, W1 being P1, W2 being P1 being v-shaped P2, W3 being P1 being v-shaped P2 being v-shaped P3, and so on;
determining the number of bits 1 of each third data in the third data set W to obtain a bit flipping number set D, which comprises elements D1, D2, … and D10;
as described above, P1 ═ 00001, P2 ═ 00110, P3 ═ 00010, then W1 ═ P1 ═ 00001, W2 ═ P1 ═ P2 ═ 00111, W3 ═ P1 ═ P2 ═ P3 ═ 00111, since the number of bits 1 of W1 is 1, the number of bits 1 of W2 is 3, and the number of bits 1 of W3 is 3, so D1 ═ 1, D2 ═ 3, and D3 is 3;
a second data set P obtained by carrying out XOR operation on the first data set A and standard original data represents the position of a bit with bit upset, a third data set W obtained by carrying out OR operation on the second data in the second data set P represents the position of a bit with bit upset accumulated in each reading, namely W1 represents the position of a bit with bit upset read for the first time, W2 represents the position of a bit with bit upset accumulated in the previous two readings, W3 represents the position of a bit with bit upset accumulated in the previous three readings, and so on, the number of bits 1 of W1-W10 is respectively determined to obtain D1-D10, a bit upset number set D represents the number of bit upsets accumulated in each reading, namely D1 represents the number of bit upsets occurring in the first reading, D2 represents the number of bit upsets accumulated in the previous two readings, and so on;
and S4, judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning 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 a bit flipping number set on the basis of the first embodiment, and specifically includes:
D1-D10 in the bit flipping number set D are a group of data which are sequentially increased in number, the difference value of the front value and the rear value is the bit flipping number which is newly added by raw data which are read twice in front and rear, the newly added bit flipping number represents the randomness of bit flipping of the particles, the size of each value in the bit flipping number set D represents the bit flipping number which may occur to the current particles, and the larger the value is, the more likely the ECC (Error correction Code) can not be corrected;
as shown in fig. 4, the number of bit flips (i.e., the cumulative count of bit flips in fig. 4) is used as the ordinate, the read (read) frequency is used as the abscissa, and the graph is drawn, where several cases in fig. 4 may occur, the broken line in fig. 4 represents the number of bit flips corresponding to 10 reads, and the straight line represents the bit flip bad block threshold TH0, it can be seen that the number of bit flips in fig. 4(a), fig. 4(b), and fig. 4(c) gradually becomes stable within the test frequency, and the number of bit flips in fig. 4(d), and fig. 4(e) does not tend to be stable within the test frequency, and still exhibits an increasing trend;
therefore, the bad block does not exist in fig. 4, which is only the case of fig. 4(a), but there is certainly another case that the bit flipping number does not tend to be stable, but does not exceed the bit flipping bad block threshold TH0 within the test number;
s4, judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning 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-flipped bad block threshold TH 0;
specifically, the determining whether the bit flipping number set is in a stable state, and if not, marking the block to be filtered corresponding to the current page as a bad block includes:
acquiring the bit overturning number of the last preset number of the bit overturning number set to obtain a target bit overturning number set;
calculating the difference value of the adjacent bit flipping numbers in the target bit flipping number set to obtain a plurality of bit flipping number difference values;
judging whether the difference values of the bit turning numbers are all smaller than a second preset threshold value, if so, 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 the actual situation, and is 3 in the embodiment;
specifically, whether any bit flipping number in the bit flipping number set D exceeds TH0 is judged, if yes, the block to be screened corresponding to the current page is marked as a bad block, and if D8 and D9 exceed TH0, the block to be screened corresponding to the current page is marked 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;
calculating the difference between D8 and D9 and the difference between D9 and D10 respectively to obtain a plurality of bit turnover number differences, namely G1 and G2;
and judging whether G1 and G2 are both smaller than TH1, if so, 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, 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 apparatus includes:
the data acquisition module is used for 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 bit overturning number counting module is used for obtaining a bit overturning number set based on the initial data set and standard original data;
and the bad block screening module is used for judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning 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 four
A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, is capable of implementing the steps of the bad block screening method of one or both embodiments.
EXAMPLE five
Referring to fig. 3, an electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor executes the computer program to implement the steps of the bad block screening method according to the first embodiment or the second embodiment.
In summary, according to the bad block screening method, the bad block screening device, the readable storage medium and the electronic device provided by the present invention, the NAND flash memory is traversed by taking a block as a unit until all blocks of the NAND flash memory are traversed, for a traversed block to be screened, the block to be screened is traversed by taking a page as a unit until all pages of the block to be screened are traversed, and for a traversed target page, the target page is marked as a current page, so that missing 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, and performing XOR operation on the first data set and standard original data to obtain a second data set, wherein the position of bit overturning in the first data set can be reflected; 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 to obtain a bit upset number set, and accurately obtaining the bit upset number accumulated in each reading in multiple readings; judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking a block to be screened corresponding to the current page as a bad block, if not, obtaining the bit overturning number of the last preset number of the bit overturning number set to obtain a target bit overturning number set, calculating the difference value of adjacent bit overturning numbers to obtain a plurality of bit overturning number difference values, judging whether the block to be screened corresponding to the current page is the bad block according to whether the bit overturning number is smaller than a second preset threshold value, converting probability of bit overturning into a deterministic trend, judging the bad block based on a bit overturning accumulated data set, effectively preventing the bit overturning probability from causing omission of counting the bit overturning number, screening the bad block more accurately and avoiding missing of the bad block.
In the above embodiments provided in the present application, it should be understood that the disclosed method, apparatus, computer-readable storage medium, and electronic device may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is only one logical division, and other divisions may be realized in practice, for example, a plurality of components or modules may be combined or integrated into another apparatus, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or components or modules, and may be in an electrical, mechanical or other form.
The components described as separate parts may or may not be physically separate, and parts displayed as components may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the components can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional modules in the embodiments of the present invention may be integrated into one processing module, or each component may exist alone physically, or two or more modules are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
The integrated module, if implemented in the form of a software functional module 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 invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
It should be noted that, for the sake of simplicity, the above-mentioned method embodiments are described as a series of acts or combinations, but those skilled in the art should understand that the present invention is not limited by the described order of acts, as some steps may be performed in other orders or simultaneously according to the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no acts or modules are necessarily required of the invention.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
The above description is only an embodiment of the present invention, and not intended to limit the scope of the present invention, and all equivalent changes made by using the contents of the present specification and the drawings, or applied directly or indirectly to the related technical fields, are included in the scope of the present invention.

Claims (10)

1. A 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 flipping number set based on the first data set and standard original data;
judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning 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.
2. The 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 for multiple times further comprises:
traversing the NAND flash memory by taking a block as a unit until all blocks of the NAND flash memory are traversed;
for the traversed block to be screened, traversing the block to be screened by taking a page as a unit until all pages of the block to be screened are traversed;
and for the traversed target page, marking the 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 obtaining the set of bit flipping numbers based on the first data set 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 on the second data in the second data set to obtain a third data set;
and determining the number of bit1 of each third data in the third data set to obtain a bit flip number set.
5. The method as claimed in claim 4, wherein the 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:
Figure FDA0002991763970000011
where Ai represents the ith element in the first data set, B0 represents the standard raw data, j represents the number of elements in the first data set,
Figure FDA0002991763970000012
indicating an exclusive or operation.
6. The method as claimed in claim 4, wherein performing an or operation based on the second data in the second data set to obtain a third data set comprises:
the kth element Wk in the third data set is:
Wk=Pk∨P(k-1)∨P(k-2)∨...∨P(k-(k-1))k=1,2,...,h;
in the formula, Pk represents the kth element in the second data set, h represents the number of elements in the second data set, and a v represents an or operation.
7. The method as claimed in any one of claims 1 to 6, wherein said determining whether the bit flipping number set is in a stable state, and if not, marking the block to be filtered corresponding to the current page as a bad block comprises:
acquiring the bit overturning number of the last preset number of the bit overturning number set to obtain a target bit overturning number set;
calculating the difference value of the adjacent bit flipping numbers in the target bit flipping number set to obtain a plurality of bit flipping number difference values;
and judging whether the difference values of the bit turning numbers are all smaller than a second preset threshold value, if so, 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 bad block screening device, comprising:
the data acquisition module is used for 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 bit overturning number counting module is used for obtaining a bit overturning number set based on the initial data set and standard original data;
and the bad block screening module is used for judging whether any bit overturning number in the bit overturning number set exceeds a first preset threshold value, if so, marking the block to be screened corresponding to the current page as a bad block, if not, judging whether the bit overturning 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.
9. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of a method of bad block screening as claimed in any one of claims 1 to 7.
10. 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 according to any one of claims 1 to 7 when executing the computer program.
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 true CN113241112A (en) 2021-08-10
CN113241112B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918091A (en) * 2021-09-13 2022-01-11 北京得瑞领新科技有限公司 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 浪潮电子信息产业股份有限公司 Bad block marking method and related device
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 浪潮电子信息产业股份有限公司 Bad block marking method and related device
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
IAN J.HORSBURGH: "THE DEVELOPMENT OF A MASS MEMORY UNIT FOR A MICRO-SATELLITE USING NAND FLASH MEMORY", 《STELLENBOSCH UNIVERSITY》, pages 1 - 140 *
冯卉: "提高NAND Flash存储系统可靠性的关键技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 07, pages 137 - 53 *

Cited By (1)

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

Also Published As

Publication number Publication date
CN113241112B (en) 2023-11-21

Similar Documents

Publication Publication Date Title
KR101610729B1 (en) Storage system
CN108647111B (en) Read control device and read control method for memory and memory controller
WO2022108618A1 (en) Method and apparatus for determining when actual wear of a flash memory device differs from reliability states for the flash memory device
US10020066B2 (en) Systems and methods for sub-zero threshold characterization in a memory cell
CN111078462B (en) Data verification method and circuit
US11175983B2 (en) Soft-decision input generation for data storage systems
CN113241112A (en) Bad block screening method and device, computer readable storage medium and electronic equipment
CN112256193A (en) Method, device and storage medium for improving data security of solid state disk
CN112466378A (en) Solid state disk operation error correction method and device and related components
CN113035265B (en) Bad block screening method and device, readable storage medium and electronic equipment
CN116959540B (en) Data verification system with writemask
CN116974813B (en) Register data management method and device, register module and computer equipment
CN113934631A (en) Combined test method based on metamorphic relation matching
US20170192846A1 (en) Error correction for non-volatile memory
CN109669641B (en) Data storage method and device for reducing SSD bit error rate
CN114791888B (en) State mapping processing method and device, medium and SSD device
CN108962322B (en) Method and system for implementing non-volatile counter using non-volatile memory
CN113419688B (en) Error rate analysis method, system and device of MLC chip
CN113470728B (en) Error correction capability test method and device, readable storage medium and electronic equipment
CN114333973A (en) Method and system for acquiring threshold voltage distribution and related components
CN111240584B (en) Control method of memory and non-transient computer readable medium
TWI684106B (en) Method of training artificial intelligence to correct log-likelihood ratio for storage device
CN112817525A (en) Method and device for predicting reliability grade of flash memory chip and storage medium
CN114968650B (en) Data inspection method and device, medium and SSD device
US11586511B1 (en) Optimal bit apportionments for digital functions subject to soft errors

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