《一种EMMC的开机优化方法及其装置.pdf》由会员分享,可在线阅读,更多相关《一种EMMC的开机优化方法及其装置.pdf(10页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104182264A43申请公布日20141203CN104182264A21申请号201410445725122申请日20140903G06F9/44520060171申请人福州瑞芯微电子有限公司地址350003福建省福州市鼓楼区软件大道89号18号楼72发明人林涛74专利代理机构福州市仓山区景弘专利代理事务所普通合伙35219代理人林祥翔吕元辉54发明名称一种EMMC的开机优化方法及其装置57摘要本发明公开一种EMMC的开机优化方法及其装置,其中方法包括如下步骤处理器发送预读取的数据的起始地址到EMMC的DMA控制器;处理器使能EMMC的命令寄存器;EMMC的DMA控制器。
2、在EMMC的命令寄存器被使能后根据处理器发送预读取的数据的起始地址将预读取的数据发送到内存;间隔预设的一段时间后,处理器去能EMMC的命令寄存器,DMA控制器停止发送;处理器从内存读取预读取的数据。本发明减少了读取文件的时间,达到了减少开机时间的目的,优化了开机效果。51INTCL权利要求书1页说明书6页附图2页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书6页附图2页10申请公布号CN104182264ACN104182264A1/1页21一种EMMC的开机优化方法,其特征在于,包括如下步骤处理器发送预读取的数据的起始地址到EMMC的DMA控制器;处理器使能EMMC的命。
3、令寄存器;EMMC的DMA控制器在EMMC的命令寄存器被使能后根据处理器发送预读取的数据的起始地址将预读取的数据发送到内存;间隔预设的一段时间后,处理器去能EMMC的命令寄存器,DMA控制器停止发送;处理器从内存读取预读取的数据。2根据权利要求1所述的EMMC的开机优化方法,其特征在于所述间隔预设的一段时间具体包括处理器设置预设的一段时间到定时器并使能定时器;定时器在预设的一段时间到达后通知处理器。3根据权利要求2所述的EMMC的开机优化方法,其特征在于所述定时器在预设的一段时间到达后通知处理器包括定时器在预设的一段时间到达后产生一个中断通知处理器。4根据权利要求2或3所述的EMMC的开机优化。
4、方法,其特征在于还包括如下步骤处理器加载内存的数据并完成开机后,取消定时器。5根据权利要求1所述的EMMC的开机优化方法,其特征在于还包括如下步骤处理器从内存读取预读取的数据后,将下次预读取的数据的起始地址发送到EMMC的DMA控制器。6一种EMMC的开机优化装置,其特征在于,包括处理器、内存和EMMC,所述EMMC包括命令寄存器和DMA控制器,其中处理器用于发送预读取的数据的起始地址到EMMC的DMA控制器、使能EMMC的命令寄存器、在间隔预设的一段时间后去能EMMC的命令寄存器和从内存读取预读取的数据;DMA控制器用于在EMMC的命令寄存器被使能后根据处理器发送预读取的数据的起始地址将预读。
5、取的数据发送到内存以及在EMMC的命令寄存器被去能时停止发送数据。7根据权利要求6所述的EMMC的开机优化装置,其特征在于还包括定时器;所述处理器还用于设置预设的一段时间到定时器并使能定时器;所述定时器用于在预设的一段时间到达后通知处理器。8根据权利要求7所述的EMMC的开机优化装置,其特征在于定时器用于在预设的一段时间到达后通知处理器具体包括定时器用于在预设的一段时间到达后产生一个中断通知处理器。9根据权利要求7或8所述的EMMC的开机优化装置,其特征在于处理器还用于加载内存的数据并完成开机后,取消定时器。10根据权利要求6所述的EMMC的开机优化装置,其特征在于处理器还用于从内存读取预读取。
6、的数据后,将下次预读取的数据的起始地址发送到EMMC的DMA控制器。权利要求书CN104182264A1/6页3一种EMMC的开机优化方法及其装置技术领域0001本发明涉及存储器优化技术领域,尤其涉及一种EMMC的开机优化方法及其装置。背景技术0002EMMCEMBEDDEDMULTIMEDIACARD为MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格,由一个嵌入式存储解决方案组成,带有MMC多媒体卡接口、快闪存储器设备及主控制器。EMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的。
7、时间。越来越多的移动设备采用EMMC作为存储单元。0003目前移动设备的操作系统,特别是安卓系统在开机阶段大量的时间用于从主存中读取数据到内存。这些数据包括了可执行程序、库文件和资源配置文件等,这些都是零散的小数据。操作系统开机时,CPU和内存都可以跑在一个比较高的频率,但是主要时间花销都在从主存设备中读取数据,这是目前瓶颈所在。正如我们桌面操作系统一样,硬盘读写数据才是瓶颈,内存和CPU都已经相对资源过剩了。最终造成使用EMMC的移动设备的开机时间相对较长。发明内容0004为此,需要提供一种EMMC的开机优化方案,解决现有采用EMMC的设备开机时间长的问题。0005为实现上述目的,发明人提供。
8、了一种EMMC的开机优化方法,包括如下步骤0006处理器发送预读取的数据的起始地址到EMMC的DMA控制器;0007处理器使能EMMC的命令寄存器;0008EMMC的DMA控制器在EMMC的命令寄存器被使能后根据处理器发送预读取的数据的起始地址将预读取的数据发送到内存;0009间隔预设的一段时间后,处理器去能EMMC的命令寄存器,DMA控制器停止发送;0010处理器从内存读取预读取的数据。0011进一步地,所述间隔预设的一段时间具体包括0012处理器设置预设的一段时间到定时器并使能定时器;0013定时器在预设的一段时间到达后通知处理器。0014进一步地,所述定时器在预设的一段时间到达后通知处理。
9、器包括定时器在预设的一段时间到达后产生一个中断通知处理器。0015进一步地,还包括如下步骤处理器加载内存的数据并完成开机后,取消定时器。0016进一步地,还包括如下步骤处理器从内存读取预读取的数据后,将下次预读取的数据的起始地址发送到EMMC的DMA控制器。0017以及发明人还提供一种EMMC的开机优化装置,包括处理器、内存和EMMC,所述EMMC包括命令寄存器和DMA控制器,其中说明书CN104182264A2/6页40018处理器用于发送预读取的数据的起始地址到EMMC的DMA控制器、使能EMMC的命令寄存器、在间隔预设的一段时间后去能EMMC的命令寄存器和从内存读取预读取的数据;0019。
10、DMA控制器用于在EMMC的命令寄存器被使能后根据处理器发送预读取的数据的起始地址将预读取的数据发送到内存以及在EMMC的命令寄存器被去能时停止发送数据。0020进一步地,还包括定时器;0021所述处理器还用于设置预设的一段时间到定时器并使能定时器;0022所述定时器用于在预设的一段时间到达后通知处理器。0023进一步地,定时器用于在预设的一段时间到达后通知处理器具体包括定时器用于在预设的一段时间到达后产生一个中断通知处理器。0024进一步地,处理器还用于加载内存的数据并完成开机后,取消定时器。0025进一步地,处理器还用于从内存读取预读取的数据后,将下次预读取的数据的起始地址发送到EMMC的。
11、DMA控制器。0026区别于现有技术,上述技术方案通过处理器在DMA控制器的预读取设置,加快了数据从EMMC到内存的速度,从而加快了处理器加载的速度,缩短了处理器开机的时间,提高用户体验附图说明0027图1为本发明的方法实施例的流程图;0028图2为本发明的装置实施例的示意图。0029附图标记说明00301、处理器;00312、EMMC;00323、内存。具体实施方式0033为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。0034请参阅图1,本实施例提供一种EMMC的开机优化方法,可运行于具有处理器1、EMMC2以及内存3的装置如图2所示上,处理。
12、器1、EMMC2、内存3三者间两两连接。处理器1可以是现有的CPU、MCU等。EMMC2存储有处理器1开机所需要的数据,如可执行文件、库文件和配置资源等。处理器1上电开机时需要读取这些开机所需的数据到内存3如DDR内存中,而后从内存3加载这些数据并完成开机。EMMC2包含有EMMC控制器以及EMMC存储颗粒,EMMC控制器用于接受处理器1的控制将文件或数据存储到EMMC存储颗粒或者从EMMC存储颗粒将存储的文件或数据读出并发送给处理器1或内存3。EMMC控制器包含有DMA控制器和命令寄存器。DMADIRECTMEMORYACCESS控制器为直接内存存取控制器,通过处理器1的设置后,DMA控制器。
13、可以完成自动的数据迁移,如将数据从EMMC存储颗粒读出并发送到内存3。命令寄存器在被使能ENABLE或去能DISABLE时,DMA控制器相应地工作或不工作,即通过设置命令寄存器可以控制DMA控制器的工作与否。0035在某一实施例中,EMMC的开机优化方法在上电开机后,包括如下步骤在步骤说明书CN104182264A3/6页5S101中处理器发送预读取的数据的起始地址到EMMC的DMA控制器。预读取的数据的起始地址即开机所需要的数据的地址,这个数据地址是开机所需要数据或者开机所需要的部分数据在EMMC存储颗粒中的地址。而后,进入步骤S102处理器使能EMMC的命令寄存器,具体的使能方式可以是处理。
14、器发送一个使能命令到命令寄存器。EMMC的命令寄存器被使能后,则进入步骤S103中EMMC的DMA控制器在EMMC的命令寄存器被使能后根据处理器发送预读取的数据的起始地址将预读取的数据发送到内存,即DMA控制器将开机所需要的数据发送到内存中。在步骤S104间隔预设的一段时间后,处理器去能EMMC的命令寄存器,DMA控制器停止发送,则此时内存存储有处理器预读取的数据,而后在步骤S105处理器从内存读取预读取的数据。0036具体地,处理器在送预读取的数据的起始地址到DMA控制器时并不需要指定读取的数据长度,则在预设的一段时间内,DMA控制器会不断将起始地址的数据以及起始地址接下来的地址的数据发送到。
15、内存。处理器从内存读取预读取的数据可以完成开机操作。当然,在某些实施例中,处理器也可以指定读取的数据长度到DMA控制器,只要使得DMA控制器能将预读取的数据读出即可。以下结合实施例对本方法的效果进行说明,如图2所示,假设预读取的数据的起始地址为A,经过本方法后,DMA控制器将A到G的一段数据全部存储到内存中,但是其中包含有不需要的数据即本次无用数据如地址B到地址C所对应的数据,地址F到地址G所对应的数据。本次读取只需要一次的协议头和协议尾的耗时,而不需要每次读取地址A、D、E造成的三次协议头和协议尾的耗时,减少了协议头和协议尾的开销,同时通过DMA控制器的自动数据读取和发送,虽然有无用的数据被。
16、读出,但是时间上还是减少了,特别在数据量大的情况下,则DMA控制器数据迁移优势会更加明显,使得数据读取时间大大缩短,从而减少了开机时间,达到开机优化目的。0037特别地,本发明人在创造本发明的过程中,发现目前操作系统开机启动阶段预读取的数据,这些数据相当部分是零散小数据,具有阶段连续性即某些零散小数据之间地址相对集中,整个启动阶段有非常多个这种地址相对集中的区间,我们称这种数据排布方式为阶段连续性。如果分次去读取这些零散小数据,那每次读取的协议头和协议尾所需要的时间将是装置开机耗时中的很大一部分,通过本方法可以将这些相对集中的数据一次性发送到内存中,避免了大量的协议头和协议尾的耗时,减少了数据。
17、读取的时间,从而减少了开机时间,优化了开机过程,提高了用户体验。0038本方法中预设的一段时间可以根据想要读取的数据量的大小进行设定,在数据量大时,预设的一段时间相应地长,从而使得DMA控制器可以发到更多的数据到内存中。在这一预设的一段时间在计时时,处理器可以完成开机的其他工作,如模块初始化、驱动等,可更加充分地利用开机时间。处理器实现一个预设的一段时间具有多种实施方式,如可以通过循环地判断实时时钟的方式实现或是计数的方式实现。在某一实施例中,为了使得处理器可以充分地利用处理器资源,计时可以通过定时器TIMER实现,则步骤S104中间隔预设的一段时间具体包括处理器设置预设的一段时间到定时器并使。
18、能定时器,定时器在预设的一段时间到达后通知处理器。如处理器可以设置N毫秒到定时器,而后使能定时器,定时器开始计时。N毫秒的计时时间到达后,定时器发送一个指令到处理器,通知处理器计时时间已到,则处理器去能命令寄存器,使得DMA控制器不再进行数据读取和发送工作。而后处理器可以在内存中读取DMA控制器已经发送到内存中的数据。说明书CN104182264A4/6页60039通过定时器计时,处理器只需在定时时间到达后才进行接下来的去能命令寄存器的操作,节省了处理器需要去计时所需要的资源消耗,从而可以将这些资源用在开机其他处理过程中,达到更加充分利用开机时间的目的。在某些实施例中,定时器的通知方式可以采用。
19、中断进行通知,则定时器在预设的一段时间到达后通知处理器的步骤包括定时器在预设的一段时间到达后产生一个中断通知处理器。则处理器去能命令寄存器的操作可以使用一个中断服务程序实现,当处理器接收到定时器的中断时,进入中断服务程序去能命令寄存器,则DMA控制器停止发送EMMC存储颗粒的数据到内存中。处理器在使用中断情况下可以更好地利用处理器资源。0040以及在某些实施例中还包括如下步骤步骤S106处理器加载内存的数据并完成开机后,取消定时器,即处理器在开机完成后释放出定时器资源。开机完成的标志可以是处理器完成了开机所需模块的初始化以及加载了开机所需的程序。0041开机所需数据可能是集中地存在多个存储区域。
20、,则处理器可能需要完成多次的预读取数据的起始地址的发送和使能去能命令寄存器,即在步骤S105后还包括如下步骤处理器从内存读取预读取的数据后,将下次预读取的数据的起始地址发送到EMMC的DMA控制器。开机完成前,DMA控制器会多次将不同的预读取的数据发送到内存中去。则在本实施例的方法完成后,可以进入步骤S106取消定时器。在某些实施例中,开机所需数据可能是存储在某些固定存储区域,如系统文件的存储区域不会有大的改变,比较固定。也有可能是存储在某些不固定的区域,如后续安装的开机启动所需的驱动或插件,这些数据可能随着当前系统的状态的改变而不同。则本方法还可以在开机后,处理器将开机所需的数据即预读取的数。
21、据的起始地址以及预设的一段时间都存放为一个开机文件如数据表,而后在下次开机时读取开机文件,获取开机文件中的起始地址和预设的一段时间,将开机文件的预读取的数据的起始地址发送到EMMC的DMA控制器,以及之后步骤S104间隔的预设的一段时间也使用开机文件中的预设的一段时间。通过这样的方式,处理器可以根据当前的系统状态对开机文件进行调整,在下次开机时可以更加准确地针对开机所需的文件进行读取,节省开机的时间。0042以及发明人还提供一种EMMC的开机优化装置,如图2所示,包括处理器1、内存3和EMMC2,EMMC2包括命令寄存器和DMA控制器,命令寄存器和DMA控制器可以放置在EMMC控制器中,其中处。
22、理器1用于发送预读取的数据的起始地址到EMMC2的DMA控制器,这个数据流向可以参考如图2中的指示。处理器1还用于使能EMMC2的命令寄存器、在间隔预设的一段时间后去能EMMC2的命令寄存器,即处理器1可以用于使能去能命令寄存器,这个数据流向可以参考指示。处理器1还用于从内存3读取预读取的数据,这个数据流向如指示所示。0043以及DMA控制器用于在EMMC2的命令寄存器被使能后根据处理器发送预读取的数据的起始地址将预读取的数据发送到内存,如指示。DMA控制器还用于在EMMC的命令寄存器被去能时停止发送数据。则本装置在开机读取数据的过程中,可以一次性将大量的数据发送到内存中,只需要一次的协议头和。
23、协议尾的耗时,避免了多次对数据进行读取而需要大量的协议头和协议尾的耗时,减少了数据发送时间,加快了开机速度。例如,预读取的数据为1MB数据,如果按照一次1KB进行读取,需要启动协议通讯1024次,即有1024次的协议头尾开销的耗时,采用本方法后一次就直接读取1M,只需要一次协议头尾的耗时。说明书CN104182264A5/6页70044为了充分地利用处理器资源,在某些实施例中,本装置还包括用于计时的定时器;则处理器1还用于设置预设的一段时间到定时器并使能定时器,如图2的指示所示,定时器在使能后会开始计时,定时器用于在预设的一段时间到达后通知处理器1,如图2的指示所示。处理器1接收到定时器的通知。
24、后则进入去能命令寄存器的步骤。0045在某些实施例中,定时器通知处理器1的方式可以采用中断的方式,则定时器用于在预设的一段时间到达后通知处理器1具体包括定时器用于在预设的一段时间到达后产生一个中断通知处理器1。则去能命令寄存器步骤可以放在一个中断服务程序中实现,处理器1在接收到中断后会进入中断服务程序中对命令寄存器进行去能。0046为了释放资源,在某些实施例中,处理器1还用于加载内存的数据并完成开机后,取消定时器。开机完成后,处理器1可以进入常规的读取EMMC的模式,即处理器发送预读取数据的数据块个数和数据块起始地址到EMMC控制器,EMMC控制器会将数据读取出来并返回给处理器1。比如处理器希。
25、望读取长度为512BYTES的数据,该EMMC的每个数据块BLOCK数据长度为128BYTES,那么处理器此次就需要读取4个数据块的数据,即发送的数据块个数为4,同时还要发送512BYTES的起始地址到EMMC。常规的读取EMMC的模式并不需要定时器,则可以释放定时器资源,当然,在需要定时器时,可以再次设置并使能定时器。0047当读取完成后还有需要再次预读取的数据时,处理器1还用于从内存3读取预读取的数据后,将下次预读取的数据的起始地址发送到EMMC的DMA控制器。即再次进入上述的步骤S101S105过程。在每次步骤S104的间隔预设的一段时间的等待过程中,处理器1都可以进行其他的操作,如初始。
26、化模块、配置寄存器、运行内存中的数据等,这样可以充分地利用开机时间,达到节省开机时间、优化开机过程的目的。0048需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括”或“包含”限定的要素,并不排除在包括。
27、所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。0049本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备。
28、、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。0050上述各实施例是参照根据实施例所述的方法、设备系统、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的说明书CN104182264A6/6页8每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程。
29、和/或方框图一个方框或多个方框中指定的功能的装置。0051这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。0052这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。0053尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。说明书CN104182264A1/2页9图1说明书附图CN104182264A2/2页10图2说明书附图CN104182264A10。