System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及固态存储设备领域,尤其涉及固态硬盘trim性能的优化方法、装置、计算机设备及存储介质。
技术介绍
1、在固态硬盘中的trim命令是一种用来维护和优化固态硬盘性能的指令。trim命令在固态硬盘中通常会被视为控制命令,在其执行过程中会与其它命令互斥执行,导致trim命令执行必须等待之前的读写操作或其它控制命令都执行完毕后才能执行,只有当trim范围较大时才会触发后台执行trim命令,导致较小trim范围的命令都需要前台处理,导致固态硬盘trim性能低下。
技术实现思路
1、本专利技术的目的在于克服现有技术的不足,提供固态硬盘trim性能优化方法、装置、计算机设备及存储介质。
2、为了解决上述技术问题,本专利技术采用如下技术方案:
3、本专利技术通过以下技术方案实现的:
4、第一方面,本实施例提供了一种固态硬盘trim性能的优化方法,包括以下步骤:
5、判断主机下发的命令是否为trim命令;
6、若主机下发的命令为trim命令,则更新trim表;
7、将更新的trim表和用户数据写入nand用户块。
8、进一步的,所述更新trim表包括以下步骤:
9、划分所述trim表,以得到若干个trim表单元,并获取所述trim命令中逻辑块的范围;
10、判断所述逻辑块与映射表中的映射单元是否对齐;
11、若所述逻辑块与映射表中的映射单元对齐,则将所述trim表单元的
12、进一步的,所述判断所述逻辑块与映射表中的映射单元是否对齐之后,还包括:
13、若所述逻辑块与映射表中的映射单元不对齐,则从所述nand中读取映射表中未被修剪的逻辑块,以得到待处理逻辑块;
14、将所述待处理逻辑块与映射表中完成修剪的逻辑块合并,以更新所述映射表;
15、向所述映射表分配用户块地址。
16、进一步的,所述判断主机下发的命令是否为trim命令之后,还包括:
17、判断所述命令为读命令还是写命令;
18、若所述主机下发的命令为写命令,则判断所述命令中的逻辑地址对应的映射单元在trim表中的比特值是否为0;
19、若所述命令中的逻辑地址对应的映射单元在trim表中的比特值为0,则为所述命令中的逻辑地址对应的映射单元分配用户块地址,并写入nand;
20、若所述命令中的逻辑地址对应的映射单元在trim表中的比特值不为0,则将所述命令中的逻辑地址对应的映射单元与trim表单元对应的比特值设为0;
21、标记所述trim表单元为脏,并写入nand。
22、进一步的,所述判断主机下发的命令是否为trim命令之后,还包括:
23、若所述主机下发的命令为读命令,则判断所述命令中的逻辑地址对应的映射单元在trim表中的比特值是否为0;
24、若所述命令中的逻辑地址对应的映射单元在trim表中的比特值为0,则根据所述映射单元从nand读取数据;
25、若所述命令中的逻辑地址对应的映射单元在trim表中的比特值不为0,则判断所述trim表单元的时间戳是否比所述映射单元的时间戳新,若是,则所述读命令返回主机;若否,则根据所述映射单元从nand读取数据。
26、进一步的,还包括:
27、当ssd处于空闲状态时,读取所述trim表中比特值不为0的所述trim表单元的逻辑地址,并根据所述逻辑地址查询对应的映射单元,并判断所述映射单元的时间戳是否比所述trim表单元的时间戳新;若是,则将所述映射单元标记为无效,若否,则将所述trim表单元的比特值设为0。
28、第二方面,本实施例提供了一种固态硬盘trim性能的优化装置,包括:判断单元、更新单元及写入单元;
29、所述判断单元,用于判断主机下发的命令是否为trim命令;
30、所述更新单元,用于更新trim表;
31、所述写入单元,用于将更新的trim表和用户数据写入nand用户块。
32、进一步的,所述更新单元包括:划分读取模块、判断模块及执行模块;
33、所述划分读取模块,用于划分所述trim表,以得到若干个trim表单元,并获取所述trim命令中逻辑块的范围;
34、所述判断模块,用于判断所述逻辑块与映射表中的映射单元是否对齐;
35、所述执行模块,用于所述逻辑块与映射表中的映射单元对齐,则将该所述trim表单元的比特设置为1;标记设置比特之后的所述trim表单元为脏,且向所述trim表单元分配用户块地址和写入时间戳。
36、第三方面,本实施例提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述处理器上储存有计算机程序,所述处理器执行所述计算机程序时实现如上所述的固态硬盘trim性能的优化方法。
37、第四方面,本实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如上所述的固态硬盘trim性能的优化方法。
38、本专利技术与现有技术相比的有益效果是:通过将将更新的trim表和用户数据写入nand用户块,使trim命令和其他读写命令并发执行,提升trim性能。
39、上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术技术手段,可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。
本文档来自技高网...【技术保护点】
1.固态硬盘TRIM性能的优化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的固态硬盘TRIM性能的优化方法,其特征在于,所述更新TRIM表包括以下步骤:
3.根据权利要求2所述的固态硬盘TRIM性能的优化方法,其特征在于,所述判断所述逻辑块与映射表中的映射单元是否对齐之后,还包括:
4.根据权利要求1所述的固态硬盘TRIM性能的优化方法,其特征在于,所述判断主机下发的命令是否为TRIM命令之后,还包括:
5.根据权利要求1所述的固态硬盘TRIM性能的优化方法,其特征在于,所述判断主机下发的命令是否为TRIM命令之后,还包括:
6.根据权利要求2所述的固态硬盘TRIM性能的优化方法,其特征在于,还包括以下步骤:
7.固态硬盘TRIM性能的优化装置,其特征在于,包括:判断单元、更新单元及写入单元;
8.根据权利要求7所述的固态硬盘TRIM性能的优化装置,其特征在于,所述更新单元包括:划分读取模块、判断模块及执行模块;
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-6中任一项所述的固态硬盘TRIM性能的优化方法。
...【技术特征摘要】
1.固态硬盘trim性能的优化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的固态硬盘trim性能的优化方法,其特征在于,所述更新trim表包括以下步骤:
3.根据权利要求2所述的固态硬盘trim性能的优化方法,其特征在于,所述判断所述逻辑块与映射表中的映射单元是否对齐之后,还包括:
4.根据权利要求1所述的固态硬盘trim性能的优化方法,其特征在于,所述判断主机下发的命令是否为trim命令之后,还包括:
5.根据权利要求1所述的固态硬盘trim性能的优化方法,其特征在于,所述判断主机下发的命令是否为trim命令之后,还包括:
6.根据权利要求2所述的固态硬盘trim性能的优化方法,其特...
【专利技术属性】
技术研发人员:李建,洪浩,李文清,
申请(专利权)人:苏州忆联信息系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。