去除SATA热插拔


20

我有一个BIOS,可以选择在各个端口上启用热插拔。我有一个用于HDD和SSD的滑动式机箱(仅用于电源的通槽和一个sata端口),允许我在物理移动驱动器之前切断驱动器的电源。

我希望在不每次都关闭计算机的情况下在其中插入和删除HDD / SSD带来的便利。

但是,在研究SATA热插拔时,在昂贵的企业解决方案中,可靠信息为零。我什至尝试查看专利。我找不到一个可靠的来源来告诉我在消费者世界上热交换是多么可靠/不可靠。

因此,我的BIOS,主板和机壳中确实有支持。我从未见过的驱动程序甚至在企业规范中都没有提到可热插拔。为此,我将面临多少数据丢失风险?

然后,除了硬件之外,还有软件问题。我需要操作系统上的支持吗?是否有任何AT命令来拔出必须发出的驱动器,或者它会自动断电停放?在软件方面,这里有一个稍微明智的讨论


编辑:找到了有关可热插拔的更多信息。来自Western Digital的消息:它表示每个支持SATA标准定义的驱动程序都已经支持热插拔。

因此,与SATA兼容的设备无需进一步修改即可热插拔,并为强大的热插拔解决方案提供了必要的构建基块,该解决方案通常包括:即使在掉电的插座上也可以进行设备检测(典型的服务器应用)

预充电电阻器可在驱动器插入期间无源地限制浪涌电流

热插拔控制器可在驱动器插入期间主动限制涌入电流

来源:http : //wdc.custhelp.com/app/answers/detail/a_id/941/~/hot-swap-or-hot-plug-wd-sata-drives


但是,上述情况引发了另一个疑问。它说:

为了利用串行ATA硬盘驱动器的热插拔功能,必须使用串行ATA电源连接,而不是传统(Molex)电源连接。旧版(Molex)电源连接不支持热插拔。

我的一些驱动程序是通过Molex-> sata电源连接的,只是因为我的PSU上的sata电源端口不可用。从我可以追踪到的信息来看,某些Molex和Sata电源来自同一条12V电源轨。而且SATA插头似乎没有任何逻辑。它只是哑巴的塑料。这是否意味着我很安全,并且该文档指的是同时支持sata和molex的驱动程序?


1
如果正确卸载文件系统/卷,则数据的风险应最小。不要简单地拉出硬盘,否则您可能会丢失数据。顺便说一句,链接到距今已有10年历史的论坛发来的信息,可能与SATA支持的当前状态没有任何关系,除非您使用的是老式计算机。
Zoredache 2015年

2
Windows以与显示USB拇指驱动器等类似的方式显示可热插拔(或更确切地说是可移动)的内部驱动器。弹出它也会关闭驱动器电源。
丹尼尔·B

3
我对六种不同的计算机/主板的经验是,只要您正确卸下东西,热插拔就可以很好地工作。
Zoredache

2
相关:我以哪种顺序插入用于热插拔的SATA电源和数据电缆?服务器故障。接受的答案包含来自实际SATA标准以及与SAS电缆比较的几个相关摘要。
CVn 2015年

@MichaelKjörling我以前发现过。您会看到规格非常神秘,最终接受的答案又说“能力是系统设计者的责任,他们应确保驱动器在热拆卸发生之前已停止。在这种情况下,您是系统设计师。” 这根本不是一个决定性的答案:)
gcb 2015年

Answers:


12

而且SATA插头似乎没有任何逻辑。它只是哑巴的塑料。

那是错的。SATA电源插头中包含的逻辑是无源逻辑,但仍然存在。在硬盘驱动器引脚的图片中比较容易看到,但是电源连接器中也存在该引脚。请注意下面的某些引脚比其他引脚短吗?这样可以以特定顺序连接引脚。(我不记得哪个顺序,但我相信在电源线上较长的引脚会先接地并首先连接。)数据引脚的设置方式也相同。

Wikipedia sata针脚


2
对。交错的接地引脚(如USB)。是的 正确的sata连接器除了12V和5V之外还具有3V。这是可选的橙色电缆。现在,关于哪些驱动程序需要橙色电缆的信息也为零:/我不认为任何制造商都可以使用橙色电缆,因为便宜的PSU不会提供橙色电缆,而且有人在使用molex-> sata(就像我对2所做的那样)驱动器我用完了本机电缆)
gcb 2015年

1
我相信故事的长度不尽相同。有些需要先连接。使用SCSI,仅是在数据之前需要电源。但是SATA在这两套设备上都有。很有意思。感谢您发布这些照片。
SDsolar

5

为此,我将面临多少数据丢失风险? 除非驱动器死了,否则数据丢失的风险不大。HDD确实可靠,可以处理意外的功率损耗。对于意外的断电,SSD不那么可靠。也就是说,如果驱动器上没有任何活动,那么热插拔是非常安全的。我几乎每天都会这样做。

我需要操作系统上的支持吗? 不,驱动器不在乎操作系统。如果操作系统不支持热插拔,则意味着操作系统可能需要重新启动以检测驱动器,并且它不会向驱动器发送命令以实现更正常的关机。最坏的情况是操作系统崩溃,但是您的驱动器将正常运行。请记住,只要驱动器上没有任何活动,那么拔下它就很安全。

是否有任何AT命令来拔出必须发出的驱动器,或者它会自动断电停放它? 有一些命令可以强制驱动器将其头部停放,但是当驱动器上没有活动时,它也会这样做。无法保证它会在断电时自动将其头部停放,因为我们不能保证它有足够的动力来执行此操作。

哦,这是一个警告。某些操作系统可能会延迟将数据发送到驱动器,或将文件系统信息保存到驱动器。这是您应该使用“安全删除”或“卸载”功能的时候。这仅适用于新写入的数据。


1
您几乎可以保证任何现代驱动器都会在断电时自动停下来,因为在过去的10至15年中,即使没有这样做,也不会发生灾难性故障,甚至无法断电。驱动器确实需要使用盘片旋转产生的剩余功率,但是某些企业级驱动器也具有超级电容器来提供额外的数据丢失保护。
qasdfdsaq

勇敢的忠告。每次使用操作系统的弹出命令。
Aleksandr Dubinsky

1
我相信我确实提到了这一点。
tchau.dev

1

仅我的两分钱就可以帮助...当谈论molex电源使磁盘不可热交换时,这是关于使用磁盘本身上的molex连接器为磁盘供电。

换句话说,如果从电源中使用带有Molex的Molex电源连接器到SATA电源适配器,则磁盘本身由其SATA Power连接器供电,因此它可以热插拔,但是如果将Molex电源连接到Molex磁盘上的电源连接器(也使用sata电源来干扰电源适配器)不能无风险地热交换磁盘(连接和断开连接上的电峰值)。

只是让它非常清楚:

对于某些上面装有Molex电源连接器的磁盘,请勿通过此类电源器为它们供电,Molex连接器对于热插拔是不安全的

如果已使用的磁盘上的电源连接器是sata电源连接器,则电源的来源无关紧要,您可以使用molex来安装sata电源适配器...因为磁盘是由其sata电源连接器供电的。

风险是使用某些磁盘上存在的molex连接器,并非所有sata驱动器在磁盘上都具有这样的molex连接器。

而且,如果这种莫克劳斯接头不牢固或您断开了莫克劳斯部件,则由由莫塔克供电至SATA电源适配器的SATA电源连接器供电的磁盘可能会死亡。

因此恢复:切勿断开Molex电源连接器,只能断开SATA电源连接器。

希望现在清楚了。

2º点:热插拔支持,必须在sata端口(而不是在sata驱动器上)上切成更好的说法(最好是实作);并且它也必须在操作系统上受支持。

在断开连接之前,操作系统必须知道sata端口上的驱动器何时会断开连接(现代操作系统能够检测到完全不符,并且仍然可以运行,其他操作系统只会冻结),因此用户(或软件应用程序)必须告诉操作系统磁盘将被删除(在Linux上弹出,在Windows上安全删除等)。

如果操作系统不是为热交换而设计的,则在插入另一个磁盘时可能会发生奇怪的事情,例如操作系统认为旧磁盘又可以恢复工作了……而操作系统将看不到新磁盘是不同的……现代操作系统检测到硬件更改,其他操作系统未检测到。

因此,是的,必须在sata控制器硬件和OS上实现sata热插拔,但不能在磁盘上实现,磁盘本身与热插拔无关。

要热交换任何磁盘,操作系统会刷新所有数据,并向磁盘发送命令,告知它必须刷新所有内部缓存,然后执行降速操作,然后操作系统告诉sata驱动程序断开数据端口的连接,如果设计良好的电源端口,然后用户可以安全地卸下磁盘(无法发送数据,没有可能导致电峰值的电源等),sata硬件必须在sata数据端口上检测到无限阻抗(未连接驱动器)和SATA电源端口,并为新驱动器做准备,侦听非无限阻抗,因此一旦连接了另一个驱动器,它将重新连接电源和数据端口...然后它必须告知OS已连接新硬件,并且操作系统必须查看其内容并加载驱动程序等。

Sata热插拔必须在硬件上实现,哦,是的,它必须是...一些制造商有点懒,并且不遵循Sata规范,它们不实现热插拔,热插拔等。

有时我发现SataIII端口在系统通电时连接驱动器时死亡。

我建议在加载OS之前进行一次测试...在没有驱动器连接到sata的情况下引导至BIOS,看到BIOS无法检测到该驱动器,然后非常小心地插入驱动器而没有退出BIOS,然后重新检查一下BIOS会检测到磁盘...如果不执行操作,则在不退出BIOS的情况下立即关闭PC电源。

如果您的BIOS在热插入磁盘后可以看到该磁盘,则表明它是热插拔的...但是请稍等,您仍然不知道它是否在热插拔...因为您需要另一个不同的磁盘(型号不同) / brand / capacity)并继续在BIOS中进行测试...现在,您必须拔下磁盘,看看BIOS是否挂起,或者它现在检测到没有此类磁盘...如果挂起,请立即关闭电源,BIOS不是热插拔...如果它检测到没有磁盘,请继续测试以查看它是否为热插拔。

如果拔出BIOS后BIOS没有检测到磁盘,那么现在是时候检查另一块磁盘了……使用不需要的磁盘,它可以在连接后立即消失,警告您!...插入它,看看BIOS是否检测到它,如果没有,则立即关闭电源,没有实现热插拔,...如果看到的磁盘就像以前的磁盘一样,则立即关闭电源,没有热插拔...如果看到新磁盘,则购买一,您很幸运,硬件具有用于热插拔的实现。

如果这样的测试表明您的硬件不是真正的热插拔,则无论操作系统是什么,热插拔过程都存在很大的风险,即使不是根本不可能...并且最好不要使用它,否则会断电交换之前。

但是,如果您的BIOS显示您看到驱动器,然后看到您拔出了驱动器,然后看到了另一个磁盘已插入,那么您对那个sata端口上的热插拔有硬件支持...我重复:在那个sata端口上。哦,是的,我的朋友们,一些懒惰的制造商仅在某些端口而不是在所有端口上实施热交换。

您必须支持此测试的风险:松开sata端口,因为如果在BIOS上插入驱动器时死于sata端口……无论如何,如果您在运行OS的操作系统上运行它,它也会死亡,并且在OS上运行也可能损坏其他端口。 SATA端口。

最坏的情况:Sata根控制器之所以死是因为没有热插拔功能,如果您在BIOS上没有数据,则没有风险,但是,如果在运行OS的位置上,则可能会丢失所有数据,并且还会损坏其他组件,例如图形卡,内存, efc。

在BIOS上进行测试是最安全的……如果对sata端口造成任何损坏,则只有一个端口死于杂乱的时间……无论如何,如果是在保修期内,则必须对其进行修复,因为我将法律规定为制造商不能以正确的方式通过连接/断开连接造成损坏。

再说一遍,如果磁盘由固定在磁盘上的Molex连接器供电(不是所有驱动器都有Molex电源连接器,大多数都没有Molex电源连接器),请不要热插拔,热删除,热交换。也不断开任何Molex的Molex部分与SAT​​A电源适配器的连接。

Molex连接器不适用于热插拔,热拔出,热插拔...会引起电峰值。

PD:在某些Molex引脚上,通过的电流可能超过3.5A,可以杀死一个人(不常见,但可以),电压(12V)不是杀死人的电流,而是安培数(> 0.3A可以杀死,无论电压如何,都是杀毒剂。


至于关于使用12V杀死一个人的可能性的最后一段:在一个现已删除的答案中,用户com引用了scienceabc.com/humans/how-many-volts-amps-kill-you-human.html来否认这一点。 。
Arjan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.