一种低资源消耗的trim实现方法技术

技术编号:22640752 阅读:49 留言:0更新日期:2019-11-26 15:56
本发明专利技术公开了一种低资源消耗的trim实现方法,包括:在DDR空间中定义trim表,在local ram定义结构体;闪存转换层接收到trim命令后,将待trim区域分割为三个区间;扩展bit位含义,结合结构体构造使用对待trim区域相应位置1。本发明专利技术通过多bit组合方式及local_ram使用减少trim表的DDR占用,并能够正确实现trim功能。通过单bit含义扩展,使用一个bit代表多个lba的trim位,并结合少量的local trim使用大大节省的DDR的使用,减少了硬件资源的消耗,可以减少硬件成本。

A low resource consumption implementation of trim

The invention discloses a low resource consumption trim implementation method, which includes: defining trim table in DDR space and defining structure body in local ram; dividing the area to be trim into three sections after receiving trim command in flash memory conversion layer; expanding bit meaning and using corresponding position 1 of the area to be trim in combination with structure construction. The invention can reduce the DDR occupation of the trim table through the multi bit combination mode and the use of local ram, and can correctly realize the trim function. By extending the meaning of a single bit, using a bit to represent multiple LBA trim bits, and combining with a small number of local trim to use DDR, we can reduce the consumption of hardware resources and hardware costs.

【技术实现步骤摘要】
一种低资源消耗的trim实现方法
本专利技术涉及固态硬盘,尤其是一种低资源消耗的trim实现方法。
技术介绍
当前固态硬盘的使用变得越来越广泛,对固态硬盘的性能、容量的要求都更高,随着闪存技术的发展、主控芯片的性能提高,固态硬盘的相关技术不断更新,使得能够尽可能满足应用的需求。当前固态硬盘使用的场景变得越来越复杂,对固态硬盘的要求也越来越高,无论从性能还是稳定性上,都是有严格标准的,最重要的一方面就是性能的一致性,即,在固态硬盘的使用过程中,是不允许读写性能的突变,这将导致应用无法预知固态硬盘的状态,从而给应用的运行带来不必要的麻烦。如何保证固态硬盘性能的一致性成为了固态硬盘固件研究的一个重要课题。当前固态硬盘的设计中,由于FTL的固有特性,物理容量的增加伴随着对于其他硬件单元的需求的增加,最为明显的是DDR(双倍速率同步动态随机存储器)的使用,DDR用来存储FTL(Flashtranslationlayer闪存转换层)相关数据,在通常的SSD(SolidStateDrive固态硬盘)固件实现中,DDR中会分配一定的区域给trim功能,其中的每个一个bit分别对应host的固定的LBA(LogicalBlockAddress逻辑区块地址),当host下发trim命令时,FTL将trim区域的对应bit位置1,表示该LBA被trim,当host下发读请求时,FTL首先检查对应的trim位,如果置1则直接返回host该数据已经被trim,如果没有置1则执行正常的读取操作。这样当SSD的容量增加时,代表着host的LBA总数在增加,trim占用的DDR空间也相应的增加,但是DDR的总空间受硬件设计及成本限制,不能相应比例的增加。
技术实现思路
本专利技术的目的是提供一种低资源消耗的trim实现方法,将不同的lba集合,即使用trim表的一个bit代表多个LBA(32个),这样相对于通常的实现来说,可以将trim功能占用的DDR空间减少到1/32。为实现上述目的,本专利技术采用下述技术方案:一种低资源消耗的trim实现方法,包括以下步骤:在DDR空间中定义trim表,在localram定义结构体;闪存转换层接收到trim命令后,将待trim区域分割为三个区间;扩展bit位含义,结合结构体构造使用对待trim区域相应位置1。可选地,所述闪存转换层接收到trim命令后,将待trim区域分割为三个区间,具体包括:获取trim命令包含的起始地址和长度参数,计算结束地址;将包含起始地址和结束地址的结构体划分为三个区间。可选地,所述将包含起始地址和结束地址的结构体划分为三个区间,具体包括:构造第一区间节点地址和第二区间节点地址,所述起始地址与第一区间节点地址形成第一区间;所述第一区间节点地址与第二区间节点地址形成第二区间;所述第二区间节点地址与结束地址形成第三区间。可选地,所述构造第一区间节点地址和第二区间节点地址,具体包括:选取不小于起始地址数值的最小32倍数减1作为第一区间节点地址;选取不大于结束地址数值的最大32倍数减1作为第二区间节点地址。可选地,所述构造第一区间节点地址和第二区间节点地址,还包括:如果起始地址与第一区间节点地址加1的地址相同,则取消第一区间;如果结束地址与第二区间节点地址加1的地址相同,则取消第二区间。可选地,所述扩展bit位含义,结合结构体构造使用对待trim区域相应位置1,具体包括:构造第三区间节点地址,对结构体中比特位数为第一区间长度数值加1的若干最高位置1;在结构体中查询是否存在第三区间节点地址对应的表项,如果存在,用第三区间节点地址与初始化地址取或后的地址数值给结构体赋值;如果不存在,读取trim表中第三区间节点地址数值,若该数值已经置1,退出;否则读取第一区间的L2P表,将L2P表内容清零。可选地,所述第三区间节点地址数值为不大于起始地址的最大32倍数。可选地,所述扩展bit位含义,结合结构体构造使用对待trim区域相应位置1,具体包括:计算第二区间的偏移地址和偏移长度,在trim表中将起始地址偏移至偏移地址,从偏移地址开始将偏移长度的位数全部置1。可选地,所述扩展bit位含义,结合结构体构造使用对待trim区域相应位置1,具体包括:构造第四区间节点地址,对结构体中比特位数为第三区间长度数值加1的若干最低位置1;在结构体中查询是否存在第四区间节点地址对应的表项,如果存在,用第四区间节点地址与初始化地址取或后的地址数值给结构体赋值;如果不存在,读取trim表中第四区间节点地址数值,若该数值已经置1,退出;否则读取第三区间的L2P表,将L2P表内容清零。可选地,所述第四区间节点地址数值为不小于结束地址的最小32倍数。
技术实现思路
中提供的效果仅仅是实施例的效果,而不是专利技术所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:本专利技术通过多bit组合方式及local_ram使用减少trim表的DDR占用,并能够正确实现trim功能。通过单bit含义扩展,使用一个bit代表多个lba的trim位,并结合少量的localtrim使用大大节省的DDR的使用,减少了硬件资源的消耗,可以减少硬件成本。附图说明图1是本专利技术方法实施例一流程图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本专利技术进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本专利技术的不同结构。为了简化本专利技术的公开,下文中对特定例子的部件和设置进行描述。此外,本专利技术可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本专利技术省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本专利技术。实施例一如图1所示,一种低资源消耗的trim实现方法,包括以下步骤:S1、在DDR空间中定义trim表,在localram定义结构体。S2、闪存转换层接收到trim命令后,将待trim区域分割为三个区间。S3、扩展bit位含义,结合结构体构造使用对待trim区域相应位置1。实施例二一种低资源消耗的trim实现方法,包括以下步骤:S1、在SSD固件初始化过程中,申请固定大小的DDR空间给trim表定义为DDR_trim_Table,大小为hostLBA最大个数/32,起始地址记为ddr_addr;CPU的localram中分配100个结构体空间定义为local_trim_table,该结构体为(lba,bmp),lba对应于hostlba,bmp是32bit整型。S2、当FTL收到host的trim命令后,命令包含有start_lba和lba_len两个变本文档来自技高网
...

【技术保护点】
1.一种低资源消耗的trim实现方法,其特征是,包括以下步骤:/n在DDR空间中定义trim表,在local ram定义结构体;/n闪存转换层接收到trim命令后,将待trim区域分割为三个区间;/n扩展bit位含义,结合结构体构造使用对待trim区域相应位置1。/n

【技术特征摘要】
1.一种低资源消耗的trim实现方法,其特征是,包括以下步骤:
在DDR空间中定义trim表,在localram定义结构体;
闪存转换层接收到trim命令后,将待trim区域分割为三个区间;
扩展bit位含义,结合结构体构造使用对待trim区域相应位置1。


2.如权利要求1所述的低资源消耗的trim实现方法,其特征是,所述闪存转换层接收到trim命令后,将待trim区域分割为三个区间,具体包括:
获取trim命令包含的起始地址和长度参数,计算结束地址;
将包含起始地址和结束地址的结构体划分为三个区间。


3.如权利要求2所述的低资源消耗的trim实现方法,其特征是,所述将包含起始地址和结束地址的结构体划分为三个区间,具体包括:
构造第一区间节点地址和第二区间节点地址,所述起始地址与第一区间节点地址形成第一区间;所述第一区间节点地址与第二区间节点地址形成第二区间;所述第二区间节点地址与结束地址形成第三区间。


4.如权利要求3所述的低资源消耗的trim实现方法,其特征是,所述构造第一区间节点地址和第二区间节点地址,具体包括:
选取不小于起始地址数值的最小32倍数减1作为第一区间节点地址;
选取不大于结束地址数值的最大32倍数减1作为第二区间节点地址。


5.如权利要求4所述的低资源消耗的trim实现方法,其特征是,所述构造第一区间节点地址和第二区间节点地址,还包括:
如果起始地址与第一区间节点地址加1的地址相同,则取消第一区间;
如果结束地址与第二区间节点地址加1的地址相同,则取消第二区间。


6.如权利要求5所述的低资源消耗的trim...

【专利技术属性】
技术研发人员:赵宝林
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1