Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory management 最佳nand分区方案_Memory Management_Hardware_U Boot - Fatal编程技术网

Memory management 最佳nand分区方案

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

我有一个linux和一个nand闪存。我想自定义linux,它在启动时运行我的应用程序。我的应用程序有不同的组件:二进制文件、脚本、库、数据库文件和一些配置文件。这是我的自定义文件层次结构:

/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由块组成,并对它们进行操作,而不是分区