防止掉电期间的存储器损坏

时间:2019-01-07 16:36:02

标签: embedded memory-corruption

我有一个通过USB记忆棒运行窗口的系统(这是一台专有机器)。通常通过“拔出插头”关闭此类机器的电源。没有办法解决,那就是它的操作方式。

我们有时会在USB记忆棒上造成驱动器损坏,或者至少在我们将内容写入其中的目录中损坏。除了“尽量少写/不经常写”以外,是否真的有任何软件解决方案可以解决此问题?

这是Windows计算机,如果对任何人都有用,则通常使用Java / C#编写编写的应用程序。损坏通常显示为写目录或写目录的父目录,由于写损坏而无法再访问该目录。处理它的唯一方法是通过命令行将其删除并重新开始。

有没有办法以编程方式处理这种情况,也许是恢复内存的先前状态,而不是删除并重新开始?

1 个答案:

答案 0 :(得分:1)

就我们当前的设计而言,我觉得没有任何方法可以防止此类事情的发生。如果您进行了足够的写操作并且继续拔插插头,那么最终将导致损坏,这就是事实。特别是在这种设计中。即使备用电池已充电,但如果软件未能在电池的放电时间内正常关闭,则仍可能发生损坏。更不用说重力混合了,它最终会损坏硬件,这是我们以前见过的。

整个项目需要重新设计系统。立即想到某种类型的网络解决方案,其中数据从易失性机器发送出去,并通过可靠的网络连接通过更可靠的电源记录在具有更可靠电源的机器上,并在最后一次尝试时写入实际易失性机器上的磁盘网络通讯在给定的时间点(回填)不可靠。我觉得这也会增加硬件寿命。当然,网络可靠性问题将成为您的问题。