CN113703671B - 一种数据块擦除方法及相关装置 - Google Patents

一种数据块擦除方法及相关装置 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
English (en)
Other versions
CN113703671A (zh
Inventor
王思润
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/zh
Publication of CN113703671A publication Critical patent/CN113703671A/zh
Application granted granted Critical
Publication of CN113703671B publication Critical patent/CN113703671B/zh
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

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

本申请公开了一种数据块擦除方法,包括:对固态硬盘中每个数据块进行编号;根据上一次擦除的数据块的编号确定编号范围;根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块;对所述目标数据块进行擦除。通过记录得到的上一次擦除的数据块的编号确定编号范围,再根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块,也就是减小了数据块进行擦除的范围,避免进行全盘的查询,提高了目标数据块的查询的效率,进一步的降低了对数据块进行擦除的延时,提高擦除的效率。本申请还公开了一种数据块擦除装置、服务器以及计算机可读存储介质,具有以上有益效果。

Description

一种数据块擦除方法及相关装置
技术领域
本申请涉及计算机技术领域,特别涉及一种数据块擦除方法、数据块擦除装置、服务器以及计算机可读存储介质。
背景技术
随着数据存储技术的不断发展,为了提高数据在存储设备中进行处理的速度,降低处理延时。通常在存储设备中采用SSD(Solid State Disk,固态硬盘)。
相关技术中,SSD使用NAND(NAND flash memory,计算机闪存设备)为存储介质。当需要写入一大笔数据时,SSD控制器收命令,并接收对应的数据,向NAND中写入数据,同时记录下这些数据的LBA(Logical Block Address,逻辑区块地址)信息,作为元数据,在日志模块对其进行处理,最后保存在NAND中。当NAND写满后,需要从所有的BLOCK(数据块)里找到擦除次数最小的BLOCK将其擦除,重新写入新数据。因此,一般是查询所有的BLOCK的擦写次数,确定擦写次数最少的数据块,但是查询的效率极低,增加了固态硬盘的使用时延。
因此,如何提高擦写数据块的效率是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种数据块擦除方法、数据块擦除装置、服务器以及计算机可读存储介质,以便提高数据块擦除的效率。
为解决上述技术问题,本申请提供一种数据块擦除方法,包括:
对固态硬盘中每个数据块进行编号;
根据上一次擦除的数据块的编号确定编号范围;
根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块;
对所述目标数据块进行擦除。
可选的,对固态硬盘中每个数据块进行编号,包括:
根据所述固态硬盘的逻辑区块地址的顺序对每个所述数据块进行编号。
可选的,根据上一次擦除的数据块的编号确定编号范围,包括:
对所述上一次擦除的数据块的编号减去预设数值,得到编号范围下限;
对所述上一次擦除的数据块的编号相加预设数值,得到编号范围上限;
将所述编号范围上限和所述编号范围下限整合为所述编号范围。
可选的,还包括:
当查找到所述目标数据块时,对所述编号范围进行扩大得到冗余编号范围;
判断所述冗余编号范围中是否存在擦除次数小于所述目标数据块的擦除次数的数据块;
若是,则将该数据块作为所述目标数据块;
若否,则发送擦除指令。
可选的,还包括:
当不存在所述上一次擦除的数据块时,对所述固态硬盘进行全盘查找,得到首次擦除数据块;
对所述首次擦除数据块进行擦除,并将所述首次擦除数据块作为所述上一次擦除的数据块。
可选的,根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块,包括:
判断所述编号范围内是否存在擦除次数小于所述上一次擦除的数据块的擦除次数的数据块;
若是,则将该数据块作为所述目标数据块;
若否,则将所述上一次擦除的数据块作为所述目标数据块。
本申请还提供一种数据块擦除装置,包括:
编号模块,用于对固态硬盘中每个数据块进行编号;
范围确定模块,用于根据上一次擦除的数据块的编号确定编号范围;
数据块查找模块,用于根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块;
数据块擦除模块,用于对所述目标数据块进行擦除。
可选的,所述编号模块,具体用于根据所述固态硬盘的逻辑区块地址的顺序对每个所述数据块进行编号。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的数据块擦除方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据块擦除方法的步骤。
本申请所提供的一种数据块擦除方法,包括:对固态硬盘中每个数据块进行编号;根据上一次擦除的数据块的编号确定编号范围;根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块;对所述目标数据块进行擦除。
通过记录得到的上一次擦除的数据块的编号确定编号范围,再根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块,也就是减小了数据块进行擦除的范围,避免进行全盘的查询,提高了目标数据块的查询的效率,进一步的降低了对数据块进行擦除的延时,提高擦除的效率。
本申请还提供一种数据块擦除装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种数据块擦除方法的流程图;
图2为本申请实施例所提供的一种数据块擦除装置的结构示意图。
具体实施方式
本申请的核心是提供一种数据块擦除方法、数据块擦除装置、服务器以及计算机可读存储介质,以便提高数据块擦除的效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,SSD使用NAND为存储介质。当需要写入一大笔数据时,SSD控制器收命令,并接收对应的数据,向NAND中写入数据,同时记录下这些数据的LBA信息,作为元数据,在日志模块对其进行处理,最后保存在NAND中。当NAND写满后,需要从所有的BLOCK里找到擦除次数最小的BLOCK将其擦除,重新写入新数据。因此,一般是查询所有的BLOCK的擦写次数,确定擦写次数最少的数据块,但是查询的效率极低,增加了固态硬盘的使用时延。
因此,本申请提供一种数据块擦除方法,通过记录得到的上一次擦除的数据块的编号确定编号范围,再根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块,也就是减小了数据块进行擦除的范围,避免进行全盘的查询,提高了目标数据块的查询的效率,进一步的降低了对数据块进行擦除的延时,提高擦除的效率。
以下通过一个实施例,对本申请提供的一种数据块擦除方法进行说明。
请参考图1,图1为本申请实施例所提供的一种数据块擦除方法的流程图。
本实施例中,该方法可以包括:
S101,对固态硬盘中每个数据块进行编号;
本步骤旨在对固态硬盘中每个数据块进行编号。也就是,使得固态硬盘中每个数据块均具有一个独立的编号,以标识该数据块。
并且,可以按照数据读写的顺序对每个数据块进行编号,也可以按照固态硬盘中的逻辑区块地址对每个数据块进行编号,还可以是按照固态硬盘中的物理区块地址的顺序对每个数据块进行编号。可见,本实施例中对数据块进行编号的方式并不唯一,在此不做具体限定。
进一步的,本步骤可以包括:
根据固态硬盘的逻辑区块地址的顺序对每个数据块进行编号。
可见,本可选方案中主要是对如何进行编号做说明。本可选方案中,根据固态硬盘的逻辑区块地址的顺序对每个数据块进行编号。其中,逻辑区块地址是描述计算机存储设备上数据所在区块的通用机制,一般用在像硬盘这样的辅助记忆设备。LBA(Logical BlockAddress,逻辑区块地址)可以意指某个数据区块的地址或是某个地址所指向的数据区块。现今计算机上所谓一个逻辑区块通常是512或1024位组。
S102,根据上一次擦除的数据块的编号确定编号范围;
在S101的基础上,本步骤旨在根据上一次擦除的数据块的编号确定编号范围。可见,本实施例中主要是以上一次擦除的数据块的编号确定进行查找的范围。
一般来说,现有技术中为了对数据块进行擦除,通常是全盘查找擦除次数最小的数据块进行擦除。但是,全盘查询的效率极低,容易造成数据块擦书的延时,降低数据管理的效率。因此,本步骤中旨在基于上一次擦除的数据块的编号为基准,确定进行查询的编号范围,以便缩小进行查找的范围,提高查找的效率。
进一步的,本步骤可以包括:
步骤1,对上一次擦除的数据块的编号减去预设数值,得到编号范围下限;
步骤2,对上一次擦除的数据块的编号相加预设数值,得到编号范围上限;
步骤3,将编号范围上限和编号范围下限整合为编号范围。
可见,本可选方案中主要是对确定编号范围进行说明。本可选方案中对上一次擦除的数据块的编号减去预设数值,得到编号范围下限,对上一次擦除的数据块的编号相加预设数值,得到编号范围上限,将编号范围上限和编号范围下限整合为编号范围。
可见,本可选方案中通过该预设数值可以以上一次擦除的数据块的编号确定到对应的编号范围,缩小了进行查找的范围。
S103,根据编号范围和上一次擦除的数据块的擦除次数进行查找,得到目标数据块;
在S102的基础上,本步骤旨在根据编号范围和上一次擦除的数据块的擦除次数进行查找,得到目标数据块。可见,本步骤主要是在编号范围内查找擦除次数小于上一次擦除的数据块的擦除次数的数据块。
可见,由于本实施例中旨在编号范围内确定目标数据块,而不是在全盘进行扫查,极大的提高了查询的效率。并且,一般来说擦除次数较小的数据块分布相对集中,因此,在上一次擦除的数据块周围更容易确定到目标数据块,以便进行擦除。
进一步的,本步骤可以包括:
步骤1,判断编号范围内是否存在擦除次数小于上一次擦除的数据块的擦除次数的数据块;
步骤2,若是,则将该数据块作为目标数据块;
步骤3,若否,则将上一次擦除的数据块作为目标数据块。
可见,本可选方案中主要是判断编号范围内是否存在擦除次数小于上一次擦除的数据块的擦除次数的数据块;若是,则将该数据块作为目标数据块;若否,则将上一次擦除的数据块作为目标数据块。
很显然,通过本可选方案中可以确定出目标数据块,也就是确定出擦除次数最小的数据块,并作为该目标数据块。
此外,本实施例还可以包括:
步骤1,当不存在上一次擦除的数据块时,对固态硬盘进行全盘查找,得到首次擦除数据块;
步骤2,对首次擦除数据块进行擦除,并将首次擦除数据块作为上一次擦除的数据块。
可见,本可选方案中主要是说明如何进行第一次的数据块擦除。本可选方案中当不存在上一次擦除的数据块时,对固态硬盘进行全盘查找,得到首次擦除数据块,对首次擦除数据块进行擦除,并将首次擦除数据块作为上一次擦除的数据块。
也就是,通过对固态硬盘进行全盘的查找,以便确定到当前状态下擦除次数最小的数据块,以便对该首次擦除数据块进行擦除。
此外,本实施例还可以包括:
步骤1,当查找到目标数据块时,对编号范围进行扩大得到冗余编号范围;
步骤2,判断冗余编号范围中是否存在擦除次数小于目标数据块的擦除次数的数据块;
步骤3,若是,则将该数据块作为目标数据块;
步骤4,若否,则发送擦除指令。
可见,本可选方案中主要是说明如何保持该目标数据块的准确性,也就是保持该目标数据块的擦除次数是全盘最小的。本可选方案中,当查找到目标数据块时,对编号范围进行扩大得到冗余编号范围,判断冗余编号范围中是否存在擦除次数小于目标数据块的擦除次数的数据块,若是,则将该数据块作为目标数据块,若否,则发送擦除指令。
可见,本可选方案中主要是将编号范围扩大为冗余编号范围,再进行对应的查找,以便保持该目标数据块为擦除次数最小的数据块。
S104,对目标数据块进行擦除。
在S103的基础上,对目标数据块进行擦除。
综上,本实施例通过记录得到的上一次擦除的数据块的编号确定编号范围,再根据编号范围和上一次擦除的数据块的擦除次数进行查找,得到目标数据块,也就是减小了数据块进行擦除的范围,避免进行全盘的查询,提高了目标数据块的查询的效率,进一步的降低了对数据块进行擦除的延时,提高擦除的效率。
以下通过一个具体的实施例,对本申请提供的一种数据块擦除方法做进一步说明。
本实施例中,为了提高对数据块进行处理的准确性,将CPU分为主CPU和从CPU进行相应的处理。进一步的,该方法可以包括:
步骤1,对所有BLOCK进行编号。其中,BLOCK即为数据块。
步骤2,将所有的CPU分为两组,一组为Master CPU(主CPU,数量可以1个),一组为Slaver CPU(从CPU,其余可用CPU,数量可以为N个)。
步骤3,Master CPU从其他模块接收数据,并判断是否需要写入一个BLOCK,如果不需要则继续接收数据。
步骤4,Master CPU接收的数据够写入一个BLOCK时,获取BLOCK,并对该BLOCK设置ERASE_NUM(擦除次数),用以记录BLOCK擦除次数,并向Slaver CPU发送消息,将数据写入NAND。
步骤5,Slaver CPU将数据写入NAND,并向Master CPU发送完成消息。
步骤6,Master CPU收到完成消息后,判断是否需要擦除BLOCK,如果不需要,继续取空的BLOCK写数据。
步骤7,Master CPU需要擦除BLOCK时,如果是第一次查找,扫描全部BLOCK,找到ERASE_NUM最小的数据,并记录MIN_ERASE_NUM及MIN_BLOCK_NUM。
步骤8,如果不是第一次查找,查找MIN_BLOCK_NUM–N*SLAVE CPU NUM至MIN_BLOCK_NUM+N*SLAVE CPU NUM(其中,N为参数,可取1、2……等整数,为兼顾效率以及准确度,建议为2)范围内BLOCK的ERASE_NUM等于上次查找记录的MIN_ERASE_NUM,如果查询完后找不到,继续查找MIN_ERASE_NUM+1。
其中,可以是获取范围内的所有BLOCK的ERASE_NUM,先判断这段区域内是否有MIN_ERASE_NUM,如果有,记录MIN_BLOCK_NUM及BLOCK NUM,如果没有,继续判断是否有MIN_ERASE_NUM+1,找到擦除次数最小的数据块。
步骤9,将找到的新BLOCK擦除,并将新找到的BLOCK_NUM和ERASE_NUM替换掉MIN_BLOCK_NUM,MIN_ERASE_NUM。
可见,本实施例中BLOCK在选取时是按照一定顺序的,所以按照一定规则给所有BLOCK进行编号,并对每个BLOCK记录擦除次数。考虑了在多个CPU进行BLOCK切换时,会造成资源的浪费以及BLOCK查找顺序的错乱。故只用到Master CPU进行查找擦除次数最少的BLOCK。还考虑了在查找擦除次数最少BLOCK时,由于BLOCK在用的时候是按照BLOCK NUM的一定顺序选取的,那么写完的时间以及BLOCK里记录的ERASE NUM数据必然是相近的,那么在上一次查找的结果附件必定能查找到满足要求的最少擦除次数。
可见,本实施例通过记录得到的上一次擦除的数据块的编号确定编号范围,再根据编号范围和上一次擦除的数据块的擦除次数进行查找,得到目标数据块,也就是减小了数据块进行擦除的范围,避免进行全盘的查询,提高了目标数据块的查询的效率,进一步的降低了对数据块进行擦除的延时,提高擦除的效率。
下面对本申请实施例提供的数据块擦除装置进行介绍,下文描述的数据块擦除装置与上文描述的数据块擦除方法可相互对应参照。
请参考图2,图2为本申请实施例所提供的一种数据块擦除装置的结构示意图。
本实施例中,该装置可以包括:
编号模块100,用于对固态硬盘中每个数据块进行编号;
范围确定模块200,用于根据上一次擦除的数据块的编号确定编号范围;
数据块查找模块300,用于根据编号范围和上一次擦除的数据块的擦除次数进行查找,得到目标数据块;
数据块擦除模块400,用于对目标数据块进行擦除。
可选的,该编号模块100,具体用于根据固态硬盘的逻辑区块地址的顺序对每个数据块进行编号。
可选的,该范围确定模块200,具体用于对上一次擦除的数据块的编号减去预设数值,得到编号范围下限;对上一次擦除的数据块的编号相加预设数值,得到编号范围上限;将编号范围上限和编号范围下限整合为编号范围。
可选的,该装置还可以包括:
冗余查找模块,用于当查找到目标数据块时,对编号范围进行扩大得到冗余编号范围;判断冗余编号范围中是否存在擦除次数小于目标数据块的擦除次数的数据块;若是,则将该数据块作为目标数据块;若否,则发送擦除指令。
可选的,该装置还可以包括:
首次查找模块,用于当不存在上一次擦除的数据块时,对固态硬盘进行全盘查找,得到首次擦除数据块;对首次擦除数据块进行擦除,并将首次擦除数据块作为上一次擦除的数据块。
可选的,该数据块查找模块300,具体用于判断编号范围内是否存在擦除次数小于上一次擦除的数据块的擦除次数的数据块;若是,则将该数据块作为目标数据块;若否,则将上一次擦除的数据块作为目标数据块。
本申请实施例还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的数据块擦除方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的数据块擦除方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种数据块擦除方法、数据块擦除装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (9)

1.一种数据块擦除方法,其特征在于,包括:
对固态硬盘中每个数据块进行编号;
根据上一次擦除的数据块的编号确定编号范围;
根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块;
对所述目标数据块进行擦除;
其中,根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块,包括:
判断所述编号范围内是否存在擦除次数小于所述上一次擦除的数据块的擦除次数的数据块;
若是,则将该数据块作为所述目标数据块;
若否,则将所述上一次擦除的数据块作为所述目标数据块。
2.根据权利要求1所述的数据块擦除方法,其特征在于,对固态硬盘中每个数据块进行编号,包括:
根据所述固态硬盘的逻辑区块地址的顺序对每个所述数据块进行编号。
3.根据权利要求1所述的数据块擦除方法,其特征在于,根据上一次擦除的数据块的编号确定编号范围,包括:
对所述上一次擦除的数据块的编号减去预设数值,得到编号范围下限;
对所述上一次擦除的数据块的编号相加预设数值,得到编号范围上限;
将所述编号范围上限和所述编号范围下限整合为所述编号范围。
4.根据权利要求1所述的数据块擦除方法,其特征在于,还包括:
当查找到所述目标数据块时,对所述编号范围进行扩大得到冗余编号范围;
判断所述冗余编号范围中是否存在擦除次数小于所述目标数据块的擦除次数的数据块;
若是,则将该数据块作为所述目标数据块;
若否,则发送擦除指令。
5.根据权利要求1所述的数据块擦除方法,其特征在于,还包括:
当不存在所述上一次擦除的数据块时,对所述固态硬盘进行全盘查找,得到首次擦除数据块;
对所述首次擦除数据块进行擦除,并将所述首次擦除数据块作为所述上一次擦除的数据块。
6.一种数据块擦除装置,其特征在于,包括:
编号模块,用于对固态硬盘中每个数据块进行编号;
范围确定模块,用于根据上一次擦除的数据块的编号确定编号范围;
数据块查找模块,用于根据所述编号范围和所述上一次擦除的数据块的擦除次数进行查找,得到目标数据块;
数据块擦除模块,用于对所述目标数据块进行擦除;
其中,所述数据块查找模块,具体用于判断所述编号范围内是否存在擦除次数小于所述上一次擦除的数据块的擦除次数的数据块;若是,则将该数据块作为所述目标数据块;若否,则将所述上一次擦除的数据块作为所述目标数据块。
7.根据权利要求6所述的数据块擦除装置,其特征在于,所述编号模块,具体用于根据所述固态硬盘的逻辑区块地址的顺序对每个所述数据块进行编号。
8.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的数据块擦除方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的数据块擦除方法的步骤。
CN202110837882.7A 2021-07-23 2021-07-23 一种数据块擦除方法及相关装置 Active CN113703671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110837882.7A CN113703671B (zh) 2021-07-23 2021-07-23 一种数据块擦除方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110837882.7A CN113703671B (zh) 2021-07-23 2021-07-23 一种数据块擦除方法及相关装置

Publications (2)

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

Family

ID=78650349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110837882.7A Active CN113703671B (zh) 2021-07-23 2021-07-23 一种数据块擦除方法及相关装置

Country Status (1)

Country Link
CN (1) CN113703671B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169462A (zh) * 2011-04-27 2011-08-31 中国科学院光电技术研究所 基于NAND Flash的数据记录方法与记录控制器
CN105528301A (zh) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 一种NAND Flash闪存垃圾回收方法
CN109240615A (zh) * 2018-08-30 2019-01-18 浪潮电子信息产业股份有限公司 一种固态硬盘的数据读取方法、装置及设备
CN110806984A (zh) * 2018-08-06 2020-02-18 爱思开海力士有限公司 在存储器***中搜索有效数据的设备和方法

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 (zh) * 2011-04-27 2011-08-31 中国科学院光电技术研究所 基于NAND Flash的数据记录方法与记录控制器
CN105528301A (zh) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 一种NAND Flash闪存垃圾回收方法
CN110806984A (zh) * 2018-08-06 2020-02-18 爱思开海力士有限公司 在存储器***中搜索有效数据的设备和方法
CN109240615A (zh) * 2018-08-30 2019-01-18 浪潮电子信息产业股份有限公司 一种固态硬盘的数据读取方法、装置及设备

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN113703671A (zh) 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
CN108733306B (zh) 一种文件合并方法及装置
CN107564558B (zh) 实现分散原子i/o写入
US8825946B2 (en) Memory system and data writing method
KR20120060236A (ko) 파워 인터럽트 관리
CN108628542B (zh) 一种文件合并方法及控制器
US10552335B2 (en) Method and electronic device for a mapping table in a solid-state memory
KR101336258B1 (ko) 비휘발성 메모리의 데이터 처리 장치 및 방법
CN110674056B (zh) 一种垃圾回收方法及装置
US11204864B2 (en) Data storage devices and data processing methods for improving the accessing performance of the data storage devices
KR20200113992A (ko) 메모리 시스템의 복구 동작 중 비휘발성 메모리 오픈 블록의 셀 디스터브를 줄이는 방법 및 장치
US11029867B2 (en) Apparatus and method for transmitting map information and read count in memory system
KR20210050592A (ko) 저장 디바이스 상의 네임스페이스에서의 오류 검사
CN118051179A (zh) 用于使用多个分区的分区命名空间存储的技术
CN113835639B (zh) 一种i/o请求处理方法、装置、设备及可读存储介质
US20210042050A1 (en) Method and apparatus for rebuilding memory mapping tables
US10628301B1 (en) System and method for optimizing write amplification of non-volatile memory storage media
CN116540950B (zh) 一种存储器件及其写入数据的控制方法
CN111190835B (zh) 一种数据写入方法、装置、设备及介质
US9535796B2 (en) Method, apparatus and computer for data operation

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