Open main menu

DAVE Developer's Wiki β

Changes

MISC-TN-017: Persistent storage and read-write file systems

1,412 bytes added, 14:46, 18 January 2021
no edit summary
|}
==Introduction==
In many cases, embedded systems that are based on Application Processors such as the NXP i.MX6 make use of read/write file systems. In turn, these file systems use non-volatile memory and flash memories integrated into several different devices (NOR flashes, raw NAND flashes, eMMC's, etc.).
By nature, these components are subject to several issues that need to be handled properly. If not, this can affect negatively their performance in terms of reliability and /or lifetime.
Generally speaking, one ===Wear-out===One of the most important factor factors to take into account is wear-out. Simply put, this is a degradation of the memory device due to repeated erasing/writing cycles aka P/E cycles. In order to mitigate this phenomenon, erasing and writing operations have to be distributed uniformly all over the memory. Please note that this process, known as wear leveling, can be either implemented in the host (in the case of a raw NAND memory, for example) or in the memory device itself (for instance, in the case of eMMC's). Even though wear-out is properly managed, it is unavoidable when writing operations are performed. That being said, how to estimate thelifetime of such a device in practice? Manufacturers provide the number of guaranteed P/E cycles. For more details about this number, please refer to the specifications of your device, which detail the test conditions this number refers to. Once the guaranteed P/E cycles are known and '''assuming a proper wear-leveling algorithm is in place''', the expected lifetime can be determined as follows. First of all, the ''Total Bytes Written (TBW)'' has to be calculated: Total Bytes Written TBW = [capacity * P/E cycles] / WAF where WAF is the ''Write Amplification Factor''. WAF takes into account the '''actual''' amount of data written to the memory when performing write operations. This is due to the fact that non-volatile flash memorys Generally speaking, when  ===Power cut===
4,650
edits