尝试延长 USB 寿命

Trying to increase USB lifetime

我们正在 USB 驱动器上进行缓冲,x 分钟后会将其发送到我们的服务器。因为这涉及大量的写入和删除周期,USB 很快就会死掉(在 1.5 到 6 个月之间)

我知道这不是一个理想的情况,但由于很多原因,我需要暂时处理这个问题,作为备份解决方案,USB 将保留 (万一有互联网问题,它仍然可以在本地服务器上缓冲)。

但是我正在尝试寻找一种方法来延长 USB 寿命,即使这只是一个小的改进。 我一直在阅读有限的 write/delete 周期,我想知道我是否可以通过修改文件而不是创建和删除文件来节省 USB 的使用寿命。

当前文件大小约为 524 B...块大小为 16.384 B 时这并不多。 正如我从收集到的所有信息中了解到的那样,这个 space 将默认保留,因此我应该能够在该块使用另一个块之前再向该块写入 30 多次,对吗?

所以我的计划是为每个需要缓冲的设备创建一个专用文件,并通过向文件添加内容而不是创建新文件来让文件增长和缩小。 而不是一遍又一遍地删除文件,只是清空文件的内容。

所以真正的问题是:修改文件是否会(可能)保存 USB 的任何生命周期,而不是不断创建和删除文件,或者这根本无关紧要吗?

首先。 pendrive和SD,使用N字节的块,N可以是128、256、512等等。

小块更好,因为如果一个软件写一个例子每128字节,或者每一圈,不等于写一次128,两次256字节,或者四次512字节块。

因此,我将尝试获取更小的块,但这意味着文件的最大大小更小。

其次,也是更重要的一点,尽量不要使用 caché write through,因为它总是写入磁盘。最好将所有内容都保存在内存中,并且只在 pendrive 或 SD 中写入一次。这一点使块大小的第一个无效。

第三,在Linux中,您可以最小化磁盘访问 您可能希望配置 journald 以将其日志存储在 RAM 中,例如通过创建自定义配置文件: /etc/systemd/journald.conf.d/usbstick.conf

[Journal]
Storage=volatile
RuntimeMaxUse=30M