Memory management 最佳nand分区方案
我有一个linux和一个nand闪存。我想自定义linux,它在启动时运行我的应用程序。我的应用程序有不同的组件:二进制文件、脚本、库、数据库文件和一些配置文件。这是我的自定义文件层次结构:Memory management 最佳nand分区方案,memory-management,hardware,u-boot,Memory Management,Hardware,U Boot,我有一个linux和一个nand闪存。我想自定义linux,它在启动时运行我的应用程序。我的应用程序有不同的组件:二进制文件、脚本、库、数据库文件和一些配置文件。这是我的自定义文件层次结构: /flash/ app/ -> mtdblock1(20M) lib/ -> mtdblock2(50M) script/ -> mtdblock3(10M) stuffs/ -> mtdblock4(20M) db
/flash/
app/ -> mtdblock1(20M)
lib/ -> mtdblock2(50M)
script/ -> mtdblock3(10M)
stuffs/ -> mtdblock4(20M)
db/ -> mtdblock5(~800M)
问题
关于如何划分nand mtdparts,是否存在任何限制或考虑因素?!我找了一些,但没有找到任何重要的 我的建议是在需要时在原始闪存上使用多个卷的卷管理系统(如)。您有多个具有不同访问频率/模式的组件,通过使用UBI,您可以获得MTD分区的一些优势: UBI在整个闪存设备上实现磨损均衡(即,您可能认为您正在连续写入/擦除UBI卷的同一逻辑擦除块,但UBI会将此扩展到闪存芯片的所有物理擦除块) UBI透明地处理坏的物理块; UBI通过清理将丢失数据的机会降至最低
我的建议是,在需要时,在原始闪存上使用卷管理系统(如多个卷)。您有多个具有不同访问频率/模式的组件,通过使用UBI,您可以获得MTD分区的一些优势: UBI在整个闪存设备上实现磨损均衡(即,您可能认为您正在连续写入/擦除UBI卷的同一逻辑擦除块,但UBI会将此扩展到闪存芯片的所有物理擦除块) UBI透明地处理坏的物理块; UBI通过清理将丢失数据的机会降至最低
至少我会将它们分为只读和可写。并且尽可能多地使用只读。这不会优化某些内容,因为我认为nand由块组成并对其进行操作,而不是分区。至少我会将它们分为只读和可写。并且尽可能多地使用只读。这不会优化某些内容,因为我认为nand由块组成,并对它们进行操作,而不是分区