By PURPLELEC | 01 November 2023 | 0 评论
如何充分发挥出芯片级SSD的性能
首先,我们来看看传统HDD的使用方式:
1.协议一般都采用SAS、SATA接口;
2.Linux的IO调度需要用电梯算法来对IO进行重排以优化磁头的路径;
3.企业级存储通常使用Raid卡做数据保护。
在接口协议方面,随着芯片级SSD的发明,NVMe协议应运而生。相较于SAS、SATA的单队列机制,NVMe最多可以有65535个队列,并且直接采用PCIe接口,消除了链路和协议瓶颈。
在控制卡生态方面,各大厂商也纷纷推出自己的NVMe控制卡芯片,技术也已经非常成熟。
在Linux驱动和IO协议栈方面,也做了相应的优化,NVMe驱动可以直接绕过那些传统的、专为HDD设计的调度层,大大缩短了处理路径。
到目前为止,为了充分发挥芯片级SSD的性能,上面提到的三个传统HDD的问题中前两个已经得到了解决,然而在企业级市场上,基于NVMe的Raid始终没有太好的方案。
传统企业最广泛使用的Raid5/Raid6数据保护机制(N+1,N+2),通常是把数据条带化分片,然后计算出冗余的ParityCode(奇偶校验码),将数据存放到多块硬盘,写入新数据通常是一种“读改写”的机制。
这种机制本身就成为了性能瓶颈,并且“读改写”对芯片级SSD的使用寿命有很大的损耗。另外,因为NVMe协议把控制卡放到了NVMe盘的内部,IO都由NVMe盘内部的DMA模块来完成,这就给基于NVMe的Raid卡设计带来了更大的困难。
目前市场上这类Raid控制卡可用方案也很少,并且性能上也无法发挥出NVMe的优势,因此没能被广泛使用。
基于目前这种状况,很多企业级存储方案仍然在使用SAS/SATA的芯片级SSD加传统的Raid卡,这种方式又会出现前面已经解决的两个问题,芯片级SSD的性能得不到充分发挥。
发表评论
您的电子邮件地址将不会被发送邮件。*为必填字段标记