JESD B5.1 EMMC协议介绍(九)

JESD B51 EMMC协议解读
摘要由CSDN通过智能技术生成

6.6.12 Discard 丢弃

Discard(放弃)操作与TRIM(修剪)操作类似。Discard(丢弃)功能允许host识别有没有EMMC在后台擦除操作期间必要时擦除的数据,如果没有则将这个带有丢弃功能的写入块的内容标记为“不需要”。

Discard操作类似于TRIM。Discard功能允许host识别不再需要的数据,以便在后台擦除事件期间,有必要的情况下,EMMC可以擦除数据。应用了Discard功能的写入块中的内容应为“不关心”。在Discard操作之后,原始数据可能部分或全部对host设置可访问,具体取决于使用的EMMC。不再可由host访问的数据块可以像TRIM操作一样,被删除或被取消映射。EMMC将决定何时丢弃写入块中的数据。

Discard和TRIM之间的区别在于,对已被Discard的区域进行读取可能会返回部分或全部原始数据。然而,在TRIM的情况下,整个区域应该被取消映射或删除,并且将根据内存技术返回“0”或“1”。

当执行Sanitize操作时,只有被Discard命令取消映射的数据部分将被Sanitize命令删除。EMMC无法保证在应用Sanitize时已丢弃的数据能够完全从EMMC中删除。

完成Discard过程需要三个步骤。首先,host使用ERASE_GROUP_START(CMD35)命令定义范围的开始地址,然后使用ERASE_GROUP_END(CMD36)命令定义范围的结束地址,最后通过发出ERASE(CMD38)命令来启动擦除过程,其中CMD38 的参数位0和位1设置为1,其余参数设置为零。在Discard操作的情况下,CMD35和CMD36都标识写入块的地址,而不是擦除组。

如果接收到的擦除相关的命令不属于Discard命令队列(CMD35、CMD36或CMD38)中的元素,EMMC将在状态寄存器中设置ERASE_SEQ_ERROR位,并重置整个序列。

如果host下发CMD35或CMD36的参数地址超出范围规定的地址,则EMMC会拒绝执行该该命令,并将ADDRESS_OUT_OF_RANGE进行置位,接着重置整个擦除序列。

如果接收到“非擦除”命令(不是CMD35、CMD36、CMD38或CMD13中的任何一个),EMMC会置位ERASE_RESET位进行响应,并重置擦除序列,执行CMD13 命令。

未寻址到选定EMMC的命令不会中止擦除序列,如果Discard范围包括写保护块,则它们被标跳过,且只有非保护块将被擦除。状态寄存器中的WP_ERASE_SKIP位将被置位。

与块写入一样,在进行Discard命令时,EMMC将通过拉低D

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南风轻拂_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值