一種emmc讀寫控制方法及控制系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及移動終端技術領域,尤其涉及一種EMMC讀寫控制方法及控制系統(tǒng)。
【背景技術】
[0002]目前移動終端普遍采用內嵌式記憶體(Embedded Multi Media Card,簡稱EMMC)作為存儲芯片,然而EMMC有寫入次數的限制,當寫入次數超過限制時,存在EMMC芯片存在損壞的可能性;當EMMC芯片損壞時,會導致用戶保存的文件損壞、系統(tǒng)運行異常、甚至移動終端無法使用。
[0003]在現有技術中,任何對于EMMC的讀、寫操作是直接面向EMMC芯片的,加之用戶使用移動終端頻率較高,導致寫EMMC的次數在一到兩年后就可以到達限制次數,EMMC芯片損壞,大大縮短了 EMMC芯片的使用壽命,從而導致用戶的文件損壞、移動終端無法使用等缺陷。
[0004]因此,現有技術有待改進和提尚。
【發(fā)明內容】
[0005]鑒于現有技術的不足,本發(fā)明目的在于提供一種EMMC讀寫控制方法及控制系統(tǒng),為了解決現有技術中移動終端的EMMC的讀寫次數較多,EMMC芯片使用壽命智囊,導致用戶的文件損壞、移動終端無法使用的缺陷。通過本發(fā)明提供的技術方案可以對EMMC寫入操作進行優(yōu)化,大大減少實際寫入EMMC芯片的次數,使EMMC的壽命延長。
[0006]本發(fā)明的技術方案如下:
一種EMMC讀寫控制方法,其中,方法包括:
A、預先在內存中設置一塊緩存區(qū)域;
B、當檢測到EMMC讀寫操作,控制將讀寫操作作用于所述緩存區(qū)域;
C、當檢測緩存區(qū)域中的數據大小超出存儲范圍或檢測到移動終端關機時,將緩存區(qū)域中的數據寫入EMMC中相應地址中,并刪除緩存區(qū)域中的所有緩存單元。
[0007]所述EMMC讀寫控制方法,其中,所述緩存單元包括臨時地址和臨時數據。
[0008]所述EMMC讀寫控制方法,其中,所述步驟B具體包括:
B1、檢測EMMC讀寫操作,判斷當前操作為讀操作或是寫操作;
B2、如果當作操作是讀操作,獲取讀操作地址,在緩存區(qū)域中查找對應的讀操作地址,返回所述讀操作地址對應的臨時數據,若在緩存區(qū)域中查找不到對應的讀操作地址,返回EMMC中所述讀操作地址對應的數據;
B3、如果當前操作是寫操作,獲取寫操作的地址及數據,將所述寫操作的地址對應的數據寫入緩存區(qū)域中對應的寫操作地址的臨時數據中。
[0009]所述EMMC讀寫控制方法,其中,所述步驟B3具體包括:
B31、如果當前操作是寫操作,獲取寫操作的地址及數據;
B32、在緩存區(qū)域中查找是否存在緩存單元且該緩存單元的臨時地址與所述寫操作地址相同;
B33、若存在,則將數據賦值給該緩存單元的臨時數據;
B34、若不存在,則在緩存區(qū)域中創(chuàng)建一個緩存單元,緩存單元的臨時地址設置為所述寫操作地址,將數據賦值給臨時地址的臨時數據。
[0010]所述EMMC讀寫控制方法,其中,所述步驟C具體包括:
Cl、當檢測到緩存區(qū)數據大小超出存儲范圍或檢測到移動終端關機時,將臨時地址中存儲的臨時數據寫入臨時地址對應的EMMC地址中;
C2、刪除緩存區(qū)域中的所有緩存單元。
[0011]一種EMMC讀寫控制系統(tǒng),其中,系統(tǒng)包括:
預先設置模塊,用于預先在內存中設置一塊緩存區(qū)域;
第一檢測與控制模塊,用于當檢測到EMMC讀寫操作,控制將讀寫操作作用于所述緩存區(qū)域;
第二檢測與控制模塊,用于當檢測緩存區(qū)域中的數據大小超出存儲范圍或檢測到移動終端關機時,將緩存區(qū)域中的數據寫入EMMC中相應地址中,并刪除緩存區(qū)域中的所有緩存單元。
[0012]所述EMMC讀寫控制系統(tǒng),其中,所述系統(tǒng)還包括:所述緩存單元包括臨時地址和臨時數據。
[0013]所述EMMC讀寫控制系統(tǒng),其中,所述第一檢測與控制模塊具體包括:
檢測與判斷單元,用于檢測EMMC讀寫操作,判斷當前操作為讀操作或是寫操作;
查找與讀取單元,用于如果當作操作是讀操作,獲取讀操作地址,在緩存區(qū)域中查找對應的讀操作地址,返回所述讀操作地址對應的臨時數據,若在緩存區(qū)域中查找不到對應的讀操作地址,返回EMMC中所述讀操作地址對應的數據;
數據寫入單元,用于如果當前操作是寫操作,獲取寫操作的地址及數據,將所述寫操作的地址對應的數據寫入緩存區(qū)域中對應的寫操作地址的臨時數據中。
[0014]所述EMMC讀寫控制系統(tǒng),其中,所述數據寫入單元具體包括:
地址與數據獲取單元,用于如果當前操作是寫操作,獲取寫操作的地址及數據;
查找單元,用于在緩存區(qū)域中查找是否存在緩存單元且該緩存單元的臨時地址與所述寫操作地址相同;
第一數據寫入單元,用于將數據賦值給該緩存單元的臨時數據;
第二數據寫入單元,用于在緩存區(qū)域中創(chuàng)建一個緩存單元,緩存單元的臨時地址設置為所述寫操作地址,將數據賦值給臨時地址的臨時數據。
[0015]所述EMMC讀寫控制系統(tǒng),其中,所述第二檢測與控制模塊具體包括:
檢測與控制單元有,用于當檢測到緩存區(qū)數據大小超出存儲范圍或檢測到移動終端關機時,將臨時地址中存儲的臨時數據寫入臨時地址對應的EMMC地址中;
刪除單元,用于刪除緩存區(qū)域中的所有緩存單元。
[0016]本發(fā)明提供了一種EMMC讀寫控制方法及控制系統(tǒng),所述方法包括:預先在內存中設置一塊緩存區(qū)域;當檢測到EMMC讀寫操作,控制將讀寫操作作用于所述緩存區(qū)域;當檢測緩存區(qū)域中的數據大小超出存儲范圍或檢測到移動終端關機時,將緩存區(qū)域中的數據寫AEMMC中相應地址中,并刪除緩存區(qū)域中的所有緩存單元。本發(fā)明通過在內存中設置一塊緩存區(qū)域,檢測EMMC讀寫操作,并將讀寫操作作用于所述緩存區(qū)域;當緩存區(qū)域滿時或檢測到移動終端關機時,將緩存區(qū)域中的數據寫入EMMC相應地址中,并清空緩存;從而實現對EMMC寫入操作進行優(yōu)化,大大減少實際寫入EMMC芯片的次數,延長EMMC的壽命。
【附圖說明】
[0017]圖1為本發(fā)明的一種EMMC讀寫控制方法的較佳實施例的流程圖。
[0018]圖2為本發(fā)明的一種EMMC讀寫控制方法的具體應用實施例的緩存區(qū)示意圖。
[0019]圖3為本發(fā)明的一種EMMC讀寫控制方法的具體應用實施例的讀寫操作的細化步驟流程圖。
[0020]圖4為本發(fā)明的一種EMMC讀寫控制方法的具體應用實施例的當緩存區(qū)數據超范圍或移動終端關機后的細化步驟流程圖。
[0021]圖5為本發(fā)明的一種EMMC讀寫控制系統(tǒng)的較佳實施例的功能原理框圖。
【具體實施方式】
[0022]為使本發(fā)明的目的、技術方案及效果更加清楚、明確,以下對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0023]本發(fā)明提供了一種EMMC讀寫控制方法的較佳實施例的,如圖1所示,所述方法包括:
步驟S100、預先在內存中設置一塊緩存區(qū)域。
[0024]具體實施時,預先在內存中設置一塊緩存區(qū)域,用于將對于EMMC的讀寫操作轉化為對緩存的操作,從而減少了對EMMC的讀寫次數。具體地,所述緩存區(qū)域為一塊內存;緩存區(qū)域用于創(chuàng)建緩存單元,每個緩存單元包括臨時地址和臨時數據;譬如,請參閱圖2,圖2所示為緩存區(qū)域的示意圖,在圖2所示為緩存區(qū)域已創(chuàng)建有2個緩存單元,每個緩存單元又包括臨時地址和臨時數據;其中,所述緩存單元、臨時數據、臨時地址的大小是固定的。臨時地址和臨時數據分別是對應于EMMC對應的地址和數據。
[0025]步驟S200、當檢測到EMMC讀寫操作,控制將讀寫操作作用于所述緩存區(qū)域。
[0026]具體實施時,步驟S200具體包括:
步驟S21、檢測EMMC讀寫操作,判斷當前操作為讀操作或是寫操作;
步驟S22、如果當作操作是讀操作,獲取讀操作地址,在緩存區(qū)域中查找對應的讀操作地址,返回所述讀操作地址對應的臨時數據,若在緩存區(qū)域中查找不到對應的讀操作地址,返回EMMC中所述讀操作地址對應的數據;
步驟S23、如果當前操作是寫操作,獲取寫操作的地址及數據,將所述寫操作的地址對應的數據寫入緩存區(qū)域中對應的寫操作地址的臨時數據中。
[0027]具體實施時,步驟S23具體包括:。
[0028]步驟S231、如果當前操作是寫操作,獲取寫操作的地址及數據;
步驟S232、在緩存區(qū)域中查找是否存在緩存單元且該緩存單元的臨時地址與所述寫操作地址相同;
步驟S233、若存在,則將數據賦值給該緩存單元的臨時數據;
步驟S234、若不存在,則在緩存區(qū)域中創(chuàng)建一個緩存單元,緩存單元的臨時地址設置為所述寫操作地址,將數據賦值給臨時地址的臨時數據。
[0029]具體實施時,當需要讀EMMC中地址為0x10000000的數據,先在緩存區(qū)域中查找是否存在緩存單元且該緩存單元的臨時地址為0x10000000,若存在則返回該緩存單元的臨時數據;若不存在,則返回EMMC中地址0x10000000對應的數據。
[0030]當需要將數據0x66寫至EMMC中地址為0x10000000,先在緩存區(qū)域中查找是否存在緩存單元且該緩存單元的臨時地址為0x10000000,若存在則將0x66賦值給該緩存單元的臨時數據;若不存在,則在緩存區(qū)域中創(chuàng)建一個緩存單元,該緩存單元的臨時地址為0x10000000,并將0x66賦值給該緩存單元的臨時數據。
[0031]進一步地,本發(fā)明還提供了一種EMMC讀寫控制方法的具體應用實施例的讀寫操作的細化步驟流程圖,如圖3所示,所述細化步驟包括:
步驟S201、檢測EMMC讀寫操作,若為讀操作則進入步驟S202,若為寫操作則進入步驟S203 ;
步驟S202、獲取讀操作地址,在緩存區(qū)域中查找是否存在緩存單元且該緩存單元的臨時地址與所述讀操作地址相同,若存在則返回該緩存單元的臨時數據;若不存在,則返回EMMC中所述讀操作地址對應的數據;
步驟S203、獲取寫操作的地址及數據,在緩存區(qū)域中查找是否存在緩存單元且該緩存單元的臨時地址與所述寫操作地址相同,