嵌入式多媒體卡eMMC芯片異常的處理方法和裝置制造方法
【專利摘要】本發(fā)明提供一種嵌入式多媒體卡eMMC芯片異常的處理方法和裝置,該方法包括:向所述eMMC芯片發(fā)送操作命令,并判斷所述eMMC芯片是否異常;若判斷出所述eMMC芯片異常,且異常次數(shù)大于或等于重試次數(shù),則判斷所述eMMC芯片是否為持久性異常;若判斷出所述eMMC芯片為持久性異常,則觸發(fā)所述eMMC芯片進行復(fù)位處理;在確定所述eMMC芯片完成復(fù)位處理,且判斷所述eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。本發(fā)明實施例通過觸發(fā)eMMC芯片進行復(fù)位處理,從而對eMMC芯片的持久性異常進行恢復(fù),提高了系統(tǒng)的可用性和容錯性。
【專利說明】嵌入式多媒體卡eMMC芯片異常的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及通信技術(shù),尤其涉及一種嵌入式多媒體卡(embedded MultiMedia Card,簡稱eMMC)芯片異常的處理方法和裝置。
【背景技術(shù)】
[0002]嵌入式多媒體卡(embedded Multi Media Card,簡稱eMMC)為多媒體卡(MultiMedia Card,簡稱MMC)協(xié)會所訂立的內(nèi)嵌式存儲器標(biāo)準規(guī)格。圖1為現(xiàn)有技術(shù)中eMMC系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,eMMC系統(tǒng)包括eMMC芯片I和中央處理器(Central ProcessingUnit,簡稱CPU) 2,其中,eMMC芯片I包括MMC控制器4和NAND閃存(NAND Flash) 5,CPU2包括eMMC控制器3。具體的,該上層應(yīng)用程序?qū)ξ募到y(tǒng)的數(shù)據(jù)讀寫的具體操作流程為:eMMC底層驅(qū)動通過eMMC控制器3實現(xiàn)對eMMC芯片I的數(shù)據(jù)讀寫,即,eMMC控制器通過MMC接口,向eMMC芯片I中的MMC控制器4發(fā)送操作命令,MMC控制器4收到命令后,進行命令處理,并向eMMC控制器3返回命令響應(yīng)。但是,當(dāng)eMMC芯片異常時,系統(tǒng)將無法正常訪問eMMC芯片數(shù)據(jù),即無法對系統(tǒng)文件正常訪問,從而會導(dǎo)致整機設(shè)備無法正常使用甚至崩潰。
[0003]為了解決上述eMMC芯片臨時異常的問題,圖2為現(xiàn)有技術(shù)中對eMMC芯片異常的主要采用的處理方法的流程圖。如圖2所示,該方法包括以下步驟:
[0004]步驟UeMMC底層驅(qū)動根據(jù)接收到的eMMC框架發(fā)送的第一操作請求,通過eMMC控制器向?qū)?yīng)的eMMC芯片發(fā)送第二操作請求,以使eMMC芯片執(zhí)行該第二操作請求中的操作命令,并返回響應(yīng)命令處理結(jié)果,其中,第一操作請求為上層應(yīng)用程序通過文件系統(tǒng)向eMMC底層驅(qū)動發(fā)送的操作請求;
[0005]步驟2、eMMC底層驅(qū)動接收eMMC芯片通過eMMC控制器返回的響應(yīng)命令處理結(jié)果;
[0006]步驟3、eMMC底層驅(qū)動根據(jù)響應(yīng)命令處理結(jié)果判斷該次處理請求是否發(fā)生異常,若否,則執(zhí)行步驟4,若是,則執(zhí)行步驟5 ;
[0007]步驟4、eMMC底層驅(qū)動向eMMC框架返回處理成功結(jié)果和讀取的數(shù)據(jù),并執(zhí)行步驟8 ;
[0008]步驟5、eMMC底層驅(qū)動判斷當(dāng)前重試次數(shù)是否超過最大重試次數(shù),若是,則執(zhí)行步驟6,若否,則執(zhí)行步驟7;
[0009]步驟6、eMMC底層驅(qū)動向eMMC框架返回處理失敗結(jié)果和超時錯誤信息,并執(zhí)行步驟8 ;
[0010]步驟7、eMMC底層驅(qū)動將當(dāng)前重試次數(shù)加1,向eMMC框架返回超時錯誤信息和當(dāng)前重試次數(shù),以使eMMC框架重新發(fā)送第二操作請求,并返回步驟I ;
[0011]步驟8、結(jié)束本次讀寫請求。
[0012]但是,當(dāng)eMMC芯片發(fā)生持久性異常時,由于采用圖2所示的方法,僅能解決臨時異常問題,因此還會導(dǎo)致系統(tǒng)操作命令嚴重超時,從而使得文件系統(tǒng)無法正常訪問系統(tǒng)數(shù)據(jù),進而導(dǎo)致整機設(shè)備無法正常使用甚至崩潰。
【發(fā)明內(nèi)容】
[0013]本發(fā)明實施例提供一種嵌入式多媒體卡eMMC芯片異常的處理方法和裝置,通過觸發(fā)eMMC芯片進行復(fù)位處理,從而對eMMC芯片的持久性異常進行恢復(fù),提高了系統(tǒng)的可用性和容錯性。
[0014]本發(fā)明實施例提供一種嵌入式多媒體卡eMMC芯片異常的處理方法,包括:
[0015]向所述eMMC芯片發(fā)送操作命令,并判斷所述eMMC芯片是否異常;
[0016]若判斷出所述eMMC芯片異常,且異常次數(shù)大于或等于重試次數(shù),則判斷所述eMMC芯片是否為持久性異常;
[0017]若判斷出所述eMMC芯片為持久性異常,則觸發(fā)所述eMMC芯片進行復(fù)位處理;
[0018]在確定所述eMMC芯片完成復(fù)位處理,且判斷所述eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。
[0019]進一步地,上述實施例所述的方法,所述觸發(fā)所述eMMC芯片進行復(fù)位處理,包括:
[0020]向所述eMMC芯片發(fā)送軟復(fù)位命令,以使所述eMMC芯片根據(jù)所述軟復(fù)位命令進行軟復(fù)位處理;或者,
[0021]向所述eMMC芯片發(fā)送硬復(fù)位命令,以使所述eMMC芯片根據(jù)所述硬復(fù)位命令進行硬復(fù)位處理。
[0022]進一步地,上述實施例所述的方法,所述觸發(fā)所述eMMC芯片進行復(fù)位處理,包括:
[0023]向所述eMMC芯片發(fā)送所述軟復(fù)位命令,以使所述eMMC芯片根據(jù)所述軟復(fù)位命令進行軟復(fù)位處理;
[0024]在判斷所述eMMC芯片不能夠正常進行讀寫處理后,向所述eMMC芯片發(fā)送所述硬復(fù)位命令,以使所述eMMC芯片根據(jù)所述硬復(fù)位命令進行硬復(fù)位處理。
[0025]進一步地,上述實施例所述的方法,所述判斷所述eMMC芯片是否為持久性異常,包括:
[0026]判斷異常總次數(shù)是否大于預(yù)設(shè)的異常閾值,若是,則確定所述eMMC芯片發(fā)生持久性異常;若否,則確定所述eMMC芯片未發(fā)生持久性異常。
[0027]進一步地,上述實施例所述的方法,所述在確定所述eMMC芯片完成復(fù)位處理之后,所述判斷所述eMMC芯片不能夠正常進行讀寫處理之前,所述方法還包括:
[0028]對所述eMMC芯片進行初始化配置。
[0029]本發(fā)明實施例還提供一種嵌入式多媒體卡eMMC芯片異常的處理裝置,包括:
[0030]發(fā)送模塊,用于向所述eMMC芯片發(fā)送操作命令;
[0031]判斷模塊,用于判斷所述eMMC芯片是否異常;若判斷出所述eMMC芯片異常,且異常次數(shù)大于或等于重試次數(shù),則判斷所述eMMC芯片是否為持久性異常;
[0032]處理模塊,用于若所述判斷模塊判斷出所述eMMC芯片為持久性異常,則觸發(fā)所述eMMC芯片進行復(fù)位處理;并在確定所述eMMC芯片完成復(fù)位處理,且判斷所述eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。
[0033]進一步地,上述實施例所述的裝置,所述發(fā)送模塊,還用于向所述eMMC芯片發(fā)送軟復(fù)位命令,以使所述eMMC芯片根據(jù)所述軟復(fù)位命令進行軟復(fù)位處理;或者,
[0034]所述發(fā)送模塊,還用于向所述eMMC芯片發(fā)送硬復(fù)位命令,以使所述eMMC芯片根據(jù)所述硬復(fù)位命令進行硬復(fù)位處理。
[0035]進一步地,上述實施例所述的裝置,所述發(fā)送模塊,還用于向所述eMMC芯片發(fā)送所述軟復(fù)位命令,以使所述eMMC芯片根據(jù)所述軟復(fù)位命令進行軟復(fù)位處理;
[0036]所述發(fā)送模塊,還用于在所述處理模塊判斷所述eMMC芯片不能夠正常進行讀寫處理后,向所述eMMC芯片發(fā)送所述硬復(fù)位命令,以使所述eMMC芯片根據(jù)所述硬復(fù)位命令進行硬復(fù)位處理。
[0037]進一步地,上述實施例所述的裝置,所述判斷模塊,具體用于:判斷異常總次數(shù)是否大于預(yù)設(shè)的異常閾值,若是,則確定所述eMMC芯片發(fā)生持久性異常;若否,則確定所述eMMC芯片未發(fā)生持久性異常。
[0038]進一步地,上述實施例所述的裝置,還包括:
[0039]初始化模塊,用于對所述eMMC芯片進行初始化配置。
[0040]本發(fā)明實施例提供的eMMC芯片異常的處理方法,向eMMC芯片發(fā)送操作命令,判斷確定eMMC芯片發(fā)生異常,且異常次數(shù)大于或等于重試次數(shù),則判斷eMMC芯片是否為持久性異常,若判斷出eMMC芯片為持久性異常,則觸發(fā)eMMC芯片進行復(fù)位處理,在確定eMMC芯片完成復(fù)位處理,且判斷eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。本實施例中在現(xiàn)有的eMMC芯片異常處理方法的基礎(chǔ)上,確定eMMC芯片發(fā)生持久性異常時,通過觸發(fā)eMMC芯片進行復(fù)位處理,從而對eMMC芯片的持久性異常進行恢復(fù),使得在文件系統(tǒng)訪問系統(tǒng)數(shù)據(jù)過程中,即使系統(tǒng)操作命令嚴重超時,在對eMMC芯片進行復(fù)位處理之后,文件系統(tǒng)仍然可以正常訪問系統(tǒng)數(shù)據(jù),提高了系統(tǒng)的可用性和容錯性。
【專利附圖】
【附圖說明】
[0041]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0042]圖1為現(xiàn)有技術(shù)中eMMC系統(tǒng)的結(jié)構(gòu)示意圖;
[0043]圖2為現(xiàn)有技術(shù)中對eMMC芯片異常的主要采用的處理方法的流程圖;
[0044]圖3為本發(fā)明實施例一提供的eMMC芯片異常的處理方法的流程圖;
[0045]圖4為本發(fā)明實施例二提供的eMMC芯片異常的處理方法的流程圖;
[0046]圖5為本發(fā)明實施例三提供的eMMC芯片異常的處理方法的流程圖;
[0047]圖6為本發(fā)明實施例四提供的eMMC芯片異常的處理方法的一實例流程圖;
[0048]圖7為本發(fā)明實施例五提供的eMMC芯片異常的處理裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0049]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0050]圖3為本發(fā)明實施例一提供的eMMC芯片異常的處理方法流程圖。需要說明的是,本實施例的執(zhí)行主體可以為CPU、驅(qū)動器或者eMMC底層驅(qū)動程序,本發(fā)明中并不以此為限。如圖3所示,該方法包括以下步驟。
[0051]步驟101、向eMMC芯片發(fā)送操作命令,并判斷eMMC芯片是否異常。
[0052]本實施例中,向eMMC芯片發(fā)送操作命令之后,未收到任何響應(yīng)或者收到的是錯誤響應(yīng),例如,無法對eMMC芯片進行操作,或者執(zhí)行了錯誤操作等,則認為該eMMC芯片發(fā)生異常。需要說明的是,本實施例中操作命令具體包括:讀寫、刪除、更新、修改等操作命令,本發(fā)明中并不以此為限。
[0053]步驟102、若判斷出eMMC芯片異常,且異常次數(shù)大于或等于重試次數(shù),則判斷eMMC芯片是否為持久性異常。
[0054]本實施例中,eMMC芯片異常指的是臨時異?;蚨虝盒援惓?,若判斷出eMMC芯片異常之后,先判斷異常次數(shù)是否大于或者等于重試次數(shù),若是,則表明該eMMC芯片有可能發(fā)生持久性異常,則繼續(xù)判斷eMMC芯片是否為持久性異常;若否,則繼續(xù)向eMMC芯片發(fā)送操作命令(即進行重試),并且將異常次數(shù)加一。
[0055]需要說明的是,本實施例中,在每一個重試周期內(nèi),第一次向eMMC芯片發(fā)送操作命令之前,需將異常次數(shù)清零,其中,一個重試周期指的是eMMC芯片異常時,從第一次重試到異常次數(shù)等于重試次數(shù)所用的時間周期,例如,重試次數(shù)為3,則重試3次所用的時間為一個重試周期。
[0056]步驟103、若判斷出eMMC芯片為持久性異常,則觸發(fā)eMMC芯片進行復(fù)位處理。
[0057]本實施例中,若判斷出eMMC芯片為持久性異常,則觸發(fā)eMMC芯片進行復(fù)位處理,例如,向eMMC芯片發(fā)送一個復(fù)位命令,以使該eMMC芯片根據(jù)復(fù)位命令進行復(fù)位處理。其中,判斷出eMMC芯片為持久性異常的方法有多種,本領(lǐng)域技術(shù)人員可根據(jù)實際情況選擇相應(yīng)的判斷方法,本發(fā)明中并不以此為限。
[0058]步驟104、在確定eMMC芯片完成復(fù)位處理,且判斷eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次操作處理請求,并生成告警信息。
[0059]本實施例中,可以根據(jù)eMMC芯片返回的響應(yīng)消息確定復(fù)位處理已經(jīng)完成,或者,直接對eMMC芯片進行檢測確定復(fù)位處理已經(jīng)完成。判斷eMMC芯片是否夠正常進行讀寫處理的方法也有多種,例如,對eMMC芯片進行檢測以獲取檢測結(jié)果,根據(jù)檢測結(jié)果判斷eMMC芯片是否夠正常進行讀寫處理,或者,向eMMC芯片發(fā)送一個操作命令,以使eMMC芯片返回處理結(jié)果,根據(jù)該處理結(jié)果判斷eMMC芯片是否夠正常進行讀寫處理,還可以采用其它方法,本發(fā)明中并不以此為限。告警信息用于告知上一級執(zhí)行主體(如eMMC框架),該eMMC芯片發(fā)生嚴重持久性異常,無法恢復(fù),以使上一級執(zhí)行主體進行其它操作。
[0060]本實施例提供的eMMC芯片異常的處理方法,向eMMC芯片發(fā)送操作命令,判斷確定eMMC芯片發(fā)生異常,且異常次數(shù)大于或等于重試次數(shù),則判斷eMMC芯片是否為持久性異常,若判斷出eMMC芯片為持久性異常,則觸發(fā)eMMC芯片進行復(fù)位處理,在確定eMMC芯片完成復(fù)位處理,且判斷eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。本實施例中在現(xiàn)有的eMMC芯片異常處理方法的基礎(chǔ)上,確定eMMC芯片發(fā)生持久性異常時,通過觸發(fā)eMMC芯片進行復(fù)位處理,從而對eMMC芯片的持久性異常進行恢復(fù),使得在文件系統(tǒng)訪問系統(tǒng)數(shù)據(jù)過程中,即使系統(tǒng)操作命令嚴重超時,在對eMMC芯片進行復(fù)位處理之后,文件系統(tǒng)仍然可以正常訪問系統(tǒng)數(shù)據(jù),提高了系統(tǒng)的可用性和容錯性。
[0061]優(yōu)選地,在上述實施例一中,在確定eMMC芯片完成復(fù)位處理之后,判斷eMMC芯片不能夠正常進行讀寫處理之前,該方法還包括:對eMMC芯片進行初始化配置。
[0062]圖4為本發(fā)明實施例二提供的eMMC芯片異常的處理方法的流程圖。如圖4所示,該方法包括以下步驟。
[0063]步驟201、向eMMC芯片發(fā)送操作命令,并判斷eMMC芯片是否異常。
[0064]步驟202、若判斷出eMMC芯片異常,且異常次數(shù)大于或等于重試次數(shù),則判斷eMMC芯片是否為持久性異常。
[0065]本實施例中,步驟201和步驟202和圖3所示方法實施例一中的步驟101和步驟102相同,此處不再贅述。
[0066]步驟203、若判斷出eMMC芯片為持久性異常,則向eMMC芯片發(fā)送軟復(fù)位(SortwareRest)命令,以使eMMC芯片根據(jù)軟復(fù)位命令進行軟復(fù)位處理;或者,向eMMC芯片發(fā)送硬復(fù)位(Hardware Rest)命令,以使eMMC芯片根據(jù)硬復(fù)位命令進行硬復(fù)位處理。
[0067]本實施例中,eMMC協(xié)議規(guī)定eMMC芯片必須支持軟復(fù)位命令,當(dāng)eMMC芯片接收到軟復(fù)位命令之后,可自行進行軟復(fù)位處理,并且,eMMC協(xié)議規(guī)定eMMC芯片必須支持硬復(fù)位引腳,當(dāng)eMMC芯片接收到硬復(fù)位命令之后,eMMC芯片自行進行硬復(fù)位處理,硬復(fù)位處理相當(dāng)于eMMC芯片重新上下電。
[0068]需要說明的是,本實施例中,硬復(fù)位命令具體為一個硬復(fù)位信號,可通過寫寄存器方式發(fā)送硬復(fù)位信號給eMMC芯片,通告eMMC芯片進行硬復(fù)位處理。
[0069]步驟204、在確定eMMC芯片完成軟復(fù)位處理或者硬復(fù)位處理,且判斷eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次操作處理請求,并生成告警信息。
[0070]可選地,本實施例中,若確定eMMC芯片完成軟復(fù)位處理或者硬復(fù)位處理,且判斷eMMC芯片能夠正常進行讀寫處理后,為防止本次數(shù)據(jù)讀寫等待時間過長,本次讀寫請求做失敗處理,向上一級執(zhí)行主體(如eMMC框架)返回超時錯誤信息,并結(jié)束本次讀寫處理請求。
[0071]本實施例提供的eMMC芯片異常的處理方法,向eMMC芯片發(fā)送操作命令,判斷確定eMMC芯片發(fā)生異常,且異常次數(shù)大于或等于重試次數(shù),則判斷eMMC芯片是否為持久性異常,若判斷出eMMC芯片為持久性異常,則向eMMC芯片發(fā)送軟復(fù)位命令或者硬復(fù)位命令,以使eMMC芯片進行軟復(fù)位或者硬復(fù)位處理,在確定eMMC芯片完成軟復(fù)位處理或者硬復(fù)位處理,且判斷eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。本實施例中在現(xiàn)有的eMMC芯片異常處理方法的基礎(chǔ)上,確定eMMC芯片發(fā)生持久性異常時,通過軟復(fù)位命令或者硬復(fù)位命令觸發(fā)eMMC芯片進行軟復(fù)位處理或者硬復(fù)位處理,從而對eMMC芯片的持久性異常進行恢復(fù),使得在文件系統(tǒng)訪問系統(tǒng)數(shù)據(jù)過程中,即使系統(tǒng)操作命令嚴重超時,在對eMMC芯片進行復(fù)位處理之后,文件系統(tǒng)仍然可以正常訪問系統(tǒng)數(shù)據(jù),提高了系統(tǒng)的可用性和容錯性。
[0072]圖5為本發(fā)明實施例三提供的eMMC芯片異常的處理方法的流程圖。在上述圖3所示實施例一的基礎(chǔ)上,如圖5所示,步驟103中觸發(fā)eMMC芯片進行復(fù)位處理這一過程具體包括以下步驟:
[0073]步驟301、向eMMC芯片發(fā)送軟復(fù)位命令,以使eMMC芯片根據(jù)軟復(fù)位命令進行軟復(fù)位處理。
[0074]本實施例中,eMMC協(xié)議規(guī)定eMMC芯片必須支持軟復(fù)位命令,當(dāng)eMMC芯片接收到軟復(fù)位命令之后,可自行進行軟復(fù)位處理。
[0075]步驟302、在判斷eMMC芯片不能夠正常進行讀寫處理后,向eMMC芯片發(fā)送硬復(fù)位命令,以使eMMC芯片根據(jù)硬復(fù)位命令進行硬復(fù)位處理。
[0076]本實施例中,eMMC協(xié)議規(guī)定eMMC芯片必須支持硬復(fù)位引腳,當(dāng)eMMC芯片接收到硬復(fù)位命令之后,eMMC芯片自行進行硬復(fù)位處理,硬復(fù)位處理相當(dāng)于eMMC芯片重新上下電。需要說明的是,硬復(fù)位命令具體為一個硬復(fù)位信號,可通過寫寄存器方式發(fā)送硬復(fù)位信號給eMMC芯片,通告eMMC芯片進行硬復(fù)位處理。
[0077]可選地,本實施例中,若判斷eMMC芯片能夠正常進行讀寫處理,則向上一級執(zhí)行主體(如eMMC框架)返回超時錯誤信息,并結(jié)束本次讀寫處理請求,即不必再向eMMC芯片發(fā)送硬復(fù)位命令。
[0078]本實施例中,當(dāng)eMMC芯片發(fā)生持久性異常之后,結(jié)合軟復(fù)位處理和硬復(fù)位處理對eMMC芯片的持久性異常進行恢復(fù),使得在文件系統(tǒng)訪問系統(tǒng)數(shù)據(jù)過程中,即使系統(tǒng)操作命令嚴重超時,在對eMMC芯片進行復(fù)位處理之后,文件系統(tǒng)仍然可以正常訪問系統(tǒng)數(shù)據(jù),提高了系統(tǒng)的可用性和容錯性。
[0079]優(yōu)選地,在上述實施例一至實施例三任一實施例中,判斷eMMC芯片是否為持久性異常,包括:判斷異??偞螖?shù)是否大于預(yù)設(shè)的異常閾值,若是,則確定eMMC芯片發(fā)生持久性異常;若否,則確定eMMC芯片未發(fā)生持久性異常。其中,異??偞螖?shù)為多個重試周期中異常次數(shù)的累加值。
[0080]可選地,本實施例中,若判斷eMMC芯片未發(fā)生持久性異常,為防止本次數(shù)據(jù)讀寫等待時間過長,本次讀寫請求做失敗處理,向上一級執(zhí)行主體(如eMMC框架)返回超時錯誤信息,并結(jié)束本次讀寫處理請求。
[0081]本實施例采用統(tǒng)計法來判斷eMMC芯片是否為持久性異常,只要使用簡單的計數(shù)器和比較器或者簡單的應(yīng)用程序即可完成判斷過程,處理過程簡單,降低了設(shè)備的復(fù)雜度。
[0082]圖6為本發(fā)明實施例四提供的eMMC芯片異常的處理方法的一實例流程圖。如圖6所示,該方法包括如下步驟。
[0083]步驟401、向eMMC芯片發(fā)送操作命令。
[0084]步驟402、判斷eMMC芯片是否異常,若否,則執(zhí)行步驟403,若是,則執(zhí)行步驟404。
[0085]403、向上一級執(zhí)行主體返回處理成功消息和數(shù)據(jù)信息,并結(jié)束本次處理請求。
[0086]步驟404、判斷異常次數(shù)是否大于或等于重試次數(shù),若是,則執(zhí)行步驟405,若否,則執(zhí)行步驟406。
[0087]步驟405、記錄異??偞螖?shù),并執(zhí)行步驟407。
[0088]步驟406、向上一級返回超時錯誤信息,將異常次數(shù)加一,并返回步驟401。
[0089]步驟407、判斷異??偞螖?shù)是否大于預(yù)設(shè)的異常閾值,若是,則執(zhí)行步驟408,若否,則執(zhí)行步驟413。
[0090]步驟408、向eMMC芯片發(fā)送軟復(fù)位命令,以使eMMC芯片根據(jù)軟復(fù)位命令進行軟復(fù)位處理,并在確定eMMC芯片完成軟復(fù)位處理之后,對eMMC芯片進行初始化配置。
[0091]步驟409、檢測eMMC芯片是否可以正常讀寫,若是,則執(zhí)行步驟413,若否,則執(zhí)行步驟410。
[0092]步驟410、向eMMC芯片發(fā)送硬復(fù)位命令,以使eMMC芯片根據(jù)硬復(fù)位命令進行硬復(fù)位處理,并在確定eMMC芯片完成硬復(fù)位處理之后,對eMMC芯片進行初始化配置。
[0093]步驟411、檢測eMMC芯片是否可以正常讀寫,若是,則執(zhí)行步驟413,若否,則執(zhí)行步驟412。
[0094]步驟412、向上一級執(zhí)行主體返回錯誤信息和告警信息,并結(jié)束本次處理請求。
[0095]步驟413、向上一級返回超時錯誤信息,并結(jié)束本次處理請求。
[0096]本實施例提供的eMMC芯片異常的處理方法,向eMMC芯片發(fā)送操作命令,判斷確定eMMC芯片發(fā)生異常,且異常次數(shù)大于或等于重試次數(shù),則判斷eMMC芯片是否為持久性異常,若判斷出eMMC芯片為持久性異常,則向eMMC芯片發(fā)送軟復(fù)位命令或者硬復(fù)位命令,以使eMMC芯片進行軟復(fù)位和硬復(fù)位處理,在確定eMMC芯片完成軟復(fù)位處理或者硬復(fù)位處理,且判斷eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。本實施例中在現(xiàn)有的eMMC芯片異常處理方法的基礎(chǔ)上,確定eMMC芯片發(fā)生持久性異常時,結(jié)合軟復(fù)位命令和硬復(fù)位命令觸發(fā)eMMC芯片進行軟復(fù)位處理和硬復(fù)位處理,從而對eMMC芯片的持久性異常進行恢復(fù),使得在文件系統(tǒng)訪問系統(tǒng)數(shù)據(jù)過程中,即使系統(tǒng)操作命令嚴重超時,在對eMMC芯片進行復(fù)位處理之后,文件系統(tǒng)仍然可以正常訪問系統(tǒng)數(shù)據(jù),提高了系統(tǒng)的可用性和容錯性。
[0097]圖7為本發(fā)明實施例五提供的eMMC芯片異常的處理裝置的結(jié)構(gòu)示意圖。如圖7所示,該裝置包括:發(fā)送模塊11、判斷模塊12和處理模塊13。其中,發(fā)送模塊11用于向eMMC芯片發(fā)送操作命令。判斷模塊12用于判斷eMMC芯片是否異常;若判斷出eMMC芯片異常,且異常次數(shù)大于或等于重試次數(shù),則判斷eMMC芯片是否為持久性異常。處理模塊13用于若判斷模塊判斷出eMMC芯片為持久性異常,則觸發(fā)eMMC芯片進行復(fù)位處理;并在確定eMMC芯片完成復(fù)位處理,且判斷eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。
[0098]本實施例的裝置,可以用于執(zhí)行圖3所示方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0099]優(yōu)選地,在上述實施例五中,該裝置還包括初始化模塊(圖中未示出),該初始化模塊用于對所述eMMC芯片進行初始化配置。
[0100]進一步地,在圖7所示實施例五的基礎(chǔ)上,在本發(fā)明實施例六中,發(fā)送模塊11還用于向eMMC芯片發(fā)送軟復(fù)位命令,以使eMMC芯片根據(jù)軟復(fù)位命令進行軟復(fù)位處理;或者,發(fā)送模塊11還用于向eMMC芯片發(fā)送硬復(fù)位命令,以使eMMC芯片根據(jù)硬復(fù)位命令進行硬復(fù)位處理。
[0101]本實施例的裝置,可以用于執(zhí)行圖4所示方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0102]更進一步地,在圖7所示實施例五的基礎(chǔ)上,在本發(fā)明實施例七中,發(fā)送模塊11還用于向eMMC芯片發(fā)送軟復(fù)位命令,以使eMMC芯片根據(jù)軟復(fù)位命令進行軟復(fù)位處理。發(fā)送模塊11還用于在處理模塊判斷eMMC芯片不能夠正常進行讀寫處理后,向eMMC芯片發(fā)送硬復(fù)位命令,以使eMMC芯片根據(jù)硬復(fù)位命令進行硬復(fù)位處理。
[0103]本實施例的裝置,可以用于執(zhí)行圖5所示方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0104]優(yōu)選地,在上述實施例五至實施例七任一實施例中,判斷模塊12具體用于:判斷異??偞螖?shù)是否大于預(yù)設(shè)的異常閾值,若是,則確定eMMC芯片發(fā)生持久性異常;若否,則確定eMMC芯片未發(fā)生持久性異常。
[0105]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0106]最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種嵌入式多媒體卡eMMC芯片異常的處理方法,其特征在于,包括: 向所述eMMC芯片發(fā)送操作命令,并判斷所述eMMC芯片是否異常; 若判斷出所述eMMC芯片異常,且異常次數(shù)大于或等于重試次數(shù),則判斷所述eMMC芯片是否為持久性異常; 若判斷出所述eMMC芯片為持久性異常,則觸發(fā)所述eMMC芯片進行復(fù)位處理; 在確定所述eMMC芯片完成復(fù)位處理,且判斷所述eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述觸發(fā)所述eMMC芯片進行復(fù)位處理,包括: 向所述eMMC芯片發(fā)送軟復(fù)位命令,以使所述eMMC芯片根據(jù)所述軟復(fù)位命令進行軟復(fù)位處理;或者, 向所述eMMC芯片發(fā)送硬復(fù)位命令,以使所述eMMC芯片根據(jù)所述硬復(fù)位命令進行硬復(fù)位處理。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述觸發(fā)所述eMMC芯片進行復(fù)位處理,包括: 向所述eMMC芯片發(fā)送所述軟復(fù)位命令,以使所述eMMC芯片根據(jù)所述軟復(fù)位命令進行軟復(fù)位處理; 在判斷所述eMMC芯片不能夠正常進行讀寫處理后,向所述eMMC芯片發(fā)送所述硬復(fù)位命令,以使所述eMMC芯片根據(jù)所述硬復(fù)位命令進行硬復(fù)位處理。
4.根據(jù)權(quán)利要求1至3任一所述的方法,其特征在于,所述判斷所述eMMC芯片是否為持久性異常,包括: 判斷異??偞螖?shù)是否大于預(yù)設(shè)的異常閾值,若是,則確定所述eMMC芯片發(fā)生持久性異常;若否,則確定所述eMMC芯片未發(fā)生持久性異常。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在確定所述eMMC芯片完成復(fù)位處理之后,所述判斷所述eMMC芯片不能夠正常進行讀寫處理之前,所述方法還包括: 對所述eMMC芯片進行初始化配置。
6.一種嵌入式多媒體卡eMMC芯片異常的處理裝置,其特征在于,包括: 發(fā)送模塊,用于向所述eMMC芯片發(fā)送操作命令; 判斷模塊,用于判斷所述eMMC芯片是否異常;若判斷出所述eMMC芯片異常,且異常次數(shù)大于或等于重試次數(shù),則判斷所述eMMC芯片是否為持久性異常; 處理模塊,用于若所述判斷模塊判斷出所述eMMC芯片為持久性異常,則觸發(fā)所述eMMC芯片進行復(fù)位處理;并在確定所述eMMC芯片完成復(fù)位處理,且判斷所述eMMC芯片不能夠正常進行讀寫處理后,結(jié)束本次讀寫處理請求,并生成告警信息。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述發(fā)送模塊,還用于向所述eMMC芯片發(fā)送軟復(fù)位命令,以使所述eMMC芯片根據(jù)所述軟復(fù)位命令進行軟復(fù)位處理;或者, 所述發(fā)送模塊,還用于向所述eMMC芯片發(fā)送硬復(fù)位命令,以使所述eMMC芯片根據(jù)所述硬復(fù)位命令進行硬復(fù)位處理。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述發(fā)送模塊,還用于向所述eMMC芯片發(fā)送所述軟復(fù)位命令,以使所述eMMC芯片根據(jù)所述軟復(fù)位命令進行軟復(fù)位處理; 所述發(fā)送模塊,還用于在所述處理模塊判斷所述eMMC芯片不能夠正常進行讀寫處理后,向所述eMMC芯片發(fā)送所述硬復(fù)位命令,以使所述eMMC芯片根據(jù)所述硬復(fù)位命令進行硬復(fù)位處理。
9.根據(jù)權(quán)利要求6-8任一項所述的裝置,其特征在于,所述判斷模塊,具體用于:判斷異常總次數(shù)是否大于預(yù)設(shè)的異常閾值,若是,則確定所述eMMC芯片發(fā)生持久性異常;若否,則確定所述eMMC芯片未發(fā)生持久性異常。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 初始化模塊,用于對所述eMMC芯片進行初始化配置。
【文檔編號】G06F11/07GK104391755SQ201410564467
【公開日】2015年3月4日 申請日期:2014年10月21日 優(yōu)先權(quán)日:2014年10月21日
【發(fā)明者】謝振斌 申請人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司