本技术公开了减少UBI子系统管理开销的方法、UBI子系统及介质,该方法包括以下步骤:设置第一逻辑块,映射到闪存中的第一物理块和第二物理块,第一物理块与第二物理块物理地址上相邻;第一物理页和第二物理页被配置为第一逻辑页,第一物理页和第二物理页大小相同,第一物理页与第一物理块的头的相对位置跟第二物理页与第二物理块的头的相对位置相同;设置第一物理块的头部存放EC头,第二物理块的头部存放VID头;若发起读写或擦除操作,以第一逻辑页为读写单位,第一逻辑块为擦除单位。本发明具有以下有益效果:通过优化UBI管理结构,压缩管理开销,腾出更多的用户空间。
背景技术
由于Nand的物理特性,驱动必须实现磨损平衡、坏块管理等算法,因此在使用Nand时总会有各种管理开销。以128M的Nand为例,呈现到用户空间的可用的空间有可能是108M,此时有20M的空间用于Nand的管理开销。越多的管理开销意味着越少的用户可用空间。在小容量Nand方案中,可谓寸土寸金,如何保证稳定的前提下,合理缩减管理开销以腾出更多的用户空间尤其关键。
在Linux中广泛使用UBI子系统来实现Nand的特性管理。根据其管理策略,管理开销有固定的计算公式:
(坏块预留+4)*物理块大小+2*页大小*(含坏块的总块数-坏块预留-4)
以128M完全无坏块的江波龙FS35ND01G-S1F1 SPINand为例,其管理开销为7072K。如何在不修改原有管理策略的情况下,实现更极致压缩管理开销以腾出更多的用户空间成为当前迫切需求。
实现思路