本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。
文章为个人辛苦整理,付费内容,禁止私自转载。
文章所在专栏:《黑猫带你学:eMMC协议详解》
1 什么是动态容量
长期对存储设备的使用以及flash的老化,将会在存储设备内部产生坏块。动态容量管理机制的目的就是在设备产生大量坏块后,可以改变设备的容量,从而延长寿命的使用时间。
2 相关命令
ecsd59的值为0x01时候,class6类型的命令(cmd28、29、20、31)就不是用来操作写保护的了,而是进行动态容量相关操作。
cmd28
这个命令用来释放指定地址处的写保护组。
cmd29
该命令被忽视,也就是说这个命令并没有被用上。
cmd30
该命令用来查询指定地址处的那个写保护组是否是否已经被释放掉了。
主机发送cmd30命令,device会返回一个数据块,该数据块32bit(表示从指定地址开始的32个写保护组区域有没有被释放掉),同时带有16bit的CRC。
每一bit中:
0代表该写保护组还可以正常访问;
1代表该写保护组已经被释放掉了,不能再进行访问了。
本文介绍eMMC的动态容量管理,旨在延长设备寿命。动态容量管理在设备出现大量坏块后调整容量,涉及cmd28、cmd29、cmd30、cmd31等命令。释放写保护组需遵循特定规则,且只针对大容量写保护组。大部分eMMC可能不支持此功能,但ecsd58值非0时表明需要释放坏块。
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



