假设我有 4 个驱动器,每个驱动器的传输速率(随机/顺序、读取/写入,这对于这个问题的目的来说并不重要)为 250Mb/s。我将它们放入 RAID 0。这意味着我可以获得 250Mb/s*4=1GB/s 的性能。
假设所有这些驱动器都连接到 SATA III 端口,因此速度为 6GBit/s 或 600Mb/s。
SATA III(0.6Gb/s)的速度是否会限制 RAID0(1GB/s)的最大性能,因为 0.6Gb/s 是控制所有物理端口的控制器的最大速度?
或者每个端口都有自己的 0.6Gb/s 通道,因此 SATAIII 不会限制 RAID0 性能?
答案1
线速
SATA-II 的最大线速为 3.0Gbit/秒。这是线可以切换的速度。它与通过此线传输的最大有用数据不同。对于 SATA-II,可以传输的最大数据似乎是 230-270MByte/秒。
对于 SATA-III,您可以大致将这些数字翻倍。
数据速度
只要您通过网络传输的速度比磁盘读取或写入的速度更快,您就不会受到限制。
现在让我们看看这些速度:目前市场上(2016 年)的单经典旋转盘硬盘的最大速度远低于此。单硬盘不会使 SATA-II 或 SATA-III 通道饱和。
袭击。
现在您提到了 RAID。至少有三种方法可以实现 RAID:
- 配有专用的硬件RAID卡。
- 软件 RAID,每个驱动器都连接到其自己的 SATA 端口。
- RAID,每个驱动器连接到端口倍增器并且端口倍增器连接到主板上的单个 SATA 或 eSATA 端口。
情况 1:硬件 RAID:
硬件 RAID 卡通常不限SATA 限制。大多数似乎为每个驱动器提供一根电缆,然后每个驱动器的每个电缆/通道的带宽都是不受限制的。
情况 2:软件 RAID,每个驱动器连接到自己的 SATA 端口:
与硬件 RAID 情况相同。每个驱动器都有自己的通道。
一个通道上的一个 HDD 不受限制。
两个通道上的两个 HDD 不受限制。
三个通道上的三个 HDD 不受限制。
四个通道上的四个 HDD 不受限制。
案例 3:端口倍增器:
每个驱动器与端口倍增器通信时的速度不受限制。但端口倍增器与主板之间的通信速度可能会超负荷。除非您在连接到 SATA-III 通道的单个端口倍增器上使用 4 个以上现代驱动器,否则这可能不是一个大问题。
这种设置也相当少见。它更适合于使用 SAS HBA 和 HW RAID 卡(通常基于 SAS)的商业案例。
不过,这可能是一个限制,因此回答标题中的问题:
SATA 的传输速率会限制 RAID 阵列的性能吗?
从技术角度来说:是的,可以。
实际上:它不会与 HDD 一起使用。
固态硬盘。
有了固态硬盘,情况就大不相同了。许多现代 SSD 都能够填满 SATA-III 总线。如果您在多条 SATA 总线上使用多个驱动器(例如多条 SATA 电缆),那么情况仍然如此。如果您使用 SSD 构建 RAID,那么:是的,RAID 阵列可能受到 SATA 限制。
解决方案是 SATA express(很少使用,但速度更快)和 M.2。M.2 提供最多 4 个 PCI-e 通道与 NVME SSD 通信,目前较新的 SSD 甚至已达到该限制。(例如:三星 961 的读取速度为 3200MB/秒)。
回顾:
如果您使用带有经典硬盘或非顶级 SSD 的普通用户设置:不会,SATA 不会或几乎不会限制您。