百科问答小站 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内部总线的速率决定了固态硬盘读写速度的理论绝对上限。




  

相关话题

  显示器显示的黑色是直接让关闭那个区域的色彩显示吗? 
  2019 年之后,家用是不是不太需要机械硬盘了? 
  台式电脑买整机好还是自己装? 
  请问solidworks对电脑配置有哪些要求? 
  使用笔记本外接显示器是怎样一种体验? 
  5900x和12700KF和12700F选择哪一个? 
  你经历过的最难修的电脑是什么样的? 
  硬盘数据可以保存多长时间? 
  这套配置是否可行?有没有大佬能给配个合适的三四百左右的机箱? 
  为啥750ti现在这么贵? 

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





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利