一种eMMC主机控制器、eMMC控制系统及控制方法与流程

文档序号:17379667发布日期:2019-04-12 23:42阅读:1905来源:国知局
导航: X技术> 最新专利> 信息存储应用技术
一种eMMC主机控制器、eMMC控制系统及控制方法与流程

本公开涉及嵌入式多媒体卡控制相关技术领域,具体的说,是涉及一种emmc主机控制器、emmc控制系统及其控制方法。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,并不必然构成在先技术。

多媒体卡(mmc)是按照应用标准被定义的特定类型的快闪存储卡,emmc(embeddedmultimediacard)为嵌入式多媒体卡,emmc(embeddedmultimediacard)是mmc协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格,是按照应用标准被定义的嵌入在或者插入主机设备如手机或平板等电子设备使用的设备存储器。emmc协议是mmc协会制定的主要针对移动设备的内嵌式存储器标准协议,是使用非常广泛的移动设备本地存储解决方案,极大的简化移动设备存储器的设计。在嵌入式多媒体卡emmc的配置使用时,emmc被插入(或“被嵌入”)到如智能手机等移动主机设备中,emmc通过总线与被连接主机设备传输数据信号、控制信号、命令、时钟和/或电源信号。

随着科技的进步,移动设备不断的更新换代,移动设备对于存储器内数据的读写速率的要求在不断的提高。但很长时间以来,数据从主机端写入emmc控制器之前和读出emmc控制器之后都是由软件来处理和控制。随着数据传输速度的增加,主机端的系统资源会被emmc的数据读写大量的占用。

针对上述情况,emmc5.1协议给出了一些设计规范和指导原则,通过在主机控制器外增加一个命令队列引擎(commandqueueingengine,简称cqe)的方式来解决上述问题。如图2所示,cqe负责管理主机软件和多媒体存储卡emmc之间的接口以及数据传输。cqe通过存储在系统内存中的任务描述符列表(tdl)和一个门铃寄存器来从软件获得任务。若要实现上述功能,首先需要在主机中有一块较大的内存,内存中的tdl由32个固定大小的槽组成,而每个槽是由一个任务描述符和一个传输描述符组成。任务描述符主要包含需要发送给多媒体存储卡emmc的命令信息,传输描述符主要给出需要传输的数据的位置。门铃寄存器则将各个槽的状态反应给cqe。可以看出emmc5.1协议给出的设计指导虽然功能很完善,但是却需要占用较多的片上存储资源,同时设计的复杂度很大。



技术实现要素:

本公开为了解决上述问题,提出了一种emmc主机控制器、emmc控制系统及其控制方法,在主机控制器设置单独的命令通路,命令通路包括直接命令通道和缓存队列命令通道,通过直接命令通道和缓存队列命令通道配上控制状态机的方式,省去了命令部分对外部系统内存的占用,同时将cqe的功能在主控制器内部实现,节省了系统内存并在保证功能的前提下使硬件设计易于实现,在主机端划分软件和硬件的作用范围,并尽量将数据的控制处理多交给硬件部分来处理,从而分担cpu的处理任务。

为了实现上述目的,本公开采用如下技术方案:

一种多媒体存储卡emmc主机控制器,用于实现主机端与emmc的数据、命令或/和响应信号的传输,包括命令响应通道和数据传输通道,命令响应通道包括总线接口、控制单元模块与响应同步控制单元和命令同步控制单元,所述总线接口、控制单元模块与命令同步控制单元依次连接用于实现命令的传输,所述总线接口、控制单元模块与响应同步控制单元依次连接用于实现响应的传输,所述总线接口与总线连接,所述命令响应通道和数据传输通道都要通过物理层接口与多媒体存储卡emmc连接;

所述控制单元模块包括相互连接的命令通路和控制状态机,所述命令通路包括直接命令通道和缓存命令通道,所述命令通路的两个通道分别与命令同步控制单元连接;所述直接命令通道用于直接命令的传输,缓存命令通道用于传输除直接命令之外的命令。本公开采用不同于emmc5.1协议给出的设计思路,在主机控制器内部以一路直接命令通道加一路缓存队列命令通道配上主状态机的方式,省去了命令部分对外部系统内存的占用,同时将cqe的功能在主控制器内部实现。节省了系统内存并在保证功能的前提下使硬件设计易于实现。

与现有技术相比,本公开的有益效果为:

(1)本公开通过在主机控制器设置单独的命令通路,命令通路包括直接命令通道和缓存队列命令通道,通过直接命令通道和缓存队列命令通道配上控制状态机的方式,省去了命令部分对外部系统内存的占用,同时将cqe的功能在主控制器内部实现,节省了系统内存并在保证功能的前提下使硬件设计易于实现,在主机端划分软件和硬件的作用范围,并尽量将数据的控制处理多交给硬件部分来处理,从而分担cpu的处理任务。

(2)本公开通过双命令通道模式,在保证功能和性能的前提下,大大减少了设计的复杂度,降低emmc主机控制器的实现难度。

(3)本公开缓存队列命令通道采用寄存器组加fifo的结构,代替传统的系统内存命令描述符方式,减少了系统内存的占用。

(4)本公开给出了emmc主机控制器的完整解决方案,对emmc协议中未定义的主机端部分的实现具有很好的指导借鉴意义。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的限定。

图1是根据一个或多个实施方式的emmc控制系统100的框图;

图2是emmc控制系统数据传输emmc5.1协议设计指导框图;

图3是本公开实施例emmc主机控制器310结构示意图;

图4是本公开实施例控制单元模块311的结构示意图;

图5是本公开实施例的控制状态机的状态转移图;

其中:100、emmc控制系统,200、多媒体存储卡emmc,210、多媒体存储卡emmc控制器,220、快闪存储器,300、主机端,310、主机控制器,311、控制单元模块,311.1、直接命令通道,311.2、缓存命令通道,311.3、命令解析模块,311.4、响应对比模块,311.5、控制状态机,311.6、状态寄存器。

具体实施方式:

下面结合附图与实施例对本公开作进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将结合附图对实施例进行详细描述。

图1是本公开的某些实施例的emmc控制系统100的框图,emmc控制系统100包括主机端300和从机端200,所述从机端为从机设备,可以多媒体存储卡emmc200。多媒体存储卡emmc200可以包括相互连接的多媒体存储卡emmc控制器210和快闪存储器220,多媒体存储卡emmc200通过多媒体存储卡emmc控制器210接受主机端300的数据或/和命令传输,多媒体存储卡emmc控制器210控制根据主机端300的命令将数据写入快闪存储器220或者从快闪存储器220中读取数据。

主机端300是能够处理数据的设备,所述能够处理数据的设备可以为中央处理单元cpu、处理器、微处理器其中任意一种。主机端300和多媒体存储卡emmc200连接后构成emmc控制系统100可以设置在电子设备内,在电子设备内实现数据的存储和传输。电子设备可以包括现有技术中任意设备,可以为个人计算机、手机、平板电脑、音视频设备(如摄像机、照相机和记录仪等)、游戏终端、播放器、导航设备等。

在一个或多个实施方式中公开的技术方案中,如图3所示,一种多媒体存储卡emmc主机控制器310,用于实现主机端300与emmc200的数据、命令或/和响应信号的传输,包括命令响应通道、数据传输通道和物理层接口,命令响应通道包括总线接口、控制单元模块311、响应同步控制单元和命令同步控制单元,所述总线接口、控制单元模块311与命令同步控制单元依次连接用于实现命令的传输,所述总线接口、控制单元模块311与响应同步控制单元依次连接用于实现响应的传输,所述总线接口与系统总线连接,所述命令响应通道和数据传输通道都要通过物理层接口与多媒体存储卡emmc200连接;数据的传输和命令的响应采用不同的通道进行,实现了数据传输的同时命令响应通道并行传输命令,减少了等待时间,提高了传输的效率。

数据的传输和命令的传输可以分别通过不同的总线进行传输,本实施例的主机控制器310的总线接口可以包含ahb和axi两个系统总线接口,分别用于命令的传输和数据的传输。数据的传输可以通过axi总线进行传输,命令的传输可以通过ahb总线进行传输。对主机控制器310相关寄存器进行配置和读取以及发送命令给多媒体存储卡emmc200都可以从ahb总线进入。命令信息经过控制单元模块311(controlunit)处理后发送到命令同步控制单元(cmdctrl)做同步,然后给到物理层(phy)发送给多媒体存储卡emmc200(emmcdevice)。再从多媒体存储卡emmc200中接收响应,经过物理层进入响应同步控制单元(respctrl)同步,然后给回控制单元进行对比或者提供给软件。

响应同步控制单元的具体硬件结构可以包括:单比特数据同步模块、响应长度判断状态机和7比特循环冗余检验模块(crc-7),所述单比特数据同步模块、响应长度判断状态机和7比特循环冗余检验模块(crc-7)依次连接。命令同步控制单元具体硬件结构可以包括:单比特数据同步模块和7比特循环冗余检验模块(crc-7),所述单比特数据同步模块和7比特循环冗余检验模块(crc-7)连接。响应同步控制单元和命令同步控制单元分别负责响应和命令的同步与循环冗余校验。

数据传输通道可以包括依次连接的总线接口、读数据控制单元、写数据控制单元和物理层接口。写入多媒体存储卡emmc200或从多媒体存储卡emmc200读取的数据可以是直接通过axi总线传输的。数据传输的控制主要是控制单元模块311对命令通路中带数据传输的命令的解析来进行的。读数据控制单元、写数据控制单元分别接受控制单元模块311发送的数据传输信息,控制数据通过总线接口传输至物理接口,通过物理接口将数据传输至多媒体存储卡emmc200。所述数据传输控制信息可包括数据传输的类型、读取数据的地址和写入数据的地址以及数据传输的动作信号。数据传输的类型可以包括写数据和读数据,数据传输的动作信号可以定义为时钟信号的上升沿。

如图4所示,本实施例控制单元模块311包括相互连接的命令通路和控制状态机311.5,所述命令通路包括直接命令通道311.1和缓存命令通道311.2,所述命令通路的两个通道分别与命令同步控制单元连接;所述直接命令通道311.1用于直接命令的传输,缓存命令通道311.2用于传输除直接命令之外的命令。所述直接命令为需立即执行的命令,包括但不限于初始化多媒体存储卡emmc的命令、多媒体存储卡emmc状态读取命令和停止数据传输的命令。对于立即执行的命令需要优先执行,不需要等待前面的命令执行完再执行,例如,正常的数据读写命令执行过程中,系统需要读取设备的状态,该命令可以直接“插队”,通过直接命令通道311.1直接将直接命令将命令传输并执行,直接读取从机设备的运行状态。

本实施例设置了两个命令通道,命令通道的数量可以根据命令的分类进行设置,本实施例通过设置两个命令通道就能够实现命令的传输,同时硬件设置简单,操作方便。

具体的,所述命令通路的两个通道由控制状态机311.5处理后与命令同步控制单元连接;所述直接命令通道311.1用于直接命令的传输,每次只能传输一条命令;缓存命令通道用一次发送多条命令,缓存于缓存通道中的同步fifo中,根据命令的先后顺序逐条发送。若两个通道中都有命令要传输,控制状态机311.5优先发送直接命令通道311.1中的命令,等待命令传输完成后再判断决定发送下一条命令。两个通道中的命令都可以传输具有带数据传输的命令或/和有响应的命令。

在本公开的某些实施例中,直接命令通道311.1和缓存命令通道311.2可以通过设置寄存器搭建相应的命令传输通道。在传输过程中主要是命令的传输需要不断的读取和写入或者不断确认相应响应状态,加重处理器的处理负担,通过设置专用的命令通路,对于直接命令直接发送,对于不需要立即执行的命令可以通过直接大批量读取后缓存之缓存命令通道311.2再逐条执行,释放了系统的内存空间。通过在缓存明亮通道的硬件通路中实现命令的逐条执行不需要软件的循环执行,减轻了主机端的cpu的数据处理负担。

直接命令通道311.1可以包括直接命令字节计数寄存器、直接命令参数寄存器和直接命令控制寄存器。直接命令通道311.1实现直接命令传输的一种实现方式,本实施例的直接命令通道311.1三个寄存器存放一个指令簇,等到当前命令发送完成之后才能发送下一个指令簇。直接命令字节计数寄存器内的数值是以字节为单位的,主要用于非数据块传输或小数据量传输,emmc开放读写的时候该寄存器配置为全0。直接命令参数寄存器用来接收来自软件的emmc的命令参数,命令参数不会被处理,会直接拼接到命令中发送给多媒体存储卡emmc200。直接命令控制寄存器中的信息主要包括命令类型,命令是否需要数据传输,数据传输方向,是否有命令响应,响应的长度等。这些信息为控制状态机311.5的跳转提供依据,同时会产生数据控制信号。直接命令指令簇如表1所示。

表1直接命令指令簇

本实施例缓存命令通道311.2可以包括缓存命令参数寄存器、缓存命令控制寄存器、缓存命令响应寄存器、缓存命令响应位屏蔽寄存器和同步fifo。采用寄存器组加fifo的方式,系统中的需要发送的命令可以批量发送至缓存命令通道311.2,在缓存命令通道311.2内缓存并进行传输,代替传统的系统内存命令描述符方式,减少了系统内存的占用。

缓存命令通道311.2实现命令传输的实现方式为每次写缓存命令响应位屏蔽寄存器的同时,四个寄存器会拼接为128位的数据写入同步fifo(先入先出队列)来实现缓存。缓存命令簇写四个寄存器在顺序上最后写缓存命令响应位屏蔽寄存器。缓存命令参数寄存器的作用与直接命令参数寄存器类似,用于接收来自软件的emmc的命令参数,命令参数不会被处理,会直接拼接到命令中发送给多媒体存储卡emmc200。缓存命令控制寄存器的高16位用来存放数据传输的块数,每个数据块都是512字节。emmc开放读写的时候该寄存器高16位需要全配置为0。缓存命令控制寄存器的低16位作用与直接命令控制寄存器类似,信息主要包括命令类型,命令是否需要数据传输,数据传输方向,是否有命令响应,响应的长度等。缓存命令响应寄存器主要针对带数据传输且有响应的命令,缓存命令响应寄存器用于接收软件提供的正确无异常的响应值,然后配合缓存命令响应位屏蔽寄存器来与多媒体存储卡emmc200返回的响应进行对比,若有异常就上报中断。缓存命令指令簇可以如表2所示。

表2缓存命令指令簇

控制单元模块311还包括命令解析模块311.3,所述命令解析模块311.3用于解析命令信息,命令解析模块311.3与控制状态机311.5连接用于提供命令发送的控制信息。控制单元模块311还包括响应对比模块311.4,所述响应对比模块311.4分别与响应同步控制单元和缓存命令通道311.2连接。

命令以不同的通道发送是通过ahb总线以写不同地址的寄存器的方式来实现。两个通道可以同时发送命令,具体哪个通道的命令先发给多媒体存储卡emmc200是由控制状态机311.5(controlfsm)来控制。分别定义直接命令通道311.1和缓存命令通道311.2的寄存器地址;在发送命令信息前,根据命令类型写入该命令传输通路的地址信息,所述地址信息为直接命令通道311.1的寄存器地址或者缓存命令通道311.2的寄存器地址;根据地址信息将相应的命令发送至相应的命令通道。

控制状态机311.5的控制转移图如图5所示。控制状态机311.5是主机控制器310中命令通道的核心控制逻辑,具体的控制过程可以如下:控制状态机311.5可以根据当前主机控制器310的传输状态从两个通道中的一个来读取命令,然后让命令解析模块311.3(commandanalysis)311.3将命令信息进行解析,然后决定何时发送信息。若命令有响应对比信息,缓存命令通道311.2的命令支持硬件内部响应对比,则接收到emmc返回的当前命令的响应后,响应会进入响应对比模块311.4(responsecontrast)311.4与缓存命令通道311.2中命令携带的正确响应进行对比,并将对比结果反映给主机控制器310的状态寄存器311.6。若命令带有数据传输的信息,则命令解析模块311.3会产生数据控制信息给到数据通路,以决定数据是读还是写,数据传输的多少等,并会根据数据通路返回的信息反馈给控制状态机311.5和状态寄存器311.6。在数据传输过程中控制状态机311.5允许直接命令通道311.1发送数据终止命令或者多媒体存储卡emmc状态读取命令。若为终止命令,则状态机会跳到空闲状态,若为读状态命令,状态机发送读状态命令后会回到数据传输状态。

基于上述的一种emmc控制系统100的控制方法,包括命令传输控制方法和数据传输控制方法,所述命令传输控制方法包括如下步骤:

主机端发送命令信息,根据不同的命令类型分别发送至直接命令通道311.1或者缓存命令通道311.2;

控制状态机311.5选取其中一个命令通道的读取命令;

解析读取的命令,确定命令发送的时间和命令是否有响应对比信息,如果有响应对比信息,接收多媒体存储卡emmc200返回当前命令的响应信息,将接收的响应信息与响应对比信息比对,生成控制信息;

控制状态机311.5根据控制信息将读取的命令发送至多媒体存储卡emmc200。

作为进一步的改进,所述根据不同的命令类型分别发送至直接命令通道311.1或者缓存命令通道311.2的方法,具体为:

分别定义直接命令通道311.1和缓存命令通道311.2的寄存器地址;

在发送命令信息前,根据命令类型写入该命令传输通路的地址信息,所述地址信息为直接命令通道311.1寄存器地址或者缓存命令通道311.2的寄存器地址;

根据地址信息将相应的命令发送至相应的命令通道。

作为进一步的改进,本实施例解析读取的命令还包括解析命令信息中是否有数据传输的信息,如果有,解析出数据传输控制信息给用于控制数据。

作为进一步的改进,控制状态机311.5选取其中一个命令通道的读取命令的具体方法为:

控制状态机311.5优先选取直接命令通道311.1中的命令,等待命令传输完成后再判断决定发送下一条命令。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 具有解码器的存储器系统、其操...
  • 一种带有锁定功能的固态硬盘的...
  • 一种安装拆卸方便扩容的云数据...
  • 生成铃声文件的方法、装置及计...
  • 磁盘装置以及读取处理方法与流...
  • 一种具有降噪功能的测试治具的...
  • 一种可拆卸的微型存储模块的制...
  • 用于车载电脑的硬盘安装支架的...
  • 一种内外网间数据交换装置的制...
  • 使用来自多个存储单元和奇偶校...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

深圳SEO优化公司宝鸡百度竞价包年推广多少钱大芬百度网站优化排名报价德宏seo价格丽江百姓网标王公司曲靖优化报价铜陵模板制作吕梁网络广告推广黔西南阿里店铺运营推荐丹竹头企业网站建设公司焦作模板制作报价营口百度竞价包年推广报价张掖网站推广方案哪家好郴州百姓网标王推广价格株洲关键词按天计费推荐新乡关键词按天计费价格红河网站关键词优化哪家好海南网站排名优化哪家好大鹏网站设计公司宝鸡企业网站制作伊犁优秀网站设计报价东营百度网站优化排名报价镇江网站定制推荐枣庄百度seo哪家好伊春百度seo哪家好北海网站优化按天扣费吕梁seo推荐贺州seo网站推广公司眉山外贸网站设计公司木棉湾英文网站建设公司平凉百度seo哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化