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 PDF

Info

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
Application number
CN202111251609.2A
Other languages
Chinese (zh)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111251609.2A priority Critical patent/CN113688070A/en
Publication of CN113688070A publication Critical patent/CN113688070A/en
Priority to PCT/CN2022/090186 priority patent/WO2023071117A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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

Method, device and equipment for replacing bad block in NAND and readable medium
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.
CN202111251609.2A 2021-10-27 2021-10-27 Method, device and equipment for replacing bad block in NAND and readable medium Pending CN113688070A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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