百科问答小站 logo
百科问答小站 font logo



固态硬盘读写速度理论上有上限吗? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

上限肯定有的,走SATA的,最高不超过6Gbps的总线速度(实际速度600MB/s),走PCIE的,要看PCIE的接口的情况,PCIE 4.0 x 1的速度是1969 MB/s,然后根据带宽乘一下就可以了。

也不是说可以无限叠加PCIE带宽。闪存类(NAND)的存储介质,访问速度其实很慢的,对外表现的高速度,其实是因为它的闪存访问通道多(可以实现并发),并且缓存大(一般都是用DDR内存),所以,固态存储的随机读有时候比随机写要慢(发生cache miss)。

那么读写速度的上限,肯定不会超过控制器内的cache的读写上限,也就是DDR内存的访问速度上限,按照DDR4的规范来看,上限应该是12-25GB/s左右

硬件会随着规范升级而跟着升级,所以理论上限也会跟着DDR内存的速度变化而变化。

消费级的设备永远都不会达到这个速度,因为成本太高。工业级的Intel企业级系列的产品,速度已经能达到7.2GB/s,比较接近于DDR内存的速度了。


user avatar   hjc4869 网友的相关建议: 
      

一般的用户态程序读取硬盘数据理论上最高可以达到host主内存实际读写速度的一半略低一些的速度,例如双通道DDR4-3200平台大约上限是24GB/s。这是理论上无论有多快的硬盘、再多的PCIe通道和硬盘数量都无法突破的上限,除非使用PCIe P2P直接送到其它设备(例如网卡、显卡或者FPGA加速器等等)

简化的SSD读取流程:

  1. 用户态软件发起类似 read(2) 的系统调用,传入文件fd和缓冲区信息;
  2. fs驱动计算读取位置后,调用block设备驱动通过MMIO向SSD发送读取命令;
  3. SSD控制器/HBA通过DMA将数据写入主机内存的DMA缓冲区
  4. block驱动、fs驱动最终将数据拷贝到用户态传入的读取缓冲区
    如果是简单的跑分测试软件,用户态传入的缓冲区一般较小并且会重用,所以copy后不会立即写回到内存而是会留在CPU的write back cache里,并且会不停地由新拷贝进来地数据覆盖旧的数据。

可以看出,在第三步、第四步分别有一次主机内存的写入与读取操作,会占用两倍于IO速度的内存带宽。

一般用户的硬盘数量较少所以通常不会遇到这个瓶颈,但是对于一些特殊的设备(例如NVMe NAS)很可能遇到。

以AM4桌面平台为例,如果将所有PCIe通道都插满NVMe硬盘,可以获得20条直连CPU的PCIe 4.0通道和4条X570的PCIe 4.0通道,能同时连接6个三星980 pro SSD,理论总读取速度约为40GB/s (单盘6.7GB/s)。但是实测所有硬盘同时读取时,在内存不极限超频的情况下无论如何都很难超过24GB/s,内存超频后则可以达到26GB/s或更高。大量SSD读写的场景在DDR5平台会有更好的表现(目前ADL搭配DDR5内存已经可以轻松超越这个数值)。

桌面平台给双通道3200内存仅仅搭配了24条PCIe通道,但同样的架构在服务器上每两个通道都配备了32条PCIe通道,DRAM带来的带宽瓶颈会更明显一些。

事实上也不仅仅是内存可能造成瓶颈,还有处理器内部总线也有可能造成类似问题。如上图所示,sIOD内部的拓扑相比于cIOD非常复杂,并且带宽非常有限,每一个位置都可能成为瓶颈。所以别看128条PCIe 4.0通道提供了512GB/s的双向合计带宽,实际可用的数值会远远低于通过PCIe版本和通道数量计算出来的理论数值。

在这样的环境下需要具体分析硬件IO拓扑,针对性的进行优化,才能达到理想的性能。例如Netflix有一个97页的presentation,专门讲他们如何在不同硬件平台解决大量IO场景下的瓶颈问题。

里面提到了减少CPU对内存的读写,使得内存带宽需求减半的优化。

综上所述,内存和CPU内部总线的速率决定了固态硬盘读写速度的理论绝对上限。




  

相关话题

  电脑城买的电脑花了6500,还额外花了808的升级费从家庭版升到了专业版,请问这个配置值这个价格吗? 
  为什么到今天还有人觉得win10不如win7? 
  3070ti和3080哪个更香? 
  现在整机的电脑真的不能买了吗? 
  网上有m1 mac 8g内存相当于x86 16g内存的结论,正确吗?请结合统一内存进行分析? 
  什么是寄存器压栈?栈是内存的一部分,寄存器是cpu一部分,怎么压? 
  给内存条加个永不断开的移动电源,能不能变成读写速度飞快的U盘? 
  为什英特尔(Intel)的标准深深的影响个人电脑市场? 
  想在美国自己装机,配件是在美国买还是回国买呢? 
  CPU、显卡、内存、SSD 哪个提速最明显,最有用? 

前一个讨论
韩国越南等国家哪一天过农历新年,是看中国来定吗?他们自己算的如果跟中国不是同一天那怎么办?
下一个讨论
ARM64 有能力完全取代 AMD64 吗?





© 2025-03-27 - tinynew.org. All Rights Reserved.
© 2025-03-27 - tinynew.org. 保留所有权利