【问题标题】:How many Program/Erase cycles does the iPhone's flash memory have? [closed]iPhone 的闪存有多少个编程/擦除周期? [关闭]
【发布时间】:2012-09-15 14:23:00
【问题描述】:

不确定这是解决这个问题的正确网站,但由于这里有很多聪明人,也许有人知道。

我正在构建一个需要连续捕捉视频的应用,但只保留最后几分钟(比如 5~15)。通过将视频拆分为 30 秒的文件并删除最近的文件,很容易实现这一点。但是,这意味着应用程序一直在写入和擦除大文件,我担心它会磨损设备的闪存。

我一直在尝试寻找 iPhone(以及流行的 Android 手机)的市盈率周期规范,但没有成功。有人知道答案吗?

附:只是为了缓解一个小问题:在此视频捕获期间设备已连接到电源,因此电池耗尽不是问题。

【问题讨论】:

  • 已接受的答案未考虑擦除块大小。检查thisthis。在 100k+ 写入周期计数上也出现错误。它只有10k。检查wiki中的写耐力部分

标签: iphone hardware video-capture


【解决方案1】:

我不会担心这个。典型的 NAND 闪存有 100k+ 写入周期

我确信 iOS 有一个智能文件操作系统,它可以平均分配写入以减少特定位置的磨损。 我还确定,一旦某些扇区开始发生这种情况,它会将它们标记为坏扇区并将它们重新定位到健康的位置,就像普通 HDD 也会发生一样。

每 30 秒在同一位置书写也不是特别频繁。你需要 140 年才能磨损相同的闪光位置。 我很可能您的大部分数据都保留在缓存中,而实际上从未写入闪存。

【讨论】:

  • 好的,计算如下:在 iPhone 4S 上拍摄 30 秒的视频大约是 42MB。假设设备只有 16GB 闪存,这意味着 390 个文件的 30 秒视频捕获。使用 100K P/E 周期,这相当于 39,000,000 个文件,即大约 37 年的连续视频捕获。所以是的,我想这已经足够了。 :)
  • 100k+ 写入周期计数部分错误。它只有10k。检查wiki中的写入耐力部分
【解决方案2】:

擦除周期的数量很大程度上取决于所使用的闪存类型。单级 NAND 通常有 100k+ 擦除周期,而多级 NAND 大约为 10k。根据经验,MLC 比 SLC 更便宜且密度更高。

NAND 控制器——无论是在软件还是硬件中实现,都执行磨损均衡、坏块管理和纠错,并且一些擦除单元被保留以替换被认为无法挽救的块。

有多种可能的硬件架构可用于在手机中连接 NAND 设备。

Apple 将 MLC 设备直接挂在应用处理器上(我假设是这样)。

Android 手机中更常见的情况是使用较小的 NOR 设备作为引导加载程序和内核,然后使用带有 ext4 文件系统的 eMMC NAND 闪存设备作为其他设备。 eMMC 本质上是与可移动媒体卡相同的芯片。但封装后可直接安装到设备中,并带有嵌入式 NAND 阵列管理。

在任何一种情况下,底层 NAND 性能都从应用程序空间中大量抽象出来。当您考虑到基于 MLC 的 SSD 设备是针对敲击它们的企业用户销售时,智能手机上产生的任何负载都不太可能成为问题。

【讨论】:

  • +1 获取详细回复。谢谢!
  • 顺便说一句,这是否意味着 iPhone 的市盈率是 ~10K 而不是 ~100K?如果是这样,那么我上面的计算就错了一个数量级,将它带到了 3.7 年的连续视频捕获(仍然足够,因为大多数用户不会连续使用它)。
猜你喜欢
  • 2016-09-29
  • 2011-05-17
  • 2021-09-28
  • 2021-02-12
  • 2021-02-02
  • 1970-01-01
  • 2013-04-28
  • 2015-04-14
  • 2011-09-25
相关资源
最近更新 更多