CN113688070A - Method, device and equipment for replacing bad block in NAND and readable medium - Google Patents
Method, device and equipment for replacing bad block in NAND and readable medium Download PDFInfo
- Publication number
- CN113688070A CN113688070A CN202111251609.2A CN202111251609A CN113688070A CN 113688070 A CN113688070 A CN 113688070A CN 202111251609 A CN202111251609 A CN 202111251609A CN 113688070 A CN113688070 A CN 113688070A
- Authority
- CN
- China
- Prior art keywords
- block
- newly
- bad block
- added
- phyvb
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 230000002035 prolonged effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- 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
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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]
Abstract
The invention provides a method, a device, equipment and a readable medium for replacing bad blocks in NAND, wherein the method comprises the following steps: obtaining a bad block table in the system, and reading the position of a newly added bad block based on the bad block table; acquiring the number of bad blocks of the newly added bad blocks in the plane where the newly added bad blocks are located based on the positions of the newly added bad blocks; searching a corresponding number of matched PhyVB values in Early place pool based on the obtained number; and replacing the newly-added bad block based on the condition of the block corresponding to the PhyVB value in the plane where the newly-added bad block is located. By using the scheme of the invention, the condition that the NAND bad block cannot be used can be effectively avoided, the utilization rate of the block is improved, and the service life of the NAND is prolonged.
Description
Technical Field
The present invention relates to the field of computers, and more particularly, to a method, an apparatus, a device and a readable medium for replacing bad blocks in NAND.
Background
Nand Flash (a kind of Flash memory, in which a nonlinear macro-cell mode is adopted, provides a cheap and effective solution for realizing a solid-state large-capacity memory) is basically bad due to the physical characteristics that only limited erasing times exceed the erasing times. In the using process, some blocks of Nand Flash are damaged, if the blocks are damaged, the blocks are marked as damaged blocks in time and are not used any more, and then a new block is used for replacing the blocks, wherein the related management work belongs to a part of the work of the bad block management of the Nand Flash.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method, an apparatus, a device, and a readable medium for replacing a bad block in a NAND, which can effectively avoid the situation that a NAND bad block cannot be used, improve the utilization rate of the block, and prolong the life of the NAND.
In view of the above object, an aspect of the embodiments of the present invention provides a method for bad block replacement in NAND, including the steps of:
obtaining a bad block table in the system, and reading the position of a newly added bad block based on the bad block table;
acquiring the number of bad blocks of the newly-added bad blocks in a Plane (the Plane is an internal framework of the nonvolatile memory and a unit managed by a control unit of the nonvolatile memory) where the newly-added bad blocks are located based on the positions of the newly-added bad blocks;
searching a corresponding number of matched PhyVB values (Physical VB) in Early place pool (replacement pool) based on the obtained number;
and replacing the newly-added bad block based on the condition of the block corresponding to the PhyVB value in the plane where the newly-added bad block is located.
According to an embodiment of the present invention, replacing the newly-added bad block based on the situation of the block corresponding to the PhyVB value in the plane where the newly-added bad block is located includes:
judging whether the PhyVB value in the plane where the newly-added bad block is empty or not;
responding to the PhyVB value in the plane where the newly-added bad block is located being null, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
According to an embodiment of the present invention, further comprising:
responding to the situation that the PhyVB value in the plane where the newly-added bad block is located is not empty, and judging whether the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block or not;
and in response to the fact that the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, replacing the newly-added bad block with the good block.
According to an embodiment of the present invention, further comprising:
responding to the situation that a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a bad block, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
In another aspect of the embodiments of the present invention, there is also provided an apparatus for bad block replacement in NAND, the apparatus including:
the reading module is configured to acquire a bad block table in the system and read the position of the newly-added bad block based on the bad block table;
the acquisition module is configured to acquire the number of bad blocks excluding the newly-added bad blocks in the plane where the newly-added bad blocks are located based on the positions of the newly-added bad blocks;
the searching module is configured to search the PhyVB values matched with the corresponding quantity in Early place pool based on the obtained quantity;
and the replacing module is configured to replace the newly added bad block based on the condition of the block corresponding to the PhyVB value in the plane in which the newly added bad block is located.
According to one embodiment of the invention, the replacement module is further configured to:
judging whether the PhyVB value in the plane where the newly-added bad block is empty or not;
responding to the PhyVB value in the plane where the newly-added bad block is located being null, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
According to one embodiment of the invention, the replacement module is further configured to:
responding to the situation that the PhyVB value in the plane where the newly-added bad block is located is not empty, and judging whether the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block or not;
and in response to the fact that the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, replacing the newly-added bad block with the good block.
According to one embodiment of the invention, the replacement module is further configured to:
responding to the situation that a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a bad block, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
In another aspect of an embodiment of the present invention, there is also provided a computer apparatus including:
at least one processor; and
a memory storing computer instructions executable on the processor, the instructions when executed by the processor implementing the steps of any of the methods described above.
In another aspect of the embodiments of the present invention, there is also provided a computer-readable storage medium storing a computer program, which when executed by a processor implements the steps of any one of the above-mentioned methods.
The invention has the following beneficial technical effects: the method for replacing the bad block in the NAND provided by the embodiment of the invention comprises the steps of obtaining a bad block table in a system, and reading the position of a newly added bad block based on the bad block table; acquiring the number of bad blocks of the newly added bad blocks in the plane where the newly added bad blocks are located based on the positions of the newly added bad blocks; searching a corresponding number of matched PhyVB values in Early place pool based on the obtained number; the technical scheme of replacing the newly-added bad block based on the condition of the block corresponding to the PhyVB value in the plane where the newly-added bad block is located can effectively avoid the condition that the NAND bad block cannot be used, improve the utilization rate of the block and prolong the service life of the NAND.
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 flow chart diagram of a method of bad block replacement in a NAND according to one embodiment of the present invention;
FIG. 2 is a schematic diagram of an apparatus for bad block replacement in a NAND according to one embodiment of the invention;
FIG. 3 is a schematic diagram of a computer device according to one embodiment of the present invention;
fig. 4 is a schematic diagram of a computer-readable storage medium according to an embodiment of 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.
In view of the above objects, a first aspect of embodiments of the present invention proposes an embodiment of a method for bad block replacement in NAND. Fig. 1 shows a schematic flow diagram of the method.
As shown in fig. 1, the method may include the steps of:
s1 obtains the bad block table in the system and reads the position of the new bad block based on the bad block table.
The factory bad blocks are marked in the SA area, after all SA areas in the flash memory are read, the bad block table is established, after the bad block table is established, the main control stores the bad block table in a certain good block, after the main control is restarted each time, the main control calls the table from the block into a cache (SDRAM), and the bad block table can be read from the cache. The location of the bad block is recorded in the bad block table, e.g., Die0, Plane0, PhyVB 1.
S2, acquiring the number of bad blocks of the newly-added bad blocks in the plane where the newly-added bad blocks are located based on the positions of the newly-added bad blocks.
The positions of all bad blocks and Early place pool are recorded in the bad block table, and the number of the bad blocks except the newly added bad block in the plane where the newly added bad block is located can be found from the bad block table.
S3 finds a corresponding number of matched PhyVB values in Early place pool based on the obtained number.
The replacement pool is shown in a table form, for example, the value of Index0 is VB1, the value of Index1 is VB2, and the like, after the number of other bad blocks is obtained, the value of PhyVB matching the number is read in the replacement pool, for example, the number of other bad blocks is 1, and the value in Index1 is read as VB 2.
S4 replaces the newly-added bad block based on the condition of the block corresponding to the PhyVB value in the plane where the newly-added bad block is located.
Reading the PhyVB value in the replacement pool, if the value in Index1 in the example is null, then there is no replaceable block for the new damaged block, and the PhyVB value of the new damaged block needs to be added to Early place pool, for example, the PhyVB value of the new damaged block is VB2, then Index1= VB2 is added to the replacement pool. And if the PhyVB value in the plane where the newly-added bad block is located is not null, judging whether the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, and if the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, replacing the newly-added bad block with the good block, wherein the PhyVB value of the newly-added bad block does not need to be added into a replacement pool. And if the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a bad block, determining that the newly-added bad block does not have a replaceable block, and adding the PhyVB value of the newly-added bad block into Early place pool.
By the technical scheme, the condition that the NAND bad block cannot be used can be effectively avoided, the utilization rate of the block is improved, and the service life of the NAND is prolonged.
In a preferred embodiment of the present invention, replacing the newly-added bad block based on the situation of the block corresponding to the PhyVB value in the plane in which the newly-added bad block is located includes:
judging whether the PhyVB value in the plane where the newly-added bad block is empty or not;
responding to the PhyVB value in the plane where the newly-added bad block is located being null, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool. For example, the location of the newly added bad block is Die0, Plane0, PhyVB4, the number of other bad blocks in the current Plane (i.e., Die0, Plane 0) is checked, if the number is 2, the value of Index2 in the replacement pool is found, if Index [2] = Null, no replaceable block exists in the newly added bad block, and VB4 is added to Early place pool.
In a preferred embodiment of the present invention, the method further comprises:
responding to the situation that the PhyVB value in the plane where the newly-added bad block is located is not empty, and judging whether the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block or not;
and in response to the fact that the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, replacing the newly-added bad block with the good block. For example, the positions of the newly added bad blocks are Die1, Plane1 and PhyVB3, the number of other bad blocks in the current Plane (i.e., Die1 and Plane 1) is checked, if the number is 0, the value of Index0 in the replacement pool is searched, if Index [0] = VB1, whether Die1, Plane1 and PhyVB1 are good blocks is judged, if the good blocks are good blocks, the good blocks are replaced by the blocks, and VB3 does not need to be added into the replacement pool.
In a preferred embodiment of the present invention, the method further comprises:
responding to the situation that a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a bad block, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
By the technical scheme, the condition that the NAND bad block cannot be used can be effectively avoided, the utilization rate of the block is improved, and the service life of the NAND is prolonged.
It should be noted that, as will be understood by those skilled in the art, all or part of the processes in the methods of the above embodiments may be implemented by instructing relevant hardware through a computer program, and the above programs may be stored in a computer-readable storage medium, and when executed, the programs may include the processes of the embodiments of the methods as described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like. The embodiments of the computer program may achieve the same or similar effects as any of the above-described method embodiments.
Furthermore, the method disclosed according to an embodiment of the present invention may also be implemented as a computer program executed by a CPU, and the computer program may be stored in a computer-readable storage medium. The computer program, when executed by the CPU, performs the above-described functions defined in the method disclosed in the embodiments of the present invention.
In view of the above object, according to a second aspect of the embodiments of the present invention, there is provided an apparatus for replacing a bad block in a NAND, as shown in fig. 2, the apparatus 200 includes:
the reading module 201, the reading module 201 is configured to obtain a bad block table in the system, and read the position of the newly added bad block based on the bad block table;
the obtaining module 202, where the obtaining module 202 is configured to obtain, based on the position of the newly added bad block, the number of bad blocks excluding the newly added bad block in the plane where the newly added bad block is located;
the searching module 203 is configured to search the PhyVB values matched with the corresponding quantity in Early place pool based on the obtained quantity;
and a replacing module 204, wherein the replacing module 204 is configured to replace the newly-added bad block based on the condition of the block corresponding to the PhyVB value in the plane where the newly-added bad block is located.
In a preferred embodiment of the present invention, the replacement module 204 is further configured to:
judging whether the PhyVB value in the plane where the newly-added bad block is empty or not;
responding to the PhyVB value in the plane where the newly-added bad block is located being null, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
In a preferred embodiment of the present invention, the replacement module 204 is further configured to:
responding to the situation that the PhyVB value in the plane where the newly-added bad block is located is not empty, and judging whether the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block or not;
and in response to the fact that the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, replacing the newly-added bad block with the good block.
In a preferred embodiment of the present invention, the replacement module 204 is further configured to:
responding to the situation that a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a bad block, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
In view of the above object, a third aspect of the embodiments of the present invention provides a computer device. Fig. 3 is a schematic diagram of an embodiment of a computer device provided by the present invention. As shown in fig. 3, an embodiment of the present invention includes the following means: at least one processor 21; and a memory 22, the memory 22 storing computer instructions 23 executable on the processor, the instructions when executed by the processor implementing the method of:
obtaining a bad block table in the system, and reading the position of a newly added bad block based on the bad block table;
acquiring the number of bad blocks of the newly added bad blocks in the plane where the newly added bad blocks are located based on the positions of the newly added bad blocks;
searching a corresponding number of matched PhyVB values in Early place pool based on the obtained number;
and replacing the newly-added bad block based on the condition of the block corresponding to the PhyVB value in the plane where the newly-added bad block is located.
In a preferred embodiment of the present invention, replacing the newly-added bad block based on the situation of the block corresponding to the PhyVB value in the plane in which the newly-added bad block is located includes:
judging whether the PhyVB value in the plane where the newly-added bad block is empty or not;
responding to the PhyVB value in the plane where the newly-added bad block is located being null, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
In a preferred embodiment of the present invention, the method further comprises:
responding to the situation that the PhyVB value in the plane where the newly-added bad block is located is not empty, and judging whether the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block or not;
and in response to the fact that the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, replacing the newly-added bad block with the good block.
In a preferred embodiment of the present invention, the method further comprises:
responding to the situation that a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a bad block, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
In view of the above object, a fourth aspect of the embodiments of the present invention proposes a computer-readable storage medium. FIG. 4 is a schematic diagram illustrating an embodiment of a computer-readable storage medium provided by the present invention. As shown in fig. 4, the computer-readable storage medium 31 stores a computer program 32 that, when executed by a processor, performs the method of:
obtaining a bad block table in the system, and reading the position of a newly added bad block based on the bad block table;
acquiring the number of bad blocks of the newly added bad blocks in the plane where the newly added bad blocks are located based on the positions of the newly added bad blocks;
searching a corresponding number of matched PhyVB values in Early place pool based on the obtained number;
and replacing the newly-added bad block based on the condition of the block corresponding to the PhyVB value in the plane where the newly-added bad block is located.
In a preferred embodiment of the present invention, replacing the newly-added bad block based on the situation of the block corresponding to the PhyVB value in the plane in which the newly-added bad block is located includes:
judging whether the PhyVB value in the plane where the newly-added bad block is empty or not;
responding to the PhyVB value in the plane where the newly-added bad block is located being null, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
In a preferred embodiment of the present invention, the method further comprises:
responding to the situation that the PhyVB value in the plane where the newly-added bad block is located is not empty, and judging whether the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block or not;
and in response to the fact that the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, replacing the newly-added bad block with the good block.
In a preferred embodiment of the present invention, the method further comprises:
responding to the situation that a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a bad block, and determining that the newly-added bad block does not have a replaceable block;
the PhyVB value of the newly corrupted block is added to Early place pool.
Furthermore, the methods disclosed according to embodiments of the present invention may also be implemented as a computer program executed by a processor, which may be stored in a computer-readable storage medium. Which when executed by a processor performs the above-described functions defined in the methods disclosed in embodiments of the invention.
Further, the above method steps and system elements may also be implemented using a controller and a computer readable storage medium for storing a computer program for causing the controller to implement the functions of the above steps or elements.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as software or hardware depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosed embodiments of the present invention.
In one or more exemplary designs, the functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, Digital Versatile Disc (DVD), floppy disk, blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
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 disclosed 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 embodiments of the present invention are merely for description, and do not represent the merits of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
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 (10)
1. A method for replacing a bad block in a NAND, comprising the steps of:
obtaining a bad block table in a system, and reading the position of a newly added bad block based on the bad block table;
acquiring the number of bad blocks of the newly-added bad blocks in the plane where the newly-added bad blocks are located based on the positions of the newly-added bad blocks;
searching a PhyVB value matched with the quantity in Early place pool based on the obtained quantity;
and replacing the newly-added bad block based on the condition of the block corresponding to the PhyVB value in the plane where the newly-added bad block is located.
2. The method of claim 1, wherein replacing the newly-added bad block based on the situation of the block corresponding to the PhyVB value in the plane in which the newly-added bad block is located comprises:
judging whether the PhyVB value in the plane where the new bad block is located is empty or not;
responding to the PhyVB value in the plane where the newly-added bad block is located being null, and determining that the newly-added bad block has no replaceable block;
adding the PhyVB value of the new bad block to Early place pool.
3. The method of claim 2, further comprising:
responding to that the PhyVB value in the plane where the newly-added bad block is not empty, and judging whether a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block;
and in response to the fact that the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, replacing the newly-added bad block with the good block.
4. The method of claim 3, further comprising:
responding to the situation that a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a bad block, and determining that the newly-added bad block does not have a replaceable block;
adding the PhyVB value of the new bad block to Early place pool.
5. An apparatus for bad block replacement in a NAND, the apparatus comprising:
the reading module is configured to acquire a bad block table in a system and read the position of a newly-added bad block based on the bad block table;
an obtaining module, configured to obtain, based on the position of the newly added bad block, the number of bad blocks excluding the newly added bad block in a plane where the newly added bad block is located;
the searching module is configured to search the PhyVB value matched with the quantity in Early place pool based on the obtained quantity;
and the replacing module is configured to replace the newly added bad block based on the condition of the block corresponding to the PhyVB value in the plane in which the newly added bad block is located.
6. The apparatus of claim 5, wherein the replacement module is further configured to:
judging whether the PhyVB value in the plane where the new bad block is located is empty or not;
responding to the PhyVB value in the plane where the newly-added bad block is located being null, and determining that the newly-added bad block has no replaceable block;
adding the PhyVB value of the new bad block to Early place pool.
7. The apparatus of claim 6, wherein the replacement module is further configured to:
responding to that the PhyVB value in the plane where the newly-added bad block is not empty, and judging whether a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block;
and in response to the fact that the block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a good block, replacing the newly-added bad block with the good block.
8. The apparatus of claim 7, wherein the replacement module is further configured to:
responding to the situation that a block corresponding to the PhyVB value in the plane where the newly-added bad block is located is a bad block, and determining that the newly-added bad block does not have a replaceable block;
adding the PhyVB value of the new bad block to Early place pool.
9. A computer device, comprising:
at least one processor; and
a memory storing computer instructions executable on the processor, the instructions when executed by the processor implementing the steps of the method of any one of claims 1 to 4.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 4.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111251609.2A CN113688070A (en) | 2021-10-27 | 2021-10-27 | Method, device and equipment for replacing bad block in NAND and readable medium |
PCT/CN2022/090186 WO2023071117A1 (en) | 2021-10-27 | 2022-04-29 | Method and apparatus for replacing bad block in nand, device, and readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111251609.2A CN113688070A (en) | 2021-10-27 | 2021-10-27 | Method, device and equipment for replacing bad block in NAND and readable medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113688070A true CN113688070A (en) | 2021-11-23 |
Family
ID=78588215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111251609.2A Pending CN113688070A (en) | 2021-10-27 | 2021-10-27 | Method, device and equipment for replacing bad block in NAND and readable medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113688070A (en) |
WO (1) | WO2023071117A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023071117A1 (en) * | 2021-10-27 | 2023-05-04 | 苏州浪潮智能科技有限公司 | Method and apparatus for replacing bad block in nand, device, and readable medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100036743A (en) * | 2008-09-30 | 2010-04-08 | 삼성전자주식회사 | Method for setting mode, and method for initializing in memory storage device |
CN109669639A (en) * | 2018-12-24 | 2019-04-23 | 合肥兆芯电子有限公司 | Bad block management method |
CN110795044A (en) * | 2019-10-31 | 2020-02-14 | 深圳市友华通信技术有限公司 | Bad block management method and system for NAND Flash memory |
CN111596860A (en) * | 2020-04-21 | 2020-08-28 | 中国科学院长春光学精密机械与物理研究所 | FPGA control method for improving NAND-FLASH storage reliability |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706954B2 (en) * | 2010-09-07 | 2014-04-22 | Sony Corporation | Memory management apparatus and memory management method |
KR20210017481A (en) * | 2019-08-08 | 2021-02-17 | 에스케이하이닉스 주식회사 | Controller and operation method thereof |
CN111045603B (en) * | 2019-11-29 | 2022-11-22 | 苏州浪潮智能科技有限公司 | Bad block replacement method and device for solid state disk |
CN113688070A (en) * | 2021-10-27 | 2021-11-23 | 苏州浪潮智能科技有限公司 | Method, device and equipment for replacing bad block in NAND and readable medium |
-
2021
- 2021-10-27 CN CN202111251609.2A patent/CN113688070A/en active Pending
-
2022
- 2022-04-29 WO PCT/CN2022/090186 patent/WO2023071117A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100036743A (en) * | 2008-09-30 | 2010-04-08 | 삼성전자주식회사 | Method for setting mode, and method for initializing in memory storage device |
CN109669639A (en) * | 2018-12-24 | 2019-04-23 | 合肥兆芯电子有限公司 | Bad block management method |
CN110795044A (en) * | 2019-10-31 | 2020-02-14 | 深圳市友华通信技术有限公司 | Bad block management method and system for NAND Flash memory |
CN111596860A (en) * | 2020-04-21 | 2020-08-28 | 中国科学院长春光学精密机械与物理研究所 | FPGA control method for improving NAND-FLASH storage reliability |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023071117A1 (en) * | 2021-10-27 | 2023-05-04 | 苏州浪潮智能科技有限公司 | Method and apparatus for replacing bad block in nand, device, and readable medium |
Also Published As
Publication number | Publication date |
---|---|
WO2023071117A1 (en) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948943A (en) | The recognition methods of rete mirabile card and server in double-terminal | |
CN104902533B (en) | A kind of method for network access and mobile communication terminal | |
US20180089297A1 (en) | Data Copy Method and Device | |
CN113688070A (en) | Method, device and equipment for replacing bad block in NAND and readable medium | |
CN111176414A (en) | Power supply method and device for server network card and readable medium | |
CN111241545A (en) | Software processing method, system, device and medium | |
CN114237519A (en) | Method, device, equipment and medium for migrating object storage data | |
CN113420082A (en) | Data synchronization anomaly detection method and device | |
WO2016173070A1 (en) | Terminal network searching method and terminal | |
CN102272743A (en) | Management method for information of universal integrated circuit card and device thereof | |
CN102325078A (en) | Application identification method and device | |
CN114489511A (en) | Object storage life cycle management method, management device, equipment and medium | |
CN101778377A (en) | Parameter configuration method, mobile terminal and terminal equipment | |
CN114489498A (en) | Method, device, equipment and medium for predicting residual life of NAND Flash medium | |
CN104902542A (en) | Information sharing method and mobile communication terminal | |
CN112202662B (en) | Method and device for generating instant messaging identification information | |
CN113805799B (en) | Method, device, equipment and readable medium for RAID array latest write record management | |
CN112015710B (en) | Method and device for determining directory slicing relationship | |
CN113626144B (en) | Method, device, equipment and readable medium for creating and storing double live volumes by clusters | |
CN103248506A (en) | Right control method of device management and terminal | |
CN113867622B (en) | Method, device and equipment for improving snapshot read-write speed and readable medium | |
CN101916405A (en) | Asset weakness management device | |
CN116893981A (en) | Memory operation method and device, storage medium and electronic device | |
CN113326510A (en) | File uploading antivirus method, device, equipment and readable medium | |
CN114138198A (en) | Method, device and equipment for data deduplication and readable medium |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211123 |
|
RJ01 | Rejection of invention patent application after publication |