How many program / erase cycles does an iPhone flash memory have?

Not sure if this is the right site for this question, but since there are a lot of smart people, maybe someone knows.

I am creating an application that needs to constantly shoot video, but save only the last few minutes (say 5 ~ 15). This is easy to implement by splitting the video into 30 second files and deleting the latter. However, this means that the application constantly writes and erases large files, and I'm worried that it will carry the device’s flash memory.

I tried to find the P / E loop specification for the iPhone (and for the popular Android phones), without success. Does anyone know the answer?

PS Just to mitigate a trivial problem: the device is connected to the power supply during this video capture, so battery drain is not a problem.

+4
source share
2 answers

I would not worry about that. A typical NAND flash has a write cycle of 100 kb

I am sure that iOS has an intelligent file operating system that distributes records evenly to reduce wear on certain places. I am also sure that as soon as it starts to happen with some sectors, it marks them as bad and transfers them to healthy places, as happens with ordinary hard drives.

Also, recording in the same place every 30 seconds is not particularly common. It will take you 140 years to wear the same flash spot. Most likely, most of your data remains in the cache, but in fact it does not write to the flash.

+2
source

The number of erase cycles depends very much on the type of flash used. A single-core NAND usually has an erase cycle of 100 to +, while ~ 10k for multi-level NAND. Generally, MLCs are cheaper and higher in density than SLCs.

NAND controllers β€” whether implemented in software or hardware β€” perform wear control, bad block management and error correction, and some erase blocks are held to replace blocks that are considered inaccessible.

There are many possible hardware architectures for connecting NAND devices in phones.

Apple hangs (which I assume) MLC devices directly from the application processor.

A more common scenario on Android phones is to use a small NOR device for the bootloader and the kernel, and then an eMMC NAND Flash device with an ext4 feed system for everything else. eMMC is essentially the same silicon as a removable multimedia card. but packaged for direct installation in a device with integrated NAND array control.

In any case, the basic NAND performance is significantly abstracted from the application space. When you think that MLC-based SSDs are sold to corporate users who are clogging them, any download created on a smartphone is unlikely to be a problem.

+1
source

Source: https://habr.com/ru/post/1435843/


All Articles