一種內(nèi)存管理方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種內(nèi)存管理方法及裝置,其中,方法包括:在啟動計算機的操作系統(tǒng)后,獲取對應(yīng)操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu);獲取攜帶目標地址信息的錯誤檢查和糾正ECC錯誤信息;根據(jù)多個內(nèi)存單元分別對應(yīng)的地址信息及目標地址信息確定目標內(nèi)存單元;根據(jù)多個內(nèi)存單元之間的排列結(jié)構(gòu),確定與目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元;分別檢測每一個相鄰內(nèi)存單元是否發(fā)生故障;當存在發(fā)生故障的相鄰內(nèi)存單元時,隔離目標內(nèi)存單元和每一個發(fā)生故障的相鄰內(nèi)存單元,以使操作系統(tǒng)不再利用目標內(nèi)存單元和發(fā)生故障的相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)。通過本發(fā)明的技術(shù)方案,可確保計算機能夠正常工作。
【專利說明】
一種內(nèi)存管理方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種內(nèi)存管理方法及裝置。
【背景技術(shù)】
[0002]內(nèi)存是計算機的重要組件,當內(nèi)存中的相應(yīng)內(nèi)存模塊出現(xiàn)故障時,操作系統(tǒng)則無法利用故障內(nèi)存模塊正確讀寫業(yè)務(wù)數(shù)據(jù),需要對內(nèi)存進行相應(yīng)的管理。
[0003]目前,對計算機的內(nèi)存進行管理時,主要通過在計算機的操作系統(tǒng)中設(shè)置ECC(Error Checking and Correct1n,錯誤檢查和糾正)功能模塊,在操作系統(tǒng)運行時,如果操作系統(tǒng)無法利用當前內(nèi)存模塊正確讀寫業(yè)務(wù)數(shù)據(jù),即當前內(nèi)存模塊出現(xiàn)故障時,產(chǎn)生對應(yīng)該故障內(nèi)存模塊的ECC錯誤信息,ECC功能模塊根據(jù)ECC錯誤信息對故障內(nèi)存模塊進行臨時屏蔽,并修復(fù)故障內(nèi)存模塊。
[0004]但是,由于內(nèi)存模塊的集成度越來越高,在當前內(nèi)存模塊出現(xiàn)故障時,可能導(dǎo)致與其相鄰的其他內(nèi)存模塊也出現(xiàn)故障,當操作系統(tǒng)無法在其相鄰的內(nèi)存模塊上正確讀寫業(yè)務(wù)數(shù)據(jù)時,將產(chǎn)生更多的ECC錯誤信息,而過多的ECC錯誤信息,可能導(dǎo)致操作系統(tǒng)崩潰,進而使計算機無法正常工作。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種內(nèi)存管理方法及裝置,可確保計算機能夠正常工作。
[0006]第一方面,本發(fā)明實施例提供了一種內(nèi)存管理方法,包括:
[0007]S0:在啟動計算機的操作系統(tǒng)后,獲取對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu);
[0008]S1:獲取攜帶目標地址信息的錯誤檢查和糾正ECC錯誤信息;
[0009]S2:根據(jù)所述多個內(nèi)存單元分別對應(yīng)的地址信息及所述目標地址信息確定目標內(nèi)存單元;
[0010]S3:根據(jù)所述多個內(nèi)存單元之間的排列結(jié)構(gòu),確定與所述目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元;
[0011 ] S4:分別檢測每一個所述相鄰內(nèi)存單元是否發(fā)生故障;
[0012]S5:當存在發(fā)生故障的相鄰內(nèi)存單元時,隔離所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元,以使所述操作系統(tǒng)不再利用所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)。
[0013]進一步的,在所述在啟動計算機的操作系統(tǒng)后之前,還包括:
[0014]預(yù)先在計算機的基本輸出輸出系統(tǒng)中設(shè)置內(nèi)存管理模塊;
[0015]在啟動計算機的基本輸入輸出系統(tǒng)時,利用所述內(nèi)存管理模塊分別檢測對應(yīng)當前計算機的每一個內(nèi)存單元是否發(fā)生故障;當檢測到至少一個內(nèi)存單元發(fā)生故障時,獲取每一個發(fā)生故障的內(nèi)存單元的地址信息,并將每一個發(fā)生故障的內(nèi)存單元的地址信息存儲至非易失性存儲介質(zhì);根據(jù)所述非易失性存儲介質(zhì)中存儲的每一個發(fā)生故障的內(nèi)存單元的地址信息,隔離每一個發(fā)生故障的內(nèi)存單元,以將當前未隔離的內(nèi)存單元作為對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元。
[0016]進一步的,在所述隔離所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元之后,還包括:
[0017]將每一個所述發(fā)生故障的相鄰內(nèi)存單元和所述目標內(nèi)存單元分別對應(yīng)的地址信息存儲至所述非易失性存儲介質(zhì)。
[0018]進一步的,
[0019]還包括:預(yù)先設(shè)置測試參數(shù)η和故障閾值,其中,η為不小于3的整數(shù);
[0020]所述分別檢測每一個所述相鄰內(nèi)存單元是否發(fā)生故障,包括:
[0021 ]分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù);
[0022]檢測每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù);
[0023]根據(jù)測試參數(shù)η及每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù)計算當前相鄰內(nèi)存單元的非故障概率;
[0024]分別比較每一個相鄰內(nèi)存單元對應(yīng)的非故障概率和所述故障閾值,在當前相鄰內(nèi)存單元對應(yīng)的非故障概率小于所述故障閾值時,確定當前相鄰內(nèi)存單元發(fā)生故障。
[0025]進一步的,在所述確定與所述目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元之后,在所述分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)之前,進一步包括:
[0026]分別檢測每一個所述相鄰內(nèi)存單元是否處于空閑狀態(tài),當每一個所述相鄰內(nèi)存單元均處于空閑狀態(tài)時,執(zhí)行所述分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)。
[0027]第二方面,本發(fā)明實施例提供了一種內(nèi)存管理裝置,包括:
[0028]第一獲取模塊,用于在啟動計算機的操作系統(tǒng)后,獲取對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu);
[0029]第二獲取模塊,用于獲取攜帶目標地址信息的錯誤檢查和糾正ECC錯誤信息;
[0030]第一確定模塊,用于根據(jù)所述多個內(nèi)存單元分別對應(yīng)的地址信息及所述目標地址信息確定目標內(nèi)存單元;
[0031]第二確定模塊,用于根據(jù)所述多個內(nèi)存單元之間的排列結(jié)構(gòu),確定與所述目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元;
[0032]故障檢測模塊,用于分別檢測每一個所述相鄰內(nèi)存單元是否發(fā)生故障;
[0033]隔離處理模塊,用于當存在發(fā)生故障的相鄰內(nèi)存單元時,隔離所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元,以使所述操作系統(tǒng)不再利用所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)。
[0034]進一步的,還包括:
[0035]第一設(shè)置模塊,用于預(yù)先在計算機的基本輸出輸出系統(tǒng)中設(shè)置內(nèi)存管理模塊;
[0036]所述內(nèi)存管理模塊,用于在啟動計算機的基本輸入輸出系統(tǒng)時,分別檢測對應(yīng)當前計算機的每一個內(nèi)存單元是否發(fā)生故障;當檢測到至少一個內(nèi)存單元發(fā)生故障時,獲取每一個發(fā)生故障的內(nèi)存單元的地址信息,并將每一個發(fā)生故障的內(nèi)存單元的地址信息存儲至非易失性存儲介質(zhì);根據(jù)所述非易失性存儲介質(zhì)中存儲的每一個發(fā)生故障的內(nèi)存單元的地址信息,隔離每一個發(fā)生故障的內(nèi)存單元,以將當前未隔離的內(nèi)存單元作為對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元。
[0037]進一步的,還包括:
[0038]存儲處理模塊,用于將每一個所述發(fā)生故障的相鄰內(nèi)存單元和所述目標內(nèi)存單元分別對應(yīng)的地址信息存儲至所述非易失性存儲介質(zhì)。
[0039]進一步的,
[0040]還包括:第二設(shè)置模塊,用于預(yù)先設(shè)置測試參數(shù)η和故障閾值,其中,11為不小于3的整數(shù);
[0041 ]所述故障檢測模塊,包括:
[0042]讀寫控制子單元,用于分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù);
[0043]讀寫檢測子單元,用于檢測每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù);
[0044]計算子單元,用于根據(jù)測試參數(shù)η及每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù)計算當前相鄰內(nèi)存單元的非故障概率;
[0045]處理子單元,用于分別比較每一個相鄰內(nèi)存單元對應(yīng)的非故障概率和所述故障閾值,在當前相鄰內(nèi)存單元對應(yīng)的非故障概率小于所述故障閾值時,確定當前相鄰內(nèi)存單元發(fā)生故障。
[0046]進一步的,還包括:
[0047]狀態(tài)檢測模塊,用于分別檢測每一個所述相鄰內(nèi)存單元是否處于空閑狀態(tài),當每一個所述相鄰內(nèi)存單元均處于空閑狀態(tài)時,執(zhí)行所述分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)。
[0048]本發(fā)明實施例提供了一種內(nèi)存管理方法及裝置,在啟動計算機的操作系統(tǒng)后,首先獲取對應(yīng)操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu),以及,獲取操作系統(tǒng)在運行過程中因存在內(nèi)存單元出現(xiàn)故障而產(chǎn)生的ECC錯誤信息,進而確定ECC錯誤信息對應(yīng)的目標內(nèi)存單元,即可根據(jù)多個內(nèi)存單元之間的排列結(jié)構(gòu),針對與目標內(nèi)存單元相鄰的每一個相鄰內(nèi)存單元進行故障檢測,對每一個發(fā)生故障的相鄰內(nèi)存單元和目標內(nèi)存單元進行隔離,以使運行中的操作系統(tǒng)再使用已經(jīng)發(fā)生故障的相鄰內(nèi)存單元,即不會再產(chǎn)生對應(yīng)已經(jīng)發(fā)生故障的相鄰內(nèi)存單元的ECC錯誤信息,減少ECC錯誤信息的數(shù)量,確保計算機能夠正常工作。
【附圖說明】
[0049]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0050]圖1是本發(fā)明一實施例提供的一種內(nèi)存管理方法的流程圖;
[0051]圖2是本發(fā)明一實施例提供的另一種內(nèi)存管理方法的流程圖;
[0052]圖3是本發(fā)明一實施例提供的一個內(nèi)存中集成的多個內(nèi)存模塊之間的排列結(jié)構(gòu)示意圖;
[0053]圖4是本發(fā)明一實施例提供的一種內(nèi)存管理裝置的結(jié)構(gòu)圖;
[0054]圖5是本發(fā)明一實施例提供的另一種內(nèi)存管理裝置的結(jié)構(gòu)圖;
[0055]圖6是本發(fā)明一實施例提供的又一種內(nèi)存管理裝置的結(jié)構(gòu)圖。
【具體實施方式】
[0056]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0057]如圖1所示,本發(fā)明實施例提供了一種內(nèi)存管理方法,包括:
[0058]S0:在啟動計算機的操作系統(tǒng)后,獲取對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu);
[0059]S1:獲取攜帶目標地址信息的錯誤檢查和糾正ECC錯誤信息;
[0060]S2:根據(jù)所述多個內(nèi)存單元分別對應(yīng)的地址信息及所述目標地址信息確定目標內(nèi)存單元;
[0061]S3:根據(jù)所述多個內(nèi)存單元之間的排列結(jié)構(gòu),確定與所述目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元;
[0062]S4:分別檢測每一個所述相鄰內(nèi)存單元是否發(fā)生故障;
[0063]S5:當存在發(fā)生故障的相鄰內(nèi)存單元時,隔離所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元,以使所述操作系統(tǒng)不再利用所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)。
[0064]本發(fā)明上述實施例中,在啟動計算機的操作系統(tǒng)后,首先獲取對應(yīng)操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu),以及,獲取操作系統(tǒng)在運行過程中因存在內(nèi)存單元出現(xiàn)故障而產(chǎn)生的ECC錯誤信息,進而確定ECC錯誤信息對應(yīng)的目標內(nèi)存單元,即可根據(jù)多個內(nèi)存單元之間的排列結(jié)構(gòu),針對與目標內(nèi)存單元相鄰的每一個相鄰內(nèi)存單元進行故障檢測,對每一個發(fā)生故障的相鄰內(nèi)存單元和目標內(nèi)存單元進行隔離,以使運行中的操作系統(tǒng)再使用已經(jīng)發(fā)生故障的相鄰內(nèi)存單元,即不會再產(chǎn)生對應(yīng)已經(jīng)發(fā)生故障的相鄰內(nèi)存單元的ECC錯誤信息,減少ECC錯誤信息的數(shù)量,確保計算機能夠正常工作。
[0065]為了進一步減少ECC錯誤信息的數(shù)量,本發(fā)明一個優(yōu)選實施例中,還包括:
[0066]預(yù)先在計算機的基本輸出輸出系統(tǒng)中設(shè)置內(nèi)存管理模塊;
[0067]在啟動計算機的基本輸入輸出系統(tǒng)時,利用所述內(nèi)存管理模塊分別檢測對應(yīng)當前計算機的每一個內(nèi)存單元是否發(fā)生故障;當檢測到至少一個內(nèi)存單元發(fā)生故障時,獲取每一個發(fā)生故障的內(nèi)存單元的地址信息,并將每一個發(fā)生故障的內(nèi)存單元的地址信息存儲至非易失性存儲介質(zhì);根據(jù)所述非易失性存儲介質(zhì)中存儲的每一個發(fā)生故障的內(nèi)存單元的地址信息,隔離每一個發(fā)生故障的內(nèi)存單元,以將當前未隔離的內(nèi)存單元作為對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元。
[0068]本發(fā)明上述實施例中,在計算機開機過程中,啟動操作系統(tǒng)之前,首先需要啟動計算機的基本輸入輸出系統(tǒng),通過集成在基本輸入輸出系統(tǒng)中的內(nèi)存管理模塊對計算機的每一個內(nèi)存單元分別進行檢測,檢測到故障內(nèi)存單元,可根據(jù)內(nèi)存對應(yīng)的SPD( SerialPresence Detect,內(nèi)存資料)讀取故障內(nèi)存單元的地址信息,進而將故障內(nèi)存單元的地址信息存儲至非易失性存儲介質(zhì),故障內(nèi)存單元在基本輸入輸出系統(tǒng)階段被永久隔離,被隔離的故障內(nèi)存單元不再屬于操作系統(tǒng)對應(yīng)的可用內(nèi)存區(qū)域。
[0069]需要說明的是,一臺計算機內(nèi)可能安裝多個內(nèi)存,因此,內(nèi)存單元的地址信息這里應(yīng)包括內(nèi)存單元在當前內(nèi)存中的物理地址以及當前內(nèi)存的內(nèi)存序列號。
[0070]進一步的,由于基本輸入輸出系統(tǒng)階段依賴于非易失性存儲介質(zhì)中存儲的故障內(nèi)存單元的地址信息對故障內(nèi)存單元進行永久隔離,為了實現(xiàn)對本次操作系統(tǒng)運行過程中出現(xiàn)故障的內(nèi)存單元在下次啟動操作系統(tǒng)時不再進入操作系統(tǒng)的可用內(nèi)存區(qū)域,對本次操作系統(tǒng)運行過程中出現(xiàn)故障的內(nèi)存單元進行永久隔離,本發(fā)明一個優(yōu)選實施例中,在所述隔離所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元之后,還包括:
[0071]將每一個所述發(fā)生故障的相鄰內(nèi)存單元和所述目標內(nèi)存單元分別對應(yīng)的地址信息存儲至所述非易失性存儲介質(zhì)。
[0072]進一步的,由于內(nèi)存單元的集成度較高,運行中的操作系統(tǒng)頻繁在一個內(nèi)存單元上讀寫業(yè)務(wù)數(shù)據(jù)時,可能導(dǎo)致當前內(nèi)存單元出現(xiàn)故障,甚至導(dǎo)致與當前內(nèi)存單元相鄰的相鄰內(nèi)存單元出現(xiàn)故障,為了準確檢測出相鄰內(nèi)存單元是否發(fā)生故障,本發(fā)明一個優(yōu)選實施例中,還包括:預(yù)先設(shè)置測試參數(shù)η和故障閾值,其中,η為不小于3的整數(shù);
[0073]所述分別檢測每一個所述相鄰內(nèi)存單元是否發(fā)生故障,包括:
[0074]分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù);
[0075]檢測每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù);
[0076]根據(jù)測試參數(shù)η及每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù)計算當前相鄰內(nèi)存單元的非故障概率;
[0077]分別比較每一個相鄰內(nèi)存單元對應(yīng)的非故障概率和所述故障閾值,在當前相鄰內(nèi)存單元對應(yīng)的非故障概率小于所述故障閾值時,確定當前相鄰內(nèi)存單元發(fā)生故障。
[0078]需要說明的是,這里還可以對目標內(nèi)存單元進行強制檢測,即通過與上述實施例中相似的方法準確檢測目標內(nèi)存單元是否發(fā)生故障,避免目標內(nèi)存單元因偶發(fā)性錯誤而產(chǎn)生了ECC錯誤信息時,被錯誤的隔離,相應(yīng)的,當檢測出目標內(nèi)存單元為偶發(fā)性錯誤時,釋放目標內(nèi)存單元,可增大操作系統(tǒng)的可用內(nèi)存空間。
[0079]本發(fā)明一實施例中,針對目標內(nèi)存單元和發(fā)生故障的相鄰內(nèi)存單元進行隔離時,可利用操作系統(tǒng)的頁隔離技術(shù),在目標內(nèi)存單元和發(fā)生故障的相鄰內(nèi)存單元為空閑狀態(tài)時,隔離目標內(nèi)存單元和發(fā)生故障的相鄰內(nèi)存單元,暫時離開操作系統(tǒng)對應(yīng)的可用內(nèi)存區(qū)域,對目標內(nèi)存單元和發(fā)生故障的相鄰內(nèi)存單元進行臨時屏蔽。
[0080]進一步的,為了防止相鄰內(nèi)存單元處于工作狀態(tài),即操作系統(tǒng)正在使用相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)時,因改寫相鄰內(nèi)存單元上的業(yè)務(wù)數(shù)據(jù)而影響操作系統(tǒng)的正常運行,本發(fā)明一個優(yōu)選實施例中,在所述確定與所述目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元之后,在所述分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)之前,進一步包括:
[0081]分別檢測每一個所述相鄰內(nèi)存單元是否處于空閑狀態(tài),當每一個所述相鄰內(nèi)存單元均處于空閑狀態(tài)時,執(zhí)行所述分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)。
[0082]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖及具體實施例對本發(fā)明作進一步地詳細描述。
[0083 ]如圖2所示,本發(fā)明實施例提供了一種內(nèi)存管理方法,包括:
[0084]步驟201,在計算機的基本輸入輸出系統(tǒng)中設(shè)置內(nèi)存管理模塊,以及設(shè)置測試參數(shù)η和故障閾值。
[0085]這里,測試參數(shù)η為不小于3的整數(shù)。
[0086]步驟202,在啟動基本輸入輸出系統(tǒng)時,利用內(nèi)存管理模塊分別檢測對應(yīng)當前計算機的每一個內(nèi)存單元是否發(fā)生故障。
[0087]舉例來說,如圖3所示的一個內(nèi)存,該內(nèi)存包括內(nèi)存單元六、8、(:、0』、?、6、!1、1,這里即分別檢測內(nèi)存單元A、B、C、D、E、F、G、H、I是否發(fā)生故障。
[0088]步驟203,獲取每一個發(fā)生故障的內(nèi)存單元的地址信息,將每一個發(fā)生故障的內(nèi)存單元的地址信息存儲至非易失性存儲介質(zhì)。
[0089]本發(fā)明一實施例中,一臺計算機可對應(yīng)多個內(nèi)存,因此,內(nèi)存單元的地址信息的地址信息可以包括當前內(nèi)存單元對應(yīng)的內(nèi)存序列號以及當前內(nèi)存單元在對應(yīng)的內(nèi)存中的物理地址。
[0090]舉例來說,當步驟202中檢測到內(nèi)存單元F和內(nèi)存單元H發(fā)生故障時,則將內(nèi)存單元F和內(nèi)存單元H分別對應(yīng)的地址信息存儲至非易失性存儲介質(zhì)。
[0091]步驟204,根據(jù)非易失性存儲介質(zhì)中存儲的每一個發(fā)生故障的內(nèi)存單元的地址信息,隔離每一個發(fā)生故障的內(nèi)存單元。
[0092]這里,在基本輸入輸出系統(tǒng)階段隔離發(fā)生故障的內(nèi)存單元,使得計算機的操作系統(tǒng)在啟動后不能再使用發(fā)生故障的內(nèi)存單元,即被隔離的發(fā)生故障的內(nèi)存單元不再進入啟動后的操作系統(tǒng)的可用內(nèi)存區(qū)域,實現(xiàn)對發(fā)生故障的內(nèi)存單元進行永久隔離。
[0093]本發(fā)明一實施例中,內(nèi)存單元F和內(nèi)存單元H不再進入啟動后的操作系統(tǒng)的可用內(nèi)存區(qū)域,以將內(nèi)存單元A、B、C、D、E、G、I作為對應(yīng)操作系統(tǒng)的內(nèi)存單元,S卩啟動后的操作系統(tǒng)對應(yīng)的可用內(nèi)存區(qū)域包括內(nèi)存單元A、B、C、D、E、G、I。
[0094]步驟205,在啟動計算機的操作系統(tǒng)后,獲取對應(yīng)操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu)。
[0095]需要說明的是,多個內(nèi)存單元之間的排列結(jié)構(gòu)指的是多個內(nèi)存單元之間在物理意義上的排列結(jié)構(gòu),多個內(nèi)存單元可以位于計算機內(nèi)多個不同的內(nèi)存中,同一個內(nèi)存中的多個內(nèi)存單元以相應(yīng)的行列矩陣結(jié)構(gòu)排列,本發(fā)明實施例僅以當前計算機對應(yīng)如圖3所示的一個內(nèi)存為例,內(nèi)存單元A、B、C、D、E、F、G、H、I在內(nèi)存中構(gòu)成三行三列的排列結(jié)構(gòu)。
[0096]步驟206,獲取攜帶目標地址信息的ECC錯誤信息。
[0097]本發(fā)明一實施例中,可通過監(jiān)控操作系統(tǒng)中的ECC功能模塊,獲取操作系統(tǒng)在使用其可用內(nèi)存區(qū)域的內(nèi)存單元時,因當前內(nèi)存單元無法正確讀寫業(yè)務(wù)數(shù)據(jù)而產(chǎn)生的ECC錯誤
?目息O
[0098]步驟207,根據(jù)多個內(nèi)存單元分別對應(yīng)的地址信息及目標地址信息確定目標內(nèi)存單元。
[0099]步驟208,根據(jù)多個內(nèi)存單元之間的排列結(jié)構(gòu),確定與目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元。
[0100]舉例來說,如圖3所示,當目標內(nèi)存單元為E時,由于內(nèi)存單元F和H在步驟204中已經(jīng)被隔離,因此,相鄰內(nèi)存單元包括內(nèi)存單元A、B、C、D、G、I。
[0101]步驟209,分別檢測每一個相鄰內(nèi)存單元是否處于空閑狀態(tài)。
[0102]這里,應(yīng)確保每一個相鄰內(nèi)存單元均處于空閑狀態(tài)時,才能執(zhí)行步驟210。
[0103]步驟210,分別在每一個相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)。
[0104]步驟211,檢測每一個相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù)。
[0105]步驟212,根據(jù)測試參數(shù)η及每一個相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù)計算當前相鄰內(nèi)存單元的非故障概率。
[0106]步驟213,分別比較每一個相鄰內(nèi)存單元對應(yīng)的非故障概率和故障閾值,在當前相鄰內(nèi)存單元對應(yīng)的非故障概率小于故障閾值時,確定當前相鄰內(nèi)存單元發(fā)生故障。
[0107]本發(fā)明一實施例中,測試參數(shù)和故障閾值可以是結(jié)合實際業(yè)務(wù)場景設(shè)置的經(jīng)驗值,比如,可以將測試參數(shù)η設(shè)置為100,故障閾值設(shè)置為0.02。
[0108]步驟210至步驟213中,當相鄰內(nèi)存單元A、B、C、D、G、I分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù)為100、100、99、98、0、1時,則相鄰內(nèi)存單元4、8、(:、0、6、1分別對應(yīng)的非故障概率分別為:1、1、0.99、0.98、0、0.01,相應(yīng)的,即可確定相鄰內(nèi)存單元6和1發(fā)生故障。
[0109]步驟214,隔離目標內(nèi)存單元和每一個發(fā)生故障的相鄰內(nèi)存單元。
[0110]這里,可利用操作系統(tǒng)的頁隔離技術(shù)對發(fā)生故障的相鄰內(nèi)存單元G和I進行臨時屏蔽,使得運行中的操作系統(tǒng)不再使用相鄰內(nèi)存單元G和I存儲業(yè)務(wù)數(shù)據(jù),相應(yīng)的,即不會再觸發(fā)對應(yīng)相鄰內(nèi)存單元G和I的ECC錯誤信息,減少ECC錯誤信息的數(shù)量,確保計算機能夠正常工作。
[0111]步驟215,將每一個發(fā)生故障的相鄰內(nèi)存單元和目標內(nèi)存單元分別對應(yīng)的地址信息存儲至非易失性存儲介質(zhì)。
[0112]這里,即將相鄰內(nèi)存單元G和I分別對應(yīng)的地址信息存儲至非易失性存儲介質(zhì),在下次啟動操作系統(tǒng)時,內(nèi)存單元F、H、G、I都不會再進入下次啟動的操作系統(tǒng)的可用內(nèi)存區(qū)域,實現(xiàn)對內(nèi)存單元F、H、G、I進行永久隔離。
[0113]如圖4所示,本發(fā)明實施例提供了一種內(nèi)存管理裝置,包括:
[0114]第一獲取模塊401,用于在啟動計算機的操作系統(tǒng)后,獲取對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu);
[0115]第二獲取模塊402,用于獲取攜帶目標地址信息的錯誤檢查和糾正ECC錯誤信息;
[0116]第一確定模塊403,用于根據(jù)所述多個內(nèi)存單元分別對應(yīng)的地址信息及所述目標地址信息確定目標內(nèi)存單元;
[0117]第二確定模塊404,用于根據(jù)所述多個內(nèi)存單元之間的排列結(jié)構(gòu),確定與所述目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元;
[0118]故障檢測模塊405,用于分別檢測每一個所述相鄰內(nèi)存單元是否發(fā)生故障;
[0119]隔離處理模塊406,用于當存在發(fā)生故障的相鄰內(nèi)存單元時,隔離所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元,以使所述操作系統(tǒng)不再利用所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)。
[0120]進一步的,為了進一步減少ECC錯誤信息的數(shù)量,如圖5所示,本發(fā)明一個優(yōu)選實施例中,還包括:
[0121]第一設(shè)置模塊501,用于預(yù)先在計算機的基本輸出輸出系統(tǒng)中設(shè)置內(nèi)存管理模塊502;
[0122]所述內(nèi)存管理模塊502,用于在啟動計算機的基本輸入輸出系統(tǒng)時,分別檢測對應(yīng)當前計算機的每一個內(nèi)存單元是否發(fā)生故障;當檢測到至少一個內(nèi)存單元發(fā)生故障時,獲取每一個發(fā)生故障的內(nèi)存單元的地址信息,并將每一個發(fā)生故障的內(nèi)存單元的地址信息存儲至非易失性存儲介質(zhì);根據(jù)所述非易失性存儲介質(zhì)中存儲的每一個發(fā)生故障的內(nèi)存單元的地址信息,隔離每一個發(fā)生故障的內(nèi)存單元,以將當前未隔離的內(nèi)存單元作為對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元。
[0123]進一步的,為了實現(xiàn)對本次操作系統(tǒng)運行過程中出現(xiàn)故障的內(nèi)存單元在下次啟動操作系統(tǒng)時進行永久隔離,如圖5所示,本發(fā)明一個優(yōu)選實施例中,還包括:
[0124]存儲處理模塊503,用于將每一個所述發(fā)生故障的相鄰內(nèi)存單元和所述目標內(nèi)存單元分別對應(yīng)的地址信息存儲至所述非易失性存儲介質(zhì)。
[0125]進一步的,為了準確檢測出相鄰內(nèi)存單元是否發(fā)生故障,如圖6所示,本發(fā)明一個優(yōu)選實施例中,還包括:
[0126]第二設(shè)置模塊601,用于預(yù)先設(shè)置測試參數(shù)η和故障閾值,其中,η為不小于3的整數(shù);
[0127]所述故障檢測模塊405,包括:
[0128]讀寫控制子單元(附圖中未示出),用于分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù);
[0129]讀寫檢測子單元(附圖中未示出),用于檢測每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù);
[0130]計算子單元(附圖中未示出),用于根據(jù)測試參數(shù)η及每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù)計算當前相鄰內(nèi)存單元的非故障概率;
[0131]處理子單元(附圖中未示出),用于分別比較每一個相鄰內(nèi)存單元對應(yīng)的非故障概率和所述故障閾值,在當前相鄰內(nèi)存單元對應(yīng)的非故障概率小于所述故障閾值時,確定當前相鄰內(nèi)存單元發(fā)生故障。
[0132]進一步的,為了防止相鄰內(nèi)存單元處于工作狀態(tài),即操作系統(tǒng)正在使用相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)時,因改寫相鄰內(nèi)存單元上的業(yè)務(wù)數(shù)據(jù)而影響操作系統(tǒng)的正常運行,如圖6所示,本發(fā)明一個優(yōu)選實施例中,還包括:
[0133]狀態(tài)檢測模塊602,用于分別檢測每一個所述相鄰內(nèi)存單元是否處于空閑狀態(tài),當每一個所述相鄰內(nèi)存單元均處于空閑狀態(tài)時,執(zhí)行所述分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)。
[0134]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
[0135]本發(fā)明各個實施例至少具有如下有益效果:
[0136]1、在啟動計算機的操作系統(tǒng)后,首先獲取對應(yīng)操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu),以及,獲取操作系統(tǒng)在運行過程中因存在內(nèi)存單元出現(xiàn)故障而產(chǎn)生的ECC錯誤信息,進而確定ECC錯誤信息對應(yīng)的目標內(nèi)存單元,SP可根據(jù)多個內(nèi)存單元之間的排列結(jié)構(gòu),針對與目標內(nèi)存單元相鄰的每一個相鄰內(nèi)存單元進行故障檢測,對每一個發(fā)生故障的相鄰內(nèi)存單元和目標內(nèi)存單元進行隔離,以使運行中的操作系統(tǒng)再使用已經(jīng)發(fā)生故障的相鄰內(nèi)存單元,即不會再產(chǎn)生對應(yīng)已經(jīng)發(fā)生故障的相鄰內(nèi)存單元的ECC錯誤信息,減少ECC錯誤信息的數(shù)量,確保計算機能夠正常工作。
[0137]2、通過集成在基本輸入輸出系統(tǒng)中的內(nèi)存管理模塊,針對對應(yīng)計算機的每一個內(nèi)存單元分別進行檢測,檢測到故障內(nèi)存單元時,可根據(jù)內(nèi)存對應(yīng)的Sro讀取故障內(nèi)存單元的地址信息,進而將故障內(nèi)存單元的地址信息存儲至非易失性存儲介質(zhì),故障內(nèi)存單元在基本輸入輸出系統(tǒng)階段被永久隔離,不再進入啟動后的操作系統(tǒng)對應(yīng)的可用內(nèi)存區(qū)域,進一步減少ECC錯誤信息的數(shù)量。
[0138]3、將每一個發(fā)生故障的相鄰內(nèi)存單元和目標內(nèi)存單元分別對應(yīng)的地址信息存儲至非易失性存儲介質(zhì),可以實現(xiàn)對本次操作系統(tǒng)運行過程中出現(xiàn)故障的目標內(nèi)存單元和相鄰內(nèi)存單元在下次啟動操作系統(tǒng)時進行永久隔離。
[0139]4、對目標內(nèi)存單元和相鄰內(nèi)存單元分別進行強制檢測,提高檢測結(jié)果的準確性,避免目標內(nèi)存單元因偶發(fā)性錯誤而產(chǎn)生了ECC錯誤信息時,被錯誤的隔離,相應(yīng)的,當檢測出目標內(nèi)存單元為偶發(fā)性錯誤時,釋放目標內(nèi)存單元,可增大操作系統(tǒng)的可用內(nèi)存空間。
[0140]5、只有在相鄰內(nèi)存單元處于空閑狀態(tài)時,才對目標內(nèi)存單元和相鄰內(nèi)存單元進行強制檢測,防止相鄰內(nèi)存單元處于工作狀態(tài),即操作系統(tǒng)正在使用相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)時,因改寫相鄰內(nèi)存單元上的業(yè)務(wù)數(shù)據(jù)而影響操作系統(tǒng)的正常運行。
[0141]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0142]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
[0143]最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
【主權(quán)項】
1.一種內(nèi)存管理方法,其特征在于,包括: 在啟動計算機的操作系統(tǒng)后,獲取對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu); 獲取攜帶目標地址信息的錯誤檢查和糾正ECC錯誤信息; 根據(jù)所述多個內(nèi)存單元分別對應(yīng)的地址信息及所述目標地址信息確定目標內(nèi)存單元;根據(jù)所述多個內(nèi)存單元之間的排列結(jié)構(gòu),確定與所述目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元; 分別檢測每一個所述相鄰內(nèi)存單元是否發(fā)生故障; 當存在發(fā)生故障的相鄰內(nèi)存單元時,隔離所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元,以使所述操作系統(tǒng)不再利用所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的內(nèi)存管理方法,其特征在于,在所述在啟動計算機的操作系統(tǒng)后之前,還包括: 預(yù)先在計算機的基本輸出輸出系統(tǒng)中設(shè)置內(nèi)存管理模塊; 在啟動計算機的基本輸入輸出系統(tǒng)時,利用所述內(nèi)存管理模塊分別檢測對應(yīng)當前計算機的每一個內(nèi)存單元是否發(fā)生故障;當檢測到至少一個內(nèi)存單元發(fā)生故障時,獲取每一個發(fā)生故障的內(nèi)存單元的地址信息,并將每一個發(fā)生故障的內(nèi)存單元的地址信息存儲至非易失性存儲介質(zhì);根據(jù)所述非易失性存儲介質(zhì)中存儲的每一個發(fā)生故障的內(nèi)存單元的地址信息,隔離每一個發(fā)生故障的內(nèi)存單元,以將當前未隔離的內(nèi)存單元作為對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元。3.根據(jù)權(quán)利要求2所述的內(nèi)存管理方法,其特征在于,在所述隔離所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元之后,還包括: 將每一個所述發(fā)生故障的相鄰內(nèi)存單元和所述目標內(nèi)存單元分別對應(yīng)的地址信息存儲至所述非易失性存儲介質(zhì)。4.根據(jù)權(quán)利要求1至3中任一所述的內(nèi)存管理方法,其特征在于, 還包括:預(yù)先設(shè)置測試參數(shù)η和故障閾值,其中,η為不小于3的整數(shù); 所述分別檢測每一個所述相鄰內(nèi)存單元是否發(fā)生故障,包括: 分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù); 檢測每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù); 根據(jù)測試參數(shù)η及每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù)計算當前相鄰內(nèi)存單元的非故障概率; 分別比較每一個相鄰內(nèi)存單元對應(yīng)的非故障概率和所述故障閾值,在當前相鄰內(nèi)存單元對應(yīng)的非故障概率小于所述故障閾值時,確定當前相鄰內(nèi)存單元發(fā)生故障。5.根據(jù)權(quán)利要求4所述的內(nèi)存管理方法,其特征在于,在所述確定與所述目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元之后,在所述分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)之前,進一步包括: 分別檢測每一個所述相鄰內(nèi)存單元是否處于空閑狀態(tài),當每一個所述相鄰內(nèi)存單元均處于空閑狀態(tài)時,執(zhí)行所述分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)。6.—種內(nèi)存管理裝置,其特征在于,包括: 第一獲取模塊,用于在啟動計算機的操作系統(tǒng)后,獲取對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元分別對應(yīng)的地址信息以及多個內(nèi)存單元之間的排列結(jié)構(gòu); 第二獲取模塊,用于獲取攜帶目標地址信息的錯誤檢查和糾正ECC錯誤信息; 第一確定模塊,用于根據(jù)所述多個內(nèi)存單元分別對應(yīng)的地址信息及所述目標地址信息確定目標內(nèi)存單元; 第二確定模塊,用于根據(jù)所述多個內(nèi)存單元之間的排列結(jié)構(gòu),確定與所述目標內(nèi)存單元相鄰的至少一個相鄰內(nèi)存單元; 故障檢測模塊,用于分別檢測每一個所述相鄰內(nèi)存單元是否發(fā)生故障; 隔離處理模塊,用于當存在發(fā)生故障的相鄰內(nèi)存單元時,隔離所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元,以使所述操作系統(tǒng)不再利用所述目標內(nèi)存單元和每一個所述發(fā)生故障的相鄰內(nèi)存單元存儲業(yè)務(wù)數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的內(nèi)存管理裝置,其特征在于,還包括: 第一設(shè)置模塊,用于預(yù)先在計算機的基本輸出輸出系統(tǒng)中設(shè)置內(nèi)存管理模塊; 所述內(nèi)存管理模塊,用于在啟動計算機的基本輸入輸出系統(tǒng)時,分別檢測對應(yīng)當前計算機的每一個內(nèi)存單元是否發(fā)生故障;當檢測到至少一個內(nèi)存單元發(fā)生故障時,獲取每一個發(fā)生故障的內(nèi)存單元的地址信息,并將每一個發(fā)生故障的內(nèi)存單元的地址信息存儲至非易失性存儲介質(zhì);根據(jù)所述非易失性存儲介質(zhì)中存儲的每一個發(fā)生故障的內(nèi)存單元的地址信息,隔離每一個發(fā)生故障的內(nèi)存單元,以將當前未隔離的內(nèi)存單元作為對應(yīng)所述操作系統(tǒng)的多個內(nèi)存單元。8.根據(jù)權(quán)利要求7所述的內(nèi)存管理裝置,其特征在于,還包括: 存儲處理模塊,用于將每一個所述發(fā)生故障的相鄰內(nèi)存單元和所述目標內(nèi)存單元分別對應(yīng)的地址信息存儲至所述非易失性存儲介質(zhì)。9.根據(jù)權(quán)利要求6至8中任一所述的內(nèi)存管理裝置,其特征在于, 還包括:第二設(shè)置模塊,用于預(yù)先設(shè)置測試參數(shù)η和故障閾值,其中,η為不小于3的整數(shù); 所述故障檢測模塊,包括: 讀寫控制子單元,用于分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù); 讀寫檢測子單元,用于檢測每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù); 計算子單元,用于根據(jù)測試參數(shù)η及每一個所述相鄰內(nèi)存單元分別對應(yīng)的能夠正確讀寫測試數(shù)據(jù)的次數(shù)計算當前相鄰內(nèi)存單元的非故障概率; 處理子單元,用于分別比較每一個相鄰內(nèi)存單元對應(yīng)的非故障概率和所述故障閾值,在當前相鄰內(nèi)存單元對應(yīng)的非故障概率小于所述故障閾值時,確定當前相鄰內(nèi)存單元發(fā)生故障。10.根據(jù)權(quán)利要求9所述的內(nèi)存管理裝置,其特征在于,還包括: 狀態(tài)檢測模塊,用于分別檢測每一個所述相鄰內(nèi)存單元是否處于空閑狀態(tài),當每一個所述相鄰內(nèi)存單元均處于空閑狀態(tài)時,執(zhí)行所述分別在每一個所述相鄰內(nèi)存單元上讀寫η次測試數(shù)據(jù)。
【文檔編號】G06F11/07GK106021014SQ201610318337
【公開日】2016年10月12日
【申請日】2016年5月12日
【發(fā)明人】周茂庸, 劉勝, 龐瀟
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司