在消费级笔记本电脑上,固件中的“RAID ON”选项有什么重要意义?

在一些消费级笔记本电脑上,我注意到笔记本的固件提供了RAID选项。 固件 -> SATA操作 -> RAID ON或AHCI(AHCI和RAID ON是互斥的) 笔记本的配置只允许一个驱动器,这让我感到困惑。 据我理解,只有在设置中至少有两个驱动器时才可能进行RAID配置,而我见过的几款笔记本电脑只提供了一个驱动器的支持。 那么,在这里"RAID ON"的意义是什么,它代表着什么?
5个回答

假设笔记本电脑使用Intel芯片组(和CPU),"RAID"选项不仅仅是RAID。它还启用了Intel Rapid Storage Technology(IRST)的其他部分,尤其是Intel Smart Response Technology(ISRT,简称很棒)。 智能响应技术是一个相当不具描述性的名字,特别是在使用SSD现在可能还包括Optane的情况下,它涉及分层存储。在SSD仍然非常昂贵的时候,中档笔记本电脑通常配备大容量的HDD和小型(16-32GB)的mSATA SSD,将SSD配置为HDD的缓存。你可以获得接近纯SSD的非常好的性能,并且空间更多,成本更低。 但是智能响应技术是建立在Rapid Storage Technology之上的,而后者是通过固件中的"RAID"选项启用的。因此,“RAID”被启用,因为它提供了使用SRT的能力,并且与AHCI相比没有额外的费用。
补充一下,一些现代固件现在有一个“无 RAID 的 Optane”选项 - 显然是因为Optane缓存与RST RAID互斥。

AHCI和RAID在BIOS中是互斥的,但在操作中并非如此。

实际上,启用RAID也会启用AHCI。换句话说,你可以把RAID看作是AHCI的超集。戴尔的测试表明,在这两种模式之间没有性能差异。

一个重要的观点是,将现有的安装从RAID转换为AHCI非常容易,但反过来则更困难。

我建议不要在BIOS中更改此设置。如果设置为RAID,请保持原样。确实,它不会添加任何你需要的东西,但也不会有任何危害。将其更改可能会引发未来的问题。

参考资料:


1好的 - 明白了 - RAID是AHCI的超集。没错。但为什么提供一个无法使用的选项呢...也就是说,当只有一个硬盘驱动器时,为什么要提供RAID设置呢?在只有一个硬盘驱动器的笔记本电脑上无法进行RAID配置。???? - samshers
RAID是一个现如今使用很宽泛的术语,就像RAID 0一样,实际上RAID 0并没有任何冗余性。 - Moab
您拥有一个支持RAID的磁盘控制器,因此BIOS中的RAID选项可以让您随时使用该控制器,无论当前是否需要。 - harrymc
20@samshers:UEFI固件的作者并不知道主板安装在其中的机箱有多大。对于UEFI固件的作者来说,无法知道机箱是否太小以适应两个驱动器。而且为那些只能容纳一个驱动器的小型机箱开发特殊固件在商业上是没有意义的。 - Jörg W Mittag
@JörgWMittag - 嗯... 当我在TI的工程部门工作时(在他们把Travelmate笔记本部门卖给了宏碁之前),如果我需要在测试平台上修改或自定义系统BIOS的设置,我只需简单地向我们的固件专家"Sara"提出要求,她会在10分钟内修改代码并为我烧录一颗新芯片。这一切都毫不费力...... - Hitek
1为了让Linux正确检测到磁盘,你必须将其设置为AHCI模式,这样做可能会带来一些风险。 - muru
2@Hitek 这有点令人担忧,这让我庆幸没有购买或依赖于TI Travelmate产品。问题从来不是找一个工程师来进行更改或烧录新镜像。问题是执行完整的质量保证(QA)和回归测试,这是每次更改都需要的。然后还有Booga提到的支持负担。通常情况下,从纯工程角度看似乎微不足道,但实际上并非如此。TI现在对他们的集成电路确实采用了更严格的流程。 - Cody Gray
1@muru 这只适用于重新映射的PCIe/NVMe驱动器,并且如果该补丁最终被采纳,问题应该会得到解决。 - Bob
当只有一个硬盘时,你确定吗?我的2010年超极本(128GB固态硬盘)实际上有两个64GB的硬盘。在AHCI模式下,Windows(使用Intel驱动程序)会尽力隐藏这一点,并将其呈现为单个卷。另一方面,Linux需要一些调整才能将其作为单个卷。 - Roger Lipscombe
1@Hitek 如果你认为对一个供应商来说,处理因为在BIOS上进行调整而导致的bug而售出的一百万台电脑的客户支持问题是“琐碎”的话,我想我们对“琐碎”这个词的定义不一样。(而且每年销售一百万台电脑只占全球总年销量的不到半个百分点) - alephzero
我并不是在争论是否在BIOS设置中删除或添加选项是个好主意,我只是在回应一个具体的说法,即从技术角度来看这样做有些困难。如果一个通用的BIOS有一个用于启用或禁用芯片组内置硬件串口的设置,但芯片组上的引脚甚至没有连接到任何东西,那么笔记本制造商将从BIOS设置中删除该选项是有道理的。此外,我不知道这与TI有什么关系。我所做的更改仅供内部使用。 - Hitek
@Hitek,困难总是相对的,也总是增加了额外的负担。你所描述的是给墨菲定律又增加了一个发生的机会。当然,这只是增加了非常小的失败几率。但如果公司政策是忽视小风险,它们就会累积成大风险,最终导致你的航天飞机因为脆弱的冻结O型圈而爆炸。在计算机行业,我们有一句话:保持简单愚蠢。 - Aron
@Hitek 如果一个零件(甚至是软件/固件)的SKU越少,那么有人因为刷错固件而砖化一台价值10万美元的关键任务服务器的可能性就越小。 - Aron
我们是怎么从谈论笔记本电脑转到关键任务服务器的呢?我唯一想表达的是,从技术角度来看,向BIOS设置菜单结构中添加或删除选项是一个简单的过程。这是我唯一的观点... - Hitek
@Hitek 因为从供应链的角度来看,如果他们使用相同的BIOS,生活将会更加简单。任何小的改变都需要重新认证。 - Aron

RAID模式和AHCI模式之间的技术差异非常小,除了在RAID模式下,芯片使用不同的PCI ID之外。 原因是微软Windows操作系统具有通用驱动程序,会接管AHCI芯片,阻止使用英特尔驱动程序。切换到RAID模式会更改PCI ID,使得微软驱动程序不再将芯片识别为AHCI芯片,而英特尔驱动程序(具有更多功能,如软件RAID)可以与之绑定。 其他操作系统通常根本不识别RAID模式(例如GNU/Linux),需要使用AHCI模式,因为RAID模式没有任何优势-芯片相同,具有相同的功能。 因此,RAID模式只是英特尔Windows驱动程序的一种hack,人为地使AHCI芯片与AHCI不兼容。 这就是为什么即使只能使用单个磁盘的笔记本电脑也在其固件中具有可用的RAID/AHCI切换的原因-这是营销的不幸结果,其中RAID听起来比AHCI更好,因此即使您的笔记本电脑只有一个磁盘,也必须具有RAID模式。 另一种观点是将其视为一种副本保护的方式 - 如果Intel AHCI芯片使用了“正确”的PCI ID,那么Intel驱动程序将能够与非Intel AHCI芯片兼容,并且人们也可以使用它们来为这些芯片提供RAID功能,因为它们在驱动程序中被模拟 - RAID模式就像一种加密狗。

我不认为这完全正确。一个明显的区别是从AHCI切换到RAID会加载Intel RST选项ROM,它完全包含在固件中,与操作系统(如果有的话)无关。此外,虽然我已经有一段时间没有进行这样的安装了,但我相当确信通过此选项创建RAID阵列可以在特殊驱动程序可用之前,将卷正确地暴露给操作系统安装程序。 - Bob
Intel RST Option ROM是一个软件组件,换句话说,只是另一个驱动程序(虽然不是Windows驱动程序,这点我们可以达成共识)。此外,我还没有见过一台启用了Intel RST Option ROM的单盘槽笔记本电脑(而这个问题所涉及的正是这个平台)。因此,总体而言,我认为我的答案仍然是正确的。 - Remember Monica
同意的是,处理英特尔RAID的是软件/固件,而不是专用硬件。但重要的是,固件配置选项不仅仅是交换几个PCI ID;它还启用了其他预启动功能,超出了只允许Windows驱动程序工作的范畴。这是一种需要固件切换才能实现的功能,不能简单地通过改变操作系统功能来实现(好吧,你可以完全跳过预启动部分,但那时你就使用纯粹的操作系统级软件RAID,例如mdadm或动态磁盘)。 - Bob
改变PCI ID就足以影响选项ROM的行为(PCI选项ROM,就像其他软件驱动程序一样,会对PCI ID做出反应。选项ROM可能在不同的模式下是可见或不可见的,但它仍然只是对PCI ID做出反应的驱动程序)。此外,正如我已经指出的,根据问题描述,所描述的笔记本电脑并没有这样的选项ROM。你所描述的是一个与证据相冲突的虚构理论。 - Remember Monica

AHCI(高级主机控制器接口)和RAID(独立磁盘冗余阵列)之间存在差异。 AHCI允许您的计算机和操作系统直接与磁盘通信。硬件RAID用于将一组磁盘表示为单个设备提供给操作系统使用。 还有更多的区别。在硬件层面上,系统将通过AHCI与磁盘驱动器进行通信,但在软件层面上,在AHCI模式下,您会将磁盘分开显示,而在RAID模式下,操作系统将其视为单个设备(如果它们是真正的硬件RAID,而不是早期英特尔那种假的)。此外,如果要使用软件RAID,必须启用AHCI而不是RAID。 在软件层面上也存在差异。在RAID模式下,操作系统使用单个流,因此理论上可以更有效地利用PCI总线,而在AHCI模式下,每个磁盘使用单独的流,因此理论上添加的磁盘越多,就越有可能达到PCI总线的上限。 我不建议使用硬件RAID,因为在磁盘故障的情况下,恢复将非常麻烦,因为没有标准的RAID格式。而且,磁盘确实会崩溃,尤其是旧的HDD。

+1 对于评论“如果发生磁盘故障,恢复会很麻烦”表示赞同。无论因何种原因导致磁盘不一致(单个写入失败),都会带来麻烦。曾经历过这样的情况,也为此付出了代价(特指英特尔的“硬件”RAID - 这是几年前的事情了)。是否有其他人觉得英特尔的Windows驱动程序和整个RST/SRT软件堆栈容易出错且占用资源过多?明智的做法是说“不”…… - davidbak
1当然有一个标准,被绝大多数硬件 RAID 控制器(如 Avago)所采用,它叫作 DDF。我可以从我的硬件 RAID 控制器中拔出任何 RAID,并直接插入其他设备,它会直接运行起来(至少在 GNU/Linux 系统中,很可能也适用于其他操作系统)。同样地,Intel 使用了一种事实上的“标准”格式,称为 IMSM,在非 Intel 硬件上,许多操作系统都能无问题识别。 - Remember Monica

我会关闭所有戴尔的RAID。这样你就不需要特殊的存储驱动程序了。另外,如果你从启用了RAID的戴尔机器中捕获映像,可能会在不同的戴尔机型上出现蓝屏。我不相信sysprep能完全清除RST驱动程序,我认为这是一个麻烦。这个RAID选项默认是启用的,IT人员经常需要关闭它。通过互联网搜索可以证实我所说的。