一种提高固态硬盘中只读性能的方法及固态硬盘与流程

文档序号:11250571阅读:957来源:国知局
一种提高固态硬盘中只读性能的方法及固态硬盘与流程

本发明涉及固态硬盘控制技术,特别涉及一种提高固态硬盘中只读性能的方法及固态硬盘。



背景技术:

主机对sata固态硬盘(ssd)的操作包括读和写,因此在设计固态硬盘的固件(控制软件)的时将系统分为三大模块:接口sata(以sata接口为例说明)、ftl(flashtranslationlayer)闪存转换层和nandflash控制器nfc,模块之间通过fifo交互。图1是常规固件拓补结构,主机发起的读命令请求首先进入sata,转译之后进入ftl,计算出映射地址后进入nfc,读出数据后返回ftl,再返回sata后完成。

当主机只存在只读场景时主机只下发读命令。在只读场景下这种设计不是很高效,缺陷一:三大模块运转都需要占cpu资源;缺陷二:模块间的请求传递采用fifo机制,因为互斥锁的存在,操作fifo会有一定的延迟,延迟较高。因此常规固件拓扑结构在只读场景下的延时较大,性能具有较大的提升空间。



技术实现要素:

针对以上缺陷,本发明目的如何提升固态硬盘在只读场景下的访问速度。

为了解决以上问题本发明提出了一种提高固态硬盘中只读性能的方法,其特征在固态硬盘中增加只读操作通道,具体为在ftl中增设一个地址映射接口,所述地址映射接口实现将读操作的地址映射为nfc的读地址,sata接收到只读操作指令时调用地址映射接口获取只读操作指令对应的nfc地址,再直接将读取指令发送给nfc,nfc根据sata的读取指令读取存储空间中的数据,直接反馈给sata。

所述的提高固态硬盘中只读性能的方法,其特征在于sata与nfc通过下行信号量和上行信号量进行同步。

所述的提高固态硬盘中只读性能的方法,其特征在于sata调用地址映射接口前增加判断ftl当前是否属于暂停状态,如果是则直接调用,如果不是则向ftl发送暂停请求,ftl接收到暂停请求后,执行完sata已经下发的操作指令后将状态设置为暂停状态,所述暂停状态时ftl可以响应地址映射接口的调用。

所述的提高固态硬盘中只读性能的方法,其特征在于固态硬盘或者主机中还包括只读识别模块,用于预估当前主机是否存在大量的只读操作。

所述的提高固态硬盘中只读性能的方法,其特征在于主机中设有专门只读接口函数,上层应用判断当前存在大量只读操作时,调用专门只读接口函数访问固态硬盘;固态硬盘的sata接收到只读接口函数时,触发并通过只读操作通道读取固态硬盘数据。

一种固态硬盘,其特在在于采用了权利要求1至5任意一项所述的提高固态硬盘中只读性能的方法。

本发明通过识别只读操作并针对只读操作简化硬盘数据读取流程,减少ftl的处理时间,大大提升了只读性能。

附图说明

图1是常规固件拓补结构;

图2是改进后具体实施例一的固件拓扑结构。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

通过分析现有的固态硬盘读数据的处理流程,发现在只读操作时ftl模块此时只需提供地址映射功能,并不需要ftl提供额外的其它处理,为了这个单一的功能运行整个模块比较浪费。针对该情况在固态硬盘中增加只读操作通道,具体为通过改造ftl,在ftl中增设一个地址映射接口,地址映射接口只须实现将读操作的地址映射为nfc的读地址,sata接收到只读操作指令时调用地址映射接口获取只读操作指令对应的nfc地址,再直接将读取指令发送给nfc,nfc根据sata的读取指令读取存储空间中的数据,直接反馈给sata。

图2是改进后具体实施例一的固件拓扑结构,在只读模式通过只读操作通道访问固态硬盘。暂停ftl模块的运行,以此来提升通道的运转效率,最终提升只读性能。通道中只有两个fifo,而且ftl将不再占用cpu资源。还必须兼顾到暂停ftl不能影响用户数据和内部管理数据,所以暂停ftl要满足两个条件:1).sata必须等到之前下发到ftl的请求都回到sata,这样就不会影响用户数据。2).sata必须等到ftl暂停内部处理,这样就不会影响内部管理数据。因此在sata调用地址映射接口前增加判断ftl当前是否属于暂停状态,如果是则直接调用,如果不是则向ftl发送暂停请求,ftl接收到暂停请求后,执行完sata已经下发的操作指令后将状态设置为暂停状态,所述暂停状态时ftl可以响应地址映射接口的调用。

同时在固态硬盘或者主机中还增加设置只读识别模块,用于预估当前主机是否存在大量的只读操作。

优选在主机中设有专门只读接口函数,因为上层应用更清楚其应用场景,在存在大量只读的场景中主动触发和调用专门只读接口函数访问固态硬盘;固态硬盘的sata接收到只读接口函数时,触发并通过只读操作通道读取固态硬盘数据。减少固体硬盘内部状态的切换频率,也更有针对性,效果更优。

以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。



技术特征:

技术总结
本发明公开了一种提高固态硬盘中只读性能的方法及固态硬盘,其特征在固态硬盘中增加只读操作通道,具体为在FTL中增设一个地址映射接口,所述地址映射接口实现将读操作的地址映射为NFC的读地址,SATA接收到只读操作指令时调用地址映射接口获取只读操作指令对应的NFC地址,再直接将读取指令发送给NFC,NFC根据SATA的读取指令读取存储空间中的数据,直接反馈给SATA。通过识别只读操作并针对只读操作简化硬盘数据读取流程,减少FTL的处理时间,大大提升了只读性能。

技术研发人员:许毅;姚兰;郑春阳
受保护的技术使用者:记忆科技(深圳)有限公司
技术研发日:2017.05.24
技术公布日:2017.09.15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1