如果我每小时对 SSD 驱动器进行一次电源循环,持续 6 个月,是否会对 SSD 驱动器产生负面影响?

如果我每小时对 SSD 驱动器进行一次电源循环,持续 6 个月,是否会对 SSD 驱动器产生负面影响?

我们有一个使用 SSD(4TB Samsung 860 Pro)的系统,我们通过 Linux 系统将其打开 10 分钟以写入数据,然后每小时关闭一次,每周 7 天、每天 24 小时,持续约六个月。我们手动打开驱动器的电源,等待操作系统看到驱动器已安装。这通常需要 12 秒到 22 秒。如果驱动器在等待安装 30 秒后仍未显示,则我们认为安装失败。我们第一次这样做时,一切都运行正常。我们用同一个驱动器进行了第二轮测试,但在我们运行的 5 个系统之间,驱动器在 30 秒内停止安装,间隔约 1 到 3 个月。

基本上,在第一轮测试中,驱动器至少要打开和关闭 4,320 次。由于驱动器在第二轮测试中无法持续安装,因此总电源循环次数似乎在 5,000 到 7,000 次之间。如果等待超过 30 秒,所有驱动器仍可正常工作,但在我们的系统中,它们被认为不再可靠地安装。

我似乎找不到任何有关电源循环的 SSD 驱动器规格,以及这样做是否有限制。我们购买 4TB 860 Pro 驱动器时非常昂贵(>1000 美元),据说非常可靠,具有非常高的编程/擦除 (P/E) 周期。但是,没有关于电源循环的规格。

频繁的电源循环对 SSD 驱动器来说是一件坏事吗?我知道大多数人可能不会这样做,驱动器每天的电源循环次数可能也不会超过一次。我们基本上在 6 个月内完成了 12 年的日常电源循环。


编辑1(评论中的补充信息):我们正在运行电池因此电力使用非常有限。


编辑2(来自评论的附加信息):SSD 驱动器使用经过修改的 USB 3 转 SATA 电缆连接到 RPi 2B v.1.2。我们有一个外部电源控制来打开和关闭电缆的电源。基本上,Pi 打开 SSD 的电源,然后监控 SSD 是否连接到特定的 USB 端口,然后尝试安装驱动器。这是通过 bash 脚本完成的,它会运行一个安装循环,延迟 1 秒,直到可以访问 SSD。我们给它最多 30 个循环计数(每次安装失败后延迟 1 秒)。


编辑3(评论中的补充信息):卸载过程是卸载驱动器,然后关闭电源。我们在卸载和关闭电源之前验证了数据是否已完全写入。数据大小是一个压缩文件,通常约为 1.2GB 到 1.6GB。通常一小时内只有一个文件,从 SD 卡上的原始数据压缩文件并将其传输到 SSD 大约需要 10 分钟左右。因此 SSD 在关闭之前会打开 10-12 分钟。

编辑4 检查了更多驱动器后,我发现其中一个驱动器已经进行了超过 13,000 次电源循环,并且仍然按照我们想要的方式安装。我正在等待取回故障驱动器,以查看它们的计数。我们知道我们至少在之前的 2 次运行中使用过它们,所以我预计每个驱动器的电源循环次数将超过 10,000 次。

编辑5 SSD 上的文件类型为 Ext4。

答案1

关于可接受的电源循环次数:我找不到有关此方面的数据。

但我怀疑这很重要。我倾向于相信任何突然断电可能会在某种程度上损害设备。

SSD 几乎从来不会无所事事

您完成写入并不意味着 SSD 也完成写入,正如其他人所建议的那样,SSD 倾向于在“空闲时间”执行各种后台任务(垃圾收集、磨损均衡、清理)。因此,拔掉电源插头可能会使 FTL 处于不一致的状态。

拔掉插头确实会造成一定程度的伤害

到目前为止,你似乎还没有回答如何禁用 SSD 电源或如何“关闭”它的问题。如果你“拔掉插头”或“扳动开关”,你确实可能会在某种程度上损坏 SSD。这些说法可以通过以下方式得到支持研究

本文通过测量闪存操作期间电源故障时发生的错误类型来研究数据完整性的一个方面。我们的研究结果表明,电源故障可能导致多种非直观行为。

除了超光速层级的损坏外,文件系统也并非不会受到电源中断的影响。我想每个 PC 用户都有过这样的亲身经历。

驱动器在 x 秒内未安装并不意味着它已发生故障

就像操作系统尝试从不正常关机中恢复或至少检查“脏”文件系统一样,我们可以假设 SSD 的固件会做类似的事情。这些检查需要时间。例如,一些制造商建议让 SSD5分钟左右来执行这些。

无论驱动器是否可见,都让它保持这种状态至少五分钟,以允许 SSD 重建其映射表,然后重新启动系统并查看驱动器是否恢复。

在数据恢复行业,众所周知的是“变砖”的 SSD 可以通过在通电、断开数据线的情况下放置一段时间来自行恢复。我知道一些极端情况,SSD 在通电 24 小时后恢复了活力。但也有一些情况是固件故障到了控制器甚至无法访问 NAND 的程度。在某个时候,控制器必须从 NAND 本身读取固件,如果固件损坏严重,它通常会恢复活力,但容量会减少。

没有关于实际故障模式的信息

您的设备在 x 分钟内未安装并不意味着 SSD 已彻底失效。您的设备在 x 分钟内未“安装”也几乎无法告诉我们故障模式:是文件系统问题、固件问题还是硬件问题?

返回 SD 卡?

有点“搞笑”的是,你之前使用的 SD 卡比更复杂的(在很多方面)SSD 更能应对突然断电。如果你需要一个只需拨动开关的系统,你的选择可能是切换回 SD 卡或切换到更昂贵的 SSD,这些 SSD 具有“超级电容器”阵列形式的物理断电保护功能。

你也许应该担心的是静默数据损坏

到底,每一个突然断电的情况很糟糕,可能会在没有任何实际硬件组件故障的情况下损坏固态硬盘,但即使没有设备故障,也可能破坏你的数据,如果不加以注意,可能会出现更为严重的问题。

3 个设备出现位损坏;3 个出现写入错误;8 个出现可序列化错误;1 个设备丢失了 1/3 的数据;1 个 SSD 损坏。低端硬盘有一些不可序列化的写入,而高端硬盘没有电源故障(测试:15 个硬盘)


由于对问题的编辑而进行编辑。

“我们依靠电池供电,因此用电量非常有限。”

我认为值得调查这是否是问题的根源。因此,测试相同的设置,但现在使用壁式电源。编辑:已调查过此问题,但不是问题所在

“卸载程序是卸载驱动器,然后关闭电源。我们在卸载和关闭电源之前验证了数据已完全写入。”

我不相信这是正确的方法,因为卸载不会告诉 SSD 停止其后台处理,因此它可能仍在写入,而如此突然的断电可能会损坏 FTL。但我既不是 Pi 也不是 Linux 人。有关灵感,请参阅这个答案

“我发现一个已经经过了 13,000 多次电源循环并且仍然按照我们想要的方式安装的装置”

这不是有用的信息,一个可能在 n 次电源循环后失效,另一个在 m 次电源循环后失效,下一个在第一次后失效。下一个可能因完全不同的原因而失效。然后我们需要考虑品牌、型号、固件版本等。


编辑以回应评论:“听起来这可能是不安全关机的答案:echo 1 | sudo dd of=/sys/block/sdX/device/delete”

根据我在不同环境下使用 SSD 的经验,我倾向于相信这就是您应该探索的内容:SSD 的优雅断电。

除了发送直接 ATA 命令之外,可能还存在一些可以为您执行此操作的工具。这就是我“灵感链接”的目的。优雅卸载是不够的,它需要是一个命令,告诉驱动器关闭电源,停止其内部管理活动。

额外的障碍可能是 USB > SATA 转换:发送正确的命令本身并不意味着 USB 桥会将命令传递给 SATA 驱动器。再次从经验来看,在我看来,USB > SATA 适配器传递命令的最佳机会是如果它由 Asmedia 控制器(ASM1153、ASM1051)供电。

答案2

我建议你重新评估如何控制驱动器的电源,而不是回答你的问题。你是否考虑过直接控制电源所带来的额外硬件成本和寄生功耗?

SoC 通过禁用设备时钟而不是禁用设备电源来节省电量。否认电源关闭后,设备进入睡眠状态,并通过消耗(要求苛刻)电量不足。因此,与其关闭驱动器电源,不如看看是否可以将驱动器置于睡眠状态。请参阅设备睡眠 (DevSleep) 使用驱动器的低功耗模式可以消除任何外部电源切换硬件,并将节省电力的责任转移到驱动器本身。据推测,这样的驱动器可以维持重复的睡眠-唤醒周期。

降低功耗并延长电池寿命是当今移动设备的关键部分。为了满足新环境中越来越严格的功耗/电池寿命要求,SATA 接口正在不断发展。DevSleep 是 SATA 规范的新增功能,它使基于 SATA 的存储解决方案能够达到新的低功耗运行水平。

DevSleep 规范并未说明设备在 DevSleep 状态下将达到的功率水平,但 SSD 的目标是 5mW 或更低。

答案3

是的,电源循环是 SSD 的磨损因素,并在内部跟踪为“电源循环计数”聪明的监控。只有制造商才能说多少才算太多,但企业级硬盘的设计目标是全天候运行,保持恒定的温度,并配备干净的电源。越超出这些界限,硬盘的可靠性就越低。

话虽如此,除非与读/写错误相匹配,否则更长的安装时间并不是 SSD 磨损的常见症状。如果 SSD 在安装后正常工作,那么很可能是操作系统级别的某些因素导致安装操作花费更长时间 - 尽管原因可能因操作系统、固件、文件系统等而异。

答案4

打开电器设备时,电量会从零升至 100%,相当于产生电涌。开机是电子设备最危险的操作,这就是为什么硬件问题经常在打开计算机时才被发现。

所以是的,存在负面影响,但对于高质量的 SSD 来说,需要大量的电源循环才能看到效果。

SSD 可通过硬件或固件 PLP(断电保护)来防止断电。SSD 中的 PLP 多年来一直在改进,因此驱动器越新,就越有可能受到最新 PLP 技术的保护。三星 860 Pro 似乎是在 2018 年推出的,因此不是最新技术。

我不相信任何 SSD 公司会对最大电源循环次数进行评级,尽管所有制造商都会测试他们的 SSD 以确保一定的弹性。

例如,我发现 ATP SSD 按照文章中描述的测试方案进行 使用四角、温度循环和功率循环测试来验证 SSD 对极端操作条件的抵抗力,如果磁盘能够承受 4000 次这样的循环,则它通过了测试。除以 365 天,这意味着对于每天开机一次的典型消费电脑来说,其使用寿命超过 10 年。

您的磁盘经历的电源循环次数远远超过 ATP 所认为的理想性能上限 4000 次,因此您基本上处于未知领域。

相关内容