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




  

相关话题

  大神们帮看看这个配置单? 
  美商海盗船这个品牌真的是智商税吗? 
  已经9月1号了,显卡行情依旧混乱,何时降价?可以给有购买刚需或者半刚需的朋友们一些实际性建议吗? 
  如何看待6月1号三星某些型号的固态硬盘大降价? 
  为什么SSD能够使成熟的操作系统的体验获得如此多的提升? 
  如何长时间保存重要数据? 
  如何评价楠爷关于宁美国度的文章《关于整机行业走势与整机品质的继续探讨》? 
  《三体》中描述的未来科技,有哪些已经实现了? 
  为什么机械硬盘的缓存不是越大越好? 
  中国的电子游戏玩家经常争论pc和主机,主机和主机哪个更“好”,根本原因是不是因为中国人贫穷? 

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





© 2024-06-02 - tinynew.org. All Rights Reserved.
© 2024-06-02 - tinynew.org. 保留所有权利