不确定这是这个问题的正确网站,但由于这里有很多聪明人,也许有人知道。
我正在构建一个需要持续捕捉视频的应用,但只保留最后几分钟(比如5~15)。通过将视频拆分为30秒文件并删除最近的文件,可以轻松实现此目的。但是,这意味着应用程序一直在写入和删除大文件,我担心它会磨损设备的闪存。
我一直试图找到iPhone(以及流行的Android手机)的P / E周期规格,但没有成功。有人知道答案吗?
P.S。只是为了缓解一个微不足道的问题:在视频捕获期间,设备已连接到电源,因此电池耗尽不是问题。
答案 0 :(得分:3)
我不担心。典型的NAND闪存具有100k +写周期
我确信iOS有一个智能文件操作系统,可以均匀地分配写入,以减少特定位置的磨损。 我也确信,一旦它开始发生某些扇区,它就会将它们标记为坏的,并将它们重新定位到健康的位置,就像普通硬盘驱动器一样。
每隔30秒在同一位置写字也不是特别频繁。你需要140年的时间来磨损相同的闪光位置。 我很可能大部分数据都保留在缓存中,而实际上并没有写入闪存。
答案 1 :(得分:2)
擦除周期数很大程度上取决于所用闪存的类型。单级NAND通常具有100k +擦除周期,而对于多级NAND则为~10k。根据经验,MLC比SLC更便宜,密度更高。
NAND控制器 - 无论是在软件中实现还是在硬件中执行耗损均衡,坏块管理和纠错,并且一些擦除单元被阻止以替换被认为超出救助的块。
有许多可能的硬件架构用于在手机中连接NAND设备。
Apple正在悬挂(我假设的)MLC设备直接离开应用程序处理器。
Android手机中更常见的情况是使用小型NOR设备作为引导加载程序和内核,然后使用带有ext4文件系统的eMMC NAND Flash设备。 eMMC与可移动媒体卡基本相同。但封装为直接安装到器件中,具有嵌入式NAND阵列管理。
在任何一种情况下,基础NAND性能都大大从应用程序空间中抽象出来。当您考虑到基于MLC的SSD设备在销售它们的企业用户上销售时,智能手机上产生的任何负载都不太可能成为问题。