专利名称:一种提高ssd的sata接口ncq效率的方法
技术领域:
本发明涉及微电子技术领域,具体地说是一种提高SSD的SATA接口 NCQ效率的方法。
背景技术:
SSD因为其存储介质为NandFlash,所以它便具有了与NandFlash相似优势轻便、 存储密度大、功耗低、抗震和温度适应范围宽。而SATA接口具有传输速度快,自身带有CRC 校验,具有很高的数据传输精确性,支持热插拔,因此占据了存储设备的多数市场。SATA接口的SSD在固态存储中比重很大,NCQ是被设计用于改进在日益增加的负荷情况下硬盘的性能和稳定性的技术。当用户的应用程序发送多条指令到用户的硬盘,NCQ 硬盘可以优化完成这些指令的顺序,从而降低机械负荷达到提升性能的目的。NCQ技术是一种使硬盘内部优化工作负荷执行顺序,通过对内部队列中的命令进行重新排序实现智能数据管理,改善硬盘因机械部件而受到的各种性能制约。但这显然对于没有机械部分的固态硬盘(SSD)并不适合,因此,提出一种适合SSD的NCQ机制,对于提高SSD读写效率会有很大帮助。
发明内容
本发明的目的是提供一种提高SSD的SATA接口 NCQ效率的方法。本发明的目的是按以下方式实现的,将命令队列(Command Queue)中的指令先根据读和写的速度不同,把写入指令放在最后执行;再按照指令压入的顺序,分析指令的相关性,把具有相关性的指令放在一起并按照压入顺序执行,再把没有相关性的指令放在一起顺序执行;把具有相关性的指令放在没有相关性的指令之前执行。相关性的指令是指写入和读取相同地址或读取相同数据的指令。本发明和现有技术相比,利用SATA的NCQ可以乱序执行指令的特点,根据 Nandflash自身的特点,重新排列Queue中的指令顺序,使得SATA指令执行得效率得到提尚ο
附图1为本发明的工作系统结构框图。
具体实施例方式下面结合附图对一种提高SSD的SATA接口 NCQ效率的方法作以下详细的说明。将命令队列(Command Queue)中的指令先根据读和写的速度不同,把写入指令放在最后执行;再按照指令压入的顺序,分析指令的相关性,把具有相关性的指令放在一起并按照压入顺序执行,再把没有相关性的指令放在一起顺序执行;把具有相关性的指令放在没有相关性的指令之前执行。相关性的指令是指写入和读取相同地址或读取相同数据的指
3令。工作流程为,SATA指令经过命令解析器,将指令压入命令队列(Queue)中,例如, 系统拥有8个通道,每个通道拥有一个独立的Queue,Queue中一次可以压入最多12条指令,分别为cmdO到cmdb。指令主要为读或者写。方法先按照指令压入的顺序,分析是否指令具有相关性,如cmdO与cmd2,分别是写入和读取相同地址的数据,但cmdO先压入Queue,所以,cmdO与cmd2的先后顺序为cmdO在前。由于,cmdO执行完毕后,写入的数据还在buffer 中,所以可以将数据直接读取,而不需要再从Nandflash中读取,因此,cmd2被调整到cmdO 之后,cmdl之前。Cmd7和cmd9同样为读取相同数据,它们之间也没有任何的数据改变,因此,cmd7和cmd9将放在一起执行。其他的指令再没有相关性,因此,cmd3和cmd6为写入指令,速度慢,所以放在Queue的最后,其他读指令放在它们之前。这样Queue中的指令顺序调整完毕,之后顺序执行。本发明和现有技术相比,利用SATA的NCQ可以乱序执行指令的特点,根据 Nandflash自身的特点,重新排列Queue中的指令顺序,使得SATA指令执行得效率得到提高,因而,具有很好的推广使用价值。除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1.一种提高SSD的SATA接口 NCQ效率的方法,其特征在于将命令队列(Command Queue)中的指令先根据读和写的速度不同,把写入指令放在最后执行;再按照指令压入的顺序,分析指令的相关性,把具有相关性的指令放在一起并按照压入顺序执行,再把没有相关性的指令放在一起顺序执行;把具有相关性的指令放在没有相关性的指令之前执行。
2.根据权利要求1所述的方法,其特征在于相关性的指令是指写入和读取相同地址或读取相同数据的指令。
全文摘要
本发明提供一种提高SSD的SATA接口NCQ效率的方法,属于微电子技术领域。将命令队列(CommandQueue)中的指令先根据读和写的速度不同,把写入指令放在最后执行;再按照指令压入的顺序,分析指令的相关性,把具有相关性的指令放在一起并按照压入顺序执行,再把没有相关性的指令放在一起顺序执行;具有相关性的指令放在没有相关性的指令之前执行。本发明与现有技术相比,提高了SSD读写效率。
文档编号G06F3/06GK102436352SQ20111025002
公开日2012年5月2日 申请日期2011年8月29日 优先权日2011年8月29日
发明者于治楼, 姜凯, 梁智豪 申请人:浪潮电子信息产业股份有限公司