一种固态硬盘的trim处理方法及装置制造方法及图纸

技术编号:16820700 阅读:115 留言:0更新日期:2017-12-16 14:45
本申请提供了一种固态硬盘的trim处理方法及装置,方法包括:从逻辑物理转换表L2P的各个L2P表项中提取trim位,并将提取出的trim位存储到一个独立的表中,得到trim表;接收主机发送的trim指令,并响应主机发送的trim指令,对trim表进行前后端的分阶段处理。在本申请中,通过以上方式减少了工作量,提高了trim的处理速度,从而提高了trim的处理性能。

A trim processing method and device for solid state hard disk

This application provides trim processing method and a device for solid state disk method includes: extracting trim each L2P table in table L2P from physical logic conversion, and the extracted trim is stored in a separate table, trim table; the receiving host sends a trim command, and host response send the trim command to trim stages before and after the end of treatment. In this application, the workload is reduced by the above method, the processing speed of the trim is improved, and the processing performance of the trim is improved.

【技术实现步骤摘要】
一种固态硬盘的trim处理方法及装置
本申请涉及计算机领域,特别涉及一种固态硬盘的trim处理方法及装置。
技术介绍
随着互联网、云计算、物联网、大数据等技术的发展及广泛应用,在人类生活中,时时刻刻都会产生海量的数据,这些海量的数据需要进行处理和存储,并且对存储系统的性能要求越来越高,而固态硬盘(SSD,SolidStateDrives)因为其读写速度快、能耗低,被广泛的应用。当前固态硬盘的使用变得越来越广泛,对固态硬盘的性能、容量的要求也越来越高,其中,固态硬盘的性能提高的重要途径可以为提高trim(trim指令也叫disabledeletenotify(禁用删除通知),是微软联合各大SSD固态硬盘厂商所开发的一项技术,属于ATA8-ACS规范的技术指令)处理性能,然而如何提高trim处理性能成为问题。
技术实现思路
为解决上述技术问题,本申请实施例提供一种固态硬盘的trim处理方法及装置,以达到减少工作量,提高trim的处理速度,从而提高trim的处理性能的目的,技术方案如下:一种固态硬盘的trim处理方法,包括:从逻辑物理转换表L2P的各个L2P表项中提取trim位,并将提取出的trim位存储到一个独立的表中,得到trim表;接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理。优选的,所述接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理中的前端处理过程,包括:接收主机发送的trim指令;解析所述主机发送的trim指令,获取起始逻辑块地址LBA和LBA数量;计算所述trim表中所述起始LBA和LBA数量对应的trim位,在固态硬盘闪存中的起始地址和长度;将所述trim表中所述起始LBA和LBA数量对应的trim位,在固态硬盘闪存中的起始地址和长度对应的闪存空间全部bit置位为1;返回trim前端处理完成信息至所述主机。优选的,所述接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理中的后端处理过程,包括:获取所述主机发送的trim指令,并解析所述主机发送的trim指令,获取起始LBA和LBA数量;从所述L2P表中依次获取所述起始LBA和LBA数量对应的各个LBA的L2P表项,并获取所述L2P表项中的物理块地址PBA;将依次获取到的PBA按顺序通知给GC模块,由所述垃圾回收GC模块依次对各个所述PBA值进行无效标记。一种固态硬盘的trim处理装置,包括:trim表生成模块,用于从逻辑物理转换表L2P的各个L2P表项中提取trim位,并将提取出的trim位存储到一个独立的表中,得到trim表;trim处理模块,用于接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理。优选的,所述trim处理模块接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理中的前端处理过程,具体包括:接收主机发送的trim指令;解析所述主机发送的trim指令,获取起始逻辑块地址LBA和LBA数量;计算所述trim表中所述起始LBA和LBA数量对应的trim位,在固态硬盘闪存中的起始地址和长度;将所述trim表中所述起始LBA和LBA数量对应的trim位,在固态硬盘闪存中的起始地址和长度对应的闪存空间全部bit置位为1;返回trim前端处理完成信息至所述主机。优选的,所述trim处理模块接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理中的后端处理过程,具体包括:获取所述主机发送的trim指令,并解析所述主机发送的trim指令,获取起始LBA和LBA数量;从所述L2P表中依次获取所述起始LBA和LBA数量对应的各个LBA的L2P表项,并获取所述L2P表项中的物理块地址PBA;将依次获取到的PBA按顺序通知给GC模块,由所述垃圾回收GC模块依次对各个所述PBA值进行无效标记。与现有技术相比,本申请的有益效果为:在本申请中,通过从逻辑物理转换表L2P的各个L2P表项中提取trim位,并将提取出的trim位存储到一个独立的表中,得到trim表,实现对trim单独管理,在接收到主机发送的trim指令,并响应所述主机发送的trim指令使,不需要读取额外的信息(如L2P表中所有L2P表项的内容),只需要对trim表进行前后端的分阶段处理即可,减少了工作量,提高了trim的处理速度,从而提高了trim的处理性能。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请提供的固态硬盘的trim处理方法的一种流程图;图2是本申请提供的固态硬盘的trim处理方法的另一种流程图;图3是本申请提供的固态硬盘的trim处理方法的再一种流程图;图4是本申请提供的固态硬盘的trim处理装置的一种逻辑结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例公开了一种固态硬盘的trim处理方法,通过从逻辑物理转换表L2P的各个L2P表项中提取trim位,并将提取出的trim位存储到一个独立的表中,得到trim表,及接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理,完成trim处理。在介绍具体的实施例之前,对trim处理进行简要介绍,具体如下:trim指令也叫disabledeletenotify(禁用删除通知),是微软联合各大SSD固态硬盘厂商所开发的一项技术,属于ATA8-ACS规范的技术指令。当操作系统中删除一个文件时,系统并没有真正删掉这个文件的数据,它只是把这些数据占用的地址标记为‘空’,即可以覆盖使用。但这只是在文件系统层面的操作,硬盘本身并不知道那些地址的数据已经‘无效’,除非系统通知它要在这些地址写入新的数据。在HDD上本无任何问题,因为HDD允许覆盖写入,但SSD的闪存不允许覆盖写,只能先擦除再写入,要得到‘空闲’的闪存空间来进行写入,SSD就必须进行GC(垃圾回收)操作。在没有trim处理的情况下,SSD无法事先知道那些被‘删除’的数据页已经是‘无效’的,必须到系统要求在相同的地方写入数据时才知道那些数据可以被擦除,这样就无法在最适当的时机做出最好的优化,既影响GC的效率(间接影响性能),又影响SSD的寿命。为了提高GC的效率,及延长SSD的寿命,可以由SSD进行trim处理。接下来,对本申请的固态硬盘的trim处理方法进行介绍,请参见图1,可以包括以下步骤:步骤S11、从逻辑物理转换表L2P的各个L2P表项中提取trim位,并将提取出的trim位存储到一个独立本文档来自技高网...
一种固态硬盘的trim处理方法及装置

【技术保护点】
一种固态硬盘的trim处理方法,其特征在于,包括:从逻辑物理转换表L2P的各个L2P表项中提取trim位,并将提取出的trim位存储到一个独立的表中,得到trim表;接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理。

【技术特征摘要】
1.一种固态硬盘的trim处理方法,其特征在于,包括:从逻辑物理转换表L2P的各个L2P表项中提取trim位,并将提取出的trim位存储到一个独立的表中,得到trim表;接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理。2.根据权利要求1所述的方法,其特征在于,所述接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理中的前端处理过程,包括:接收主机发送的trim指令;解析所述主机发送的trim指令,获取起始逻辑块地址LBA和LBA数量;计算所述trim表中所述起始LBA和LBA数量对应的trim位,在固态硬盘闪存中的起始地址和长度;将所述trim表中所述起始LBA和LBA数量对应的trim位,在固态硬盘闪存中的起始地址和长度对应的闪存空间全部bit置位为1;返回trim前端处理完成信息至所述主机。3.根据权利要求2所述的方法,其特征在于,所述接收主机发送的trim指令,并响应所述主机发送的trim指令,对所述trim表进行前后端的分阶段处理中的后端处理过程,包括:获取所述主机发送的trim指令,并解析所述主机发送的trim指令,获取起始LBA和LBA数量;从所述L2P表中依次获取所述起始LBA和LBA数量对应的各个LBA的L2P表项,并获取所述L2P表项中的物理块地址PBA;将依次获取到的PBA按顺序通知给GC模块,由所述垃圾回收GC模块依次对各个所述PBA值进行无效标记。4.一种固态硬盘的trim处理装置,其特征...

【专利技术属性】
技术研发人员:赵宝林
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1