经典Dual-pool 算法-高效Wear Leveling

Dual-pool算法是比较经典的磨损平衡算法,目的是为了延长闪存的使用寿命。它实现了两方面解决:第一是存储冷数据来防止块被磨损,因为频繁更新的热数据会是磨损增加;第二是直到磨损平衡生效时,先不要去管这些被处理的块。

基本原则:

闪存块的磨损不均匀是由于workload的空间局部性导致的[……]

阅读全文

蛋蛋读UFS之九:UFS数据安全

前面提到RPMB使用认证机制和抗重放攻击机制保障数据不被黑客攻击,除此之外,UFS还有其它一些手段来保护用户数据安全,这一章节我们来关注UFS数据安全。

UFS设备用来存储个人或者企业的数据信息,UFS设备需要这样一种机制,就是必要时,数据能永久从设备(闪存)删除,这样就能防止别有用心[……]

阅读全文

蛋蛋读UFS之六:UFS设备初始化和启动

这一节讲讲UFS初始化。

初始化和启动包括三个阶段:部分初始化,加载启动代码(可选)和初始化完成。

  • 部分初始化阶段

这个阶段开始于上电或者设备重启,它涉及到整个UFS栈的初始化。

这个初始化阶段完成后,整个物理层(M-PHY)和数据链路层(UniPro)应该被初始化好,传[……]

阅读全文

蛋蛋读UFS之五:逻辑单元(LU)

熟悉NVMe的朋友知道,NVMe里面有namespace的概念,就是把SSD物理空间划分成若干个逻辑地址空间。在UFS的世界里,它也有这个特性。UFS设备的物理存储空间可以有若干个独立的逻辑地址空间,我们把逻辑地址空间叫做LU,即Logical Unit,俗称“撸”。前面看到,在每个UPIU的Hea[……]

阅读全文