6.6.16 Extended Security Protocols Pass Through Commands 6.6.16 扩展安全协议透传命令
扩展协议透传命令是一种host使用EMMC协议和EMMC通信时下发CMD53和CMD54两个透传命令使host和EMMC使用其他常用的安全协议进行通信的功能。
为了支持与EMMC的扩展安全协议通信,host需要满足以下三个基本要求:
1)发现EMMC是否支持扩展协议透传命令(CMD53-PROTOCOL_RD和CMD54-PROTOCOL_WR);
2)从EMMC接收扩展协议数据;
3)向EMMC发送扩展协议数据。
为了验证EMMC是否支持扩展协议透传命令,host需要确认EMMC是否支持class10相关的命令(在CSD寄存器中的CCC字段)。
且EMMC接收和发送扩展协议信息,host 应下发CMD53和CMD54。
注意,CMD53和CMD54是EMMC标准中允许透传其他协议的基本基础设施。可以在单独的JEDEC安全扩展标准中引用能够在EMMC上实现的其他协议。
6.6.16.1 PROTOCOL_RD - CMD53
该命令的工作方式类似于读取多块命令(host 下发CMD18),并从EMMC中检索与安全协议相关的信息,同时将其引用的安全协议将作为命令参数进行传递,host必须下发CMD23(SET_BLOCK_COUNT)提前确认好要传输的块数。无论在EXT_CSD中定义的NATIVE_SECTOR_SIZE或DATA_SECTOR_SIZE,其扇区大小为固定的512字节,有关CMD53字段的详细描述,请参见表58。
6.6.16.2 PROTOCOL_WR - CMD54
该命令的工作方式类似于多块写入命令(CMD25),并向EMMC发送与安全协议相关的信息。同时将其所引用的安全协议将在命令参数中传递。host必须下发CMD23(SET_BLOCK_COUNT)提前提供要传输的块数。无论在EXT_CSD中定义的NATIVE_SECTOR_SIZE或DATA_SECTOR_SIZE,其扇区大小为固定的512字节。
此命令的在busy编程超时被定义为不超过10秒,并且在HPI中不可中断。
如果在CMD54的繁忙编程时间内使用HPI,则EMMC将忽略HPI。有关CMD54字段的详细描述,请参见表58。
6.6.16.3 Security Protocol Type 安全协议类型
在CMD53和CMD54中的安全协议参数字段的含义和编码应与SCSI命令安全协议IN和安全协议OUT中的SECURITY PROTOCOL字段的定义完全相同,该定义在INCITS、T10 SPC-4文档中给出。且有关扩展安全支持的协议的进一步信息,请参阅单独的JEDEC安全扩展标准。
6.6.16.4 Security Protocol Information 安全协议信息
当EMMC收到下发的Security protocol value 为00h的CMD53(PROTOCOL_RD)命令后,将会返回如table15所示的一系列支持的协议。
这些值应按升序排列,从00h开始。高位不足时以0填充。
注意,能够支持多个安全系统的EMMC可能在同一次开机会话期间不能同时支持多个安全协议。
6.6.16.5 Error handling 异常处理
ext_csd寄存器中的EXCEPTION_EVENTS_STATUS字段的第4bit名为EXTENDED_SECURITY_FAILURE,用于表示在使用PROTOCOL_RD和PROTOCOL_WR命令或使用扩展协议时发生的错误。如果发生此类错误,host可以在EXT_CSD的EXT_SECURITY_ERR [505]字段中读取错误的详细原因。
6.6.17 Production state awareness 生产状态感知
产环境和实际使用环境下,EMMC内部存储的数据