[go: up one dir, main page]

CN118170328B - Bad block management method and device for solid state disk and computer program product - Google Patents

Bad block management method and device for solid state disk and computer program product Download PDF

Info

Publication number
CN118170328B
CN118170328B CN202410600595.8A CN202410600595A CN118170328B CN 118170328 B CN118170328 B CN 118170328B CN 202410600595 A CN202410600595 A CN 202410600595A CN 118170328 B CN118170328 B CN 118170328B
Authority
CN
China
Prior art keywords
die
blocks
reserved
remapping
solid state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410600595.8A
Other languages
Chinese (zh)
Other versions
CN118170328A (en
Inventor
邹飞
邱杰
黄泽诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Yunhai Core Microelectronics Technology Co ltd
Original Assignee
Sichuan Yunhai Core Microelectronics 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 Sichuan Yunhai Core Microelectronics Technology Co ltd filed Critical Sichuan Yunhai Core Microelectronics Technology Co ltd
Priority to CN202410600595.8A priority Critical patent/CN118170328B/en
Publication of CN118170328A publication Critical patent/CN118170328A/en
Application granted granted Critical
Publication of CN118170328B publication Critical patent/CN118170328B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a method, a device and a computer program product for managing bad blocks of a solid state disk, which are innovatively improved aiming at the traditional method for managing the bad blocks of the solid state disk, namely: instead of reserving remap blocks for the system area and the USER area respectively, a strategy of allocating remap reserved blocks by taking die as a unit is adopted, wherein the reserved blocks are shared by SYS and USER areas, so that the utilization rate of storage space can be optimized and management logic is simplified by unifying the remap reserved blocks of the SYS and USER areas, thereby reducing the difficulty and cost of firmware maintenance; meanwhile, the invention adjusts the number of reserved blocks of each grain die according to the actual abrasion condition of the grain die, and based on the reserved blocks, dynamic adjustment of remapping resource allocation can be realized, thereby enhancing the adaptability and reliability of the SSD in the face of continuously changing storage conditions, and further remarkably improving the overall performance and service life of the SSD.

Description

Bad block management method and device for solid state disk and computer program product
Technical Field
The invention belongs to the technical field of solid state disk management, and particularly relates to a method and a device for managing bad blocks of a solid state disk and a computer program product.
Background
Solid State Disk (SSD) is one of the key components in modern computer storage systems, and is widely used with its high data access speed and reliable performance characteristics; among them, the SSD mainly uses a nonvolatile flash memory (NAND) as a data storage medium, and has no mechanical moving parts as compared with a conventional mechanical hard disk, and thus, it has a faster read-write speed and lower power consumption.
However, NAND flash has a significant physical limitation in that each memory cell (called a block) can only withstand a limited number of erasures, and beyond this limitation, it becomes a bad block, and no longer stores data; thus, to manage these unavoidable bad blocks and ensure data integrity and SSD life, existing SSD firmware employs bad block remapping mechanisms.
In conventional bad block management policies, SSDs typically divide storage space into a system (SYS) area and a USER (USER) area, each of which independently reserves a portion of space for remapping of bad blocks; among other things, this approach has several problems: (1) resource utilization imbalance: the blocks reserved in the SYS and USER areas independently possibly lead to long-term idle of one part of space, and the other part of space faces insufficient risks, so that the overall utilization rate of the storage resources of the solid state disk is influenced; (2) management complexity increases: maintaining two independent remapping mechanisms increases the management complexity of the firmware, and creates additional burden for firmware development and maintenance; (3) insufficient adaptability: the fixed reserved block number is difficult to adapt to the occurrence condition of the bad blocks which dynamically change in the using process, and the reserved space is insufficient when the bad block number is increased, so that the long-term reliability and the performance of the SSD are affected.
Thus, based on the foregoing shortcomings, there is an urgent need for a more efficient and flexible solution to optimize the bad block management policy of the SSD, so as to improve the utilization rate of storage resources, simplify management logic, and simultaneously enhance the adaptability and reliability of the SSD in the face of continuously changing usage conditions.
Disclosure of Invention
The invention aims to provide a bad block management method, a bad block management device and a computer program product of a solid state disk, which are used for solving the problems of unbalanced resource utilization, high management complexity and insufficient adaptability in the prior art.
In order to achieve the above purpose, the present invention adopts the following technical scheme:
in a first aspect, a method for managing bad blocks of a solid state disk is provided, including:
Distributing a plurality of storage blocks for each grain die in a target solid state disk to serve as initial remapping reserved blocks of each grain die, wherein system data and user data on target equipment share all initial remapping reserved blocks in the target solid state disk, and the target equipment is installation equipment of the target solid state disk;
Detecting the actual average erasing times of each die in the target solid state disk when the target solid state disk runs;
for any grain die in the target solid state disk, judging whether any grain die has a resource storage problem or not based on the actual average erasing times of any grain die;
If yes, the number of the initial remapping reserved blocks of any grain die is adjusted based on a resource adjustment strategy, and after the number of the initial remapping reserved blocks of all the grain die in the target solid state disk is adjusted, bad block management of the target solid state disk is completed, wherein the number of the initial remapping reserved blocks of any grain die after adjustment is larger than the number before adjustment.
Based on the above disclosure, the present invention adopts a strategy of allocating initial remapped reserved blocks in units of grains die to manage bad blocks in the solid state disk, wherein the reserved blocks are shared by a system area and a USER area (i.e. USER data and system data), so that the utilization rate of storage space can be optimized and management logic is simplified by unifying the remapped reserved blocks in SYS and USER areas, thereby reducing difficulty and cost of firmware maintenance; meanwhile, when the method is used, whether each grain die has a resource storage problem or not is judged by detecting the actual average erasing times of each grain die in real time, and the number of the initial remapping reserved blocks is adjusted for each grain die with the resource storage problem so as to increase the corresponding mapping resources; based on this, the case where the number of bad blocks increases can be dealt with in advance, thereby enhancing the adaptability and long-term reliability of the SSD.
Through the design, the invention carries out innovative improvement aiming at the traditional method of bad block management of the solid state disk, namely: instead of reserving remap blocks for the system area and the USER area respectively, a strategy of allocating remap reserved blocks by taking die as a unit is adopted, wherein the reserved blocks are shared by SYS and USER areas, so that the utilization rate of storage space can be optimized and management logic is simplified by unifying the remap reserved blocks of the SYS and USER areas, thereby reducing the difficulty and cost of firmware maintenance; meanwhile, the invention adjusts the number of reserved blocks of each grain die according to the actual abrasion condition of the grain die, and based on the reserved blocks, dynamic adjustment of remapping resource allocation can be realized, thereby enhancing the adaptability and reliability of SSD when facing continuously changing storage conditions, and further remarkably improving the overall performance and service life of SSD; therefore, the invention is very suitable for large-scale application and popularization.
In one possible design, determining whether the resource storage problem exists in any die based on the actual average number of erasures of the any die includes:
obtaining the maximum erasable frequency of any grain die;
Calculating the difference between the actual average erasing times of any grain die and the maximum erasing times;
judging whether the difference value is larger than or equal to a preset threshold value or not;
if yes, judging that any grain die has the problem of resource storage.
In one possible design, adjusting the number of initial remapped reserved blocks for any die based on a resource adjustment policy includes:
Obtaining the maximum erasable frequency of any die, and calculating the difference between the actual average erasable frequency of any die and the maximum erasable frequency;
determining the number of reserved blocks of any die to increase based on the difference value;
And selecting a plurality of idle storage blocks from idle storage blocks in the target solid state disk according to the increased number of the reserved blocks of any grain die, taking the idle storage blocks as newly added initial remapping reserved blocks of any grain die, and completing the number adjustment of the initial remapping reserved blocks of any grain die after the newly added initial remapping reserved blocks of any grain die are obtained, wherein the number of the idle storage blocks is the increased number of the reserved blocks.
In one possible design, adjusting the number of initial remapped reserved blocks for any die based on a resource adjustment policy includes:
Acquiring a plurality of historical actual average erasing times of any die, and determining the bad block growth rate of any die based on the historical actual average erasing times and the current actual average erasing times;
determining the increase number of reserved blocks of any grain die according to the bad block growth rate;
And selecting a plurality of idle storage blocks from idle storage blocks in the target solid state disk according to the increased number of the reserved blocks of any grain die, taking the idle storage blocks as newly added initial remapping reserved blocks of any grain die, and completing the number adjustment of the initial remapping reserved blocks of any grain die after the newly added initial remapping reserved blocks of any grain die are obtained, wherein the number of the idle storage blocks is the increased number of the reserved blocks.
In one possible design, each initial remapping reserved block and each newly added initial remapping reserved block of any die are respectively corresponding to a bad block in any die, wherein the bad block is used for representing a storage block with the erasing times exceeding the maximum erasing times in any die;
Wherein after obtaining the newly added initial remapped reserved block of any die, the method further comprises:
Establishing a data remapping table for each newly added initial remapping reserved block, wherein the data remapping table corresponding to any newly added initial remapping reserved block comprises the mapping relation between the address of any newly added initial remapping reserved block and the address of a target bad block in any die, and the target bad block is a bad block corresponding to any newly added initial remapping reserved block in any die;
And adding a remapping table space in the dynamic random access memory of the target device, and storing the data remapping tables corresponding to the newly added initial remapping reserved blocks into the added remapping table space.
In one possible design, all the data remapping tables are managed using a b+ tree, wherein after adjusting the number of the initial remapping reserved blocks for any die, the method further includes:
Updating the B+ tree based on a data remapping table corresponding to each newly added initial remapping reserved block to obtain an updated B+ tree, so that when writing data into any bad block in any grain die, the address of the initial remapping reserved block corresponding to any bad block is searched by utilizing the updated B+ tree, and the data is written into the initial remapping reserved block corresponding to any bad block based on the searched address, wherein the initial remapping reserved block corresponding to any bad block is one initial remapping reserved block before any grain die is adjusted or one newly added initial remapping reserved block after adjustment.
In one possible design, each initial remap reservation block corresponds to one data remap table, and b+ tree is used to manage all data remap tables;
Wherein, before adjusting the number of the initial remapped reserved blocks of any die, the method further comprises:
Acquiring a B+ tree before performing a resource increasing operation as a backup B+ tree, wherein the resource increasing operation is to adjust the number of the initial remapping reserved blocks of any grain die;
Acquiring storage data in all bad blocks in any grain die;
And carrying out backup processing on the stored data and the backup B+ tree, so that when the resource adding operation is abnormal or the system of the target equipment is abnormal, the backup B+ tree and the stored data after backup are used for carrying out data recovery processing.
In one possible design, allocating a number of memory blocks for each die in the target solid state disk includes:
Obtaining the maximum erasable frequency of each die in the target solid state disk;
Determining the number of storage blocks for data mapping of each die based on the maximum erasable times of each die, and distributing the storage blocks for each die based on the number of the storage blocks for data mapping of each die;
Correspondingly, in the running process of the target solid state disk, detecting the actual average erasing times of each die comprises the following steps:
For any grain die in the target solid state disk, acquiring actual erasing times of all storage blocks in any grain die;
And taking the average value of the actual erasing times of all the storage blocks in any grain die as the actual average erasing times of any grain die.
In a second aspect, a bad block management device for a solid state disk is provided, including:
The system comprises a block allocation unit, a storage unit and a storage unit, wherein the block allocation unit is used for allocating a plurality of storage blocks for each grain die in a target solid state disk to be used as an initial remapping reserved block of each grain die, system data and user data on target equipment share all initial remapping reserved blocks in the target solid state disk, and the target equipment is installation equipment of the target solid state disk;
the detection unit is used for detecting the actual average erasing times of each grain die in the target solid state disk when the target solid state disk runs;
The resource adjusting unit is used for judging whether any grain die in the target solid state disk has a resource storage problem or not based on the actual average erasing times of the any grain die;
and the resource adjusting unit is further used for adjusting the number of the initial remapping reserved blocks of any grain die based on a resource adjusting strategy when judging that the resource storage problem exists in any grain die, and completing bad block management of the target solid state disk after the number of the initial remapping reserved blocks of all grain die in the target solid state disk is adjusted, wherein the number of the initial remapping reserved blocks after adjustment of any grain die is larger than the number before adjustment.
In a third aspect, another device for managing a bad block of a solid state disk is provided, taking the device as an electronic device, and the device includes a memory, a processor, and a transceiver, which are sequentially connected in communication, where the memory is used to store a computer program, the transceiver is used to send and receive a message, and the processor is used to read the computer program, and execute a method for managing a bad block of the solid state disk as in the first aspect or any one of the first aspect possible designs.
In a fourth aspect, a storage medium is provided, where instructions are stored, and when the instructions are executed on a computer, the method for managing bad blocks of the solid state disk as in the first aspect or any one of the possible designs of the first aspect is performed.
In a fifth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform a method of bad block management of the solid state disk as in the first aspect or any one of the possible designs of the first aspect.
The beneficial effects are that:
(1) The invention improves innovatively aiming at the traditional method of bad block management of the solid state disk, namely: instead of reserving remap blocks for the system area and the USER area respectively, a strategy of allocating remap reserved blocks by taking die as a unit is adopted, wherein the reserved blocks are shared by SYS and USER areas, so that the utilization rate of storage space can be optimized and management logic is simplified by unifying the remap reserved blocks of the SYS and USER areas, thereby reducing the difficulty and cost of firmware maintenance; meanwhile, the invention adjusts the number of reserved blocks of each grain die according to the actual abrasion condition of the grain die, and based on the reserved blocks, dynamic adjustment of remapping resource allocation can be realized, thereby enhancing the adaptability and reliability of SSD when facing continuously changing storage conditions, and further remarkably improving the overall performance and service life of SSD; therefore, the invention is very suitable for large-scale application and popularization.
(2) The invention adopts the B+ tree to manage the data remapping tables corresponding to the initial remapping reserved blocks, wherein the B+ tree structure supports efficient searching, inserting and deleting operations, and can dynamically adjust the structure according to the change of mapping information, so that the optimal data access performance and the optimal storage space utilization rate can be maintained.
(3) The invention designs a set of fault-tolerant mechanism, namely, the affected data and structure are backed up before any resource increasing operation is carried out; thus, when an abnormality or error is detected in the remapping process, the current operation can be immediately stopped, and the state before the operation is restored by using the backup data; based on this, consistency and security of data during remapping can be ensured.
Drawings
FIG. 1 is a schematic flow chart of steps of a method for managing bad blocks of a solid state disk according to an embodiment of the present invention;
FIG. 2 is a schematic structural diagram of a bad block management device for a solid state disk according to an embodiment of the present invention;
Fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the present invention will be briefly described below with reference to the accompanying drawings and the description of the embodiments or the prior art, and it is obvious that the following description of the structure of the drawings is only some embodiments of the present invention, and other drawings can be obtained according to these drawings without inventive effort to a person skilled in the art. It should be noted that the description of these examples is for aiding in understanding the present invention, but is not intended to limit the present invention.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments of the present invention.
It should be understood that for the term "and/or" that may appear herein, it is merely one association relationship that describes an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a alone, B alone, and both a and B; for the term "/and" that may appear herein, which is descriptive of another associative object relationship, it means that there may be two relationships, e.g., a/and B, it may be expressed that: a alone, a alone and B alone; in addition, for the character "/" that may appear herein, it is generally indicated that the context associated object is an "or" relationship.
Examples:
Referring to fig. 1, the method for managing bad blocks of a solid state disk provided by the embodiment provides a dynamic and intelligent bad block management mechanism for an SSD, wherein the method optimizes the storage space utilization rate and simplifies the management logic by unifying the remapped reserved blocks of SYS and USER areas, thereby achieving the purpose of reducing firmware maintenance difficulty and cost; meanwhile, the remapping resource can be timely adjusted according to the actual use condition and the wearing state of the NAND particles, so that the storage efficiency is improved, the safety of data and the reliability of SSD are also enhanced, and the method is very suitable for large-scale application and popularization; the method may be executed on the side of the solid state disk management end, and optionally, the solid state disk management end may be executed by a personal computer (personal computer, PC), and it is understood that the foregoing execution body is not limited to the embodiment of the present application, and accordingly, the operation steps of the method may be executed by the following steps S1 to S4.
S1, distributing a plurality of storage blocks for each die in a target solid state disk to serve as initial remapping reserved blocks of each die, wherein system data and user data on target equipment share all initial remapping reserved blocks in the target solid state disk, and the target equipment is installation equipment of the target solid state disk; in this embodiment, this step is performed during production of the target solid state disk; specifically, it is determined in the screening process of NAND particles (which means die, after encapsulation, becomes one NAND particle), that is: obtaining the maximum erasable frequency of each grain die in the target solid state disk by carrying out durability test on each NAND grain; then, based on the maximum erasable times of each die, determining the number of memory blocks for data mapping of each die; finally, based on the number of storage blocks used for carrying out data mapping for each grain die, the method allocates the storage blocks for each grain die so as to obtain initial remapping reserved blocks corresponding to each grain die; based on this, the invention takes into account the durability differences that may exist between different die, thereby allowing for more targeted allocation of resources; therefore, the storage resource of each grain die can be finely managed, so that the efficiency and the accuracy of bad block management are improved; of course, the number of reserved blocks corresponding to different maximum erasable times can be preset.
In this embodiment, a corresponding data remapping table is also constructed for each initial remapping reserved block, so that address mapping of the initial remapping reserved block is performed based on the data remapping table, thereby facilitating subsequent data writing.
What is to be described here is: in a Solid State Disk (SSD), die refers to an independent data storage area on a single flash memory chip; one flash memory chip may contain a plurality of die, each die being composed of a plurality of blocks (blocks), and each block containing a plurality of pages (pages), which are units of data reading and writing in the NAND flash memory.
Through the design, the invention adopts the strategy of distributing the initial remapped reserved blocks by taking the grain die as a unit to manage the bad blocks in the solid state disk, wherein the reserved blocks are shared by a system area and a USER area, so that the utilization rate of storage space can be optimized and management logic is simplified by unifying the remapped reserved blocks of SYS and USER areas, thereby reducing the difficulty and cost of firmware maintenance.
After the allocation of the initial remapping reserved blocks of each grain die in the target solid state disk is completed, the use of the reserved blocks can be intelligently allocated and optimized by monitoring the storage requirement and bad block conditions in real time, so that the safety of data and the high efficiency of storage operation are ensured; specifically, when the actual average erasing times of any die reach a preset threshold value, the system automatically triggers a resource increasing mechanism, so that an additional remapping reserved block is added for the die, and the space of a remapping table is correspondingly enlarged in a DRAM (dynamic random access memory) to meet the requirement of increasing future bad blocks; alternatively, the resource dynamic addition process may be, but is not limited to, as shown in the following steps S2 to S4.
S2, detecting the actual average erasing times of each grain die in the target solid state disk when the target solid state disk runs; in the implementation, taking any grain die in the target solid state disk as an example, the detection process of the actual average erasing times is described; specifically, the actual erasing times of all the memory blocks in any die are obtained first; then, taking the average value of the actual erasing times of all the storage blocks in any grain die as the actual average erasing times of any grain die; thus, the actual average erasing times of all the grains die can be detected by the method.
In specific implementation, the operation of the target solid state disk may, for example, but not limited to, refer to when it is started, or when periodic checking is performed; thus, the detection process of the actual average erasing times can be executed when the SSD is started or when the periodic inspection is executed.
After the actual average erasing times of each die are obtained, whether the corresponding die have insufficient resources can be determined according to the actual average erasing times, wherein, since the dynamic increase process of the resources of each die is the same, any die is taken as an example for explanation, and the determination process is shown in the following step S3.
S3, judging whether any grain die in the target solid state disk has a resource storage problem or not based on the actual average erasing times of the any grain die; in the implementation, the maximum erasable frequency of any die is obtained first; then calculating the difference between the actual average erasing times of any grain die and the maximum erasing times; then, judging whether the difference value is larger than or equal to a preset threshold value; if yes, judging that any grain die has a problem of resource storage (namely, a problem of insufficient resources); otherwise, the resource is not existed, and the subsequent resource adjustment operation is not needed.
In this embodiment, for any die, the aforementioned predetermined threshold may be, but is not limited to, two-thirds of the maximum erasable number of any die; of course, the specific values may be specifically set according to the actual use, and are not limited to the foregoing examples; meanwhile, after judging that any die has the problem of resource storage, a label can be added to the die to mark that any die has insufficient resources.
After determining that any of the foregoing dies die has insufficient resources, a resource increasing operation needs to be performed, and the process may be, but is not limited to, as shown in step S4 below.
S4, if so, adjusting the number of the initial remapping reserved blocks of any grain die based on a resource adjustment strategy, and completing bad block management of the target solid state disk after the number of the initial remapping reserved blocks of all grain die in the target solid state disk is adjusted, wherein the number of the initial remapping reserved blocks after adjustment of any grain die is larger than the number before adjustment; in the specific implementation, the number of remapped reserved blocks and the space of the remapped table are adjusted in stages according to a preset resource adjustment strategy; optionally, the resource adjustment policy provided in this embodiment may include two policies, which are respectively an adjustment policy based on a difference between an actual average erasing number of any die and a corresponding maximum erasing number of the die, and an adjustment policy based on a bad block growth rate of any die; specifically, the following are respectively described:
in the present embodiment, the aforementioned first strategy can be implemented, but is not limited to, using the following steps S41 to S43.
S41, obtaining the maximum erasable frequency of any crystal grain die, and calculating the difference between the actual average erasable frequency of any crystal grain die and the maximum erasable frequency.
S42, determining the increase number of reserved blocks of any grain die based on the difference value; in this embodiment, the number of reserved blocks corresponding to different differences can be set in advance in the solid state disk management end, and matching can be performed during use; thus, after determining the number of the reserved blocks of any die to be increased based on this step, the number of the reserved blocks of any die to be initially remapped may be adjusted, as shown in step S43 below.
S43, selecting a plurality of idle storage blocks from idle storage blocks in the target solid state disk according to the increased number of the reserved blocks of any grain die, taking the idle storage blocks as newly-increased initial remapping reserved blocks of any grain die, and completing the number adjustment of the initial remapping reserved blocks of any grain die after the newly-increased initial remapping reserved blocks of any grain die are obtained, wherein the number of the idle storage blocks is the increased number of the reserved blocks; in this embodiment, an additional block is allocated from the free memory block of the hard disk as a new remap reserved block; if the number of the initial remap reserved blocks of any die is 5, and the number of the corresponding reserved blocks is increased by 3, then 3 idle memory blocks are allocated in the idle memory blocks to serve as the newly added initial remap reserved blocks of any die, and at this time, the number of the initial remap reserved blocks of any die is adjusted to be 8; of course, when the number of reserved blocks is different, the adjustment process of the remapped reserved block of any die is the same as the above example, and will not be repeated here.
For the second strategy (i.e., the resource adjustment strategy of bad block growth rate), the following steps S44 and S45 may be used, but are not limited to, to determine the number of reserved block increases of any die.
S45, acquiring a plurality of historical actual average erasing times of any grain die, and determining the bad block growth rate of any grain die based on the historical actual average erasing times and the current actual average erasing times; in this embodiment, the historical actual average erasing times of any die when the target solid state disk is started or periodically checked are obtained, then the obtained historical actual average erasing times are calculated to obtain the erasing times change value, and then the bad block growth rate of any die is obtained according to each erasing times change value.
Specifically, assuming that the current starting time is the 5 th starting time of the target solid state disk, the historical actual average erasing times detected during the 4 th, 3 rd, 2 nd and 1 st starting times can be obtained; then, a difference between the 1 st and 2 nd times of the actual average number of erasures, a difference between the 2 nd and 3 rd times of the actual average number of erasures, a difference between the 3 rd and 4 th times of the actual average number of erasures, and a difference between the 4 th and 5 th times of the actual average number of erasures are calculated; finally, the bad block growth rate of any die can be calculated according to the difference values.
After obtaining the bad block growth rate of any die, the corresponding number of reserved block increases can be determined based on the bad block growth rate, as shown in step S46 below.
S46, determining the increase quantity of the reserved blocks of any grain die according to the bad block growth rate; in this embodiment, the number of reserved blocks corresponding to different bad block growth rates is stored in the solid state disk management end in advance; therefore, in use, matching is performed according to the actual bad block growth rate.
After determining the corresponding increase number of reserved blocks based on the bad block growth rate, the above step S43 may be executed to dynamically adjust the reserved blocks of any die
Thus, through the steps S41 to S46, the number adjustment of the initial remapping reserved blocks of any die can be completed; meanwhile, the adjustment principle of the reserved block according to the embodiment is as follows: for grains die that are approaching the endurance limit quickly, adding more remapped resources (i.e., reserved block numbers); conversely, for slower wearing die, the increase in resources may be delayed appropriately, and even the recovery of resources may be performed appropriately, to maximize the storage efficiency and performance of the overall system.
In this embodiment, die with slower wear refers to die that is not used in a preset period, and at this time, the increase of resources can be delayed, and the reserved block corresponding to die with high bad block growth rate can be allocated to die; of course, the number of the exemplary allocations may be specifically set according to actual use, and is not specifically limited herein.
Meanwhile, in this embodiment, the foregoing has described that each initial remap reserved block corresponds to a data remap table, so after the number of the initial remap reserved blocks of any die is adjusted, it is also necessary to establish a data remap table for each newly added initial remap reserved block and allocate a storage space for the data remap table; the foregoing process may be, but is not limited to, as shown in the following steps S47 and S48.
S47, establishing a data remapping table for each newly added initial remapping reserved block, wherein the data remapping table corresponding to any newly added initial remapping reserved block comprises the mapping relation between the address of any newly added initial remapping reserved block and the address of a target bad block in any die, and the target bad block is a bad block corresponding to any newly added initial remapping reserved block in any die; in the implementation, each initial remapping reserved block and each newly added initial remapping reserved block of any die are respectively corresponding to a bad block in any die, and the bad block is used for representing a storage block with the erasing times exceeding the maximum erasable times in any die; of course, when the initial setting is performed, the address mapping of each initial remapping reserved block is empty, and along with the use of the target solid state disk, a storage block with the erasing times exceeding the maximum erasable times inevitably exists in any grain die, at this time, after the bad block is detected, the address of the bad block and the address of any initial remapping reserved block can be mapped, and after the data is stored into the bad block, the data can be stored into the corresponding initial remapping reserved block through the address mapping relation in the data remapping table; based on the above, with the use of the target solid state disk, each initial remap reserved block can correspond to a bad block; in addition, when the storage resource of any die is insufficient, the reserved block is newly added in the step S4, and the data mapping table is constructed, so as to increase the adaptability of the use of the data mapping table.
After constructing the data remapping table corresponding to each newly added initial remapping reserved block, the mapping table space may be newly added in the dynamic random access memory, so as to store the data remapping table, which is the process shown in the following step S48.
S48, adding remap table space in the dynamic random access memory of the target device, and storing the data remap table corresponding to each newly added initial remap reserved block into the added remap table space.
Thus, through the foregoing step S47 and step S48, the construction and storage of the data remapping table of each newly added initial remapping reserved block can be completed.
In specific implementation, for example, all data remap tables (i.e., the data remap tables corresponding to the original initial remap reserved block and the data remap table corresponding to the newly added remap reserved block) can be managed by using a b+ tree; the B+ tree structure supports efficient searching, inserting and deleting operations, and can dynamically adjust the structure according to the change of mapping information; thus, the optimal data access performance and the optimal storage space utilization rate can be maintained; in this embodiment, the b+ tree is a common data storage structure, and the principle thereof is not described again.
In addition, since the mapping table is managed by using the b+ tree in this embodiment, after adjusting the number of the initial remap reserved blocks of any die, the b+ tree needs to be updated, that is: updating the B+ tree based on a data remapping table corresponding to each newly added initial remapping reserved block to obtain an updated B+ tree; when writing data into any bad block in any grain die, searching the address of an initial remapping reserved block corresponding to any bad block by using the updated B+ tree, and writing the data into the initial remapping reserved block corresponding to any bad block based on the searched address, wherein the initial remapping reserved block corresponding to any bad block is one initial remapping reserved block before any grain die is adjusted or one newly added initial remapping reserved block after adjustment; optionally, the update operation may be, but is not limited to, inserting a new remap entry (i.e., address mapping relationship), performing node splitting or merging, etc.; of course, the updating of the b+ tree is a common technique for corresponding structure tree, and the principle thereof is not described again.
Thus, through the steps, the dynamic adjustment of the reserved blocks of each die can be completed, so that the adaptability and the reliability of the SSD in the face of continuously changing storage conditions are enhanced, and the overall performance and the service life of the solid state disk are remarkably improved.
The invention provides a dynamic and intelligent bad block management mechanism for SSD through the bad block management method of the solid state disk described in detail in the steps S1-S4, wherein the method optimizes the utilization rate of storage space and simplifies management logic by unifying the remapped reserved blocks of SYS and USER areas, thereby achieving the purpose of reducing firmware maintenance difficulty and cost; meanwhile, the remapping resource can be timely adjusted according to the actual use condition and the wearing state of the NAND particles, so that the storage efficiency is improved, the safety of data and the reliability of SSD are also enhanced, and the remapping resource remapping method is very suitable for large-scale application and popularization.
In one possible design, the second aspect of the present embodiment provides a fault tolerance and recovery mechanism based on the first aspect of the embodiment, that is, before adjusting the number of the initial remapped reserved blocks of any die, a data backup process is performed, which may be, but not limited to, as shown in the following steps S5 to S7.
S5, acquiring a B+ tree before performing a resource increasing operation as a backup B+ tree, wherein the resource increasing operation is to adjust the number of the initial remapping reserved blocks of any grain die.
S6, obtaining storage data in all bad blocks in any grain die.
And S7, carrying out backup processing on the stored data and the backup B+ tree so as to carry out data recovery processing by using the backup B+ tree and the stored data after backup when the resource adding operation is abnormal or the system of the target equipment is abnormal.
Thus, through the steps S5 to S7, when abnormality or error is detected in the remapping process, the current operation can be immediately stopped, and the state before the operation is restored by using the backup data; based on the method, the consistency and the safety of the data in the remapping process can be ensured; at the same time, a detailed log of all remapping operations and resource adjustment activities may also be recorded, for example, to facilitate fault diagnosis and system auditing.
In addition, in this embodiment, in order to improve the system performance, before detecting the actual average erasing times of each die in the target solid state disk, the operation duration of the target solid state disk may also be detected, where if the operation duration is less than the operation duration threshold, then the bad block management mechanism is not started; otherwise, when the running time length is greater than or equal to the running time length threshold, starting a bad block management mechanism, namely detecting the actual average erasing times of each grain die in the target solid state disk; thus, unnecessary overhead of the system can be reduced, and the operation performance of the system is ensured.
As shown in fig. 2, a third aspect of the present embodiment provides a hardware device for implementing the bad block management method of the solid state disk in the first aspect and the second aspect of the present embodiment, where the method includes:
The system comprises a block allocation unit, a storage unit and a target device, wherein the block allocation unit is used for allocating a plurality of storage blocks for each grain die in the target solid state disk to serve as initial remapping reserved blocks of each grain die, system data and user data on target devices share all the initial remapping reserved blocks in the target solid state disk, and the target devices are installation devices of the target solid state disk.
And the detection unit is used for detecting the actual average erasing times of each die in the target solid state disk when the target solid state disk runs.
And the resource adjusting unit is used for judging whether any grain die in the target solid state disk has a resource storage problem or not based on the actual average erasing times of the any grain die.
And the resource adjusting unit is further used for adjusting the number of the initial remapping reserved blocks of any grain die based on a resource adjusting strategy when judging that the resource storage problem exists in any grain die, and completing bad block management of the target solid state disk after the number of the initial remapping reserved blocks of all grain die in the target solid state disk is adjusted, wherein the number of the initial remapping reserved blocks after adjustment of any grain die is larger than the number before adjustment.
The working process, working details and technical effects of the device provided in this embodiment may refer to the first aspect and the second aspect of the embodiment, which are not described herein again.
As shown in fig. 3, in a fourth aspect of the present embodiment, another bad block management device for a solid state disk is provided, where the device is an electronic device, and includes: the system comprises a memory, a processor and a transceiver which are sequentially and communicatively connected, wherein the memory is used for storing a computer program, the transceiver is used for receiving and transmitting messages, and the processor is used for reading the computer program and executing the bad block management method of the solid state disk according to the first aspect and the second aspect of the embodiment.
By way of specific example, the Memory may include, but is not limited to, random access Memory (random access Memory, RAM), read Only Memory (ROM), flash Memory (Flash Memory), first-in-first-Out Memory (First Input First Output, FIFO) and/or first-in-last-Out Memory (FIRST IN LAST Out, FILO), and the like; in particular, the processor may include one or more processing cores, such as a 4-core processor, an 8-core processor, or the like. The processor may be implemented in at least one hardware form of DSP (DIGITAL SIGNAL Processing), FPGA (Field-Programmable gate array), PLA (Programmable Logic Array ), and may also include a main processor and a coprocessor, where the main processor is a processor for Processing data in a wake-up state, and is also called CPU (Central Processing Unit ); a coprocessor is a low-power processor for processing data in a standby state.
In some embodiments, the processor may be integrated with a GPU (Graphics Processing Unit, image processor) for rendering and drawing of content required to be displayed by the display screen, e.g., the processor may not be limited to a microprocessor of the STM32F105 family, a reduced instruction set computer (reduced instruction set computer, RISC) microprocessor, an X86 or other architecture processor, or a processor that integrates an embedded neural network processor (neural-network processing units, NPU); the transceiver may be, but is not limited to, a wireless fidelity (WIFI) wireless transceiver, a bluetooth wireless transceiver, a General Packet Radio Service (GPRS) wireless transceiver, a ZigBee wireless transceiver (low power local area network protocol based on the ieee802.15.4 standard), a 3G transceiver, a 4G transceiver, and/or a 5G transceiver, etc. In addition, the device may include, but is not limited to, a power module, a display screen, and other necessary components.
The working process, working details and technical effects of the electronic device provided in this embodiment may refer to the first aspect and the second aspect of the embodiment, which are not described herein again.
A fifth aspect of the present embodiment provides a storage medium storing instructions including the methods for managing bad blocks of the solid state disk according to the first and second aspects of the present embodiment, that is, the storage medium storing instructions, and when the instructions run on a computer, the methods for managing bad blocks of the solid state disk according to the first and second aspects of the present embodiment are executed.
The storage medium refers to a carrier for storing data, and may include, but is not limited to, a floppy disk, an optical disk, a hard disk, a flash Memory, a flash disk, and/or a Memory Stick (Memory Stick), where the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
The working process, working details and technical effects of the storage medium provided in this embodiment may refer to the first aspect and the second aspect of the embodiment, and are not described herein again.
A fifth aspect of the present embodiment provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method for managing bad blocks of a solid state disk according to the first and second aspects of the embodiment, wherein the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus.
Finally, it should be noted that: the foregoing description is only of the preferred embodiments of the invention and is not intended to limit the scope of the invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (9)

1. The bad block management method of the solid state disk is characterized by comprising the following steps:
Distributing a plurality of storage blocks for each grain die in a target solid state disk to serve as initial remapping reserved blocks of each grain die, wherein system data and user data on target equipment share all initial remapping reserved blocks in the target solid state disk, and the target equipment is installation equipment of the target solid state disk;
Detecting the actual average erasing times of each die in the target solid state disk when the target solid state disk runs;
for any grain die in the target solid state disk, judging whether any grain die has a resource storage problem or not based on the actual average erasing times of any grain die;
If yes, adjusting the number of the initial remapping reserved blocks of any die based on a resource adjustment strategy, and completing bad block management of the target solid state disk after the number of the initial remapping reserved blocks of all die in the target solid state disk is adjusted, wherein the number of the initial remapping reserved blocks of any die is larger than the number before adjustment;
each initial remapping reserved block is respectively corresponding to one data remapping table, and all the data remapping tables are managed by adopting a B+ tree;
Wherein, before adjusting the number of the initial remapped reserved blocks of any die, the method further comprises:
Acquiring a B+ tree before performing a resource increasing operation as a backup B+ tree, wherein the resource increasing operation is to adjust the number of the initial remapping reserved blocks of any grain die;
Acquiring storage data in all bad blocks in any grain die;
And carrying out backup processing on the stored data and the backup B+ tree, so that when the resource adding operation is abnormal or the system of the target equipment is abnormal, the backup B+ tree and the stored data after backup are used for carrying out data recovery processing.
2. The method of claim 1, wherein determining whether any die has a resource storage problem based on an actual average number of erasures for the any die comprises:
obtaining the maximum erasable frequency of any grain die;
Calculating the difference between the actual average erasing times of any grain die and the maximum erasing times;
judging whether the difference value is larger than or equal to a preset threshold value or not;
if yes, judging that any grain die has the problem of resource storage.
3. The method of claim 1, wherein adjusting the number of initial remapped reserved blocks for any die based on a resource adjustment policy comprises:
Obtaining the maximum erasable frequency of any die, and calculating the difference between the actual average erasable frequency of any die and the maximum erasable frequency;
determining the number of reserved blocks of any die to increase based on the difference value;
And selecting a plurality of idle storage blocks from idle storage blocks in the target solid state disk according to the increased number of the reserved blocks of any grain die, taking the idle storage blocks as newly added initial remapping reserved blocks of any grain die, and completing the number adjustment of the initial remapping reserved blocks of any grain die after the newly added initial remapping reserved blocks of any grain die are obtained, wherein the number of the idle storage blocks is the increased number of the reserved blocks.
4. The method of claim 1, wherein adjusting the number of initial remapped reserved blocks for any die based on a resource adjustment policy comprises:
Acquiring a plurality of historical actual average erasing times of any die, and determining the bad block growth rate of any die based on the historical actual average erasing times and the current actual average erasing times;
determining the increase number of reserved blocks of any grain die according to the bad block growth rate;
And selecting a plurality of idle storage blocks from idle storage blocks in the target solid state disk according to the increased number of the reserved blocks of any grain die, taking the idle storage blocks as newly added initial remapping reserved blocks of any grain die, and completing the number adjustment of the initial remapping reserved blocks of any grain die after the newly added initial remapping reserved blocks of any grain die are obtained, wherein the number of the idle storage blocks is the increased number of the reserved blocks.
5. The method according to claim 3 or 4, wherein each initial remap reserved block and each newly added initial remap reserved block of any die corresponds to a bad block in the any die, respectively, wherein the bad block is used for representing a memory block in the any die, the number of erasing times of which exceeds the maximum number of erasable times;
Wherein after obtaining the newly added initial remapped reserved block of any die, the method further comprises:
Establishing a data remapping table for each newly added initial remapping reserved block, wherein the data remapping table corresponding to any newly added initial remapping reserved block comprises the mapping relation between the address of any newly added initial remapping reserved block and the address of a target bad block in any die, and the target bad block is a bad block corresponding to any newly added initial remapping reserved block in any die;
And adding a remapping table space in the dynamic random access memory of the target device, and storing the data remapping tables corresponding to the newly added initial remapping reserved blocks into the added remapping table space.
6. The method of claim 5, wherein all data remapping tables are managed using a b+ tree, wherein after adjusting the number of initial remap reservation blocks for any die, the method further comprises:
Updating the B+ tree based on a data remapping table corresponding to each newly added initial remapping reserved block to obtain an updated B+ tree, so that when writing data into any bad block in any grain die, the address of the initial remapping reserved block corresponding to any bad block is searched by utilizing the updated B+ tree, and the data is written into the initial remapping reserved block corresponding to any bad block based on the searched address, wherein the initial remapping reserved block corresponding to any bad block is one initial remapping reserved block before any grain die is adjusted, or one newly added initial remapping reserved block after adjustment.
7. The method of claim 1, wherein allocating a number of memory blocks for each die in the target solid state disk comprises:
Obtaining the maximum erasable frequency of each die in the target solid state disk;
Determining the number of storage blocks for data mapping of each die based on the maximum erasable times of each die, and distributing the storage blocks for each die based on the number of the storage blocks for data mapping of each die;
Correspondingly, in the running process of the target solid state disk, detecting the actual average erasing times of each die comprises the following steps:
For any grain die in the target solid state disk, acquiring actual erasing times of all storage blocks in any grain die;
And taking the average value of the actual erasing times of all the storage blocks in any grain die as the actual average erasing times of any grain die.
8. The bad block management device of the solid state disk is characterized by comprising the following components:
The system comprises a block allocation unit, a storage unit and a storage unit, wherein the block allocation unit is used for allocating a plurality of storage blocks for each grain die in a target solid state disk to be used as an initial remapping reserved block of each grain die, system data and user data on target equipment share all initial remapping reserved blocks in the target solid state disk, and the target equipment is installation equipment of the target solid state disk;
the detection unit is used for detecting the actual average erasing times of each grain die in the target solid state disk when the target solid state disk runs;
The resource adjusting unit is used for judging whether any grain die in the target solid state disk has a resource storage problem or not based on the actual average erasing times of the any grain die;
The resource adjusting unit is further used for adjusting the number of the initial remapping reserved blocks of any grain die based on a resource adjusting strategy when judging that the resource storage problem exists in any grain die, and completing bad block management of the target solid state disk after the number of the initial remapping reserved blocks of all grain die in the target solid state disk is adjusted, wherein the number of the initial remapping reserved blocks after adjustment of any grain die is larger than the number before adjustment;
each initial remapping reserved block is respectively corresponding to one data remapping table, and all the data remapping tables are managed by adopting a B+ tree;
before adjusting the number of the initial remapped reserved blocks of any grain die, the method further comprises:
Acquiring a B+ tree before performing a resource increasing operation as a backup B+ tree, wherein the resource increasing operation is to adjust the number of the initial remapping reserved blocks of any grain die;
Acquiring storage data in all bad blocks in any grain die;
And carrying out backup processing on the stored data and the backup B+ tree, so that when the resource adding operation is abnormal or the system of the target equipment is abnormal, the backup B+ tree and the stored data after backup are used for carrying out data recovery processing.
9. A computer program product comprising instructions which, when run on a computer, cause the computer to perform a method of managing bad blocks of a solid state disk as claimed in any one of claims 1 to 7.
CN202410600595.8A 2024-05-15 2024-05-15 Bad block management method and device for solid state disk and computer program product Active CN118170328B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410600595.8A CN118170328B (en) 2024-05-15 2024-05-15 Bad block management method and device for solid state disk and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410600595.8A CN118170328B (en) 2024-05-15 2024-05-15 Bad block management method and device for solid state disk and computer program product

Publications (2)

Publication Number Publication Date
CN118170328A CN118170328A (en) 2024-06-11
CN118170328B true CN118170328B (en) 2024-07-26

Family

ID=91350876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410600595.8A Active CN118170328B (en) 2024-05-15 2024-05-15 Bad block management method and device for solid state disk and computer program product

Country Status (1)

Country Link
CN (1) CN118170328B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112927749A (en) * 2021-03-09 2021-06-08 杭州海康威视数字技术股份有限公司 Solid state disk management method and device, electronic equipment and solid state disk
CN113093993A (en) * 2021-03-25 2021-07-09 深圳大普微电子科技有限公司 Flash memory space dynamic allocation method and solid state disk

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312204B2 (en) * 2009-01-23 2012-11-13 Seagate Technology Llc System and method for wear leveling in a data storage device
CN103309816A (en) * 2013-05-31 2013-09-18 苏州亮智科技有限公司 Solid hard disk, electronic device with solid hard disk and dynamic capacity control method of solid hard disk
US10552058B1 (en) * 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
CN111949206A (en) * 2019-05-17 2020-11-17 爱思开海力士有限公司 Memory system, controller, and method of operating the controller
CN117891412B (en) * 2024-03-14 2024-07-09 武汉麓谷科技有限公司 Bad block mapping method based on ZNS solid state disk

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112927749A (en) * 2021-03-09 2021-06-08 杭州海康威视数字技术股份有限公司 Solid state disk management method and device, electronic equipment and solid state disk
CN113093993A (en) * 2021-03-25 2021-07-09 深圳大普微电子科技有限公司 Flash memory space dynamic allocation method and solid state disk

Also Published As

Publication number Publication date
CN118170328A (en) 2024-06-11

Similar Documents

Publication Publication Date Title
US8990538B2 (en) Managing memory with limited write cycles in heterogeneous memory systems
EP2671159B1 (en) At least semi-autonomous modules in a memory system and methods
CN107408018B (en) Mechanism for adapting garbage collection resource allocation in solid state drives
CN104662519A (en) Methods, systems and apparatus to cache code in non-volatile memory
CN102135942A (en) Method for realizing wear-leveling in storage equipment as well as the storage equipment
CN115421651A (en) Data processing method of solid state disk, electronic device and medium
US20190171564A1 (en) Selection of mass storage device streams for garbage collection based on logical saturation
US20190266077A1 (en) Memory management
CN103885807A (en) Equipment program updating method
CN102135943B (en) Storing and accessing method of flash memory data and device thereof
CN104111896B (en) Virtual memory management method and its device in big data processing
CN113360092A (en) Data storage method, data storage device and electronic equipment
CN118170328B (en) Bad block management method and device for solid state disk and computer program product
CN102169464A (en) Caching method and device used for non-volatile memory, and intelligent card
CN109521970A (en) A kind of data processing method and relevant device
CN106021122A (en) Writing method and apparatus for flash data in optical module
CN115543859A (en) Wear leveling optimization method, device, equipment and medium for multi-partition SSD
CN115167775A (en) Method and device for balancing service life of memory, electronic equipment and storage medium
CN111654886B (en) Method and device for limiting user bandwidth
CN113778340A (en) A data storage method, device, electronic device and storage medium
CN115586875B (en) Wear balancing method and device for storage system and storage system
CN116719480B (en) An electric energy meter data storage method, device and medium based on data twin
CN118820374B (en) Data asset management and control platform based on multi-heterogeneous fusion technology
CN119597437A (en) Memory management method, device, electronic equipment and storage medium
CN108182960A (en) A kind of bad block management method for promoting storage device active volume

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