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

JESD B5.1 EMMC协议介绍(十) JESD B51 EMMC 协议解读 阅读详情

6.6.37 Cache Enhancement Barrier (缓存增强屏障)

Barrier功能提供了一种延迟有序刷新缓存数据的方法。使用屏障命令的主要目的是避免执行刷新命令引入的长时间延迟。在某些情况下,host不想立即刷新数据,但是希望在不同的缓存数据到达前后保持顺序。屏障命令使hos能够实现有序目标,但不需要花费额外的刷新延迟,因为实际的刷新可以通过EMMC推迟到稍后的空闲时间。屏障规则的正式定义如下:

假设在请求R_x和R_x+1(0<x<N)之间存在一个屏障,则必须在请求Rx+1..RN之前将所有请求R0..Rx刷新到非易失性存储器中。

在两个屏障之间,EMMC可以按任意顺序将数据写入非易失性存储器。如果host想要保留特定的顺序,它应该刷新缓存或在重要的位置设置另一个屏障。

通过向FLUSH_CACHE字节(ext_csd寄存器的第32位字节)的BARRIER位写入来设置障碍。完成编程后,host下发CMD13命令从状态寄存器中读取任何错误,该错误与普通写请求的定义相同。错误可能会影响自上次刷新操作以来缓存中写入的任何数据。

EMMC应支持在两个刷新命令之间的设置任意数量的障碍命令。在两个刷新命令之间存在多个障碍命令的情况下,根据障碍规则,可以将缓存数据的子集提交到非易失性存储器中。在内部,EMMC可能有一个障碍量的上限,它可以吸收而无需刷新缓存。也就是说,如果host超过了这个障碍量,EMMC可能会在内部发出正常的刷新命令。

EMMC应通过BARRIER_SUPPORT字节(est_csd寄存器的486字节)公开其是否支持屏障功能。如果EMMC不支持障碍功能,则该寄存器应为零。如果EMMC支持障碍功能,则该寄存器应设置为1。

假设EMMC支持障碍功能,如果FLUSH_CACHE字节的BARRIER位被设置,则应继续执行障碍操作。

如果缓存完全满了和/或缓存无法接收下一个访问的数据(根据CMD23中指示的块计数或一般启动的单个/开放式多块写入),那么EMMC还需要存储下一个访问的数据且必须在本规范的其他地方指定的超时内完成。处理新数据和可能刷新一些旧的缓存数据的实际算法留给设计人员实现。

注意:当发出强制编程写请求(CMD23的第24位打开)或可靠写请求(CMD23的第31位打开)时,host应了解到数据将被写入非易失性存储器,即使已发出障碍命令,可能会在任何缓存数据操作之前写入。

因此,写入非易失性存储器的顺序显得特别重要,对host来讲,需要在强制编程或可靠写请求之前发出刷新命令。

host通过设置BARRIER_EN的第0位(ext_csd寄存器的第31字节)来决定是否设置障碍功能。

6.6.38 Cache Flushing Policy 缓存刷新策略

host会要求EMMC按顺序从缓存中刷新数据。为了保证按顺序刷新,host可能会对EMMC进行设置,刷新EMMC缓存或使用障碍命令。

JESD B5.1 EMMC协议介绍(十三) JESD B51 EMMC 协议解读 阅读详情

相关推荐

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

JESD B51 EMMC 协议解读

MemoryUp的博客 675

emmc5.1协议规范

主要介绍eMMC5.1协议规范

JESD84-B51标准解读eMMC总线协议:手把手教你用逻辑分析仪抓取CMD/DAT信号

本文基于JESD84-B51标准详细解析eMMC总线协议,重点介绍HS400高速模式下使用逻辑分析仪捕获CMD/DAT信号的技术要点。从硬件连接到协议解码,涵盖命令帧结构、响应类型识别及数据包分析,提供信号完整性优化和异常排查的实用技巧,助力开发者高效调试eMMC存储设备。

weixin_29199873的博客 521

eMMC协议】6.6.30 - 6.6.39

然而,可以接受的是,在接收高优先级任务请求时,设备可能已经开始准备执行的简单任务,但没有在QSR中将它们标记为“准备执行”。参数是:块计数,任务ID,优先级,数据方向和其他参数(即,标签请求,上下文ID,可靠写入,强制编程)刷新操作是指从主机到设备将缓存的数据写入非易失性内存的需求。在进行刷新之前,设备可以自主地将数据写入非易失性内存,但是在进行刷新操作之后,易失性区域中的所有数据必须写入非易失性内存。当缓存打开时,它应用于整个eMMC设备(当刷新缓存时,所有分区的数据都将被刷新,此操作与活动分区无关)

Blank_time的博客 1664

深入讲解eMMC简介

如前所述,由于eMMC使用的是并行接口,这就限制了它的最高工作频率,目前eMMC能支持的最高工作频率是200MHz,及它的最大传输带宽为400MB/s。其中的最高的320Bytes是属性块,提供了设备的能力信息,这些属性是只读的,不能被改写。这是16bits的寄存器,它规定设备的等级,设备能通过主机进行设置来增强设备的性能,例如总线的长度、传输的速率等参数。1.协议接口不一样。这是128bits的寄存器,里面存放单个设备独一无二的信息,它符合eMMC协议,当设备处于识别状态的时候,信息能够被主机访问。

youzhangjing_的博客 1万+

UFS3.1协议中文学习讲解(1~4)

UFS协议中文学习讲解,按协议手册从头到尾的顺序进行讲解

工作于eMMC,UFS的大头兵,喜欢汽车 638

emmc初始化(mmc_initialize)过程

4.主机发送CMD2命令,eMMC会返回CID (Card Identification)1.电源上电后,eMMC会进入BOOT模式,此时eMMC的引脚会被配置为SDIO模式。7.主机发送ACMD6命令,eMMC会配置自身的工作模式,如时钟频率、总线宽度等。8.主机发送CMD13命令,eMMC会返回状态寄存器中的状态,如是否有错误等。3.主机发送CMD1命令,eMMC会返回自身的一些信息,如电压、容量等。2.此时,eMMC会等待主机发出CMD0命令,进入IDLE状态。

mudh118的博客 5423

Linux MMC子系统 - 3.eMMC 5.1常用命令说明(1)

本文对eMMC 5.1协议定义的命令做一个简单的说明,以便在使用具体的命令时有个参考。Basic commands (class 0 and class 1),基本命令;Block-oriented read commands (class 2),面向块的读命令;Class 3 commands,Class 3命令;Block-oriented write commands (class 4),面向块的写命令...

Ailson Jack的专栏 2965

SDIO接口(2)——SD卡寄存器

SD卡的接口中定义了8个寄存器:OCR,CID,CSD,RCA,DSR,SCR,SSR,CSR。

dkmknjk的博客 7947

SD卡驱动之中断函数

static irqreturn_t s3cmci_irq(int irq, void *dev_id) {  struct s3cmci_host *host = dev_id;  struct mmc_command *cmd; //SDI命令状态寄存器,数据状态寄存

1333

emmc基础知识

emmc基础知识

a2591748032的博客 4866

自定义emmc初始化命令

首先我们需要看emmc手册协议 这是我看的主机需要发送一些cmd 让设备进入transfer传输状态。

搞Linux风耀的博客 1207

EMMC5.1协议讲解(3功能描述)

本节讲emmc的启动操作的全部流程

SUNtao99的博客 7297

黑猫带你学eMMC协议第27篇:什么是eMMC的动态容量(Dynamic Capacity)?

本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 文章所在专栏:《黑猫带你学:eMMC协议详解》 1 什么是动态容量 长期对存储设备的使用以及flash的老化,将会在存储设备内部产生坏块。动态容量管理机制的目的就是在设备产生大量坏块后,可以改变设备的容量,从而延长寿命的使用时间。 2 相关命令 ecsd59的值为0x01时候,class6类型的命令(cmd28、29、20、31)就不是用来操作写保护的了,而是进行动态容量相关操作。 .

黑猫奥利奥的博客 2015

emmc 总结

一、命令说明 mmc_go_idle 发送CMD0指令,GO_IDLE_STATE 使mmc card进入idle state。 虽然进入到了Idle State,但是上电复位过程并不一定完成了,这主要靠读取OCR的busy位来判断,而流程归结为下一步。 mmc_send_op_cond 发送CMD1指令,SEND_OP_COND 这里会设置card的工作电压寄存器OCR(好像是ho...

chenpuo的博客 7356

JESD B5.1 EMMC协议介绍(一)

JESD B51 EMMC 协议解读

MemoryUp的博客 1804

EMMC 流程讲解

EMMC 基本命令 CMD0 cmd0带参数0xF0F0F0F0,GO_PRE_IDLE_STATE是软件reset命令,使得设备进入pre_idle状态 cmd0带参数0xFFFFFFFA,该命令使得device进入boot operation mode,device将主动发送数据到总线上,数据区域和大小由ECSD寄存器控制。 cmd0带参数0x00000000, GO_IDLE_STATE,r...

申小白 1万+

eMMC CMD、RESP详解(eMMC总线协议扩展篇)

定义了四种类型来控制eMMC所谓的广播命令(broadcast cmd)就是说一台设备产品上不一定只有一个eMMC设备,host想要发送某一个命令给所有的eMMC设备,这就是广播命令。所谓的点对点命令(point-to-point cmd)就是说一台设备产品上有多个eMMC设备,host想要发送给指定的一个eMMC设备的情况,也叫地址命令。

qq_36781842的博客 2326
上一篇: JESD B5.1 EMMC协议介绍(十五)
下一篇: JESD B5.1 EMMC协议介绍(十七)
南风轻拂_
博客等级 码龄3年 50粉丝 31原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

南风轻拂_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值