我正在编写一个Android应用程序,它会在一秒钟内将数据写入文件几次,整个文件大小约为1MB,此文件将被删除并启动新文件。我是否应该担心电话的闪存耗尽,导致其失败?你知道Android是否将写入分配到不同的扇区以最小化闪存降级,即使应用程序写入连续文件? 日志系统是否以类似的方式工作?换句话说,如果我记录很多(每秒几条记录),会影响手机的闪存资源吗?
答案 0 :(得分:6)
担心这一点不会有什么害处,但除了闪存写入周期之外,我还会修改应用程序逻辑 - 1MB并不是那么多,因此在内存中缓冲数据并定期将其刷新到文件(但不那么频繁)应加速你的应用程序(因为我认为你的写作是同步的)。
修改强>
Wiki got some figures供考虑:
写耐力
SLC浮栅NOR闪存的写入耐久性通常相等 或者比NAND闪存更大,而MLC NOR和NAND闪存 具有相似的耐力能力。示例耐久性循环评级 列出了NAND和NOR闪存的数据表。
- SLC NAND闪存通常额定为约100k周期(Samsung OneNAND KFW4G16Q2M)
- MLC NAND闪存的额定值约为5k - 10k周期(三星K9G8G08U0M),但现在通常为1k - 3k周期
- TLC NAND闪存通常额定为约1k周期(Samsung 840)
- SLC浮栅NOR闪存的典型耐久等级为100k至1M周期(Numonyx M58BW 100k; Spansion S29CD016J 1,000k) MLC浮栅NOR闪存具有100k周期的典型耐久性等级(Numonyx J3闪存)
答案 1 :(得分:2)
这取决于内存类型和文件系统。与NOR存储器相比,NAND闪存提供更多的写周期。此外,诸如JFFS2之类的文件系统提供了耗损均衡算法来分配数据并避免块损坏。
NAND和NOR闪存技术的比较: https://focus.ti.com/pdfs/omap/diskonchipvsnor.pdf