一种PCIE SSD优化的方法技术

技术编号:12910866 阅读:101 留言:0更新日期:2016-02-24 16:20
本发明专利技术公开了一种PCIE SSD优化的方法,该方法包括三个步骤:步骤1)关闭irqbalance服务;步骤2)确定Nvme中断向量,取得新的IRQ与外设的对应关系,确定新的中断向量与外设的对应关系;步骤3)让设备都在一个node上面。本发明专利技术的一种PCIE SSD优化的方法解决了存储时出现的高延迟的问题,有效的缩短了延迟时间;使得SSD的IOPS(每秒读写次数)性能得到明显提高;该方法也解决了不同PCIe SSD之间的驱动适用性问题,不需要厂商独立提供驱动支持,PCIe SSD就可适用于多个不同平台。

【技术实现步骤摘要】
【专利说明】 —种PC IE SSD优化的方法
本专利技术涉及Linux系统下固态硬盘
,具体地说是一种PCIE SSD优化的方法
技术介绍
闪存(Flash memory)诞生于20世纪80年代末,它是一种存取高速、抗震性强、体积小、容量大、功耗低、掉电数据不丢失的存储介质。闪存在近十年来不断发展,已经被广泛应用于手机、数码相机、游戏机等各种便捷式设备和嵌入式系统中。与传统硬盘相比,闪存在抗震性和数据的存储速度上具有明显优势,因而已经成为替代磁盘的首选存储介质。闪存对突发I/O的响应时间也只有传统硬盘的百分之一,直接将现有数据库系统部署在闪存上,联机事务的处理能力有大约5?10倍的提升,响应时间也有大幅改善。此外,闪存比传统硬盘可靠性更高,MTBF (平均故障间隔时间)优于传统硬盘。闪存的这些优势使它非常适合用于存储数据库,提高数据库的存取效率和降低能耗。以NAND闪存为代表的半导体存储容量密度增大,而且越来越便宜。当那个拐点的时间到来,人们发现用小小的SSD能顶上几十甚至上百块硬盘的性能。在企业级SSD发展初期,更多的应用形式是安装在EMC等存储系统厂商的阵列中,替代磁盘的SAS SSD ;或者服务器里面使用的SATA SSD0它们能够与传统硬盘控制器良好兼容,但当时主流的SATA和SAS接口带宽只有3Gb/s或者6Gb/s (300_600MB/s),如今12Gb/s SAS还没有普及,而x8PCIe 2.0的理论带宽已经达到4GB/s,PCIe 3.0更是翻了一倍。因此PCIE SSD采用标准PCIE接口直连CPU,其速度是传统采用SATA/SAS接口十倍以上。PCIE SSD (固态硬盘)采用NVMe控制接口,该接口是一种为企业级、客户端系统所用的而专门设计的高性能、可扩展主机控制接口。它具有以下优点: 1.低延迟,因为AHCI标准本身就是为高延迟的机械硬盘而设,虽然SSD发展至今,主流产品依然沿用了机械硬盘时代的那一套,但已经开始不能满足性能的高速发展,特别是在延迟方面。而面向PCIe SSD产品的NVMe标准,降低存储时出现的高延迟,就是其要解决的问题之一。造成硬盘存储时延迟的三大因素,存储介质本身、控制器,以及软件接口标准。比起AHCI,NVMe可以大幅度降低控制器和软件接口部分的延迟,NVMe面向的是PCIe SSD,原生PCIe主控与CPU直接相连,而不是传统方式,通过南桥控制器中转,再连接CPU,并且NVMe精简了调用方式,执行命令时不需要读取寄存器;而AHCI每条命令则需要读取4次寄存器,一共会消耗8000次CPU循环,从而造成2.5 μ s的延迟。2.1OPS性能提升,NVMe的另一个重点则是提高SSD的1PS (每秒读写次数)性能。如果我们有详细了解过SSD的主控参数,应该知道会有队列深度这个参数。理论上,1PS=队列深度/ 1延迟,故1PS的性能,与队列深度有较大的关系(但1PS并不与队列深度成正比,因为实际应用中,随着队列深度的增大,1延迟也会提高)。市面上性能不错的SATA接口 SSD,在队列深度上都可以达到32,然而这也是AHCI所能做到的极限。但目前高端的企业级PCIe SSD,其队列深度可能要达到128,甚至是256才能够发挥出最高的1PS性能。而NVMe标准下,最大的队列深度可达64000。此外,NVMe的队列数量也从AHCI的1,提高了 64000。3.驱动适用性广,NVMe标准的也解决了不同PCIe SSD之间的驱动适用性问题。此前的PCIe SSD,均需要安装驱动程序后才能正常使用,而不同的厂商又各自为政,每个厂商产品都有自己的驱动,SSD也不能作为引导使用。但支持NVMe标准之后,PCIe SSD就可适用于多个不同平台,也不需要厂商独立提供驱动支持。目前Windows、Linux、Solaris、Unix、VMware、UEFI 等都加入了对 NVMe SSD 的支持。
技术实现思路
本专利技术的技术任务是提供一种PCIE SSD优化的方法。本专利技术的技术任务是按以下方式实现的,该方法包括三个步骤: 步骤I)关闭irqbalance服务; 在红帽6.5中的NVMe驱动会自动把全部的中断向量绑定到coreO上,如果有多个SSD,coreO将会成为瓶颈;irqbalance用于优化中断分配,自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态置于Performance mode或Power-save mode ; 步骤2)确定Nvme中断向量,取得新的IRQ与外设的对应关系,确定新的中断向量与外设的对应关系; 中断向量与IRQ对应关系是在OS中固定不动的,而IRQ与1/0外设的对应关系会应外设变动而变动;外设变动后,重启系统,重建IRQ与1/0外设的对应关系,进而重建中断向量与外设的映射关系; 步骤3)让设备都在一个node上面; Linux中用一个struct pg_data_t表不一个numa节点,Linux内核支持numa调度,并实现CPU的负载均衡;查看是否支持:dmesg | grep _i numa,要查看具体的numa信息用numastat ;根据需求将PCIE SSD插入仅仅一个CPU的PCIE插槽或者平均插到每个CPU的PCIE插槽,使用usenumactl命令确保PCIE SSD所在node与上面运行的程序node号一致从而获取最佳性能。所述的步骤I)中工作状态置于Performance mode时,irqbalance会将中断尽可能均匀地分发给各个CPU core,以充分利用CPU多核,提升性能; 置于Power-save mode时,irqbalance会将中断集中分配给第一个CPU,以保证其它空闲CPU的睡眠时间,降低能耗;irqbalance根据系统中断负载的情况,自动迀移中断保持中断的平衡。所述的步骤2)中重启系统时,执行一个硬件协议,外设宣布准备使用哪些中断线,然后协商一个最终的值以尽可能的减少冲突;一旦外设有了变动后,IRQ线不再对应原来的外设后,这个通过IRQ线建立与外设对应关系的中断向量不再有效;必须重启系统,执行硬件协议,取得新的IRQ与外设的对应关系,从而也就确定新的中断向量与外设的对应关系O本专利技术的一种PCIE SSD优化的方法和现有技术相比,解决了存储时出现的高延迟的问题,有效的缩短了延迟时间;使得SSD的1PS (每秒读写次数)性能得到明显提高;该方法也解决了不同PCIe SSD之间的驱动适用性问题,不需要厂商独立提供驱动支持,PCIeSSD就可适用于多个不同平台。【具体实施方式】实施例1: 该PCIE SSD优化的方法包括三个步骤: 步骤I)关闭irqbalance服务; 在红帽6.5中的NVMe驱动会自动把全部的中断向量绑定到coreO上,如果有多个SSD,coreO将会成为瓶颈;irqbalance用于优化中断分配,自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态置于Performance mode或Power-save mode ; 步骤2)确定Nvme中断向量,取得新的IRQ与外设的对应关系,确定新的中断向量与外设的对应关系; 中断向本文档来自技高网
...

【技术保护点】
一种PCIE SSD优化的方法,其特征在于,该方法包括三个步骤:步骤1)关闭irqbalance服务;在红帽6.5中的NVMe驱动会自动把全部的中断向量绑定到core0上,如果有多个SSD, core0将会成为瓶颈;irqbalance用于优化中断分配,自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态置于 Performance mode 或 Power‑save mode;步骤2)确定Nvme中断向量,取得新的IRQ与外设的对应关系,确定新的中断向量与外设的对应关系;中断向量与IRQ对应关系是在OS中固定不动的,而IRQ与I/O外设的对应关系会应外设变动而变动;外设变动后,重启系统,重建IRQ与I/O外设的对应关系,进而重建中断向量与外设的映射关系;步骤3)让设备都在一个node上面;Linux中用一个struct pg_data_t表示一个numa节点,Linux内核支持numa调度,并实现CPU的负载均衡;查看是否支持:dmesg | grep ‑i numa,要查看具体的numa信息用numastat;根据需求将PCIE SSD 插入仅仅一个CPU的PCIE插槽或者平均插到每个CPU的PCIE插槽,使用usenumactl命令确保PCIE SSD所在node与上面运行的程序node号一致从而获取最佳性能。...

【技术特征摘要】

【专利技术属性】
技术研发人员:白云峰
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

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

1