EraseTrimDiscardSantize详解.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EraseTrimDiscardSantize详解

Erase Trim Discard Sanitize详解 针对JEDEC协议中几个抹除资料的命令,大家都很容易将其混淆。现在就这四个抹除命令作详细介绍,希望能帮助大家分清各个命令的具体含义及用法。 Erase 1.1 擦除组(Erase Group) Erase翻译过来是抹去、擦除的意思。eMMC中可擦除的单位称为“擦除组”,擦除组是用写入块(write blocks, Device的基本可写单位)来测量的。擦除组的大小是一个设备特殊参数,当ERASE_GROUP_DEF设置为不可用的时候,擦除组的大小在CSD中定义;当ERASE_GROUP_DEF设置为可用的时候,擦除组的大小在EXT_CSD中定义。 当ERASE_GROUP_DEF(EXT_CSD[175])=0时 size of erasable unit = (ERASE_GRP_SIZE + 1) * (ERASE_GRP_MULT + 1) size of write protect = (WP_GRP_SIZE+1) 当ERASE_GROUP_DEF(EXT_CSD[175])=1时 size of erasable unit = 512Kbyte × HC_ERASE_GRP_SIZE size of write protect = 512KB * HC_ERASE_GRP_SIZE * HC_WP_GRP_SIZE Erase的原理 一旦擦除的命令成功完成,擦除掉的映射地址范围用写满0或1的形式表现出来。擦除命令的作用就是简单的将映射地址范围移动到未映射的地址范围。 Erase的过程 Erase的过程分三个步骤: 首先host通过ERASE_GROUP_START (CMD35)命令定义地址范围的开始地址 Host再通过ERASE_GROUP_END (CMD36)命令定义地址范围的终止地址 通过ERASE(CMD38)命令将参数全部设置为0(ERASE命令的地址段是一个擦除组地址) 如果erase命令(CMD35,CMD36.CMD38)接收到的命令顺序与Erase步骤不同,Device端将在状态寄存器中设置一个ERASE_SEQ_ERROR位并重置整个顺序。 如果host提供一个范围外的地址作为CMD35或CMD36的参数值,Device将会拒绝这个命令,回复一个ADDRESS_OUT_OF_RANGE的提示并重置整个擦除顺序。 如果接收到一个“非擦除”(不是CMD35,CMD36,CMD38或CMD13)的命令,Device将会回复一个ERASE_RESET位,重置擦除顺序并执行最后一个命令。对于所选设备的非地址范围的命令将不会终止整个擦除顺序。 如果擦除的范围包含写保护块,写保护块将会完整保留,只会擦除未写保护的数据块。WP_ERASE_RESET位将会在状态寄存器中设置。 具体流程图如下所示: TRIM 2.1 TRIM单位—写入块(write block) Trim的可擦除单位是写入块,而非擦除组。定义了三种多块写入的类型: Open-ended Multiple-block write , Multiple-block write with pre-defined block count, Reliable Write。 Host可以通过多块操作在任意时间中止写动作。Host通过发送一个传输命令中止动作。 2.2 TRIM的原理 一旦Trim的命令成功完成,Trim掉的映射地址范围用写满0或1的形式表现出来。Trim命令的作用就是简单的将映射地址范围移动到未映射的地址范围。 2.3 TRIM的过程 TRIM的过程分三个步骤: 首先host通过ERASE_GROUP_START (CMD35)命令定义地址范围的开始地址 Host再通过ERASE_GROUP_END (CMD36)命令定义地址范围的终止地址 通过ERASE(CMD38)命令将参数bit0设置为1,其他的bit都设置为0.(在TRIM操作中CMD35及CMD36地址的识别都是通过写入块实现的) 如果Trim命令(CMD35,CMD36或CMD38)中的一个元素接收到与既定TRIM步骤不同的顺序,Device端将在状态寄存器中设置一个ERASE_SEQ_ERROR位并重置整个顺序。 如果host提供一个范围外的地址作为CMD35或CMD36的参数值,Device将会拒绝这个命令,回复一个ADDRESS_OUT_OF_RANGE的提示并重置整个TRIM顺序。 如果接收到一个“非擦除”(不是CMD35,CMD36,CMD38或CMD13)的命令,Device将会回复一个ERASE_RESET位,重置擦除顺序并执行最后一个命令。

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档