闪存学习_3:闪存SW(软件,software)
闪存学习_3:闪存SW(软件,software)
- 一、闪存所需软件
- 1、闪存任务
- 2、闪存执行任务所需软件
- 二、闪存读写
- 1、写请求具有空间局部性
- 2、固定的编程顺序(FPS,Fixed Program Sequence)
- 三、闪存转换层FTL详细功能
- 1、针对性能
- 2、针对可靠性
- 3、其他功能
- 4、布局细节
- 四、闪存S/W的重要节点
- 1、垃圾回收
- (1)何时触发GC
- (2) 坏块选择:
- (3)每次回收的块数量
- 2、映射模式:
- 3、磨损均衡
- 4、坏块管理
- 5、减少内存占用
- 6、最小化计算开销
- 7、闪存感知数据结构设计
- Referenece
一、闪存所需软件
1、闪存任务
- 地址转换
- 垃圾回收
- 磨损均衡
2、闪存执行任务所需软件
- 闪存转换层(FTL,Flash Translation Layers):执行地址转换、垃圾回收、磨损均衡
- 闪存文件系统(Flash File Systems):闪存感知文件系统,为HDD文件制定,可以友好地替换遗留文件系统
- 存储技术设备(Memory Technology Device):例如驱动,为闪存设备提供通用API
下图是闪存SW架构
二、闪存读写
1、写请求具有空间局部性
2、固定的编程顺序(FPS,Fixed Program Sequence)
由于存在单元间干扰,固定的编程顺序可以保证所有的页只被干扰一次
三、闪存转换层FTL详细功能
1、针对性能
- 地址映射:逻辑地址到物理地址的转换
- 垃圾回收
- 冷热数据分离
- 多channel、chip、plane的交叉存储
- 请求调度
- 缓存管理
- 等等
2、针对可靠性
- 坏块管理
- 磨损均衡
- 断电修复
- ECC校验
- 等等
3、其他功能
- 加密
- 压缩
- 消除冗余数据
- 等等
4、布局细节
四、闪存S/W的重要节点
1、垃圾回收
(1)何时触发GC
- 没有空闲块
- 定期
- 空闲块数量低于所设置的阈值
- 没有执行IO请求,整个系统处于空闲状态
(2) 坏块选择:
选择有效页最少的。
(3)每次回收的块数量
- 一次一个块
- 回收到高于所设置阈值即可
2、映射模式:
页级映射、块级映射、混合映射,分别对应不同的FTL
3、磨损均衡
- 触发条件
- 减少开销
4、坏块管理
5、减少内存占用
6、最小化计算开销
7、闪存感知数据结构设计
Referenece
1、https://drive.google.com/file/d/1CWGW7Owd4Y6KYzBl6EFM6D5oNTfvx5kO/view