CN115904257A - 一种ssd的管理方法、系统、服务器、装置及存储介质 - Google Patents

一种ssd的管理方法、系统、服务器、装置及存储介质 Download PDF

Info

Publication number
CN115904257A
CN115904257A CN202310159782.2A CN202310159782A CN115904257A CN 115904257 A CN115904257 A CN 115904257A CN 202310159782 A CN202310159782 A CN 202310159782A CN 115904257 A CN115904257 A CN 115904257A
Authority
CN
China
Prior art keywords
block
data
ssd
read
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310159782.2A
Other languages
English (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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202310159782.2A priority Critical patent/CN115904257A/zh
Publication of CN115904257A publication Critical patent/CN115904257A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种SSD的管理方法、系统、服务器、装置及存储介质,应用于存储领域,获取SSD中的block的信息;根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;在数据水位小于第一阈值时,根据磨损情况确定待回收的block;将待回收的block中的有效数据保存至预设的存储空间;基于所述SSD的存储空间将读写指令或有效数据及读写指令合并为新的读写指令发送至SSD。根据block的信息确定待回收的block,基于存储空间进行数据迁移,将迁移的有效数据与读写指令合并发送至SSD,数据回收不影响对SSD的读写,避免造成用户请求的性能波动和延时波动。

Description

一种SSD的管理方法、系统、服务器、装置及存储介质
技术领域
本发明涉及存储领域,特别是涉及一种SSD的管理方法、系统、服务器、装置及存储介质。
背景技术
随着数据存储技术的发展,闪存介质的技术突破,TLC(Trinary-Level Cell,三层存储单元)、QLC(Quad-Level Cell,四层存储单元)等介质不断应用到存储系统,闪存颗粒的容量越来越大,成本越来越低,逐渐替代原有磁盘,成为数据存储系统的主要载体。由于闪存介质的容量越来越大,性价比越来越好,全闪存储系统也逐渐开始成为重要的数据存储系统。而闪存盘的介质特性的技术要求,必须进行颗粒空间的回收。GC(GarbageCollection,垃圾回收)是SSD(Solid State Disk,固态硬盘)的基础功能,GC会对SSD中的block进行擦除实现空间回收,但是GC会占用固态盘的处理资源,影响SSD上的用户请求IO(Input Output,输入输出),造成用户请求的性能波动和IO延时波动。
发明内容
本发明的目的是提供一种SSD的管理方法、系统、服务器、装置及存储介质,在进行数据回收的同时不影响对SSD的读写,避免造成用户请求的性能波动和IO延时波动。
为解决上述技术问题,本发明提供了一种SSD的管理方法,包括:
获取SSD中的block的信息,所述信息包括block的标识、所述block中的有效数据及所述block的磨损情况;
根据所述信息确定所述block的数据水位,所述数据水位为所述block中的有效数据占存储空间的比例;
在所述数据水位小于第一阈值时,根据所述磨损情况确定待回收的所述block;
将待回收的所述block中的有效数据保存至预设的存储空间;
基于所述SSD的存储空间将读写指令或所述有效数据及读写指令合并为新的读写指令发送至所述SSD。
优选的,获取SSD中的block的信息,包括:
获取SSD中的block的标识、所述block中的有效数据的存储位置、所述block中的有效数据及所述block的磨损情况。
优选的,获取所述block中的有效数据的存储位置,包括:
通过所述SSD的数据分布接口获取所述block中的有效数据的起始LBA地址和结束LBA地址。
优选的,获取所述block中的有效数据,包括:
通过所述SSD 的有效数据接口获取所述block中的有效数据。
优选的,获取SSD中的block的标识及所述block的磨损情况,包括:
通过SSD的获取信息接口获取SSD中的block的标识及所述block的磨损情况。
优选的,基于所述SSD的存储空间将读写指令或所述有效数据及读写指令合并为新的读写指令发送至所述SSD,包括:
基于所述SSD的存储空间将读写指令或所述有效数据及读写指令合并为新的读写指令通过所述SSD的数据读写接口发送至所述SSD。
优选的,根据所述信息向所述SSD中的block发送读写指令和删除数据指令之后,还包括:
接收所述SSD发送的所述读写指令对应的block的标识、所述读写指令的数据的保存位置;
更新所述SSD中的block的信息。
优选的,在所述数据水位小于第一阈值时,根据所述磨损情况确定待回收的所述block,包括:
在所述数据水位小于第一阈值时,根据所述磨损情况将磨损情况低的所述block作为待回收的所述block。
优选的,将所述有效数据及读写指令合并为新的读写指令发送至所述SSD之后,还包括:
在将所有的所述有效数据均发送至所述SSD时,将待回收的所述block的标识及第一清空指令发送至所述SSD,以便所述SSD将所述block清空。
优选的,发送第一清空指令至所述SSD之后,还包括:
接收所述SSD发送的清空后的所述block的标识并保存。
优选的,在所述数据水位小于第一阈值时,根据所述磨损情况确定待回收的所述block之后,还包括:
判断所述数据水位是否小于第二阈值,所述第二阈值小于所述第一阈值;
若所述数据水位小于所述第二阈值,则进入将待回收的所述block中的有效数据保存至预设的存储空间的步骤。
优选的,判断所述数据水位是否小于第二阈值之后,还包括:
若所述数据水位不小于所述第二阈值,则判断所述数据水位是否小于第三阈值,所述第三阈值大于所述第二阈值且小于所述第一阈值;
若所述数据水位小于所述第三阈值,则发送第二清空指令至所述SSD,以便所述SSD对所述清空指令对应的block内的数据进行迁移并清空。
优选的,发送第二清空指令至所述SSD之后,还包括:
接收所述SSD发送的清空后的所述block的标识并保存。
优选的,发送第二清空指令至所述SSD,包括:
通过所述SSD的重置接口发送所述第二清空指令至所述SSD。
优选的,将所述有效数据及读写指令合并为新的读写指令发送至所述SSD,包括:
向所述SSD申请一个空的block;
将所述有效数据及所述读写指令合并为新的读写指令发送至所述空的block,所述读写指令中的数据长度小于预设数据值。
优选的,基于所述SSD的存储空间将读写指令或所述有效数据及读写指令合并为新的读写指令发送至所述SSD,包括:
在所述SSD的存储空间高于存储阈值时,按照第一预设优先级将读写指令和所述有效数据及读写指令合并为新的读写指令发送至所述SSD,所述第一预设优先级中所述读写指令的优先级高于所述新的读写指令;
在所述SSD的存储空间不高于存储阈值时,按照第二预设优先级将读写指令和所述有效数据及读写指令合并为新的读写指令发送至所述SSD,所述第二预设优先级中所述新的读写指令的优先级高于所述读写指令。
为解决上述技术问题,本发明还提供了一种服务器系统,包括:
获取单元,用于获取SSD中的block的信息,所述信息包括block的标识、所述block中的有效数据及所述block的磨损情况;
第一确定单元,用于根据所述信息确定所述block的数据水位,所述数据水位为所述block中的有效数据占存储空间的比例;
第二确定单元,用于在所述数据水位小于第一阈值时,根据所述磨损情况确定待回收的所述block;
保存单元,用于将待回收的所述block中的有效数据保存至预设的存储空间;
第一发送单元,用于基于所述SSD的存储空间将读写指令或将所述有效数据及读写指令合并为新的读写指令发送至所述SSD。
为解决上述技术问题,本发明还提供了一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述SSD的管理方法的步骤。
为解决上述技术问题,本发明还提供了一种SSD的管理装置,其特征在于,包括上述的服务器及SSD,所述SSD通过数据分布接口、有效数据接口、获取信息接口、数据读写接口及重置接口与所述服务器连接。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述SSD的管理方法的步骤。
本申请提供了一种SSD的管理方法、系统、服务器、装置及存储介质,应用于存储领域,获取SSD中的block的信息;根据信息向SSD中的block发送读写指令和删除数据指令;根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;在数据水位小于第一阈值时,根据磨损情况确定待回收的block;将待回收的block中的有效数据保存至预设的存储空间;将有效数据及读写指令合并为新的读写指令发送至SSD。根据block的信息确定待回收的block,在进行数据迁移的过程中将迁移的有效数据与读写指令合并发送至SSD,在进行数据回收的同时不影响对SSD的读写,避免造成用户请求的性能波动和IO延时波动。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种SSD的管理方法的流程图;
图2为本发明提供的一种SSD的管理系统的结构示意图;
图3为本发明提供的一种服务器的结构示意图;
图4为本发明提供的一种SSD的管理装置的结构示意图。
具体实施方式
本发明的核心是提供一种SSD的管理方法、系统、服务器、装置及存储介质,在进行数据回收的同时不影响对SSD的读写,避免造成用户请求的性能波动和IO延时波动。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着数据存储技术的发展,闪存介质的技术突破,TLC(Trinary-Level Cell,三层存储单元)、QLC(Quad-Level Cell,四层存储单元)等介质不断应用到存储系统,闪存颗粒的容量越来越大,成本越来越低,逐渐替代原有磁盘,成为数据存储系统的主要载体。由于闪存介质的容量越来越大,性价比越来越好,全闪存储系统也逐渐开始成为重要的数据存储系统。而闪存盘的介质特性的技术要求,必须进行颗粒空间的回收。GC(GarbageCollection,垃圾回收)是SSD(Solid State Disk,固态硬盘)的基础功能,GC会对SSD中的block进行擦除实现空间回收,但是GC会占用固态盘的处理资源,影响SSD上的用户请求IO(Input Output,输入输出),造成用户请求的性能波动和IO延时波动。
SSD,Page为最小的读写单位,block为最小的擦除/编程单位。
例如:1个page为64KB,1个block为m个page组成,1个Plane由n个block组成,k个Plane组成1个Die,也就是最小的芯片颗粒,一片SSD由多个Die封装起来的。
SSD的擦除,在衬底施加电压足够长的时间,把电子从浮栅中吸出来,擦除之后,整个block的数据都变成了1。由于一个block共用一个衬底,所以在擦除时,一次擦除一个block,即擦除的单位为block。简单讲,就是擦除是按照block整体放电释放。
图1为本发明提供的一种SSD的管理方法的流程图,包括:
S11:获取SSD42中的block的信息,信息包括block的标识、block中的有效数据及block的磨损情况;
考虑到GC垃圾回收是SSD42的基础功能,一般通用的做法,SSD42会根据磨损均衡、数据水位等条件,选择block进行空间回收,也就是有效数据的迁移。所以需要获取到block的信息,block的标识与block一一对应,可以通过block的标识唯一确定一个block。根据block中的有效数据及block的磨损情况可以确定block的使用情况。
S12:根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;
在不断的进行写入数据以及删除数据后,确定block的数据水位,有效数据占存储空间的比例即为数据水位。
具体的若所有的block的存储空间相同,block中保存的有效数据越多,该block的数据水位越高。
S13:在数据水位小于第一阈值时,根据磨损情况确定待回收的block;
如果数据水位小于第一阈值,说明block中保存的有效数据的内容比较少,可以进行回收。同时考虑到block具有固定的擦除次数,需要根据磨损情况去确定待回收的block。
S14:将待回收的block中的有效数据保存至预设的存储空间;
S15:基于SSD的存储空间将读写指令或有效数据及读写指令合并为新的读写指令发送至SSD42。
服务器41会先复制待整理的block的有效数据,有效数据包括仍在使用中的数据,并将其写入到SSD42中新分配的block,实现将多个水位低的block,整理成写满数据的block。此外,在发送有效数据至新的block的过程中还会将有效数据与读写指令合并,再发送至SSD42,可以减少对读写操作的影响。
此外,还需要根据存储空间选择是否要合并发送,可以更好的提高读写操作的效率。
本申请提供了一种SSD42的管理方法,应用于存储领域,获取SSD42中的block的信息;根据信息向SSD42中的block发送读写指令和删除数据指令;根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;在数据水位小于第一阈值时,根据磨损情况确定待回收的block;将待回收的block中的有效数据保存至预设的存储空间;将有效数据及读写指令合并为新的读写指令发送至SSD42。根据block的信息确定待回收的block,在进行数据迁移的过程中将迁移的有效数据与读写指令合并发送至SSD42,在进行数据回收的同时不影响对SSD42的读写,避免造成用户请求的性能波动和IO延时波动。
在上述实施例的基础上:
作为一种优选的实施例,获取SSD42中的block的信息,包括:
获取SSD42中的block的标识、block中的有效数据的存储位置、block中的有效数据及block的磨损情况。
考虑到对数据进行写操作的同时还会进行删除,在持续的写入和删除的过程中,且写入和删除是并行的,导致了block中的有效数据并不是连续的,所以服务器41还需要获取block中的有效数据以及有效数据保存的位置。
作为一种优选的实施例,获取block中的有效数据的存储位置,包括:
通过SSD42的数据分布接口获取block中的有效数据的起始LBA地址和结束LBA地址。
考虑到对数据进行写操作的同时还会进行删除,在持续的写入和删除的过程中,且写入和删除是并行的,导致了block中的有效数据并不是连续的,所以服务器41还需要获取有效数据保存的位置。SSD42提供了数据分布接口,服务器41可以根据数据分布接口获取有效数据的位置。
LBA地址是数据存储装置上用来表示数据所在位置的标识地址, LBA可以指某个数据区块的地址或者某个地址上所指向的数据区块。通过获取到起始LBA地址以及结束LBA地址就可以确定有效数据具体的保存位置。
作为一种优选的实施例,获取block中的有效数据,包括:
通过SSD42 的有效数据接口获取block中的有效数据。
读写指令和删除数据指令是并行操作的,该过程导致block中的有效数据并不是连续的,而是断断续续的。
所以服务器41还需要获取block中的有效数据,SSD42提供了有效数据接口,服务器41就可以根据有效数据接口获取SSD42的block中的有效数据。
作为一种优选的实施例,获取SSD42中的block的标识及block的磨损情况,包括:
通过SSD42的获取信息接口获取SSD42中的block的标识及block的磨损情况。
考虑到GC垃圾回收是SSD42的基础功能,一般通用的做法,SSD42会根据磨损均衡、数据水位等条件,选择block进行空间回收,也就是有效数据的迁移。所以需要获取到block的信息,block的标识与block一一对应,可以通过block的标识唯一确定一个block。根据block中的有效数据及block的磨损情况可以确定block的使用情况。具体的,SSD42提供了获取信息接口,以便服务器41通过获取信息接口获取block的信息。
作为一种优选的实施例,基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令发送至SSD42,包括:
基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令通过SSD42的数据读写接口发送至SSD42。
在使用的过程中,服务器41不断的通过数据读写接口向block发送读写指令和删除数据指令。
需要说明的是,现有技术中的SSD虽然可以提供数据读写接口,但并不能提供精确到block层面的数据的接口,例如可以直接获取到block中的有效数据及有效数据的位置。
作为一种优选的实施例,根据信息向SSD42中的block发送读写指令和删除数据指令之后,还包括:
接收SSD42发送的读写指令对应的block的标识、读写指令的数据的保存位置;
更新SSD42中的block的信息。
服务器41需要对SSD42中的block进行管理,在block中的数据内容发生改变时,需要获取到发生改变的block的标识,同时确定最新的block中的有效数据以及有效数据保存的位置,对SSD42中的block的数据进行不断的更新。
作为一种优选的实施例,在数据水位小于第一阈值时,根据磨损情况确定待回收的block,包括:
在数据水位小于第一阈值时,根据磨损情况将磨损情况低的block作为待回收的block。
对block进行依次擦除,就相当于对其磨损次数加一,block有固定的磨损上限,所以在满足数据水位小于第一阈值的条件后,还需要选择磨损情况低的block作为待回收的block。
具体的,数据回收就是选择有效数据较少,磨损次数较少的block进行回收。
作为一种优选的实施例,将有效数据及读写指令合并为新的读写指令发送至SSD42之后,还包括:
在将所有的有效数据均发送至SSD42时,将待回收的block的标识及第一清空指令发送至SSD42,以便SSD42将block清空。
在数据迁移的过程中,服务器41会将待回收的block的所有有效数据先保存至预设的存储空间中,在发送读写指令的过程中将有效数据与读写指令合并发送至SSD42,在将所有的有效数据均发送完成时,就可以通知SSD42将block清空,具体的,要发送待回收的block的标识及第一清空指令至SSD42,以便SSD42确定待清空的block,并将其清空。
作为一种优选的实施例,发送第一清空指令至SSD42之后,还包括:
接收SSD42发送的清空后的block的标识并保存。
在SSD42将block清空之后,该block为空白的block,需要向服务器41发送该block的标识,服务器41会保存空白的block的标识,以便后续的使用。
作为一种优选的实施例,在数据水位小于第一阈值时,根据磨损情况确定待回收的block之后,还包括:
判断数据水位是否小于第二阈值,第二阈值小于第一阈值;
若数据水位小于第二阈值,则进入将待回收的block中的有效数据保存至预设的存储空间的步骤。
考虑到数据水位在小于第一阈值之后就可以进行回收,但对于有效数据较多的block和有效数据较少的block依然可以选用不同的方式。若数据水位小于第二阈值,那么可以按照上述的方法,将所有的数据保存至服务器41,再逐一将有效数据发送至SSD42的新的block。
作为一种优选的实施例,判断数据水位是否小于第二阈值之后,还包括:
若数据水位不小于第二阈值,则判断数据水位是否小于第三阈值,第三阈值大于第二阈值且小于第一阈值;
若数据水位小于第三阈值,则发送第二清空指令至SSD42,以便SSD42对清空指令对应的block内的数据进行迁移并清空。
若数据水位大于第二阈值,那么说明block中的有效数据较多,无需进行数据迁移,而是直接控制SSD42将其清空。需要说明的是SSD42内部预先将数据进行迁移,然后再将block直接清空,该过程无需服务器41对有效数据进行处理。
在有效数据较多时,采用服务器41将数据保存至预设的存储空间再逐渐下发会较为浪费时间,所以对于有较多有效数据的block,直接控制SSD42内部进行迁移并清空。
作为一种优选的实施例,发送第二清空指令至SSD42之后,还包括:
接收SSD42发送的清空后的block的标识并保存。
在SSD42将block清空之后,该block为空白的block,需要向服务器41发送该block的标识,服务器41会保存空白的block的标识,以便后续的使用。
作为一种优选的实施例,发送第二清空指令至SSD42,包括:
通过SSD42的重置接口发送所述第二清空指令至SSD。
SSD42包括重置接口,服务器41通过重置接口向SSD42发送第一清空指令及第二清空指令。
具体的,考虑到数据水位在小于第一阈值之后就可以进行回收,但对于有效数据较多的block和有效数据较少的block依然可以选用不同的方式。服务器41会根据数据水位确定对数据的回收方法。
若数据水位小于第二阈值服务器41会将待回收的block的所有有效数据先保存至预设的存储空间中,在发送读写指令的过程中将有效数据与读写指令合并发送至SSD42,在将所有的有效数据均发送完成时,就可以通知SSD42将block清空,具体的,要发送待回收的block的标识及第一清空指令至SSD42,SSD42在接收到第一清空指令时,根据待清空的block的标识,将其清空。在SSD42将block清空之后,该block为空白的block,需要向服务器41发送该block的标识,服务器41会保存空白的block的标识,以便后续的使用。
若数据水位大于第二阈值,那么说明block中的有效数据较多,服务器41会确定无需进行数据迁移,而是直接控制SSD42将其清空。在有效数据较多时,采用服务器41将数据保存至预设的存储空间再逐渐下发会较为浪费时间,所以对于有较多有效数据的block,直接控制SSD42内部进行迁移并清空。服务器41会发送第二清空指令以及block的标识至SSD42,SSD42在接收到第二清空指令时,内部预先将数据进行迁移,然后再将block直接清空,该过程无需服务器41对有效数据进行处理。
在SSD42将block清空之后,该block为空白的block,需要向服务器41发送该block的标识,服务器41会保存空白的block的标识,以便后续的使用。
作为一种优选的实施例,将有效数据及读写指令合并为新的读写指令发送至SSD42,包括:
向SSD42申请一个空的block;
将有效数据及读写指令合并为新的读写指令发送至空的block,读写指令中的数据长度小于预设数据值。
回收的过程本质上是服务器41先复制待整理的block的有效数据并将其写入到新分配的block,将多个水位低、磨损低的block,整理成写满数据的block;然后对原block进行数据擦除,原block作为空白block进行回收。
所以申请空的block,即新分配的block,将有效数据和读写指令发送至空的block,进行数据迁移。
作为一种优选的实施例,基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令发送至SSD42,包括:
在SSD42的存储空间高于存储阈值时,按照第一预设优先级将读写指令和有效数据及读写指令合并为新的读写指令发送至SSD42,第一预设优先级中读写指令的优先级高于新的读写指令;
在SSD42的存储空间不高于存储阈值时,按照第二预设优先级将读写指令和有效数据及读写指令合并为新的读写指令发送至SSD42,第二预设优先级中新的读写指令的优先级高于读写指令。
需要说明的是,在存储空间高于存储阈值时,证明当前SSD42的存储空间较为充足,不需要进行数据回收也满足正常的使用,所以优先向SSD42发送读写指令。在存储空间不高于存储阈值时,证明当前SSD42的存储空间不充足,需要进行数据回收才能满足正常的使用,所以优先向SSD42发送将有效数据及读写指令合并的新的读写指令。
图2为本发明提供的一种SSD的管理系统的结构示意图,该SSD的管理系统包括:
获取单元21,用于获取SSD42中的block的信息,信息包括block的标识、block中的有效数据及block的磨损情况;
第一确定单元22,用于根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;
第二确定单元23,用于在数据水位小于第一阈值时,根据磨损情况确定待回收的block;
保存单元24,用于将待回收的block中的有效数据保存至预设的存储空间;
第一发送单元25,用于基于SSD的存储空间将读写指令或将有效数据及读写指令合并为新的读写指令发送至SSD42。
考虑到GC垃圾回收是SSD42的基础功能,一般通用的做法,SSD42会根据磨损均衡、数据水位等条件,选择block进行空间回收,也就是有效数据的迁移。所以需要获取到block的信息,block的标识与block一一对应,可以通过block的标识唯一确定一个block。根据block中的有效数据及block的磨损情况可以确定block的使用情况。
在使用的过程中,服务器41不断的向block发送读写指令和删除数据指令。读写指令和删除数据指令是并行操作的,该过程导致block中的有效数据并不是连续的,而是断断续续的。
在不断的进行写入数据以及删除数据后,确定block的数据水位,有效数据占存储空间的比例即为数据水位。
具体的若所有的block的存储空间相同,block中保存的有效数据越多,该block的数据水位越高。
如果数据水位小于第一阈值,说明block中保存的有效数据的内容比较少,可以进行回收。同时考虑到block具有固定的擦除次数,需要根据磨损情况去确定待回收的block。
服务器41会先复制待整理的block的有效数据,有效数据包括仍在使用中的数据,并将其写入到SSD42中新分配的block,实现将多个水位低的block,整理成写满数据的block。此外,在发送有效数据至新的block的过程中还会将有效数据与读写指令合并,再发送至SSD42,可以减少对读写操作的影响。
本申请提供了一种SSD的管理系统,应用于存储领域,获取SSD42中的block的信息;根据信息向SSD42中的block发送读写指令和删除数据指令;根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;在数据水位小于第一阈值时,根据磨损情况确定待回收的block;将待回收的block中的有效数据保存至预设的存储空间;将有效数据及读写指令合并为新的读写指令发送至SSD42。根据block的信息确定待回收的block,在进行数据迁移的过程中将迁移的有效数据与读写指令合并发送至SSD42,在进行数据回收的同时不影响对SSD42的读写,避免造成用户请求的性能波动和IO延时波动。
在上述实施例的基础上:
作为一种优选的实施例,获取单元21,具体用于获取SSD42中的block的标识、block中的有效数据的存储位置、block中的有效数据及block的磨损情况。
考虑到对数据进行写操作的同时还会进行删除,在持续的写入和删除的过程中,且写入和删除是并行的,导致了block中的有效数据并不是连续的,所以服务器41还需要获取block中的有效数据以及有效数据保存的位置。
作为一种优选的实施例,还包括第一获取子单元用于通过SSD42的数据分布接口获取block中的有效数据的起始LBA地址和结束LBA地址。
考虑到对数据进行写操作的同时还会进行删除,在持续的写入和删除的过程中,且写入和删除是并行的,导致了block中的有效数据并不是连续的,所以服务器41还需要获取有效数据保存的位置。SSD42提供了数据分布接口,服务器41可以根据数据分布接口获取有效数据的位置。
LBA地址是数据存储装置上用来表示数据所在位置的标识地址, LBA可以指某个数据区块的地址或者某个地址上所指向的数据区块。通过获取到起始LBA地址以及结束LBA地址就可以确定有效数据具体的保存位置。
作为一种优选的实施例,还包括第二获取子单元用于通过SSD42 的有效数据接口获取block中的有效数据。
读写指令和删除数据指令是并行操作的,该过程导致block中的有效数据并不是连续的,而是断断续续的。
所以服务器41还需要获取block中的有效数据,SSD42提供了有效数据接口,服务器41就可以根据有效数据接口获取SSD42的block中的有效数据。
作为一种优选的实施例,还包括第三获取子单元用于通过SSD42的获取信息接口获取SSD42中的block的标识及block的磨损情况。
考虑到GC垃圾回收是SSD42的基础功能,一般通用的做法,SSD42会根据磨损均衡、数据水位等条件,选择block进行空间回收,也就是有效数据的迁移。所以需要获取到block的信息,block的标识与block一一对应,可以通过block的标识唯一确定一个block。根据block中的有效数据及block的磨损情况可以确定block的使用情况。具体的,SSD42提供了获取信息接口,以便服务器41通过获取信息接口获取block的信息。
作为一种优选的实施例,第一发送单元25,具体用于基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令通过SSD42的数据读写接口发送至SSD42。
在使用的过程中,服务器41不断的通过数据读写接口向block发送读写指令和删除数据指令。
需要说明的是,现有技术中的SSD虽然可以提供数据读写接口,但并不能提供精确到block层面的数据的接口,例如可以直接获取到block中的有效数据及有效数据的位置。
作为一种优选的实施例,还包括第一接收单元,用于接收SSD42发送的读写指令对应的block的标识、读写指令的数据的保存位置;
第一更新单元,用于更新SSD42中的block的信息。
服务器41需要对SSD42中的block进行管理,在block中的数据内容发生改变时,需要获取到发生改变的block的标识,同时确定最新的block中的有效数据以及有效数据保存的位置,对SSD42中的block的数据进行不断的更新。
作为一种优选的实施例,第二确定单元24,具体用于在数据水位小于第一阈值时,根据磨损情况将磨损情况低的block作为待回收的block。
对block进行依次擦除,就相当于对其磨损次数加一,block有固定的磨损上限,所以在满足数据水位小于第一阈值的条件后,还需要选择磨损情况低的block作为待回收的block。
具体的,数据回收就是选择有效数据较少,磨损次数较少的block进行回收。
作为一种优选的实施例,还包括第二发送单元,用于在将所有的有效数据均发送至SSD42时,将待回收的block的标识及第一清空指令发送至SSD42,以便SSD42将block清空。
在数据迁移的过程中,服务器41会将待回收的block的所有有效数据先保存至预设的存储空间中,在发送读写指令的过程中将有效数据与读写指令合并发送至SSD42,在将所有的有效数据均发送完成时,就可以通知SSD42将block清空,具体的,要发送待回收的block的标识及第一清空指令至SSD42,以便SSD42确定待清空的block,并将其清空。
作为一种优选的实施例,还包括第二接收单元,用于接收SSD42发送的清空后的block的标识并保存。
在SSD42将block清空之后,该block为空白的block,需要向服务器41发送该block的标识,服务器41会保存空白的block的标识,以便后续的使用。
作为一种优选的实施例,还包括第一判断单元,用于判断数据水位是否小于第二阈值,第二阈值小于第一阈值;若是,则触发保存单元25;若否,则触发第二判断单元。
考虑到数据水位在小于第一阈值之后就可以进行回收,但对于有效数据较多的block和有效数据较少的block依然可以选用不同的方式。若数据水位小于第二阈值,那么可以按照上述的方法,将所有的数据保存至服务器41,再逐一将有效数据发送至SSD42的新的block。
作为一种优选的实施例,还包括第二判断单元,用于判断数据水位是否小于第三阈值,第三阈值大于第二阈值且小于第一阈值;若是,则触发第三发送单元;
第三发送单元,用于发送第二清空指令至SSD42,以便SSD42对清空指令对应的block内的数据进行迁移并清空。
若数据水位大于第二阈值,那么说明block中的有效数据较多,无需进行数据迁移,而是直接控制SSD42将其清空。需要说明的是SSD42内部预先将数据进行迁移,然后再将block直接清空,该过程无需服务器41对有效数据进行处理。
在有效数据较多时,采用服务器41将数据保存至预设的存储空间再逐渐下发会较为浪费时间,所以对于有较多有效数据的block,直接控制SSD42内部进行迁移并清空。
作为一种优选的实施例,还包括第三接收单元,用于接收SSD42发送的清空后的block的标识并保存。
在SSD42将block清空之后,该block为空白的block,需要向服务器41发送该block的标识,服务器41会保存空白的block的标识,以便后续的使用。
作为一种优选的实施例,第三发送单元,具体用于通过SSD42的重置接口发送所述第二清空指令至SSD。
SSD42包括重置接口,服务器41通过重置接口向SSD42发送第一清空指令及第二清空指令。
作为一种优选的实施例,还包括申请单元,用于向SSD42申请一个空的block;
第一发送单元25,具体用于将有效数据及读写指令合并为新的读写指令发送至空的block,读写指令中的数据长度小于预设数据值。
回收的过程本质上是服务器41先复制待整理的block的有效数据并将其写入到新分配的block,将多个水位低、磨损低的block,整理成写满数据的block;然后对原block进行数据擦除,原block作为空白block进行回收。
所以申请空的block,即新分配的block,将有效数据和读写指令发送至空的block,进行数据迁移。
作为一种优选的实施例,第一发送单元25具体用于在SSD42的存储空间高于存储阈值时,按照第一预设优先级将读写指令和有效数据及读写指令合并为新的读写指令发送至SSD42,第一预设优先级中读写指令的优先级高于新的读写指令;
在SSD42的存储空间不高于存储阈值时,按照第二预设优先级将读写指令和有效数据及读写指令合并为新的读写指令发送至SSD42,第二预设优先级中新的读写指令的优先级高于读写指令。
需要说明的是,在存储空间高于存储阈值时,证明当前SSD42的存储空间较为充足,不需要进行数据回收也满足正常的使用,所以优先向SSD42发送读写指令。在存储空间不高于存储阈值时,证明当前SSD42的存储空间不充足,需要进行数据回收才能满足正常的使用,所以优先向SSD42发送将有效数据及读写指令合并的新的读写指令。
图3为本发明提供的一种服务器的结构示意图,该服务器包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序时实现上述SSD的管理方法的步骤。
具体的,处理器32,执行计算机程序时实现上述SSD的管理方法的步骤如下:
S11:获取SSD42中的block的信息,信息包括block的标识、block中的有效数据及block的磨损情况;
S12:根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;
S13:在数据水位小于第一阈值时,根据磨损情况确定待回收的block;
S14:将待回收的block中的有效数据保存至预设的存储空间;
S15:基于SSD的存储空间将读写指令或有效数据及读写指令合并为新的读写指令发送至SSD42。
在上述实施例的基础上:
作为一种优选的实施例,获取SSD42中的block的信息,包括:
获取SSD42中的block的标识、block中的有效数据的存储位置、block中的有效数据及block的磨损情况。
作为一种优选的实施例,获取block中的有效数据的存储位置,包括:
通过SSD42的数据分布接口获取block中的有效数据的起始LBA地址和结束LBA地址。
作为一种优选的实施例,获取block中的有效数据,包括:
通过SSD42 的有效数据接口获取block中的有效数据。
作为一种优选的实施例,获取SSD42中的block的标识及block的磨损情况,包括:
通过SSD42的获取信息接口获取SSD42中的block的标识及block的磨损情况。
作为一种优选的实施例,基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令发送至SSD42,包括:
基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令通过SSD42的数据读写接口发送至SSD42。
作为一种优选的实施例,根据信息向SSD42中的block发送读写指令和删除数据指令之后,还包括:
接收SSD42发送的读写指令对应的block的标识、读写指令的数据的保存位置;
更新SSD42中的block的信息。
作为一种优选的实施例,在数据水位小于第一阈值时,根据磨损情况确定待回收的block,包括:
在数据水位小于第一阈值时,根据磨损情况将磨损情况低的block作为待回收的block。
作为一种优选的实施例,将有效数据及读写指令合并为新的读写指令发送至SSD42之后,还包括:
在将所有的有效数据均发送至SSD42时,将待回收的block的标识及第一清空指令发送至SSD42,以便SSD42将block清空。
作为一种优选的实施例,发送第一清空指令至SSD42之后,还包括:
接收SSD42发送的清空后的block的标识并保存。
作为一种优选的实施例,在数据水位小于第一阈值时,根据磨损情况确定待回收的block之后,还包括:
判断数据水位是否小于第二阈值,第二阈值小于第一阈值;
若数据水位小于第二阈值,则进入将待回收的block中的有效数据保存至预设的存储空间的步骤。
作为一种优选的实施例,判断数据水位是否小于第二阈值之后,还包括:
若数据水位不小于第二阈值,则判断数据水位是否小于第三阈值,第三阈值大于第二阈值且小于第一阈值;
若数据水位小于第三阈值,则发送第二清空指令至SSD42,以便SSD42对清空指令对应的block内的数据进行迁移并清空。
作为一种优选的实施例,发送第二清空指令至SSD42之后,还包括:
接收SSD42发送的清空后的block的标识并保存。
作为一种优选的实施例,发送第二清空指令至SSD42,包括:
通过SSD42的重置接口发送所述第二清空指令至SSD。
SSD42包括重置接口,服务器41通过重置接口向SSD42发送第一清空指令及第二清空指令。
作为一种优选的实施例,将有效数据及读写指令合并为新的读写指令发送至SSD42,包括:
向SSD42申请一个空的block;
将有效数据及读写指令合并为新的读写指令发送至空的block,读写指令中的数据长度小于预设数据值。
作为一种优选的实施例,基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令发送至SSD42,包括:
在SSD42的存储空间高于存储阈值时,按照第一预设优先级将读写指令和有效数据及读写指令合并为新的读写指令发送至SSD42,第一预设优先级中读写指令的优先级高于新的读写指令;
在SSD42的存储空间不高于存储阈值时,按照第二预设优先级将读写指令和有效数据及读写指令合并为新的读写指令发送至SSD42,第二预设优先级中新的读写指令的优先级高于读写指令。
本申请提供了一种服务器,应用于存储领域,获取SSD42中的block的信息;根据信息向SSD42中的block发送读写指令和删除数据指令;根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;在数据水位小于第一阈值时,根据磨损情况确定待回收的block;将待回收的block中的有效数据保存至预设的存储空间;将有效数据及读写指令合并为新的读写指令发送至SSD42。根据block的信息确定待回收的block,在进行数据迁移的过程中将迁移的有效数据与读写指令合并发送至SSD42,在进行数据回收的同时不影响对SSD42的读写,避免造成用户请求的性能波动和IO延时波动。
图4为本发明提供的一种SSD的管理装置的结构示意图,包括上述的服务器41及SSD42,SSD42通过数据分布接口、有效数据接口、获取信息接口、数据读写接口及重置接口与服务器41连接。
本申请提供了一种SSD42的管理装置,应用于存储领域,获取SSD42中的block的信息;根据信息向SSD42中的block发送读写指令和删除数据指令;根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;在数据水位小于第一阈值时,根据磨损情况确定待回收的block;将待回收的block中的有效数据保存至预设的存储空间;将有效数据及读写指令合并为新的读写指令发送至SSD42。根据block的信息确定待回收的block,在进行数据迁移的过程中将迁移的有效数据与读写指令合并发送至SSD42,在进行数据回收的同时不影响对SSD42的读写,避免造成用户请求的性能波动和IO延时波动。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述SSD42的管理方法的步骤。
具体的,计算机程序被处理器执行时实现上述SSD42的管理方法的步骤如下:
S11:获取SSD42中的block的信息,信息包括block的标识、block中的有效数据及block的磨损情况;
S12:根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;
S13:在数据水位小于第一阈值时,根据磨损情况确定待回收的block;
S14:将待回收的block中的有效数据保存至预设的存储空间;
S15:基于SSD的存储空间将读写指令或将有效数据及读写指令合并为新的读写指令发送至SSD42。
在上述实施例的基础上:
作为一种优选的实施例,获取SSD42中的block的信息,包括:
获取SSD42中的block的标识、block中的有效数据的存储位置、block中的有效数据及block的磨损情况。
作为一种优选的实施例,获取block中的有效数据的存储位置,包括:
通过SSD42的数据分布接口获取block中的有效数据的起始LBA地址和结束LBA地址。
作为一种优选的实施例,获取block中的有效数据,包括:
通过SSD42 的有效数据接口获取block中的有效数据。
作为一种优选的实施例,获取SSD42中的block的标识及block的磨损情况,包括:
通过SSD42的获取信息接口获取SSD42中的block的标识及block的磨损情况。
作为一种优选的实施例,基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令发送至SSD42,包括:
基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令通过SSD42的数据读写接口发送至SSD42。
作为一种优选的实施例,根据信息向SSD42中的block发送读写指令和删除数据指令之后,还包括:
接收SSD42发送的读写指令对应的block的标识、读写指令的数据的保存位置;
更新SSD42中的block的信息。
作为一种优选的实施例,在数据水位小于第一阈值时,根据磨损情况确定待回收的block,包括:
在数据水位小于第一阈值时,根据磨损情况将磨损情况低的block作为待回收的block。
作为一种优选的实施例,将有效数据及读写指令合并为新的读写指令发送至SSD42之后,还包括:
在将所有的有效数据均发送至SSD42时,将待回收的block的标识及第一清空指令发送至SSD42,以便SSD42将block清空。
作为一种优选的实施例,发送第一清空指令至SSD42之后,还包括:
接收SSD42发送的清空后的block的标识并保存。
作为一种优选的实施例,在数据水位小于第一阈值时,根据磨损情况确定待回收的block之后,还包括:
判断数据水位是否小于第二阈值,第二阈值小于第一阈值;
若数据水位小于第二阈值,则进入将待回收的block中的有效数据保存至预设的存储空间的步骤。
作为一种优选的实施例,判断数据水位是否小于第二阈值之后,还包括:
若数据水位不小于第二阈值,则判断数据水位是否小于第三阈值,第三阈值大于第二阈值且小于第一阈值;
若数据水位小于第三阈值,则发送第二清空指令至SSD42,以便SSD42对清空指令对应的block内的数据进行迁移并清空。
作为一种优选的实施例,发送第二清空指令至SSD42之后,还包括:
接收SSD42发送的清空后的block的标识并保存。
作为一种优选的实施例,发送第二清空指令至SSD42,包括:
通过SSD42的重置接口发送所述第二清空指令至SSD。
SSD42包括重置接口,服务器41通过重置接口向SSD42发送第一清空指令及第二清空指令。
作为一种优选的实施例,将有效数据及读写指令合并为新的读写指令发送至SSD42,包括:
向SSD42申请一个空的block;
将有效数据及读写指令合并为新的读写指令发送至空的block,读写指令中的数据长度小于预设数据值。
作为一种优选的实施例,基于SSD42的存储空间将读写指令或有效数据及读写指令合并为新的读写指令发送至SSD42,包括:
在SSD42的存储空间高于存储阈值时,按照第一预设优先级将读写指令和有效数据及读写指令合并为新的读写指令发送至SSD42,第一预设优先级中读写指令的优先级高于新的读写指令;
在SSD42的存储空间不高于存储阈值时,按照第二预设优先级将读写指令和有效数据及读写指令合并为新的读写指令发送至SSD42,第二预设优先级中新的读写指令的优先级高于读写指令。
本申请提供了一种计算机可读存储介质,应用于存储领域,获取SSD42中的block的信息;根据信息向SSD42中的block发送读写指令和删除数据指令;根据信息确定block的数据水位,数据水位为block中的有效数据占存储空间的比例;在数据水位小于第一阈值时,根据磨损情况确定待回收的block;将待回收的block中的有效数据保存至预设的存储空间;将有效数据及读写指令合并为新的读写指令发送至SSD42。根据block的信息确定待回收的block,在进行数据迁移的过程中将迁移的有效数据与读写指令合并发送至SSD42,在进行数据回收的同时不影响对SSD42的读写,避免造成用户请求的性能波动和IO延时波动。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其他形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (20)

1.一种SSD的管理方法,其特征在于,包括:
获取SSD中的block的信息,所述信息包括block的标识、所述block中的有效数据及所述block的磨损情况;
根据所述信息确定所述block的数据水位,所述数据水位为所述block中的有效数据占存储空间的比例;
在所述数据水位小于第一阈值时,根据所述磨损情况确定待回收的所述block;
将待回收的所述block中的有效数据保存至预设的存储空间;
基于所述SSD的存储空间将读写指令或所述有效数据及读写指令合并为新的读写指令发送至所述SSD。
2.如权利要求1所述的SSD的管理方法,其特征在于,获取SSD中的block的信息,包括:
获取SSD中的block的标识、所述block中的有效数据的存储位置、所述block中的有效数据及所述block的磨损情况。
3.如权利要求2所述的SSD的管理方法,其特征在于,获取所述block中的有效数据的存储位置,包括:
通过所述SSD的数据分布接口获取所述block中的有效数据的起始LBA地址和结束LBA地址。
4.如权利要求2所述的SSD的管理方法,其特征在于,获取所述block中的有效数据,包括:
通过所述SSD 的有效数据接口获取所述block中的有效数据。
5.如权利要求2所述的SSD的管理方法,其特征在于,获取SSD中的block的标识及所述block的磨损情况,包括:
通过SSD的获取信息接口获取SSD中的block的标识及所述block的磨损情况。
6.如权利要求1所述的SSD的管理方法,其特征在于,基于所述SSD的存储空间将读写指令或所述有效数据及读写指令合并为新的读写指令发送至所述SSD,包括:
基于所述SSD的存储空间将读写指令或所述有效数据及读写指令合并为新的读写指令通过所述SSD的数据读写接口发送至所述SSD。
7.如权利要求1所述的SSD的管理方法,其特征在于,根据所述信息向所述SSD中的block发送读写指令和删除数据指令之后,还包括:
接收所述SSD发送的所述读写指令对应的block的标识、所述读写指令的数据的保存位置;
更新所述SSD中的block的信息。
8.如权利要求1所述的SSD的管理方法,其特征在于,在所述数据水位小于第一阈值时,根据所述磨损情况确定待回收的所述block,包括:
在所述数据水位小于第一阈值时,根据所述磨损情况将磨损情况低的所述block作为待回收的所述block。
9.如权利要求1所述的SSD的管理方法,其特征在于,将所述有效数据及读写指令合并为新的读写指令发送至所述SSD之后,还包括:
在将所有的所述有效数据均发送至所述SSD时,将待回收的所述block的标识及第一清空指令发送至所述SSD,以便所述SSD将所述block清空。
10.如权利要求9所述的SSD的管理方法,其特征在于,发送第一清空指令至所述SSD之后,还包括:
接收所述SSD发送的清空后的所述block的标识并保存。
11.如权利要求1所述的SSD的管理方法,其特征在于,在所述数据水位小于第一阈值时,根据所述磨损情况确定待回收的所述block之后,还包括:
判断所述数据水位是否小于第二阈值,所述第二阈值小于所述第一阈值;
若所述数据水位小于所述第二阈值,则进入将待回收的所述block中的有效数据保存至预设的存储空间的步骤。
12.如权利要求11所述的SSD的管理方法,其特征在于,判断所述数据水位是否小于第二阈值之后,还包括:
若所述数据水位不小于所述第二阈值,则判断所述数据水位是否小于第三阈值,所述第三阈值大于所述第二阈值且小于所述第一阈值;
若所述数据水位小于所述第三阈值,则发送第二清空指令至所述SSD,以便所述SSD对所述清空指令对应的block内的数据进行迁移并清空。
13.如权利要求12所述的SSD的管理方法,其特征在于,发送第二清空指令至所述SSD之后,还包括:
接收所述SSD发送的清空后的所述block的标识并保存。
14.如权利要求12所述的SSD的管理方法,其特征在于,发送第二清空指令至所述SSD,包括:
通过所述SSD的重置接口发送所述第二清空指令至所述SSD。
15.如权利要求1所述的SSD的管理方法,其特征在于,将所述有效数据及读写指令合并为新的读写指令发送至所述SSD,包括:
向所述SSD申请一个空的block;
将所述有效数据及所述读写指令合并为新的读写指令发送至所述空的block,所述读写指令中的数据长度小于预设数据值。
16.如权利要求1至15任一项所述的SSD的管理方法,其特征在于,基于所述SSD的存储空间将读写指令或所述有效数据及读写指令合并为新的读写指令发送至所述SSD,包括:
在所述SSD的存储空间高于存储阈值时,按照第一预设优先级将读写指令和所述有效数据及读写指令合并为新的读写指令发送至所述SSD,所述第一预设优先级中所述读写指令的优先级高于所述新的读写指令;
在所述SSD的存储空间不高于存储阈值时,按照第二预设优先级将读写指令和所述有效数据及读写指令合并为新的读写指令发送至所述SSD,所述第二预设优先级中所述新的读写指令的优先级高于所述读写指令。
17.一种服务器系统,其特征在于,包括:
获取单元,用于获取SSD中的block的信息,所述信息包括block的标识、所述block中的有效数据及所述block的磨损情况;
第一确定单元,用于根据所述信息确定所述block的数据水位,所述数据水位为所述block中的有效数据占存储空间的比例;
第二确定单元,用于在所述数据水位小于第一阈值时,根据所述磨损情况确定待回收的所述block;
保存单元,用于将待回收的所述block中的有效数据保存至预设的存储空间;
第一发送单元,用于基于所述SSD的存储空间将读写指令或将所述有效数据及读写指令合并为新的读写指令发送至所述SSD。
18.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至16任一项所述SSD的管理方法的步骤。
19.一种SSD的管理装置,其特征在于,包括如权利要求18所述的服务器及SSD,所述SSD通过数据分布接口、有效数据接口、获取信息接口、数据读写接口及重置接口与所述服务器连接。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至16任一项所述SSD的管理方法的步骤。
CN202310159782.2A 2023-02-24 2023-02-24 一种ssd的管理方法、系统、服务器、装置及存储介质 Pending CN115904257A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310159782.2A CN115904257A (zh) 2023-02-24 2023-02-24 一种ssd的管理方法、系统、服务器、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310159782.2A CN115904257A (zh) 2023-02-24 2023-02-24 一种ssd的管理方法、系统、服务器、装置及存储介质

Publications (1)

Publication Number Publication Date
CN115904257A true CN115904257A (zh) 2023-04-04

Family

ID=86481125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310159782.2A Pending CN115904257A (zh) 2023-02-24 2023-02-24 一种ssd的管理方法、系统、服务器、装置及存储介质

Country Status (1)

Country Link
CN (1) CN115904257A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078137A (zh) * 2019-11-07 2020-04-28 深圳市金泰克半导体有限公司 清理存储空间的方法
CN111078148A (zh) * 2019-12-17 2020-04-28 江苏芯盛智能科技有限公司 基于ssd的缓存方法、装置、ssd和计算机可读存储介质
CN115421651A (zh) * 2022-08-19 2022-12-02 阿里巴巴(中国)有限公司 固态硬盘的数据处理方法、固态硬盘、电子设备及介质
CN115599308A (zh) * 2022-11-28 2023-01-13 苏州浪潮智能科技有限公司(Cn) 固态硬盘的垃圾回收方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078137A (zh) * 2019-11-07 2020-04-28 深圳市金泰克半导体有限公司 清理存储空间的方法
CN111078148A (zh) * 2019-12-17 2020-04-28 江苏芯盛智能科技有限公司 基于ssd的缓存方法、装置、ssd和计算机可读存储介质
CN115421651A (zh) * 2022-08-19 2022-12-02 阿里巴巴(中国)有限公司 固态硬盘的数据处理方法、固态硬盘、电子设备及介质
CN115599308A (zh) * 2022-11-28 2023-01-13 苏州浪潮智能科技有限公司(Cn) 固态硬盘的垃圾回收方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US10372331B2 (en) Storage system, information processing system and method for controlling nonvolatile memory
US20220327050A1 (en) Storage system and information processing system for controlling nonvolatile memory
US10353612B2 (en) Storage system, information processing system and method for controlling nonvolatile memory
CN106326133B (zh) 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法
US7610434B2 (en) File recording apparatus
US7594062B2 (en) Method for changing data of a data block in a flash memory having a mapping area, a data area and an alternative area
US7536500B2 (en) Header blocks for flash memory writes
TWI399644B (zh) 非揮發記憶體區塊管理方法
KR101465789B1 (ko) 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
CN108038026B (zh) 一种基于闪存的数据快速恢复方法与系统
KR101017067B1 (ko) 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
US20020083037A1 (en) Instant snapshot
EP3752905B1 (en) Append only streams for storing data on a solid state device
JP2008507756A (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
CN110362499B (zh) 电子机器及其控制方法、计算机系统及其控制方法以及主机的控制方法
KR20130075018A (ko) 플래시 메모리 파일 시스템에 적용 가능한 데이터 업데이트 장치 및 방법
CN107391774A (zh) 基于重复数据删除的日志文件系统的垃圾回收方法
CN109558333B (zh) 具有可变额外存储空间的固态存储设备命名空间
CN109683830A (zh) 一种全闪存列阵的数据写入方法、系统及相关组件
KR20210046377A (ko) 마이그레이션 동작을 위한 메모리 시스템 및 메모리 시스템의 동작방법
CN113254365A (zh) 存储空间的管理方法、装置、设备、介质和程序产品
CN112130749A (zh) 数据储存装置以及非挥发式存储器控制方法
CN112306408A (zh) 一种存储块处理方法、装置、设备及存储介质
CN115237820A (zh) 以局部清理操作来进行垃圾回收的方法与相关控制器和储存系统
CN113010091B (zh) 数据写入固态硬盘的方法、垃圾回收的方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20230404

RJ01 Rejection of invention patent application after publication