JESD B5.1 EMMC协议介绍(十三)

本文详细介绍了EMMC协议中的后台操作和高优先级中断(HPI)机制。后台操作分为手动和自动启动,有助于在host空闲时执行维护任务,而HPI则允许EMMC中断低优先级操作以响应高优先级请求,确保高效的数据处理。此外,还讨论了上下文管理在优化读写性能中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6.6.25 Background Operations 后台操作

EMMC需要进行各种内部的维护操作。为了在读写等时间关键操作时减少延迟,最好在host 没有启动服务时,执行维护操作。其操作分为两种类型:

前台操作 - EMMC执行host命令的操作,例如读取或写入命令;

后台操作 - EMMC不执行host服务时的操作;根据它们如何启动,后台操作分为两种类型:手动启动的后台操作和自主启动的后台操作。

手动启动方法:为了让EMMC知道host不需要它并且可以执行后台操作,host应向BKOPS_START(ext_csd寄存器的第[164]字节)写入任何值从而手动启动后台操作。EMMC将一直保持繁忙状态,直到后台动作执行结束

由于前台操作比后台操作具有更高的优先级,host可以使用高优先级中断机制(参见6.6.26)中断正在进行的后台操作。为了让EMMC知道host是否会定期启动后台操作,host应将BKOPS_EN(ext_csd寄存器的第163字节)的第0位(MANUAL_EN)设置从而表示host将定期写入BKOPS_START。然后,EMMC可以将一些维护操作推迟到host写入BKOPS_START的间隙进行处理。

EMMC在BKOPS_STATUS(ext_csd寄存器的第246字节)的位[1:0]中说明其后台操作状态,通过四个可能的级别之一进行表示:0x0:不需要操作;0x1:有未完成的操作-非关键;0x2:有未完成的操作-性能受到影响;0x3:有未完成的操作-关键。

host应定期检查状态并根据需要启动后台操作,以便EMMC有足够的时间进行维护操作,从而帮助减少前台操作的延迟。如果状态为3级(“关键”),某些操作可能会超出原始超时时间,因为不能再延迟维护操作。host应该给EMMC足够的时间进行后台操作,以避免首先达到这个级别。

为了使host能够快速检测到更高的级别,每当级别为2或3时,EXCEPTION_EVENTS_STATUS中的URGENT_BKOPS位都会被设置。这会自动设置EMMC状态中的EXCEPTION_BIT。这使得host能够在每个R1类型的响应中检测到紧急级别。host仍应定期从BKOPS_STATUS字节中读取完整状态,并根据需要启动后台操作。

后台操作功能是此规范的强制要求。BKOPS_SUPPORT的第0位(即ext_csd寄存器的第502字节)应该被设置。

自主启动方法;如果host想要在EMMC空闲时间执行后台操作,则应通过将BKOPS_EN字段(即ext_csd寄存器的第163字节)中的AUTO_EN设置为1b,来向EMMC发出信号。当设置了此位时,EMMC可以在适当的时候启动或停止后台操作,而无需向host发出任何通知。

当设置了AUTO_EN位时,host应保持EMMC电源有效。host可以根据其电源限制或其他考虑因素随时设置或清除此位。

6.6.26 High Priority Interrupt (HPI) 高优先

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

南风轻拂_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值