[发明专利]一种提高FTL算法开发和验证效率的方法及装置有效
申请号: | 201811203784.2 | 申请日: | 2018-10-16 |
公开(公告)号: | CN109445691B | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 冷志源;冯元元;刘坚 | 申请(专利权)人: | 深圳忆联信息系统有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 冯筠 |
地址: | 518067 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 ftl 算法 开发 验证 效率 方法 装置 | ||
本发明公开了一种提高FTL算法开发和验证效率的方法及装置,其中方法包括:启动虚拟主机仿真环境;通过脚本发出测试命令;FTL根据对应的测试命令类型对虚拟闪存中的数据进行处理。本发明一种提高FTL算法开发和验证效率的方法及装置通过虚拟环境进行FTL算法的开发和验证该环境完全通过软件虚拟化实现,用于验证SSD固件中FTL算法模块的正确性,并能提供可视化界面,帮助开发人员通过命令行等手段进行Debug,具有较高的运行效率和灵活性,而且在虚拟环境中进行FTL算法模块的验证,将极大的节省开发成本,提高软件开发效率。
技术领域
本发明涉及SSD固态硬盘,更具体地说是一种提高FTL算法开发和验证效率的方法及装置。
背景技术
FTL(Flash Translation Layer)算法是SSD(Solid State Disk)固件的核心部分,为提高FTL算法的开发验证效率,首先需要具备验证环境。目前固件验证环境包括SSD主控、NAND Flash颗粒、DDR、PCIE、DStream等器件,这些硬件产品普遍价格较高,而且部分为易损耗的,在使用过程中也存在启动时间长,稳定性差的问题,这些因素会直接导致SSD固件的开发效率降低,开发成本增加。
例如图1所示的NAND Flash的结构,DIE为可独立操作的单元,其间包括多个Block;Block为擦除单元,其间包括多个Page;Page为读写单元。NAND Flash作为SSD的存储介质,容量一般在128G-1T,Flash特性决定了其读写、擦除操作次数有限,因此NAND Flash的生命周期也有限,如果在固件开发过程中完全使用真实的NAND Flash必然会导致开发成本高、效率低。
另外,固件开发环境如图2所示,主要由主机、SSD控制器和Flash Memory阵列组成,SSD通过Host Interface和主机进行数据交互。SSD主控、NAND Flash颗粒、DDR、PCIE等器件,价格昂贵,环境搭建过程和启动验证过程耗时较长,SSD固件开发人员完全依赖硬件环境验证功能,将导致开发成本增加、开发效率低等问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种提高FTL算法开发和验证效率的方法及装置,通过虚拟环境进行FTL算法的开发和验证。该环境完全通过软件虚拟化实现,用于验证SSD固件中FTL算法模块的正确性,并能提供可视化界面,帮助开发人员通过命令行等手段进行Debug,具有较高的运行效率和灵活性。
为实现上述目的,本发明采用以下技术方案:一种提高FTL算法开发和验证效率的方法,所述方法包括:
启动虚拟主机仿真环境;
通过脚本发出测试命令;
FTL根据对应的测试命令类型对虚拟闪存中的数据进行处理。
其进一步技术方案为:所述FTL根据对应的测试命令类型对虚拟闪存中的数据进行处理的步骤,具体包括以下的步骤:
判断测试命令类型是否是写命令,若是,则FTL将数据写入虚拟闪存中,若否,则进入所述判断是否是读命令的步骤;
判断测试命令是否是读命令,若是,则FTL读取虚拟闪存中的数据,若否,则进入所述判断是否是模拟出错命令的步骤;
判断测试命令是否是模拟出错命令,若是,则FTL将相应的Flag数据写入虚拟闪存中,若否,则读写正常。
其进一步技术方案为:所述FTL将数据写入虚拟闪存中的步骤,具体包括以下步骤:
FTL申请存储空间;
FTL进行逻辑地址到物理地址的转换;
下发写请求到虚拟Flash控制器;
虚拟Flash控制器根据写请求向虚拟闪存中写入数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳忆联信息系统有限公司,未经深圳忆联信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811203784.2/2.html,转载请声明来源钻瓜专利网。