本發(fā)明涉及一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法。
背景技術(shù):
1、嵌入式多媒體卡(embeded?multi?media?card,emmc),是一種嵌入式非易失性存儲器系統(tǒng),由閃存和閃存控制器兩部組成。emmc的一個明顯優(yōu)勢是在封裝中集成了一個閃存控制器,它采用jedec標(biāo)準(zhǔn)球狀引腳柵格陣列封裝(ball?grid?array,bga),并采用統(tǒng)一閃存接口管理閃存。
2、隨著軟件應(yīng)用的越變復(fù)雜,其鏡像文件大小也變得越來越大。對于emmc存儲介質(zhì)的嵌入式設(shè)備,燒寫鏡像時也會增加燒寫鏡像的耗時。對于提升燒寫鏡像的速度,一般采用以下方式:1、提升emmc存儲介質(zhì)的讀寫速率;2、降低鏡像文件大小。
3、如圖5所示,為原生代碼燒寫流程中的單個鏡像文件燒寫流程,現(xiàn)有技術(shù)中的emmc存儲介質(zhì)的讀寫速率不能無限地提升,且鏡像文件的大小也只能會越來越大,所以目前的兩種方式對于提升燒寫鏡像的性能有一定的限制。
技術(shù)實現(xiàn)思路
1、本發(fā)明目的在于針對現(xiàn)有技術(shù)所存在的不足而提供一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法的技術(shù)方案,在emmc存儲介質(zhì)讀寫速率和鏡像文件的大小不變的情況下,整體的燒寫鏡像速率基本與emmc存儲介質(zhì)寫入的最大速率保持一致,通過提升燒寫流程的效率以降低燒寫的耗時,對于0數(shù)據(jù)的燒寫,用擦除的方式替代能有效提升數(shù)據(jù)寫入的效率,保留原生代碼的邏輯,避免引入未知的缺陷,同時通過增大單次寫入數(shù)據(jù)量,提升整體數(shù)據(jù)寫入速率。
2、為了解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案:
3、一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于包括如下步驟:
4、step1、執(zhí)行fastboot命令,開始燒寫鏡像文件;
5、step2、判斷鏡像文件與fastboot_buf_size的大??;
6、step3、將鏡像文件切分成n個sparse格式的鏡像文件,并對sparse格式的鏡像文件進行燒寫;
7、step4、判斷sparse格式的鏡像文件為fill數(shù)據(jù)時,填充fill數(shù)據(jù),并判斷fill數(shù)據(jù)為0,擦除emmc指定的偏移地址和size大??;
8、step5、完成單個sparse格式的鏡像文件燒寫和所有sparse格式的鏡像文件燒寫,結(jié)束燒寫鏡像文件。
9、進一步,步驟step2中的鏡像文件小于fastboot_buf_size時,將鏡像文件寫raw數(shù)據(jù)到emmc存儲介質(zhì)中,并結(jié)束燒寫鏡像文件。
10、進一步,sparse格式的鏡像文件由多個fill數(shù)據(jù)和raw數(shù)據(jù)交替組合而成。
11、進一步,fill數(shù)據(jù)通過標(biāo)記的方式記錄相同的字節(jié)數(shù)據(jù)。
12、進一步,步驟step4中的判斷sparse格式的鏡像文件為raw數(shù)據(jù)時,申請一個臨時空間用于存放raw數(shù)據(jù),循環(huán)將臨時空間的數(shù)據(jù)寫入emmc存儲介質(zhì)中,直至完成所有數(shù)據(jù)的寫入。
13、進一步,循環(huán)將臨時空間的數(shù)據(jù)寫入emmc存儲介質(zhì)中具體包括:拷貝數(shù)據(jù)到buf內(nèi)存空間,將內(nèi)存空間中的buf數(shù)據(jù)寫入emmc存儲介質(zhì)。
14、進一步,步驟step4中的fill數(shù)據(jù)不為0,則將填充的fill數(shù)據(jù)寫入emmc存儲介質(zhì)。
15、進一步,步驟step5中的未完成單個sparse格式的鏡像文件燒寫,則返回步驟step4繼續(xù)判斷sparse格式的鏡像文件為fill數(shù)據(jù)或raw數(shù)據(jù)。
16、進一步,步驟step5中的未完成所有sparse格式的鏡像文件燒寫,則返回步驟step3,對sparse格式的鏡像文件進行燒寫。
17、本發(fā)明由于采用了上述技術(shù)方案,具有以下有益效果:
18、本發(fā)明在emmc存儲介質(zhì)讀寫速率和鏡像文件的大小不變的情況下,整體的燒寫鏡像速率基本與emmc存儲介質(zhì)寫入的最大速率保持一致,通過提升燒寫流程的效率以降低燒寫的耗時,對于0數(shù)據(jù)的燒寫,用擦除的方式替代能有效提升數(shù)據(jù)寫入的效率,保留原生代碼的邏輯,避免引入未知的缺陷,同時通過增大單次寫入數(shù)據(jù)量,提升整體數(shù)據(jù)寫入速率。
1.一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于包括如下步驟:
2.根據(jù)權(quán)利要求1所述的一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于:步驟step2中的鏡像文件小于fastboot_buf_size時,將鏡像文件寫raw數(shù)據(jù)到emmc存儲介質(zhì)中,并結(jié)束燒寫鏡像文件。
3.根據(jù)權(quán)利要求1所述的一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于:所述sparse格式的鏡像文件由多個fill數(shù)據(jù)和raw數(shù)據(jù)交替組合而成。
4.根據(jù)權(quán)利要求3所述的一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于:所述fill數(shù)據(jù)通過標(biāo)記的方式記錄相同的字節(jié)數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于:步驟step4中的判斷sparse格式的鏡像文件為raw數(shù)據(jù)時,申請一個臨時空間用于存放raw數(shù)據(jù),循環(huán)將所述臨時空間的數(shù)據(jù)寫入emmc存儲介質(zhì)中,直至完成所有數(shù)據(jù)的寫入。
6.根據(jù)權(quán)利要求5所述的一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于:循環(huán)將所述臨時空間的數(shù)據(jù)寫入emmc存儲介質(zhì)中具體包括:拷貝數(shù)據(jù)到buf內(nèi)存空間,將內(nèi)存空間中的buf數(shù)據(jù)寫入emmc存儲介質(zhì)。
7.根據(jù)權(quán)利要求1所述的一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于:步驟step4中的fill數(shù)據(jù)不為0,則將填充的fill數(shù)據(jù)寫入emmc存儲介質(zhì)。
8.根據(jù)權(quán)利要求5所述的一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于:步驟step5中的未完成單個sparse格式的鏡像文件燒寫,則返回步驟step4繼續(xù)判斷sparse格式的鏡像文件為fill數(shù)據(jù)或raw數(shù)據(jù)。
9.根據(jù)權(quán)利要求1所述的一種優(yōu)化提升emmc存儲介質(zhì)刷機速度性能的方法,其特征在于:步驟step5中的未完成所有sparse格式的鏡像文件燒寫,則返回步驟step3,對sparse格式的鏡像文件進行燒寫。