喊人做网站需要注意些什么,宁波网页设计,网站主色调简介,视差 长沙做网站依JEDEC eMMC 5.1及经验辛苦整理#xff0c;付费内容#xff0c;禁止转载。 所在专栏 《元带你学: eMMC协议详解》 内容摘要
全文 4200字#xff0c; 主要内容介绍了各种擦除操作概念以记用法#xff0c;总结了不同擦除操作的区别#xff0c; 根据不同安全级别和应用场景… 依JEDEC eMMC 5.1及经验辛苦整理付费内容禁止转载。 所在专栏 《元带你学: eMMC协议详解》 内容摘要
全文 4200字 主要内容介绍了各种擦除操作概念以记用法总结了不同擦除操作的区别 根据不同安全级别和应用场景 可以使用最合适的擦除类型。
前言
1 Erase
2 Trim
3 Sanitize
4 Discard
5 Secure Erase
参考 前言
如果你存了一张照片 想删除怎么办
一种是重新将这段数据重新写入全0 的数据 这是隐式擦除。这种擦除因为要把所有的地址写一遍全0 的数据 比较费时间。 但如果是一定要彻底删除 比如Chen老师的照片 那就要一定建议要用这种方式。 但一般情况下 我们删除可能是因为磁盘快满了 想删除一些没意义的照片希望秒删 这样体验很流畅。怎么做到呢 1 Erase
除了用写操作隐式擦除之外e-MMC还提供了一个主机显式擦除功能。e-MMC的可擦除单元为“擦除组”; 擦除组是用写入块数目来衡量的写入块是设备的基本可写单位。Erase Group的大小是设备特定的参数。 根据不同的存储器技术erase后这段存储器地址范围的内容应为 0 或 1 。这个值在EXT_CSD中定义。一旦erase命令成功完成被擦除的设备地址范围应该表现得好像被全部0或全部1覆盖这取决于不同的内存技术。erase命令的影响应该只是将LBA映射到无效设备地址范围(注意在某些情况下其他flash管理任务也可能在执行该命令期间完成)。主机可以擦除连续的擦除组。
开始擦除过程有三个步骤。
首先主机使用ERASE GROUP_START (CMD35)命令定义擦除范围的起始地址然后使用ERASE_GROUP_END (CMD36)命令定义擦除范围的最后一个地址最后通过发出ERASE (CMD38)命令启动擦除过程参数位设置为零。 错误情况
如果不按照擦除Sequence(CMD35、CMD36、CMD38) 发送命令设备将在状态寄存器中设置ERASE_SEQ_ERROR位并重置整个擦除序列。
如果主机提供超出范围的地址作为CMD35或CMD36的参数设备将拒绝该命令以ADDRESS_OUT_OF_RANGE位设置响应并重置整个擦除序列。
如果设备接收到非擦除命令(非CMD35、CMD36、CMD38和CMD13)则响应设置ERASE_RESET位重置擦除顺序执行最后一条命令。 如果擦除范围包括写保护块则保留写保护块只擦除非保护块。应该设置状态寄存器中的WP_ERASE_SKIP状态位。如上所述对于块写入设备将通过保持低DAT0来指示擦除正在进行中Busy 中。实际擦除时间可能很长主机可能发出CMD7命令取消选择设备。 根据CMD38 带的参数的不同 擦除可以细分为不同的擦除类型。 在执行Erase命令时主机应该注意到一个擦除组包含多个写块每个写入块可能包含不同的信息片段。当Erase执行时它将应用于擦除组内的所有写入块。在主机执行Erase命令之前它应该确保不再需要各个写入块中的信息。因此为了避免意外删除有效数据最好在擦除整个设备或分区时候使用Erase命令。如果主机只希望清除单个写块则Trim命令可能更合适。 2 Trim
Trim操作类似于erase操作。Trim函数将擦除操作应用于写入块而不是擦除组。Trim功能允许主机识别不再需要的数据以便在后台擦除事件中必要时设备可以擦除数据。应用了trim功能的写块的内容应根据不同的存储技术为0或1。这个值在EXT_CSD中定义。 一旦trim命令成功完成根据不同的内存技术被Trim范围对应的设备地址范围应该表现为被全部0或全部1覆盖。trim命令的影响应该只是将LBA映射到无效物理地址(注意在某些情况下其他flash管理任务也可能在执行该命令期间完成)。 完成TRIM过程分为三个步骤。
首先主机使用ERASE_GROUP_START (CMD35)命令定义范围的起始地址然后使用ERASE_GROUP_END (CMD36)命令定义范围的最后一个地址最后通过发出erase (CMD38)命令启动擦除过程将参数位0设置为1其余参数设置为0。 对于TRIM操作CMD35和CMD36都标识写块的地址而不是擦除组的地址。
如果在擦除序列之外接收到Trim命令(CMD35, CMD36或CMD38)则设备将在状态寄存器中设置ERASE_SEQ_ERROR位并重置整个序列。
如果主机提供超出范围的地址作为CMD35或CMD36的参数设备将拒绝该命令以ADDRESS_OUT_OF_RANGE位设置响应并重置整个擦除序列。
如果设备收到非擦除命令(CMD35、CMD36、CMD38、CMD13之外)则返回ERASE_RESET位重置擦除顺序执行最后一条命令。 未指定所选设备地址的命令不会中止擦除序列。如果Trim范围包括写保护块则保留写保护块只擦除非保护块。应该设置状态寄存器中的WP_ERASE_SKIP状态位。 对于块写入设备将通过保持低DAT0来指示Trim命令正在进行中。实际擦除时间可能很长主机可发出CMD7命令取消选择设备。主机应谨慎执行Trim命令以免意外丢失数据。重置设备(使用CMD0、CMD15或e-MMC硬件重置)或电源故障将终止任何挂起的或活动的Trim命令。这可能会使操作中涉及的数据处于未知状态。 3 Sanitize
Sanitize操作是除TRIM和Erase之外的一个功能用于根据安全删除类型从设备中删除数据。使用Sanitize操作需要设备在物理上删除数据。Sanitize操作是通过向扩展的CSD[165] Sanitize START写入一个值来启动的。当设备执行清理操作时DAT0 会一直拉低 表示Busy中。设备将Busy的情况下继续Sanitize操作直到发生以下事件之一:
消毒操作完成。HPI用于终止操作电源故障。硬件复位。
清理操作完成后未映射的主机地址空间中不应存在任何数据。如果清理操作因HPI、电源故障、CMD0或硬件复位而中断则无法保证未映射的主机地址空间的状态。主机必须通过写入SANITIZE_START[165]来重新启动清理操作并允许操作完成以确保未映射的主机地址空间是清空的。由于主机无法访问正在操作的区域因此需要此功能的应用程序必须与各个设备制造商合作以确保该操作正确执行并了解对设备可靠性的影响。 4 Discard
Discard的操作类似于TRIM。丢弃功能允许主机识别不再需要的数据以便在后台擦除事件中必要时擦除数据。应用了丢弃函数的内容应该是“不关心”。在丢弃操作之后根据设备的不同原始数据可能保留部分或全部可被主机访问。主机不能再访问的数据部分可以被删除或取消映射就像TRIM的情况一样。设备将决定丢弃写块的内容。 Discard和TRIM的区别在于Discard对一个被丢弃的区域的读操作可能会返回部分或全部原始数据。但是在Trim的情况下整个区域将被取消映射或删除并将返回0或1具体取决于内存技术。执行清理时只有被Discard(丢弃)命令未映射的数据部分才会被清理命令删除。当应用“Sanitize”时设备不能保证从设备中完全删除丢弃的数据。
完成Discard丢弃过程分为三个步骤。
首先主机使用ERASE_GROUP_START (CMD35)命令定义范围的起始地址
然后使用ERASE_GROUP_END (CMD36)命令定义范围的最后一个地址
最后通过发出erase (CMD38)命令开始擦除过程其中参数位0和位1设置为1其余参数设置为0。
在丢弃操作的情况下CMD35和CMD36标识写块的地址而不是擦除组的地址。如果在擦除序列之外接收到丢弃命令(CMD35、CMD36或CMD38)之一设备将在状态寄存器中设置ERASE_SEQ_ERROR位并重置整个序列。 如果主机提供超出范围的地址作为CMD35或CMD36的参数设备将拒绝该命令以ADDRESS_OUT_OF_RANGE位设置响应并重置整个擦除序列。 如果接收到非擦除命令(CMD35、CMD36、CMD38、CMD13之外)设备将响应设置ERASE_RESET位重置擦除顺序执行最后一条命令。 未指定所选设备地址的命令不会中止擦除序列。如果丢弃范围包括写保护块则保留写保护块只擦除非保护块。应该设置状态寄存器中的WP_ERASE_SKIP状态位。如上所述对于块写入设备将通过保持低DATO来指示丢弃命令正在进行中。实际擦除时间可能很长主机可能发出CMD7取消选择设备。请谨慎执行Discard命令避免数据丢失。重置设备(使用CMDO、CMD15或e-MMC硬件重置)或电源故障将终止任何未决或活动的丢弃命令。这可能使操作中涉及的数据处于未知状态。 5 Secure Erase
说明: 安全擦除功能是为了向后兼容。新的系统级实现(基于v4.51及更高版本的设备)应该结合使用Erase和Sanitize而不是安全擦除。除了标准的Erase命令之外还有一个可选的Secure Erase命令。安全擦除命令不同于基本的擦除命令它要求设备在发出命令时对内存阵列执行物理擦除操作 而不是只删除映射表信息并要求设备和主机等待操作完成后再进行下一个设备操作。 此外安全擦除命令要求设备根据EXT_CSD中的安全删除类型对擦除组和这些擦除组中标识为擦除的任何项的副本执行安全清除操作。此命令允许具有高安全性要求的应用程序请求设备执行安全操作同时接受可能的擦除时间性能影响擦除时间可能比较长 应用要接受这点。Secure Erase命令的执行方式与Erase命令相同只是Erase (CMD38)命令执行时将参数位31设置为1其他参数位设置为0。有关Erase (CMD38)命令支持的参数组合的详细信息请参见表11;有关与Erase (CMD38)命令相关的参数位的定义请参见表12。请谨慎执行安全擦除命令避免数据意外丢失。重置设备(使用CMDO、CMD15或e-MMC硬件重置)或电源故障将终止任何挂起的或活动的安全擦除命令。这可能使操作中涉及的数据处于未知状态。 参考 免责声明 本文根据公开信息整理旨在介绍更多的存储知识所载文章仅为作者观点不构成投资或商用建议。本文仅用于学习交流 不允许商用。若有疑问或有侵权行为请联系作者处理。