写入中止 - 避免这种嵌入式和工业 OEM 系统的无声杀手
写入中止是由意外断电导致的 SSD 情况。它对嵌入式或工业系统中的 SSD 可能是致命的,具体取决于断电时造成的损坏。
写入中止条件是由于 SSD 控制器正在写入时断电造成的。这不仅仅是在写入 SSD 时,因为在幕后进行的许多控制器功能都会写入 NAND 和内部存储。
转换表、固件、元数据和数据本身的损坏、丢失和/或损坏是这种情况的症状。
正确设计的工业级产品,例如Cactus Technologies 的工业级闪存,是写入中止问题的解决方案。
下载此写入中止白皮书以了解更多信息。
让我们更详细地看一下这些。
翻译表 - 损坏:
许多人没有意识到在向 SSD 写入数据时内部发生了多少事情。当主机系统写入 SSD 时,它实际上是在写入控制器,然后控制器决定如何处理这些数据。
控制器的一个关键功能是磨损均衡。它可以最有效地使用有限数量的 NAND 闪存写入/擦除周期,因为较新的消费类 NAND 内存在变得不可靠之前可能只有 300 个耐久周期(每块写入)。
作为参考,工业级闪存具有 SLC NAND 内存,耐久性高达 100,000 次。
为了实现这种磨损均衡,控制器使用了一个转换表,该表记录了主机系统写入特定位置(也称为逻辑位置)的数据与具有更多可用耐用周期的不同物理位置之间的链接。这更均匀地“平衡”了 NAND 耐力的“磨损”。
如果转换表中的一个或多个逻辑到物理链接断开,则当主机系统请求时,SSD 不再具有数据的准确位置。由于 SSD 通常包含操作系统、应用程序和其他数据,因此仅此一项就可能导致主机系统崩溃。最糟糕的是,SSD 会变成无法恢复的“砖头”。
固件 - 损坏:
固件可以被认为是 SSD 的操作系统。与您的计算机操作系统一样,如果它被损坏,则需要修复,甚至可能需要全新安装才能修复。
SSD 的固件通常存储在 NAND 闪存的“仅控制器”可访问区域中。如果出于某种原因——在本文的情况下为写入中止——此固件被覆盖或更改,则存在问题。损坏的固件会导致 SSD 执行零星功能或完全停止工作。
Write Abort 的问题是它发生在意外断电时。在正常关机时,主机操作系统会在关机前优雅地关闭所有程序和文件。
在写中止的情况下,控制器后台功能可能正在发生,并且无法准确知道在意外断电之前控制线处于什么状态。
元数据和数据 - 丢失:
元数据类似于翻译表,实际上翻译表是元数据的一部分。元数据还包括控制器存储的其他相关信息,以协助管理 SSD 功能。
其他一些关键项目是缺陷图、存储信息的属性以及 NAND 内存块的耐用周期数。丢失任何此类信息都可能意味着 SSD 的“游戏结束”。
最后一项是存储在 SSD 上的用户数据本身。
SSD 的全部目的是能够可靠地存储和检索数据。如果在写入和检索相同信息时出现问题,则表明 SSD 没有执行其主要功能——对此无需多言。
最后的想法:
Cactus Technologies 的工业级闪存设备的设计和制造可承受多次意外断电循环而不会出现故障。
事实上,我们已经测试了我们的 900S 系列产品,其中包括 mSATA、2.5 英寸固态硬盘和 CFast,在写入过程中发生了超过 30,000 次意外断电。
通过使用一个复杂的测试系统写入 SSD,然后在这些写入过程中断电,我们能够模拟 SSD 最糟糕的情况。
如果您的嵌入式 OEM 系统或工业系统设计出现无法解释的问题,并怀疑写入中止或其他 SSD 相关问题,请联系我们寻求帮助。