2.2.1 Read Data
Host 从 eMMC Device 读取数据的流程如上图所示。
如果 Host 发送的是 Single Block Read 的 Command,那么 eMMC Device 只会发送一个Block 的数据(一个 Block 的数据的字节数由 Host 设定或者为 eMMC Device 的默认值,更多细节请参考eMMC 工作模式 章节)。
如果 Host 发送的是 Multiple Block Read 的 Command,那么 eMMC Device会持续发送数据,直到 Host 主动发送 Stop Command。
NOTE:
从 eMMC Device 读数据都是按 Block 读取的。
2.2.2 Write Data
Host 向 eMMC Device 写入数据的流程如上图所示。
如果 Host 发送的是 Single Block Write Command,那么 eMMC Device 只会将后续个 Block的数据写入的存储器中。
如果 Host 发送的是 Multiple Block Write Command,那么 eMMC Device会持续地将接收到的数据写入到存储器中,直到 Host 主动发送 Stop Command。
eMMC Device 在接收到一个 Block 的数据后,会进行 CRC 校验,将校验结果通过 CRC Token 发送给Host。
发送完 CRC Token 后,如果 CRC 校验成功,eMMC Device 会将数据写入到内部存储器时,此时 DAT0信号会拉低,作为 Busy 信号。Host 会持续检测 DAT0 信号,直到为高电平时,才会接着发送下一个 Block 的数据。如果CRC 校验失败,那么 eMMC Device 不会进行数据写入,此次传输后续的数据都会被忽略。