CN112783442B - Method, system, storage medium and equipment for detecting continuous bad blocks - Google Patents
Method, system, storage medium and equipment for detecting continuous bad blocks Download PDFInfo
- Publication number
- CN112783442B CN112783442B CN202110057624.7A CN202110057624A CN112783442B CN 112783442 B CN112783442 B CN 112783442B CN 202110057624 A CN202110057624 A CN 202110057624A CN 112783442 B CN112783442 B CN 112783442B
- Authority
- CN
- China
- Prior art keywords
- block
- bad
- logic
- blocks
- value
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 6
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000012360 testing method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 230000007547 defect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011981 development test Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
The invention provides a method, a system, a storage medium and equipment for detecting continuous bad blocks, wherein the method comprises the following steps: converting the general bad block table into a binary bad block table; establishing an array with the same row number and column number as the binary bad block table, wherein the initial values of all array elements in the array are first logic values; sequentially scanning all logic blocks in the binary bad block table and confirming the values of the scanned logic blocks; in response to scanning that the value of the logical block is the designated binary number and the value of the array element corresponding thereto is the first logical value, the logical block is identified as an alternative bad block and depth-first traversal is performed thereon to confirm the number of alternative bad blocks consecutive to the logical block. The invention solves the problem of low efficiency of detecting the continuous bad blocks through manual calculation, effectively improves the automatic identification capability of the continuous bad blocks, and further effectively shortens the debugging period of disk development and testing.
Description
Technical Field
The present invention relates to the field of storage technologies, and in particular, to a method, a system, a storage medium, and a device for detecting consecutive bad blocks.
Background
The bad blocks are memory units which cannot be normally used in the disk, and can be divided into factory bad blocks and growth bad blocks according to sources. The factory bad blocks are just existed when the disk comes out from the factory, and more or less of each disk can have some bad blocks. Growing bad blocks means that some of the early good blocks become bad as the disk is used. The main reason for the change from good to bad is the erasure wear.
The disk blocks have a certain lifetime, and each time the disk blocks are erased, the disk blocks are worn, so that the disk blocks have the lifetime, which can be measured by PE number (Program/erasiecount), and thus, the data cannot be written on some disk blocks in a centralized manner, otherwise, the disk blocks are worn out and become bad blocks due to the exhaustion of PE. In Flash memory, the FTL (Flash Translation Layer) distributes data to each Flash memory block, so that each block is worn out more or less. Normally, the disk blocks are worn evenly, and the degree of wear of each disk block should be comparable, and the probability of occurrence of a continuous bad block in a piece is not high. When a large number of continuous bad blocks appear, the wear times of the disk are exhausted, the reading failure is marked as a bad block by mistake due to inaccurate voltage loaded on the disk caused by the design defect of a circuit board, and the defect of the disk can be caused.
The existing bad block scanning technology scans the disk blocks one by one, and a bad block table is made for the marked bad blocks, the organization form of the existing bad block table is stored in hexadecimal, and the continuous bad blocks cannot be automatically positioned.
Disclosure of Invention
In view of the above, an object of the present invention is to provide a method, a system, a storage medium and a device for detecting consecutive bad blocks, so as to solve the problem that consecutive bad blocks cannot be detected in the prior art.
Based on the above purpose, the present invention provides a method for detecting continuous bad blocks, which comprises the following steps:
converting the general bad block table into a binary bad block table;
establishing an array with the same row number and column number as the binary bad block table, wherein the initial values of all array elements in the array are first logic values;
sequentially scanning all logic blocks in the binary bad block table and confirming the values of the scanned logic blocks;
in response to scanning that the value of the logical block is the designated binary number and the value of the array element corresponding thereto is the first logical value, the logical block is identified as an alternative bad block and depth-first traversal is performed thereon to confirm the number of alternative bad blocks consecutive to the logical block.
In some embodiments, the depth-first traversal comprises:
setting the value of the array element corresponding to the identified alternative bad block as a second logic value;
sequentially scanning the adjacent logic blocks of the alternative bad blocks and confirming the values of the scanned logic blocks;
and in response to the fact that the value scanned to the logic block is the designated binary number and the value of the array element corresponding to the logic block is the first logic value, the logic block is identified as the alternative bad block, the number of the continuous alternative bad blocks is increased by one, and the step of setting the value of the array element corresponding to the identified alternative bad block to be the second logic value is returned.
In some embodiments, the adjacent logical blocks include adjacent logical blocks that are located in the same row or column of the binary bad block table as the candidate bad block.
In some embodiments, the method further comprises:
judging whether the number of the alternative bad blocks continuous to the logic block is larger than a preset threshold value or not;
and confirming the position of the disk storage block corresponding to the logic block in response to the fact that the number of the alternative bad blocks continuous to the logic block is larger than a preset threshold value.
In some embodiments, identifying the disk storage block location corresponding to the logical block comprises:
and outputting the coordinates of the logic block in the binary bad block table, and confirming the position of the disk storage block corresponding to the logic block based on the coordinates.
In some embodiments, the generic bad block table is a hexadecimal bad block table.
In some embodiments, the first logic value is False, designating a binary number of 1.
In another aspect of the present invention, a system for detecting consecutive bad blocks is further provided, including:
the binary bad block table conversion module is configured for converting the general bad block table into a binary bad block table;
the array establishing module is configured for establishing an array with the same row number and column number as the binary bad block table, wherein the initial values of all array elements in the array are first logic values;
the logic block scanning module is configured to sequentially scan each logic block in the binary bad block table and confirm the value of the scanned logic block; and
and the depth-first traversal module is configured to identify the logic block as an alternative bad block and perform depth-first traversal on the logic block to confirm the number of the alternative bad blocks continuous with the logic block in response to the fact that the value of the scanned logic block is the designated binary number and the value of the corresponding array element is the first logic value.
In yet another aspect of the present invention, there is also provided a computer readable storage medium storing computer program instructions which, when executed, implement any of the above methods.
In yet another aspect of the present invention, a computer device is provided, which includes a memory and a processor, the memory storing a computer program, the computer program executing any one of the above methods when executed by the processor.
The invention has at least the following beneficial technical effects:
1. by establishing an array with the same matrix form as the binary bad block table, the logic blocks accessed in the binary bad block table can be identified in an auxiliary manner, and a depth-first traversal method is favorably used;
2. by setting the depth-first traversal method, the problem of low efficiency of detecting continuous bad blocks through manual calculation is solved, the automatic identification capability of the continuous bad blocks is effectively improved, the debugging period of disk development and testing is effectively shortened, the problems of service life exhaustion of the disk blocks, hardware circuit defects and the like can be detected in an auxiliary mode, and quick positioning of the problems is facilitated.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other embodiments can be obtained by using the drawings without creative efforts.
FIG. 1 is a schematic diagram of an embodiment of a method for detecting consecutive bad blocks according to the present invention;
FIG. 2 is a block diagram of a binary bad block table with consecutive bad blocks according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of an embodiment of a continuous bad block detection system provided in accordance with the present invention;
fig. 4 is a schematic hardware structure diagram of an embodiment of a computer device for executing the method for detecting consecutive bad blocks according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the following embodiments of the present invention are described in further detail with reference to the accompanying drawings.
It should be noted that all expressions using "first" and "second" in the embodiments of the present invention are used for distinguishing two non-identical entities with the same name or different parameters, and it is understood that "first" and "second" are only used for convenience of expression and should not be construed as limiting the embodiments of the present invention. Furthermore, the terms "comprises" and "comprising," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements does not include all of the other steps or elements inherent in the list.
In view of the above object, a first aspect of the embodiments of the present invention proposes an embodiment of a method for detecting consecutive bad blocks. Fig. 1 is a schematic diagram illustrating an embodiment of a method for detecting consecutive bad blocks according to the present invention. As shown in fig. 1, the embodiment of the present invention includes the following steps:
s10, converting the general bad block table into a binary bad block table;
s20, establishing an array with the same row number and column number as the binary bad block table, wherein the initial values of all array elements in the array are first logic values;
s30, sequentially scanning all logic blocks in the binary bad block table and confirming the values of the scanned logic blocks;
and S40, in response to that the value of the logic block is the designated binary number and the value of the corresponding array element is the first logic value, identifying the logic block as an alternative bad block and performing depth-first traversal on the alternative bad block to confirm the number of the alternative bad blocks continuous to the logic block.
In some embodiments, the generic bad block table is a hexadecimal bad block table. In some embodiments, the first logic value is False, designating a binary number of 1. FIG. 2 shows a binary bad block table diagram with consecutive bad blocks. In this embodiment, a hexadecimal universal bad block table is converted into a matrix binary bad block table, such as the binary bad block table shown in fig. 2, where 1 represents a bad block and 0 represents a non-bad block. The conversion method is as follows: each 4 bits represents a hexadecimal number, e.g. 0x00 translates to 00000000, which represents that the eight memory blocks are good blocks; the 0x40 translation is 01000000, indicating the second memory block is bad and the rest are good.
In the embodiment of the invention, by establishing the array with the same matrix form as the binary bad block table, the accessed logic blocks in the binary bad block table can be identified in an auxiliary way, which is beneficial to using a depth-first traversal method; by setting the depth-first traversal method, the problem of low efficiency of detecting continuous bad blocks through manual calculation is solved, the automatic identification capability of the continuous bad blocks is effectively improved, the debugging period of disk development and testing is effectively shortened, the problems of service life exhaustion of the disk blocks, hardware circuit defects and the like can be detected in an auxiliary mode, and the rapid positioning of the problems is facilitated.
In some embodiments, the depth-first traversal comprises: setting the value of the array element corresponding to the identified alternative bad block as a second logic value; sequentially scanning the logic blocks adjacent to the candidate bad block, and confirming the value of the scanned logic blocks; and in response to the fact that the value scanned to the logic block is the designated binary number and the value of the array element corresponding to the logic block is the first logic value, the logic block is identified as the alternative bad block, the number of the continuous alternative bad blocks is increased by one, and the step of setting the value of the array element corresponding to the identified alternative bad block to be the second logic value is returned. In some embodiments, the adjacent logical blocks include adjacent logical blocks that are located in the same row or column of the binary bad block table as the candidate bad block.
In this embodiment, the array virtual is used to record accessed storage blocks, and the initial values of the array virtual are all the first logic values False, which indicate that the storage block has not been accessed, and the accessed storage block is marked as the second logic value True. And scanning the binary bad block table from left to right and from top to bottom in sequence, and if a certain logic block position (x, y) is scanned to have a value of 1 (represented as a bad block) and visited [ x ] [ y ] = False (the position is not visited before), performing depth-first traversal on the logic block. Specifically, firstly, marking that the storage block corresponding to the logic block has traversed, namely, visited [ x ] [ y ] =1; taking the logic block as a starting block, respectively performing depth-first traversal in the upper, lower, left and right directions of the logic block, and if the next logic block coordinate (next _ x, next _ y) is also in the binary bad block table (does not exceed the boundary) and the next logic block coordinate is not accessed (namely the value of the corresponding coordinate of the next logic block in the virtual is False and the value of the corresponding coordinate in the binary bad block table is 1), adding 1 to the number of the continuous alternative bad blocks of the starting block; then, repeating the above steps by using the next logic block (next _ x, next _ y) as the starting block; this process recursively invokes a depth-first traversal. The final continuous candidate bad blocks total number is the number of the initial blocks 1 plus the number of the candidate bad blocks which are continuous with the initial blocks through the depth-first traversal. As shown in fig. 2, the binary bad block table has consecutive bad blocks, i.e. consecutive gray blocks are identified, and there are consecutive bad blocks in two places in the table.
In some embodiments, the method further comprises: judging whether the number of the alternative bad blocks continuous to the logic block is larger than a preset threshold value or not; and confirming the position of the disk storage block corresponding to the logic block in response to the fact that the number of the alternative bad blocks continuous to the logic block is larger than a preset threshold value. In some embodiments, identifying the disk storage block location corresponding to the logical block comprises: and outputting the coordinates of the logic block in the binary bad block table, and confirming the position of the disk storage block corresponding to the logic block based on the coordinates. In the embodiment, the corresponding storage fast position is mapped through the coordinates in the binary bad block table, so that the distribution of the bad blocks is convenient to know visually, and the problem that manual calculation is needed to be carried out when the bad blocks are positioned every time is solved; the position of the bad block is output, so that the development and test speed is effectively accelerated. In this embodiment, all the continuous bad blocks are not output, because the problem can be substantially determined according to the use condition of each storage block in the development stage after the initial bad blocks and the number of the continuous bad blocks in the continuous bad blocks are found, only one continuous bad block in the area needs to be known, and the determination of the continuous bad blocks only provides an assistance for substantially positioning the problem of the development test. If the position of one or more continuous bad blocks needs to be known in the actual research and development process, corresponding coordinates can be output so as to be positioned to the corresponding storage block. The disk storage block in this implementation may be a storage block of a solid state disk or a flash memory block of a flash memory.
In a second aspect of the embodiments of the present invention, a system for detecting consecutive bad blocks is also provided. Fig. 3 is a schematic diagram of an embodiment of a system for detecting consecutive bad blocks provided by the present invention. A system for detecting consecutive bad blocks comprising: a binary bad block table conversion module 10 configured to convert the general bad block table into a binary bad block table; the array establishing module 20 is configured to establish an array with the same number of rows and columns as the binary bad block table, wherein the initial values of all array elements in the array are first logic values; a logic block scanning module 30 configured to sequentially scan each logic block in the binary bad block table and confirm the value of the scanned logic block; and a depth-first traversal module 40 configured to identify the logic block as an alternative bad block and perform depth-first traversal on the logic block to confirm the number of alternative bad blocks consecutive to the logic block in response to the scanned logic block having the value of the designated binary number and the value of the corresponding array element being the first logic value.
According to the detection system of the continuous bad blocks, the array with the same matrix form as the binary bad block table is established, so that the logic blocks accessed in the binary bad block table can be identified in an auxiliary mode, and a depth-first traversal method is favorably used; by setting the depth-first traversal method, the problem of low efficiency of detecting continuous bad blocks through manual calculation is solved, the automatic identification capability of the continuous bad blocks is effectively improved, the debugging period of disk development and testing is effectively shortened, the problems of service life exhaustion of the disk blocks, hardware circuit defects and the like can be detected in an auxiliary mode, and quick positioning of the problems is facilitated.
In a third aspect of the embodiments of the present invention, a computer storage medium is further provided, where the computer storage medium stores computer program instructions, and the computer program instructions, when executed, implement any one of the above-mentioned embodiment methods.
It is to be understood that all embodiments, features and advantages set forth above with respect to the method of detecting consecutive bad blocks according to the present invention are equally applicable, without conflict with each other, to the system of detecting consecutive bad blocks and to the storage medium according to the present invention. That is, all of the embodiments of the detection method applied to consecutive bad blocks described above and variations thereof may be directly transferred to and applied to the system and storage medium according to the present invention, and directly incorporated herein. For the sake of brevity of the present disclosure, no repeated explanation is provided herein.
In a fourth aspect of the embodiments of the present invention, there is further provided a computer device, including a memory 302 and a processor 301, where the memory stores therein a computer program, and the computer program, when executed by the processor, implements any one of the above-mentioned method embodiments.
Fig. 4 is a schematic hardware structure diagram of an embodiment of a computer device for executing the method for detecting consecutive bad blocks according to the present invention. Taking the computer device shown in fig. 4 as an example, the computer device includes a processor 301 and a memory 302, and may further include: an input device 303 and an output device 304. The processor 301, the memory 302, the input device 303 and the output device 304 may be connected by a bus or other means, and fig. 4 illustrates the connection by a bus as an example. The input device 303 may receive input numeric or character information and generate key signal inputs related to user settings and function control of the detection system for successive bad blocks. The output means 304 may comprise a display device such as a display screen. The processor 301 executes various functional applications of the server and data processing by running the nonvolatile software programs, instructions and modules stored in the memory 302, that is, implements the method for detecting the continuous bad blocks of the above-described method embodiment.
Finally, it is noted that the computer-readable storage medium (e.g., memory) herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of example, and not limitation, nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM), which can act as external cache memory. By way of example and not limitation, RAM may be available in a variety of forms such as synchronous RAM (DRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The storage devices of the disclosed aspects are intended to comprise, without being limited to, these and other suitable types of memory.
The steps of a method or algorithm described in connection with the disclosure herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
The foregoing is an exemplary embodiment of the present disclosure, but it should be noted that various changes and modifications could be made herein without departing from the scope of the present disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the disclosed embodiments described herein need not be performed in any particular order. Furthermore, although elements of the embodiments of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
It should be understood that, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly supports the exception. It should also be understood that "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items. The numbers of the embodiments disclosed in the above embodiments of the present invention are merely for description, and do not represent the advantages or disadvantages of the embodiments.
Those of ordinary skill in the art will understand that: the discussion of any embodiment above is meant to be exemplary only, and is not intended to intimate that the scope of the disclosure, including the claims, of embodiments of the invention is limited to these examples; within the idea of an embodiment of the invention, also technical features in the above embodiment or in different embodiments may be combined and there are many other variations of the different aspects of the embodiments of the invention as described above, which are not provided in detail for the sake of brevity. Therefore, any omissions, modifications, substitutions, improvements, and the like that may be made without departing from the spirit and principles of the embodiments of the present invention are intended to be included within the scope of the embodiments of the present invention.
Claims (8)
1. A method for detecting continuous bad blocks is characterized by comprising the following steps:
converting the general bad block table into a binary bad block table;
establishing an array with the same row number and column number as the binary bad block table, wherein the initial values of all array elements in the array are first logic values;
sequentially scanning all logic blocks in the binary bad block table and confirming the values of the scanned logic blocks;
in response to the fact that the value of the logic block is the designated binary number and the value of the corresponding array element is the first logic value, identifying the logic block as an alternative bad block and performing depth-first traversal on the alternative bad block to confirm the number of the alternative bad blocks continuous with the logic block;
judging whether the number of the alternative bad blocks continuous to the logic block is larger than a preset threshold value or not;
in response to the number of candidate bad blocks continuous to the logical block being greater than a preset threshold, confirming a disk storage block location corresponding to the logical block, further comprising: and outputting the coordinates of the logic blocks in the binary bad block table, and confirming the disk storage block positions corresponding to the logic blocks based on the coordinates.
2. The method of claim 1, wherein the depth-first traversal comprises:
setting the value of the array element corresponding to the identified alternative bad block as a second logic value;
sequentially scanning the logic blocks adjacent to the alternative bad block, and confirming the value of the scanned logic blocks;
and in response to the fact that the value scanned to the logic block is the designated binary number and the value of the array element corresponding to the logic block is the first logic value, identifying the logic block as an alternative bad block, adding one to the number of the continuous alternative bad blocks, and returning to the step of setting the value of the array element corresponding to the identified alternative bad block as a second logic value.
3. The method of claim 2, wherein the adjacent logical block comprises an adjacent logical block that is in a same row or a same column in the binary bad block table as the candidate bad block.
4. The method of claim 1, wherein the generic bad block table is a hexadecimal bad block table.
5. The method of claim 1, wherein the first logic value is False and the specified binary number is 1.
6. A system for detecting consecutive bad blocks, comprising:
the binary bad block table conversion module is configured for converting the general bad block table into a binary bad block table;
the array establishing module is configured to establish an array with the same number as the number of rows and columns of the binary bad block table, wherein the initial values of all array elements in the array are first logic values;
the logic block scanning module is configured to sequentially scan each logic block in the binary bad block table and confirm the value of the scanned logic block;
the depth-first traversal module is configured to identify the logic block as an alternative bad block and perform depth-first traversal on the logic block in response to the fact that the value of the scanned logic block is the designated binary number and the value of the corresponding array element is the first logic value, so as to confirm the number of the alternative bad blocks continuous with the logic block; and
the position confirmation module is configured to judge whether the number of the alternative bad blocks continuous to the logic block is greater than a preset threshold value; in response to the number of candidate bad blocks continuous to the logical block being greater than a preset threshold, confirming a disk storage block location corresponding to the logical block, further comprising: and outputting the coordinates of the logic block in the binary bad block table, and confirming the position of the disk storage block corresponding to the logic block based on the coordinates.
7. A computer-readable storage medium, having stored thereon computer program instructions which, when executed, implement the method of any one of claims 1-5.
8. A computer arrangement comprising a memory and a processor, characterized in that a computer program is stored in the memory, which computer program, when being executed by the processor, is adapted to carry out the method of any one of the claims 1-5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110057624.7A CN112783442B (en) | 2021-01-15 | 2021-01-15 | Method, system, storage medium and equipment for detecting continuous bad blocks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110057624.7A CN112783442B (en) | 2021-01-15 | 2021-01-15 | Method, system, storage medium and equipment for detecting continuous bad blocks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783442A CN112783442A (en) | 2021-05-11 |
CN112783442B true CN112783442B (en) | 2023-01-10 |
Family
ID=75756620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110057624.7A Active CN112783442B (en) | 2021-01-15 | 2021-01-15 | Method, system, storage medium and equipment for detecting continuous bad blocks |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783442B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115861722B (en) * | 2023-03-02 | 2023-07-25 | 江西服装学院 | Fabric sand washing process abnormality detection method and system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297606A (en) * | 2019-06-28 | 2019-10-01 | 深圳忆联信息系统有限公司 | Bad block management method, device and computer equipment based on solid state hard disk |
CN111026332B (en) * | 2019-12-09 | 2024-02-13 | 深圳忆联信息系统有限公司 | SSD bad block information protection method, SSD bad block information protection device, computer equipment and storage medium |
-
2021
- 2021-01-15 CN CN202110057624.7A patent/CN112783442B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN112783442A (en) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5821761A (en) | Apparatus detecting an IC defect by comparing electron emissions from two integrated circuits | |
US4570180A (en) | Method for automatic optical inspection | |
KR950013401B1 (en) | Memory fault analysis apparatus | |
US8724408B2 (en) | Systems and methods for testing and assembling memory modules | |
JP2007220284A (en) | Memory device fail summary data reduction for improved redundancy analysis | |
CN112783442B (en) | Method, system, storage medium and equipment for detecting continuous bad blocks | |
CN105225698A (en) | A kind of row restorative procedure and device | |
CN112927751A (en) | Method for outputting memory failure address and related equipment | |
CN114862740A (en) | Defect detection method, device, electronic equipment and computer readable storage medium | |
JP2007294072A (en) | Memory device fail summary data reduction for improved redundancy | |
KR100344037B1 (en) | Fail information obtaining device and semiconductor memory tester using the same | |
US20220283894A1 (en) | Detection method and system applied to intelligent analysis and detection for flash, intelligent terminal, and computer-readable storage medium | |
US20230034552A1 (en) | Simulation method and apparatus, computer device and storage medium | |
JPH06119799A (en) | Device for testing memory | |
JP3272238B2 (en) | Failure analysis method for semiconductor device | |
US20030140276A1 (en) | Method and apparatus for identifying clusters of fail bits in a bitmap | |
CN116644703B (en) | Bitmap file generation method and device | |
US20230221365A1 (en) | Method and apparatus of testing circuit, and storage medium | |
CN114996519B (en) | Data processing method, device, electronic equipment, storage medium and product | |
JP2000155405A (en) | Photomask data certification system | |
CN112527672B (en) | Detection method and equipment for shell adding tool | |
CN110033433B (en) | Texture defect detection method, system, device and storage medium | |
JPS6232559B2 (en) | ||
CN112666443A (en) | FPGA-based test unit, test system and test method thereof | |
JPH05342113A (en) | Fault detecting method for ram for built in system |
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 |