一種基于eMMC加速系統(tǒng)開機(jī)的方法和裝置制造方法
【專利摘要】本發(fā)明公開一種基于eMMC加速系統(tǒng)開機(jī)的方法和裝置,其中方法包括如下步驟:在系統(tǒng)開機(jī)時,讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度;發(fā)送根據(jù)eMMC組合命令協(xié)議組合后的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度給eMMC;接收eMMC返回的數(shù)據(jù);加載接收到的數(shù)據(jù)并開機(jī)。本發(fā)明通過讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度;而后eMMC會將開機(jī)數(shù)據(jù)一次性發(fā)送給電子設(shè)備,電子設(shè)備快速可以加載這些數(shù)據(jù)并進(jìn)行開機(jī),從而有效地提高了系統(tǒng)開機(jī)過程中數(shù)據(jù)的加載速度,達(dá)到了加速系統(tǒng)開機(jī)的目的,提高了用戶體驗。
【專利說明】—種基于eMMC加速系統(tǒng)開機(jī)的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子設(shè)備加速系統(tǒng)開機(jī)領(lǐng)域,尤其涉及一種基于eMMC加速系統(tǒng)開機(jī)的方法和裝置。
【背景技術(shù)】
[0002]eMMC (Embedded Multi Media Card)為MMC協(xié)會所訂立的、主要是針對手機(jī)或平板電腦等產(chǎn)品的內(nèi)嵌式存儲器標(biāo)準(zhǔn)規(guī)格。eMMC的一個明顯優(yōu)勢是在封裝中集成了一個控制器,它提供標(biāo)準(zhǔn)接口并管理閃存,使得手機(jī)廠商就能專注于產(chǎn)品開發(fā)的其它部分,并縮短向市場推出產(chǎn)品的時間。
[0003]目前eMMC大量應(yīng)用在電子設(shè)備上,特別是在移動終端設(shè)備上,用于作為主存儲設(shè)備來使用,很多操作系統(tǒng)都是安裝在eMMC上。以及操作系統(tǒng)在開機(jī)過程中需要加載庫文件和配置文件等資源,就要從eMMC中讀取出來,而后拷貝到RAM中。針對這些數(shù)據(jù)進(jìn)行分析可知,操作系統(tǒng)讀取的這類開機(jī)所需資源文件都是屬于小文件操作,讀取加載速度緩慢,從而造成開機(jī)啟動速度慢的問題。
【發(fā)明內(nèi)容】
[0004]為此,需要提供一種基于eMMC加速系統(tǒng)開機(jī)的方案,解決現(xiàn)有eMMC上存有操作系統(tǒng)時,在操作系統(tǒng)開機(jī)速度慢的問題,達(dá)到加速開機(jī)的目的。
[0005]為實現(xiàn)上述目的,發(fā)明人提供了一種基于eMMC加速系統(tǒng)開機(jī)的方法,包括如下步驟:
[0006]在系統(tǒng)開機(jī)時,讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度;
[0007]發(fā)送根據(jù)eMMC組合命令協(xié)議組合后的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度給eMMC ;
[0008]接收eMMC返回的數(shù)據(jù);
[0009]加載接收到的數(shù)據(jù)并開機(jī)。
[0010]進(jìn)一步地,在系統(tǒng)開機(jī)時,還包括判斷步驟:
[0011]判斷是否存有預(yù)存的開機(jī)小數(shù)據(jù)起始地址和讀取長度,有則進(jìn)行讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度的步驟,否則獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度。
[0012]進(jìn)一步地,所述“獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度”具體包括:從系統(tǒng)開機(jī)到開機(jī)結(jié)束時,獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度。
[0013]進(jìn)一步地,所述“獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度”具體包括:獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度到eMMC特定位置。
[0014]進(jìn)一步地,所述開機(jī)讀取的小數(shù)據(jù)包括開機(jī)讀取的數(shù)據(jù)量小于預(yù)設(shè)值的小數(shù)據(jù)。
[0015]以及發(fā)明人還提供一種基于eMMC加速系統(tǒng)開機(jī)的裝置,包括如下模塊:
[0016]預(yù)存數(shù)據(jù)讀取模塊:用于在系統(tǒng)開機(jī)時,讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度;
[0017]預(yù)存數(shù)據(jù)發(fā)送模塊:用于發(fā)送根據(jù)eMMC組合命令協(xié)議組合后的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度給eMMC ;
[0018]開機(jī)數(shù)據(jù)接收模塊:用于接收eMMC返回的數(shù)據(jù);
[0019]開機(jī)數(shù)據(jù)加載模塊:用于加載接收到的數(shù)據(jù)并開機(jī)。
[0020]進(jìn)一步地,還包括數(shù)據(jù)獲取存儲模塊和預(yù)存數(shù)據(jù)判斷模塊:
[0021]所述數(shù)據(jù)獲取存儲模塊用于獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度;
[0022]所述預(yù)存數(shù)據(jù)判斷模塊用于判斷是否存有預(yù)存的開機(jī)小數(shù)據(jù)起始地址和讀取長度,有則使能預(yù)存數(shù)據(jù)讀取模塊,否則使能數(shù)據(jù)獲取存儲模塊。
[0023]進(jìn)一步地,所述數(shù)據(jù)獲取存儲模塊具體包括用于從系統(tǒng)開機(jī)到開機(jī)結(jié)束時,獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度。
[0024]進(jìn)一步地,所述數(shù)據(jù)獲取存儲模塊具體包括用于獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度到eMMC特定位置。
[0025]進(jìn)一步地,所述開機(jī)讀取的小數(shù)據(jù)包括開機(jī)讀取的數(shù)據(jù)量小于預(yù)設(shè)值的小數(shù)據(jù)。
[0026]區(qū)別于現(xiàn)有技術(shù),上述技術(shù)方案通過讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度;而后eMMC會將開機(jī)數(shù)據(jù)一次性發(fā)送給電子設(shè)備,電子設(shè)備快速可以加載這些數(shù)據(jù)并進(jìn)行開機(jī),從而有效地提高了系統(tǒng)開機(jī)過程中數(shù)據(jù)的加載速度,達(dá)到了加速系統(tǒng)開機(jī)的目的,提聞了用戶體驗。
【專利附圖】
【附圖說明】
[0027]圖1為本發(fā)明方法一實施方式的流程圖;
[0028]圖2為本發(fā)明方法實施裝置的數(shù)據(jù)流向示意圖;
[0029]圖3為本發(fā)明裝置的結(jié)構(gòu)示意圖。
[0030]附圖標(biāo)記說明:
[0031]20、CPU;
[0032]21、內(nèi)存;
[0033]22、eMMC;
[0034]30、預(yù)存數(shù)據(jù)讀取模塊;
[0035]31、預(yù)存數(shù)據(jù)發(fā)送模塊;
[0036]32、開機(jī)數(shù)據(jù)接收模塊;
[0037]33、開機(jī)數(shù)據(jù)加載模塊;
[0038]34、數(shù)據(jù)獲取存儲模塊;
[0039]35、預(yù)存數(shù)據(jù)判斷模塊。
【具體實施方式】
[0040]為詳細(xì)說明技術(shù)方案的技術(shù)內(nèi)容、構(gòu)造特征、所實現(xiàn)目的及效果,以下結(jié)合具體實施例并配合附圖詳予說明。
[0041]請參閱圖1,本實施例提供一種基于eMMC加速系統(tǒng)開機(jī)的方法,本方法可以應(yīng)用于如圖2所示具有eMMC22的電子設(shè)備上,eMMC22上還存儲有操作系統(tǒng)相關(guān)的文件,電子設(shè)備可以包含有處理模塊(如CPU20)和內(nèi)存21,CPU20可以用于讀取操作系統(tǒng)相關(guān)的文件到內(nèi)存21中并加載這些與操作系統(tǒng)相關(guān)的文件后進(jìn)行開機(jī)。
[0042]本方法被運(yùn)行時,即在系統(tǒng)開機(jī)時,首先進(jìn)入步驟SlOl讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度。預(yù)存即預(yù)先存儲在可以被讀取到的存儲模塊上,如可以預(yù)存在eMMC22上的存儲位置221 (即小數(shù)據(jù)統(tǒng)計模型221)。由于與操作系統(tǒng)相關(guān)的文件有很多個,則文件中為小數(shù)據(jù)的文件也會有多個,電子設(shè)備在加載操作系統(tǒng)開機(jī)時需要加載這些小數(shù)據(jù)文件,這些小數(shù)據(jù)文件即開機(jī)小數(shù)據(jù)。每個開機(jī)小數(shù)據(jù)都有其對應(yīng)的起始地址和讀取長度,起始地址(或LBA地址、Logical Block Address地址)即開機(jī)小數(shù)據(jù)存儲位置的起始存儲地址,讀取長度即開機(jī)小數(shù)據(jù)占用存儲位置的大小,與開機(jī)小數(shù)據(jù)的數(shù)據(jù)大小有關(guān)。開機(jī)小數(shù)據(jù)起始地址和讀取長度的存儲方式可以是如圖2所示,分別存儲有多個開機(jī)小數(shù)據(jù)的文件名、起始地址和讀取長度,在某些實施例中,可以根據(jù)eMMC組合命令協(xié)議將這些開機(jī)小數(shù)據(jù)組合成一個命令串后存儲起來。
[0043]而后本方法進(jìn)入步驟S102發(fā)送根據(jù)eMMC組合命令協(xié)議組合后的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度給eMMC。當(dāng)開機(jī)小數(shù)據(jù)起始地址和讀取長度的存儲方式是圖2所示的方式時,則需要在發(fā)送前,根據(jù)eMMC組合命令協(xié)議將這些多個開機(jī)小數(shù)據(jù)起始地址和讀取長度組合成一個命令串。在開機(jī)小數(shù)據(jù)起始地址和讀取長度的存儲方式是根據(jù)eMMC組合命令協(xié)議組合后的命令串時,則可以直接發(fā)送給eMMC22。組合命令協(xié)議是從eMMC 4.51版本協(xié)議開始才支持的,可以將需要發(fā)送多次讀取數(shù)據(jù)的命令變成一次讀取命令。比如需要讀取兩個數(shù)據(jù),分別存儲在地址A和地址B,讀取的長度分別是LA和LB。根據(jù)現(xiàn)有的做法,需要發(fā)送命令I(lǐng)讀取地址A地址開始的數(shù)據(jù),讀取長度是LA ;然后還要發(fā)送命令2讀取地址B開始的數(shù)據(jù),讀取長度是LB。即需要發(fā)送多次讀取指令。根據(jù)組合命令協(xié)議可以將上述的兩個命令組合成一個命令:命令包頭-讀取地址A-長度LA-讀取地址B-長度LB-包尾。即在一個命令串中包含有多個需要讀取的數(shù)據(jù)的地址和長度,而后可以將這個組合命令串發(fā)給eMMC22,而后eMMC22會返回所要讀取的數(shù)據(jù)。
[0044]eMMC22返回數(shù)據(jù)后,本方法進(jìn)入步驟S103接收eMMC返回的數(shù)據(jù);而后進(jìn)入步驟S104加載接收到的數(shù)據(jù)并開機(jī)。由于發(fā)送給eMMC22的命令是組合后的命令串,這個命令串只有一個命令包頭和命令包尾,從而減少了現(xiàn)有在開機(jī)讀取小數(shù)據(jù)時多個小數(shù)據(jù)的多個命令的包頭和包尾的開銷,可以節(jié)省開機(jī)時發(fā)送讀取多個小數(shù)據(jù)命令的時間,同時由于這些開機(jī)小數(shù)據(jù)是開機(jī)過程所需的且不會改變,所以本方法中可以將這些小數(shù)據(jù)預(yù)存在存儲模塊上,而后發(fā)送到eMMC對數(shù)據(jù)進(jìn)行讀取并加載開機(jī)即可。本領(lǐng)域技術(shù)人員可以根據(jù)對操作系統(tǒng)的分析得到這些開機(jī)需要使用的固定的小數(shù)據(jù),當(dāng)然本領(lǐng)域技術(shù)人員也可以根據(jù)實際情況只對部分小數(shù)據(jù)的起始地址和讀取長度進(jìn)行預(yù)存,都能達(dá)到減少開機(jī)讀取數(shù)據(jù)的時間并達(dá)到加速系統(tǒng)開機(jī)的目的。
[0045]圖2為上述方法的一具體實施例,eMMC22中的小數(shù)據(jù)統(tǒng)計模型221存儲有多個開機(jī)小數(shù)據(jù)的起始地址和讀取長度,CPU20在開機(jī)時,首先進(jìn)入步驟SI中從eMMC22中讀取各開機(jī)小數(shù)據(jù)文件的起始地址和讀取長度。而后根據(jù)讀取到的起始地址和讀取長度,組合成讀取的命令串,并在步驟S2發(fā)送組合的讀取命令串到eMMC22。eMMC22接收到命令串后,在步驟S3 —次性讀取命令串中小數(shù)據(jù)對應(yīng)的分區(qū)222,而后返回開機(jī)小數(shù)據(jù)到內(nèi)存21,則CPU20可以加載內(nèi)存21中的數(shù)據(jù)并開機(jī)。通過發(fā)送根據(jù)組合協(xié)議組合后的命令串,可以減少讀取多個小數(shù)據(jù)命令的包頭和包尾的個數(shù),減少了命令發(fā)送的時間,降低了讀取的時間,加快了數(shù)據(jù)讀取的速度,達(dá)到了加快開機(jī)的目的。
[0046]上述中預(yù)存的開機(jī)小數(shù)據(jù)起始地址和讀取長度可以是廠商根據(jù)當(dāng)前操作系統(tǒng)的類型和實際情況而預(yù)存在存儲模塊中,在某些實施例中,也可以由電子設(shè)備自己獲取并存儲到存儲模塊中。則進(jìn)一步地,在系統(tǒng)開機(jī)時,還包括判斷步驟:判斷是否存有預(yù)存的開機(jī)小數(shù)據(jù)起始地址和讀取長度,有則進(jìn)行步驟SlOl即讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度的步驟,而后進(jìn)行步驟S102到S104,否則獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度。電子設(shè)備可以通過監(jiān)控開機(jī)時操作系統(tǒng)讀取的數(shù)據(jù),并記錄其中小數(shù)據(jù)的起始地址和讀取長度到存儲模塊中,這樣下次系統(tǒng)開機(jī)時可以讀取到存儲模塊的這些記錄,并可以進(jìn)行加速開機(jī)。這樣本方法可以在操作系統(tǒng)變化后(如重新安裝操作系統(tǒng)),在第一次開機(jī)時,即可以對變化后的操作系統(tǒng)進(jìn)行開績效數(shù)據(jù)的重新獲取和存儲,而后操作系統(tǒng)的開機(jī)速度即可以得到提升。為了防止在操作系統(tǒng)變化后還去讀取舊的操作系統(tǒng)的開機(jī)小數(shù)據(jù)的起始地址和讀取長度,可以獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度到eMMC特定位置,如與操作系統(tǒng)同一分區(qū),這樣操作系統(tǒng)在變化時,預(yù)存的舊的操作系統(tǒng)的開機(jī)小數(shù)據(jù)的起始地址和讀取長度也會被清除,從而變化后的操作系統(tǒng)可以重新獲取并存儲開機(jī)小數(shù)據(jù)的起始地址和讀取長度。達(dá)到了對不同操作系統(tǒng)的自適應(yīng)開機(jī)加速。
[0047]具體地,如圖2所示,在操作系統(tǒng)變化后第一次開機(jī)(即系統(tǒng)安裝后第一次開機(jī)),沒有獲取到預(yù)存的開機(jī)小數(shù)據(jù)的起始地址和讀取長度,則CPU20會進(jìn)行步驟S4單次去讀取系統(tǒng)的每個開機(jī)小數(shù)據(jù)文件,eMMC22也會在步驟S5中逐次地讀取小數(shù)據(jù)并發(fā)送到內(nèi)存21中。此時電子設(shè)備可以進(jìn)行步驟S6逐次地記錄開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度到存儲模塊中去,以便于下次開機(jī)的使用。本實施例可以在操作系統(tǒng)變化后,自動獲取并記錄相應(yīng)小數(shù)據(jù)的起始地址和讀取長度,方便了在操作系統(tǒng)變化后的操作系統(tǒng)的開機(jī)加速。
[0048]為了避免開機(jī)小數(shù)據(jù)包含有其它的數(shù)據(jù)(如應(yīng)用程序數(shù)據(jù)),進(jìn)一步地,所述“獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度”具體包括:從系統(tǒng)開機(jī)到開機(jī)結(jié)束時,獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度。即在開機(jī)的這一段時間內(nèi)獲取開機(jī)讀取的小數(shù)據(jù),系統(tǒng)開機(jī)的時間點可以是系統(tǒng)剛剛上電的時刻,開機(jī)結(jié)束(系統(tǒng)開機(jī)結(jié)束)時刻可以以某一特定事件的發(fā)生為標(biāo)記,如對于安卓操作系統(tǒng),可以以安卓操作系統(tǒng)桌面加載結(jié)束為標(biāo)記,而后操作系統(tǒng)要開始加載應(yīng)用程序等文件,則對于安卓系統(tǒng),獲取開機(jī)小數(shù)據(jù)的時間段即為系統(tǒng)上電開機(jī)到系統(tǒng)桌面加載結(jié)束的這一時間段。當(dāng)然,對于其他的操作系統(tǒng),本領(lǐng)域技術(shù)人員根據(jù)相關(guān)的操作系統(tǒng)加載數(shù)據(jù)的流程可以知道操作系統(tǒng)什么時候開機(jī)結(jié)束。
[0049]上述存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度可以存儲在任意位置,在某些實施例中,為了解決特定技術(shù)問題,可以存儲到eMMC特定位置,如存儲在eMMC最前面的一段存儲區(qū)域,系統(tǒng)上電開機(jī)即可以立即獲取到這個存儲區(qū)域的數(shù)據(jù),以便于加速開機(jī);或者是eMMC某一特定分區(qū),這個分區(qū)可以與運(yùn)行本方法的程序放在一個分區(qū)上,以便于運(yùn)行本方法的程序的讀?。挥只蛘呷缟鲜龅目梢源嬖谂c操作系統(tǒng)同一個存儲分區(qū)上。
[0050]上述所有實施例中開機(jī)讀取的小數(shù)據(jù)可以是數(shù)據(jù)量小于預(yù)設(shè)值的小數(shù)據(jù),如小于100KB或者500KB認(rèn)為是小數(shù)據(jù)。對于不同的操作系統(tǒng),這個值可以不同,本領(lǐng)域技術(shù)人員可以對不同操作系統(tǒng)系統(tǒng)開機(jī)過程讀取的文件的數(shù)據(jù)進(jìn)行統(tǒng)計,而后看較多的小數(shù)據(jù)是集中在哪一個預(yù)設(shè)值以下,而后就可以以該值為預(yù)設(shè)值。其中多少為“較多”,本領(lǐng)域技術(shù)人員根據(jù)應(yīng)用本方法和沒有應(yīng)用本方法的開機(jī)時間的對比中,也可以測試出一個比較合理的
“較多”值。
[0051]以及發(fā)明人還提供一種基于eMMC加速系統(tǒng)開機(jī)的裝置3,如圖3所示,包括如下模塊:預(yù)存數(shù)據(jù)讀取模塊30:用于在系統(tǒng)開機(jī)時,讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度;預(yù)存數(shù)據(jù)發(fā)送模塊31:用于發(fā)送根據(jù)eMMC組合命令協(xié)議組合后的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度給eMMC ;開機(jī)數(shù)據(jù)接收模塊32:用于接收eMMC返回的數(shù)據(jù);開機(jī)數(shù)據(jù)加載模塊33:用于加載接收到的數(shù)據(jù)并開機(jī)。本裝置通過預(yù)存數(shù)據(jù)發(fā)送模塊31發(fā)送的是組合命令協(xié)議組合后的命令串,可以大大減少小數(shù)據(jù)讀取時發(fā)送命令的個數(shù),減少了小數(shù)據(jù)讀取的時間,增加了系統(tǒng)開機(jī)讀取數(shù)據(jù)的速度,從而達(dá)到了加速系統(tǒng)(操作系統(tǒng))開機(jī)的目的。其中開機(jī)讀取的小數(shù)據(jù)包括開機(jī)讀取的數(shù)據(jù)量小于預(yù)設(shè)值的小數(shù)據(jù)。這個預(yù)設(shè)值本領(lǐng)域技術(shù)人員可以對操作系統(tǒng)開機(jī)過程讀取的數(shù)據(jù)情況進(jìn)行統(tǒng)計得到。
[0052]進(jìn)一步地,裝置3還包括數(shù)據(jù)獲取存儲模塊34和預(yù)存數(shù)據(jù)判斷模塊35。其中:
[0053]數(shù)據(jù)獲取存儲模塊34用于獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度;預(yù)存數(shù)據(jù)判斷模塊35用于判斷是否存有預(yù)存的開機(jī)小數(shù)據(jù)起始地址和讀取長度,有則使能預(yù)存數(shù)據(jù)讀取模塊,否則使能數(shù)據(jù)獲取存儲模塊。通過數(shù)據(jù)獲取存儲模塊34可以對不同的操作系統(tǒng)進(jìn)行小數(shù)據(jù)的記錄,以便于操作系統(tǒng)開機(jī)的加速。
[0054]其中,數(shù)據(jù)獲取存儲模塊34具體包括用于從系統(tǒng)開機(jī)到開機(jī)結(jié)束時,獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度。這里的系統(tǒng)開機(jī)結(jié)束僅僅是操作系統(tǒng)自身開機(jī)結(jié)束,而后操作系統(tǒng)還要加載相應(yīng)的應(yīng)用程序和軟件等。這樣可以使得獲取到的開機(jī)小數(shù)據(jù)都是開機(jī)過程中操作系統(tǒng)所需的小數(shù)據(jù),這些數(shù)據(jù)是不變的,避免了獲取到會變化的小數(shù)據(jù)可能造成讀取錯誤的問題。
[0055]正如上述,為了解決特定的技術(shù)問題,數(shù)據(jù)獲取存儲模塊34具體包括用于獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度到eMMC特定位置。
[0056]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的要素。此夕卜,在本文中,“大于”、“小于”、“超過”等理解為不包括本數(shù);“以上”、“以下”、“以內(nèi)”等理解為包括本數(shù)。
[0057]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,上述各實施例可提供為方法、裝置、或計算機(jī)程序產(chǎn)品。這些實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。上述各實施例涉及的方法中的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機(jī)設(shè)備可讀取的存儲介質(zhì)中,用于執(zhí)行上述各實施例方法所述的全部或部分步驟。所述計算機(jī)設(shè)備,包括但不限于:個人計算機(jī)、服務(wù)器、通用計算機(jī)、專用計算機(jī)、網(wǎng)絡(luò)設(shè)備、嵌入式設(shè)備、可編程設(shè)備、智能移動終端、智能家居設(shè)備、穿戴式智能設(shè)備、車載智能設(shè)備等;所述的存儲介質(zhì),包括但不限于:RAM、ROM、磁碟、磁帶、光盤、閃存、U盤、移動硬盤、存儲卡、記憶棒、網(wǎng)絡(luò)服務(wù)器存儲、網(wǎng)絡(luò)云存儲等。
[0058]上述各實施例是參照根據(jù)實施例所述的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到計算機(jī)設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0059]這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)設(shè)備以特定方式工作的計算機(jī)設(shè)備可讀存儲器中,使得存儲在該計算機(jī)設(shè)備可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0060]這些計算機(jī)程序指令也可裝載到計算機(jī)設(shè)備上,使得在計算機(jī)設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0061]盡管已經(jīng)對上述各實施例進(jìn)行了描述,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改,所以以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利保護(hù)范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于eMMC加速系統(tǒng)開機(jī)的方法,其特征在于,包括如下步驟: 在系統(tǒng)開機(jī)時,讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度; 發(fā)送根據(jù)eMMC組合命令協(xié)議組合后的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度給eMMC ; 接收eMMC返回的數(shù)據(jù); 加載接收到的數(shù)據(jù)并開機(jī)。
2.根據(jù)權(quán)利要求1所述的基于eMMC加速系統(tǒng)開機(jī)的方法,其特征在于:在系統(tǒng)開機(jī)時,還包括判斷步驟: 判斷是否存有預(yù)存的開機(jī)小數(shù)據(jù)起始地址和讀取長度,有則進(jìn)行讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度的步驟,否則獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度。
3.根據(jù)權(quán)利要求2所述的基于eMMC加速系統(tǒng)開機(jī)的方法,其特征在于:所述“獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度”具體包括:從系統(tǒng)開機(jī)到開機(jī)結(jié)束時,獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度。
4.根據(jù)權(quán)利要求2所述的基于eMMC加速系統(tǒng)開機(jī)的方法,其特征在于:所述“獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度”具體包括:獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度到eMMC特定位置。
5.根據(jù)權(quán)利要求1到4任意一項所述的基于eMMC加速系統(tǒng)開機(jī)的方法,其特征在于:所述開機(jī)讀取的小數(shù)據(jù)包括開機(jī)讀取的數(shù)據(jù)量小于預(yù)設(shè)值的小數(shù)據(jù)。
6.一種基于eMMC加速系統(tǒng)開機(jī)的裝置,其特征在于,包括如下模塊: 預(yù)存數(shù)據(jù)讀取模塊:用于在系統(tǒng)開機(jī)時,讀取預(yù)存的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度; 預(yù)存數(shù)據(jù)發(fā)送模塊:用于發(fā)送根據(jù)eMMC組合命令協(xié)議組合后的多個開機(jī)小數(shù)據(jù)起始地址和讀取長度給eMMC ; 開機(jī)數(shù)據(jù)接收模塊:用于接收eMMC返回的數(shù)據(jù); 開機(jī)數(shù)據(jù)加載模塊:用于加載接收到的數(shù)據(jù)并開機(jī)。
7.根據(jù)權(quán)利要求6所述的基于eMMC加速系統(tǒng)開機(jī)的裝置,其特征在于:還包括數(shù)據(jù)獲取存儲模塊和預(yù)存數(shù)據(jù)判斷模塊: 所述數(shù)據(jù)獲取存儲模塊用于獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度; 所述預(yù)存數(shù)據(jù)判斷模塊用于判斷是否存有預(yù)存的開機(jī)小數(shù)據(jù)起始地址和讀取長度,有則使能預(yù)存數(shù)據(jù)讀取模塊,否則使能數(shù)據(jù)獲取存儲模塊。
8.根據(jù)權(quán)利要求7所述的基于eMMC加速系統(tǒng)開機(jī)的裝置,其特征在于:所述數(shù)據(jù)獲取存儲模塊具體包括用于從系統(tǒng)開機(jī)到開機(jī)結(jié)束時,獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度。
9.根據(jù)權(quán)利要求7所述的基于eMMC加速系統(tǒng)開機(jī)的裝置,其特征在于:所述數(shù)據(jù)獲取存儲模塊具體包括用于獲取并存儲開機(jī)讀取的小數(shù)據(jù)的起始地址和讀取長度到eMMC特定位置。
10.根據(jù)權(quán)利要求6到9任意一項所述的基于eMMC加速系統(tǒng)開機(jī)的裝置,其特征在于:所述開機(jī)讀取的小數(shù)據(jù)包括開機(jī)讀取的數(shù)據(jù)量小于預(yù)設(shè)值的小數(shù)據(jù)。
【文檔編號】G06F9/445GK104375871SQ201410730370
【公開日】2015年2月25日 申請日期:2014年12月4日 優(yōu)先權(quán)日:2014年12月4日
【發(fā)明者】林濤 申請人:福州瑞芯微電子有限公司