Memory Stack之NvM模块
谷子
|
2019.12.24
|
0
+关注

上篇AUTOSAR Memory Stack概述我们讲了基本架构和每个模块的基本功能,本篇详细介绍一下NvM(NVRAM Manager)模块的相关概念。

非易失性 RAM 管理器(NVRAM Manager)管理所有非易失性存储器中数据的存储。

1.基本存储对象

NvM的基本存储对象分称之为Block,分为四种:

1) NV Block:数据存储于非易失设备中,下图为NV Block的组成图:

2) RAM Block:数据存储于RAM区域,下图为RAM Block的组成图:

3)ROM Block(可选Block):用于提供在ROM中备份的数据,下图为ROM Block的组成图:

4)Administrative Block:存储NvM的状态以及Block的属性等内容。

2. Block管理类型

NvM模块支持三种Block管理类型,可以根据数据的属性配置成不同的Block管理类型,三种Block管理类型组成如下表所示:

1)Native NVRAM 块是最简单的块管理类型。以最小的开销存储/检索 NV存储区。Native NVRAM 块由单个 NV 块、RAM 块和管理块组成。

2)Redundant NVRAM块有更高的容错性、可靠性和可用性,以及对数据被破坏的抵抗性。Redundant NVRAM块由两个NV块、一个RAM块和管理块组成。

3)Dataset NVRAM 块是相同大小数据块(NV/RAM)的阵列。应用一次只能存取其中的一个。Dataset NVRAM 块由多个NV用户数据和(可选)CRC 区域、一个RAM 块和管理块组成。

典型NvM Block的结构如下图所示:

3.寻址方式

存储抽象接口和下层的闪存 EEPROM 仿真和 EEPROM 抽象层向 NVRAM管理器提供虚拟线性32位地址空间。这些逻辑32位地址由16位逻辑块号和16位块地址偏移量组成。因此 NVRAM 管理器(理论上)可以有65536个逻辑块,每个逻辑块(理论上)可以有 64Kbytes。

NVRAM 管理器进一步将 16 位逻辑块号划分为以下部分:

·(16-NVM_DATASET_SELECTION_BITS)位的块标识符;

· NVM_DATASET_SELECTION_BITS 位的数据索引,每个 NVRAM块最多可以有256个数 据集。例如:NVM_DATASET_SELECTION_BITS = 2,则意味着16Bit的寻址空间中最后2Bit用于Dataset的寻址,也即Dataset类型的Block中最多包含4个Dataset单元。

4. CRC校验

NvM提供三种可选择的CRC校验类型,分别为8-bit、16-bit和32-bit校验类型,CRC校验算法需要由APP定义。

5.任务处理机制

NvM支持两种数据处理机制:

1) 基于优先级的处理方式,即根据预先配置的Block优先级,按照从高到底的顺序处理队列中缓存的Block操作请求;

2) FCFS处理方式,即按照先进先出方式处理队列中Block的操作请求;

6. NvM状态机

RAM Block状态转换:

7.时序图

NvM中对Block的操作均采用异步处理的方式,以Block写操作为例,其数据时序图如下:

精选留言
延伸阅读
2020.04.03
3974阅读
更多报告干货
写留言
2904
阅读
收藏
回到顶部