第 1 章 - Azure RTOS LevelX 概述

Azure RTOS LevelX 向嵌入式应用程序提供 NAND 和 NOR 闪存磨损均衡设施。 由于 NAND 和 NOR 闪存都只能进行有限次数的擦除,因此,均衡分配闪存的使用至关重要。 这通常被称为“磨损均衡”,是通过 LevelX 实现的。

选择重用哪个闪存块的算法主要基于擦除计数,但不是完全基于擦除计数。 如果有另一个块的擦除计数在最小擦除计数的可接受增量范围内并且有更多的过时映射,则可能不会选择具有最低擦除计数的块。 在这种情况下,具有最多过时映射的块将被擦除和重用,从而节省移动有效映射项的开销。

LevelX 支持 NAND 和/或 NOR 部件的多个实例,也就是说,应用程序可以在同一应用程序中使用 LevelX 的不同实例。 每个实例都需要有自己的由应用程序提供的控制块及其自己的闪存驱动程序。

LevelX 向用户提供一个逻辑扇区阵列,这些扇区映射到 LevelX 内的物理闪存。 为了增强性能,LevelX 还提供了最新的逻辑扇区映射的缓存。 此缓存的大小由编程人员定义。 应用程序可以将 LevelX 与 FileX 结合使用,也可以直接读取/写入逻辑扇区。 LevelX 不依赖于 FileX,稍微依赖于 ThreadX(只使用基元 ThreadX 数据类型)。

LevelX 是为容错而设计的。 闪存更新在多步骤过程中执行,每个步骤都可以中断。 在下一操作过程中,LevelX 自动恢复到最佳状态。

LevelX 需要使用闪存驱动程序对基础闪存进行物理访问。 我们提供了 NAND 和 NOR 模拟驱动程序的示例,可以从这些示例着手来实现实际的 LevelX 驱动程序。 此外,本文档后面部分详细介绍了驱动程序要求。

以下各章介绍了 NAND 和 NOR LevelX 支持的功能操作。