CN113703671B - Data block erasing method and related device - Google Patents

Data block erasing method and related device Download PDF

Info

Publication number
CN113703671B
CN113703671B CN202110837882.7A CN202110837882A CN113703671B CN 113703671 B CN113703671 B CN 113703671B CN 202110837882 A CN202110837882 A CN 202110837882A CN 113703671 B CN113703671 B CN 113703671B
Authority
CN
China
Prior art keywords
data block
erasing
number range
erased
last
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
CN202110837882.7A
Other languages
Chinese (zh)
Other versions
CN113703671A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN202110837882.7A priority Critical patent/CN113703671B/en
Publication of CN113703671A publication Critical patent/CN113703671A/en
Application granted granted Critical
Publication of CN113703671B publication Critical patent/CN113703671B/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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application discloses a data block erasing method, which comprises the following steps: numbering each data block in the solid state disk; determining a number range according to the number of the last erased data block; searching according to the number range and the erasing times of the last erased data block to obtain a target data block; and erasing the target data block. The number range is determined through the number of the last erased data block obtained through recording, and then searching is carried out according to the number range and the erasing times of the last erased data block, so that the target data block is obtained, namely, the range of erasing the data block is reduced, the whole disc inquiry is avoided, the inquiry efficiency of the target data block is improved, the delay of erasing the data block is further reduced, and the erasure efficiency is improved. The application also discloses a data block erasing device, a server and a computer readable storage medium, which have the beneficial effects.

Description

Data block erasing method and related device
Technical Field
The present application relates to the field of computer technologies, and in particular, to a data block erasing method, a data block erasing device, a server, and a computer readable storage medium.
Background
With the continuous development of data storage technology, in order to increase the speed of processing data in a storage device, processing delay is reduced. SSDs (Solid State Disk) are commonly employed in storage devices.
In the related art, an SSD uses NAND (NAND flash memory, computer flash memory device) as a storage medium. When a large amount of data needs to be written, the SSD controller receives a command and corresponding data, writes the data into the NAND, records LBA (Logical Block Address ) information of the data as metadata, processes the metadata in a log module, and finally stores the metadata in the NAND. When NAND is full, it is necessary to find the BLOCK with the smallest number of erasures from all BLOCKs (data BLOCKs) and erase it, and re-write new data. Therefore, generally, the erasing times of all the BLOCKs are queried, and the data BLOCK with the minimum erasing times is determined, but the querying efficiency is extremely low, and the use time delay of the solid state disk is increased.
Therefore, how to improve the efficiency of erasing a data block is a major concern for those skilled in the art.
Disclosure of Invention
An object of the present application is to provide a data block erasing method, a data block erasing apparatus, a server, and a computer-readable storage medium, so as to improve the efficiency of data block erasing.
In order to solve the above technical problems, the present application provides a data block erasing method, including:
numbering each data block in the solid state disk;
determining a number range according to the number of the last erased data block;
searching according to the number range and the erasing times of the last erased data block to obtain a target data block;
and erasing the target data block.
Optionally, numbering each data block in the solid state disk includes:
and numbering each data block according to the sequence of the logical block addresses of the solid state disk.
Optionally, determining the number range according to the number of the last erased data block includes:
subtracting a preset value from the number of the last erased data block to obtain the lower limit of a number range;
adding a preset value to the number of the last erased data block to obtain the upper limit of a number range;
the upper limit of the number range and the lower limit of the number range are integrated into the number range.
Optionally, the method further comprises:
when the target data block is found, expanding the number range to obtain a redundant number range;
judging whether a data block with the erasing times smaller than the erasing times of the target data block exists in the redundant number range or not;
if yes, the data block is used as the target data block;
if not, an erasure instruction is sent.
Optionally, the method further comprises:
when the last erased data block does not exist, carrying out full-disk searching on the solid state disk to obtain a first erased data block;
and erasing the first erased data block, and taking the first erased data block as the last erased data block.
Optionally, searching is performed according to the number range and the number of times of erasing the last erased data block to obtain a target data block, including:
judging whether a data block with the erasing times smaller than the erasing times of the data block erased last time exists in the numbering range;
if yes, the data block is used as the target data block;
and if not, taking the last erased data block as the target data block.
The application also provides a data block erasing device, which comprises:
the numbering module is used for numbering each data block in the solid state disk;
the range determining module is used for determining a number range according to the number of the data block erased last time;
the data block searching module is used for searching according to the number range and the erasing times of the last erased data block to obtain a target data block;
and the data block erasing module is used for erasing the target data block.
Optionally, the numbering module is specifically configured to number each data block according to the order of the logical block addresses of the solid state disk.
The application also provides a server, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the data block erasure method as described above when executing the computer program.
The present application also provides a computer readable storage medium having stored thereon a computer program which when executed by a processor implements the steps of the data block erasure method as described above.
The application provides a data block erasing method, which comprises the following steps: numbering each data block in the solid state disk; determining a number range according to the number of the last erased data block; searching according to the number range and the erasing times of the last erased data block to obtain a target data block; and erasing the target data block.
The number range is determined through the number of the last erased data block obtained through recording, and then searching is carried out according to the number range and the erasing times of the last erased data block, so that the target data block is obtained, namely, the range of erasing the data block is reduced, the whole disc inquiry is avoided, the inquiry efficiency of the target data block is improved, the delay of erasing the data block is further reduced, and the erasure efficiency is improved.
The application also provides a data block erasing device, a server and a computer readable storage medium, which have the advantages and are not described herein.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only embodiments of the present application, and that other drawings can be obtained according to the provided drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart of a method for erasing a data block according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a data block erasing device according to an embodiment of the present application.
Detailed Description
The core of the present application is to provide a data block erasing method, a data block erasing device, a server and a computer readable storage medium, so as to improve the efficiency of data block erasing.
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
In the related art, the SSD uses NAND as a storage medium. When a large amount of data needs to be written, the SSD controller receives a command and corresponding data, writes the data into the NAND, records LBA information of the data, processes the LBA information as metadata in a log module, and finally stores the metadata in the NAND. When the NAND is full, it is necessary to find the BLOCK with the smallest number of erasures from all BLOCKs, erase it, and rewrite new data. Therefore, generally, the erasing times of all the BLOCKs are queried, and the data BLOCK with the minimum erasing times is determined, but the querying efficiency is extremely low, and the use time delay of the solid state disk is increased.
Therefore, the application provides a data block erasing method, which determines the number range by recording the number of the last erased data block, and searches according to the number range and the erasing times of the last erased data block to obtain the target data block, namely, the erasing range of the data block is reduced, the whole disc inquiry is avoided, the inquiry efficiency of the target data block is improved, the delay of erasing the data block is further reduced, and the erasing efficiency is improved.
The following describes a data block erase method according to an embodiment of the present application.
Referring to fig. 1, fig. 1 is a flowchart of a data block erasing method according to an embodiment of the application.
In this embodiment, the method may include:
s101, numbering each data block in the solid state disk;
the step aims at numbering each data block in the solid state disk. That is, each data block in the solid state disk has an independent number to identify the data block.
And each data block can be numbered according to the sequence of data reading and writing, each data block can be numbered according to the logical block address in the solid state disk, and each data block can be numbered according to the sequence of the physical block address in the solid state disk. It should be noted that the manner of numbering the data blocks in this embodiment is not unique, and is not specifically limited herein.
Further, the step may include:
and numbering each data block according to the sequence of the logical block addresses of the solid state disk.
It can be seen that the present alternative is mainly to explain how to number. In this alternative, each data block is numbered according to the order of the logical block addresses of the solid state disk. The logical block address is a general mechanism for describing a block of data on a computer storage device, and is generally used in an auxiliary memory device such as a hard disk. The LBA (Logical Block Address ) may mean an address of a certain data block or a data block to which a certain address points. A so-called logical block on today's computers is typically 512 or 1024 bytes.
S102, determining a number range according to the number of the last erased data block;
on the basis of S101, this step aims at determining a number range from the number of the last erased data block. It can be seen that the number of the data block erased last time mainly determines the range of searching in this embodiment.
Generally, in order to erase a data block in the prior art, it is common to erase a data block with the smallest number of times of full-disc seek erase. However, the efficiency of the whole-disk inquiry is extremely low, which easily causes the time delay of data block book erasing and reduces the efficiency of data management. Therefore, in this step, the number range for searching is determined based on the number of the last erased data block, so as to reduce the searching range and improve the searching efficiency.
Further, the step may include:
step 1, subtracting a preset value from the number of the last erased data block to obtain the lower limit of a number range;
step 2, adding a preset value to the number of the last erased data block to obtain the upper limit of a number range;
and step 3, integrating the upper limit of the number range and the lower limit of the number range into the number range.
It will be seen that the description of the determination of the number range is mainly in this alternative. In the alternative scheme, the number of the last erased data block is subtracted from a preset value to obtain the lower limit of the number range, the preset value is added to the number of the last erased data block to obtain the upper limit of the number range, and the upper limit of the number range and the lower limit of the number range are integrated into the number range.
Therefore, in the alternative, the number of the data block which can be erased at the last time can be determined to the corresponding number range through the preset value, so that the range for searching is reduced.
S103, searching according to the number range and the erasing times of the last erased data block to obtain a target data block;
based on S102, this step aims to find a target data block according to the number range and the number of erasures of the last erased data block. It can be seen that this step is mainly to find data blocks in the number range that have smaller erasures than the last erased data block.
Therefore, in the embodiment, the target data block is determined in the number range instead of scanning the whole disk, so that the query efficiency is greatly improved. Also, in general, the distribution of data blocks with smaller erasure numbers is relatively concentrated, and thus, it is easier to determine a target data block around the data block erased last time, so that erasure can be performed.
Further, the step may include:
step 1, judging whether a data block with the erasing times smaller than the erasing times of the data block erased last time exists in a number range;
step 2, if yes, taking the data block as a target data block;
and step 3, if not, taking the last erased data block as a target data block.
It can be seen that in this alternative, it is mainly determined whether there is a data block with the number of erasures less than the number of erasures of the last erased data block in the number range; if yes, the data block is used as a target data block; if not, the last erased data block is taken as the target data block.
It is obvious that, in this alternative, the target data block, that is, the data block with the smallest number of erasures, may be determined and used as the target data block.
In addition, the present embodiment may further include:
step 1, when no data block erased last time exists, carrying out full-disk search on the solid state disk to obtain a first erased data block;
and 2, erasing the first erased data block, and taking the first erased data block as the last erased data block.
It can be seen that this alternative is mainly illustrative of how the first data block erase is performed. In the alternative scheme, when no data block erased last time exists, the solid state disk is subjected to full-disk searching to obtain a first erased data block, the first erased data block is erased, and the first erased data block is used as the data block erased last time.
That is, by searching the solid state disk in full disk, the data block with the minimum erasing times in the current state is determined, so that the first erased data block is erased.
In addition, the present embodiment may further include:
step 1, when a target data block is found, expanding a number range to obtain a redundant number range;
step 2, judging whether a data block with the erasing times smaller than the erasing times of the target data block exists in the redundant number range;
step 3, if yes, taking the data block as a target data block;
and step 4, if not, sending an erasing instruction.
It can be seen that this alternative is mainly to explain how to keep the accuracy of the target data block, i.e. keep the number of erasures of the target data block to a minimum over the disk. In the alternative scheme, when the target data block is found, the number range is enlarged to obtain a redundant number range, whether the data block with the erasing times smaller than the erasing times of the target data block exists in the redundant number range is judged, if so, the data block is taken as the target data block, and if not, an erasing instruction is sent.
It can be seen that in this alternative, the number range is mainly enlarged to a redundant number range, and then a corresponding search is performed, so as to keep the target data block to be the data block with the minimum erasing frequency.
S104, erasing the target data block.
On the basis of S103, the target data block is erased.
In summary, in this embodiment, the number range is determined by recording the number of the last erased data block obtained, and then searching is performed according to the number range and the number of times of erasing the last erased data block to obtain the target data block, that is, the range of erasing the data block is reduced, so that the whole-disk query is avoided, the query efficiency of the target data block is improved, the delay of erasing the data block is further reduced, and the erase efficiency is improved.
The following describes a data block erase method according to an embodiment of the present application.
In this embodiment, in order to improve accuracy of processing a data block, the CPU is divided into a master CPU and a slave CPU for corresponding processing. Further, the method may include:
step 1, numbering all BLOCKs. Wherein, BLOCK is the data BLOCK.
And 2, dividing all the CPUs into two groups, wherein one group is a Master CPU (the number of the Master CPUs can be 1), and the other group is a slave CPU (the number of the rest of the available CPUs can be N).
And 3, the Master CPU receives data from other modules, judges whether a BLOCK needs to be written in, and continues to receive the data if the BLOCK does not need to be written in.
And 4, when the data received by the Master CPU can be written into a BLOCK, acquiring the BLOCK, setting erase_NUM (number of ERASEs) for the BLOCK, recording the number of ERASEs of the BLOCK, sending a message to the Slaver CPU, and writing the data into the NAND.
And 5, the Slaver CPU writes the data into the NAND and sends a completion message to the Master CPU.
And 6, after receiving the completion message, the Master CPU judges whether the BLOCK needs to be erased, and if not, the master CPU continues to fetch the empty BLOCK to write data.
And 7, when the master CPU needs to ERASE the BLOCK, if the master CPU searches for the BLOCK for the first time, scanning all the BLOCK, finding out the minimum data of the ERASE_NUM, and recording MIN_ERASE_NUM and MIN_block_NUM.
Step 8, if the search is not the first search, searching for min_block_num-n_slave CPU NUM to min_block_num+n_slave CPU NUM (where N is a parameter, an integer of 1, 2 … …, etc. is preferable, and it is recommended that 2 is to consider efficiency and accuracy), and erase_num of BLOCK is equal to min_erase_num of the last search record, and if no search is performed after the search, continuing to search for min_erase_num+1.
If yes, recording MIN_BLASE_NUM and BLOCK NUM, if no, continuing to judge whether MIN_ERASE_NUM+1 exists, and finding the data BLOCK with the minimum erasing frequency.
And 9, erasing the found new BLOCK, and replacing the newly found block_num and erase_num with MIN_block_num and MIN_erase_num.
It can be seen that in this embodiment, the BLOCKs are selected in a certain order, so that all BLOCKs are numbered according to a certain rule, and the number of erasures is recorded for each BLOCK. When a plurality of CPUs perform BLOCK switching, resource waste and disorder of BLOCK searching sequence are considered. Therefore, only the Master CPU is used to search for the BLOCK with the least number of erasures. It is also considered that when searching for the BLOCK with the least number of erasures, since the BLOCK is selected according to a certain sequence of BLOCK NUM when in use, the writing time and ERASE NUM data recorded in the BLOCK are necessarily similar, and the result attachment searched for last time can necessarily find the minimum number of erasures meeting the requirement.
It can be seen that, in this embodiment, the number range is determined by recording the number of the last erased data block obtained, and then searching is performed according to the number range and the number of times of erasing the last erased data block, so as to obtain the target data block, that is, the range of erasing the data block is reduced, the whole disc query is avoided, the query efficiency of the target data block is improved, the delay of erasing the data block is further reduced, and the erasure efficiency is improved.
The following describes a data block erasing device provided in an embodiment of the present application, and the data block erasing device described below and the data block erasing method described above may be referred to correspondingly.
Referring to fig. 2, fig. 2 is a schematic diagram of a data block erasing apparatus according to an embodiment of the application.
In this embodiment, the apparatus may include:
the numbering module 100 is used for numbering each data block in the solid state disk;
a range determining module 200, configured to determine a number range according to the number of the last erased data block;
the data block searching module 300 is configured to search according to the number range and the number of times of erasing the data block erased last time to obtain a target data block;
and a data block erasing module 400 for erasing the target data block.
Optionally, the numbering module 100 is specifically configured to number each data block according to the order of the logical block addresses of the solid state disk.
Optionally, the range determining module 200 is specifically configured to subtract a preset value from a number of a last erased data block to obtain a lower limit of a number range; adding a preset value to the number of the last erased data block to obtain the upper limit of a number range; the upper and lower numbering range limits are integrated into a numbering range.
Optionally, the apparatus may further include:
the redundancy searching module is used for expanding the number range to obtain a redundancy number range when the target data block is searched; judging whether a data block with the erasing times smaller than the erasing times of the target data block exists in the redundant number range or not; if yes, the data block is used as a target data block; if not, an erasure instruction is sent.
Optionally, the apparatus may further include:
the first searching module is used for carrying out full-disc searching on the solid state disk when the data block erased last time does not exist, so as to obtain the first erased data block; and erasing the first erased data block, and taking the first erased data block as the last erased data block.
Optionally, the data block searching module 300 is specifically configured to determine whether a data block with an erasure number smaller than that of the data block erased last time exists in the number range; if yes, the data block is used as a target data block; if not, the last erased data block is taken as the target data block.
The embodiment of the application also provides a server, which comprises:
a memory for storing a computer program;
a processor for implementing the steps of the data block erasure method as described in the above embodiments when executing the computer program.
Embodiments of the present application also provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the data block erasure method as described in the above embodiments.
In the description, each embodiment is described in a progressive manner, and each embodiment is mainly described by the differences from other embodiments, so that the same similar parts among the embodiments are mutually referred. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant points refer to the description of the method section.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. 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 present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software modules may be disposed in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above describes in detail a data block erasing method, a data block erasing device, a server and a computer readable storage medium provided by the present application. The principles and embodiments of the present application have been described herein with reference to specific examples, the description of which is intended only to facilitate an understanding of the method of the present application and its core ideas. It should be noted that it will be apparent to those skilled in the art that various modifications and adaptations of the application can be made without departing from the principles of the application and these modifications and adaptations are intended to be within the scope of the application as defined in the following claims.

Claims (9)

1. A method of data block erasure, comprising:
numbering each data block in the solid state disk;
determining a number range according to the number of the last erased data block;
searching according to the number range and the erasing times of the last erased data block to obtain a target data block;
erasing the target data block;
searching according to the number range and the erasing times of the last erased data block to obtain a target data block, wherein the searching comprises the following steps:
judging whether a data block with the erasing times smaller than the erasing times of the data block erased last time exists in the numbering range;
if yes, the data block is used as the target data block;
and if not, taking the last erased data block as the target data block.
2. The method of claim 1, wherein numbering each data block in the solid state disk comprises:
and numbering each data block according to the sequence of the logical block addresses of the solid state disk.
3. The data block erasure method according to claim 1, wherein determining a number range based on the number of the last erased data block comprises:
subtracting a preset value from the number of the last erased data block to obtain the lower limit of a number range;
adding a preset value to the number of the last erased data block to obtain the upper limit of a number range;
the upper limit of the number range and the lower limit of the number range are integrated into the number range.
4. The data block erasure method according to claim 1, further comprising:
when the target data block is found, expanding the number range to obtain a redundant number range;
judging whether a data block with the erasing times smaller than the erasing times of the target data block exists in the redundant number range or not;
if yes, the data block is used as the target data block;
if not, an erasure instruction is sent.
5. The data block erasure method according to claim 1, further comprising:
when the last erased data block does not exist, carrying out full-disk searching on the solid state disk to obtain a first erased data block;
and erasing the first erased data block, and taking the first erased data block as the last erased data block.
6. A data block erasure apparatus, comprising:
the numbering module is used for numbering each data block in the solid state disk;
the range determining module is used for determining a number range according to the number of the data block erased last time;
the data block searching module is used for searching according to the number range and the erasing times of the last erased data block to obtain a target data block;
the data block erasing module is used for erasing the target data block;
the data block searching module is specifically configured to determine whether a data block with an erasure number less than that of the last erased data block exists in the number range; if yes, the data block is used as the target data block; and if not, taking the last erased data block as the target data block.
7. The device of claim 6, wherein the numbering module is specifically configured to number each of the data blocks according to an order of logical block addresses of the solid state disk.
8. A server, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the data block erasure method according to any of claims 1 to 5 when executing the computer program.
9. A computer readable storage medium, characterized in that the computer readable storage medium has stored thereon a computer program which, when executed by a processor, implements the steps of the data block erasure method according to any of claims 1 to 5.
CN202110837882.7A 2021-07-23 2021-07-23 Data block erasing method and related device Active CN113703671B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110837882.7A CN113703671B (en) 2021-07-23 2021-07-23 Data block erasing method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110837882.7A CN113703671B (en) 2021-07-23 2021-07-23 Data block erasing method and related device

Publications (2)

Publication Number Publication Date
CN113703671A CN113703671A (en) 2021-11-26
CN113703671B true CN113703671B (en) 2023-09-22

Family

ID=78650349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110837882.7A Active CN113703671B (en) 2021-07-23 2021-07-23 Data block erasing method and related device

Country Status (1)

Country Link
CN (1) CN113703671B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169462A (en) * 2011-04-27 2011-08-31 中国科学院光电技术研究所 NAND Flash-based data recording method and recording controller
CN105528301A (en) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 NAND Flash memory garbage collection method
CN109240615A (en) * 2018-08-30 2019-01-18 浪潮电子信息产业股份有限公司 A kind of method for reading data of solid state hard disk, device and equipment
CN110806984A (en) * 2018-08-06 2020-02-18 爱思开海力士有限公司 Apparatus and method for searching for valid data in memory system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11175850B2 (en) * 2019-01-03 2021-11-16 Toshiba Memory Corporation Selective erasure of data in a SSD

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169462A (en) * 2011-04-27 2011-08-31 中国科学院光电技术研究所 NAND Flash-based data recording method and recording controller
CN105528301A (en) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 NAND Flash memory garbage collection method
CN110806984A (en) * 2018-08-06 2020-02-18 爱思开海力士有限公司 Apparatus and method for searching for valid data in memory system
CN109240615A (en) * 2018-08-30 2019-01-18 浪潮电子信息产业股份有限公司 A kind of method for reading data of solid state hard disk, device and equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于多阈值的闪存磨损均衡算法;拓晶;唐磊;;微电子学与计算机(01);全文 *

Also Published As

Publication number Publication date
CN113703671A (en) 2021-11-26

Similar Documents

Publication Publication Date Title
US8312204B2 (en) System and method for wear leveling in a data storage device
US8478796B2 (en) Uncorrectable error handling schemes for non-volatile memories
US9727452B2 (en) Distributing metadata across multiple different disruption regions within an asymmetric memory system
EP1909184B1 (en) Mapping information managing apparatus and method for non-volatile memory supporting different cell types
US8812816B2 (en) Garbage collection schemes for index block
US20130326121A1 (en) Data-storage device and flash memory control method
US8825946B2 (en) Memory system and data writing method
CN107564558B (en) Implementing decentralized atomic I/O writing
KR20120060236A (en) Power interrupt management
KR101336258B1 (en) Apparatus and method of processing data of non-volatile memory
CN108628542B (en) File merging method and controller
US11204864B2 (en) Data storage devices and data processing methods for improving the accessing performance of the data storage devices
US10552335B2 (en) Method and electronic device for a mapping table in a solid-state memory
KR20200068941A (en) Apparatus and method for controlling data stored in memory system
CN110674056B (en) Garbage recovery method and device
US11029867B2 (en) Apparatus and method for transmitting map information and read count in memory system
KR20200113992A (en) Apparatus and method for reducing cell disturb in open block of the memory system during receovery procedure
KR20210050592A (en) Error checking in namespaces on storage devices
CN113835639B (en) I/O request processing method, device, equipment and readable storage medium
US10628301B1 (en) System and method for optimizing write amplification of non-volatile memory storage media
CN116540950B (en) Memory device and control method for writing data thereof
US9535796B2 (en) Method, apparatus and computer for data operation
US20210042050A1 (en) Method and apparatus for rebuilding memory mapping tables
CN113703671B (en) Data block erasing method and related device
CN111338562A (en) Data storage device and data processing method

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