亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種監(jiān)控內(nèi)存的方法及裝置的制造方法

文檔序號:10612706閱讀:356來源:國知局
一種監(jiān)控內(nèi)存的方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種監(jiān)控內(nèi)存的方法及裝置,該方法,包括:S1:對內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤;S2:從所有內(nèi)存錯誤中確定出可修復(fù)的內(nèi)存錯誤;S3:屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域。本發(fā)明提供了一種監(jiān)控內(nèi)存的方法及裝置,能夠提高內(nèi)存所在的系統(tǒng)的穩(wěn)定性。
【專利說明】
_種監(jiān)控內(nèi)存的方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別涉及一種監(jiān)控內(nèi)存的方法及裝置。
【背景技術(shù)】
[0002]內(nèi)存是計算機(jī)中重要的部件之一,它是與CPU進(jìn)行溝通的橋梁。計算機(jī)中所有程序的運行都是在內(nèi)存中進(jìn)行的,因此內(nèi)存的性能對計算機(jī)的影響非常大。如何對內(nèi)存進(jìn)行監(jiān)控,保證內(nèi)存的正常運行,非常重要。
[0003]現(xiàn)有技術(shù)中,在對內(nèi)存進(jìn)行監(jiān)控時,檢測出內(nèi)存中的錯誤后,不能對內(nèi)存錯誤進(jìn)行處理,內(nèi)存錯誤會存在系統(tǒng)中,當(dāng)內(nèi)存錯誤較多時,會嚴(yán)重影響系統(tǒng)的穩(wěn)定性,容易導(dǎo)致系統(tǒng)崩潰。
[0004]通過上述描述可見,現(xiàn)有技術(shù)由于無法對內(nèi)存錯誤進(jìn)行處理,使得系統(tǒng)的穩(wěn)定性較低。

【發(fā)明內(nèi)容】

[0005]本發(fā)明實施例提供了一種監(jiān)控內(nèi)存的方法及裝置,能夠提高內(nèi)存所在的系統(tǒng)的穩(wěn)定性。
[0006]—方面,本發(fā)明實施例提供了一種監(jiān)控內(nèi)存的方法,包括:
[0007]S1:對內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤;
[0008]S2:從所有內(nèi)存錯誤中確定出可修復(fù)的內(nèi)存錯誤;
[0009]S3:屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域。
[0010]進(jìn)一步地,所述S2,包括:
[0011]Al:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤的數(shù)量是否小于等于預(yù)設(shè)值,如果是,則依次執(zhí)行步驟A2、A3,否則,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程;
[0012]A2:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址;
[0013]A3:將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0014]進(jìn)一步地,所述S2,包括:
[0015]B1:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤對應(yīng)的總?cè)萘渴欠裥∮诘扔诋?dāng)前內(nèi)存條的總?cè)萘康念A(yù)設(shè)百分比,如果是,則執(zhí)行步驟B2,否則,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程;
[0016]B2:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤是否發(fā)生在預(yù)設(shè)數(shù)量個連續(xù)的物理頁面中,如果是,則依次執(zhí)行步驟B3、B4,否則,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程;
[0017]B3:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址;
[0018]B4:將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0019]進(jìn)一步地,所述S3,包括:
[0020]確定可修復(fù)的內(nèi)存錯誤對應(yīng)的待屏蔽線性地址;
[0021]禁止使用待屏蔽線性地址對應(yīng)的內(nèi)存區(qū)域。
[0022]進(jìn)一步地,所述SI包括:
[0023]在B1S階段,利用IMS(IntelligentMemory Surveillance,智能內(nèi)存監(jiān)控)對所述內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤。
[0024]另一方面,本發(fā)明實施例提供了一種監(jiān)控內(nèi)存的裝置,包括:
[0025]檢測單元,用于對內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤;
[0026]確定單元,用于從所有內(nèi)存錯誤中確定出可修復(fù)的內(nèi)存錯誤;
[0027]屏蔽單元,用于屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域。
[0028]進(jìn)一步地,所述確定單元,包括:
[0029]第一判斷子單元、第一確定子單元、第二確定子單元;
[0030]所述判斷子單元,用于判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤的數(shù)量是否小于等于預(yù)設(shè)值,當(dāng)判斷結(jié)果為是時,則觸發(fā)所述第一確定子單元,當(dāng)判斷結(jié)果為否時,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤;
[0031 ]所述第一確定子單元,用于確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址,觸發(fā)所述第二確定子單元;
[0032]所述第二確定子單元,將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0033]進(jìn)一步地,所述確定單元,包括:
[0034]第二判斷子單元、第三判斷子單元、第三確定子單元;
[0035]所述第二判斷子單元,用于判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤對應(yīng)的總?cè)萘渴欠裥∮诘扔诋?dāng)前內(nèi)存條的總?cè)萘康念A(yù)設(shè)百分比,當(dāng)判斷結(jié)果為是時,則觸發(fā)所述第三判斷子單元,當(dāng)判斷結(jié)果為否時,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤;
[0036]所述第三判斷子單元,用于判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤是否發(fā)生在預(yù)設(shè)數(shù)量個連續(xù)的物理頁面中,當(dāng)判斷結(jié)果為是時,則觸發(fā)所述第三確定子單元,當(dāng)判斷結(jié)果為否時,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤;
[0037]所述第三確定子單元,用于確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址,將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0038]進(jìn)一步地,所述屏蔽單元,用于確定可修復(fù)的內(nèi)存錯誤對應(yīng)的待屏蔽線性地址,禁止使用待屏蔽線性地址對應(yīng)的內(nèi)存區(qū)域。
[0039]進(jìn)一步地,所述檢測單元,用于在B1S階段,利用頂S對所述內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤。
[0040]在本發(fā)明實施例中,在檢測出內(nèi)存錯誤后,確定出可修復(fù)的內(nèi)存錯誤,屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域,系統(tǒng)不再使用該內(nèi)存區(qū)域,避免了在該內(nèi)存區(qū)域重復(fù)發(fā)生錯誤,提高了內(nèi)存所在的系統(tǒng)的穩(wěn)定性。
【附圖說明】
[0041]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0042]圖1是本發(fā)明一實施例提供的一種監(jiān)控內(nèi)存的方法的流程圖;
[0043]圖2是本發(fā)明一實施例提供的另一種監(jiān)控內(nèi)存的方法的流程圖;
[0044]圖3是本發(fā)明一實施例提供的又一種監(jiān)控內(nèi)存的方法的流程圖;
[0045]圖4是本發(fā)明一實施例提供的一種監(jiān)控內(nèi)存的裝置的示意圖;
[0046]圖5是本發(fā)明一實施例提供的另一種監(jiān)控內(nèi)存的裝置的示意圖。
【具體實施方式】
[0047]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0048]如圖1所示,本發(fā)明實施例提供了一種監(jiān)控內(nèi)存的方法,該方法可以包括以下步驟:
[0049]S1:對內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤;
[0050]S2:從所有內(nèi)存錯誤中確定出可修復(fù)的內(nèi)存錯誤;
[0051 ] S3:屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域。
[0052]在本發(fā)明實施例中,在檢測出內(nèi)存錯誤后,確定出可修復(fù)的內(nèi)存錯誤,屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域,系統(tǒng)不再使用該內(nèi)存區(qū)域,避免了在該內(nèi)存區(qū)域重復(fù)發(fā)生錯誤,提高了內(nèi)存所在的系統(tǒng)的穩(wěn)定性。
[0053]確定可修復(fù)的內(nèi)存錯誤可以通過以下兩種方式實現(xiàn):
[0054]在一種實現(xiàn)方式中,所述S2,包括:
[0055]Al:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤的數(shù)量是否小于等于預(yù)設(shè)值,如果是,則執(zhí)行步驟A2,否則,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程;
[0056]A2:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址;
[0057]A3:將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0058]在這里的預(yù)設(shè)值可以是16,由于一個內(nèi)存條中的內(nèi)存錯誤超過16個后,會對系統(tǒng)的穩(wěn)定性運行造成比較嚴(yán)重的影響。內(nèi)存的關(guān)鍵的內(nèi)存地址空間所對應(yīng)的內(nèi)存區(qū)域是內(nèi)存的關(guān)鍵區(qū)域,例如:小于IM的地址空間、B1S啟動空間和系統(tǒng)啟動空間,這些關(guān)鍵區(qū)域是系統(tǒng)必須要使用的不能屏蔽。內(nèi)存的關(guān)鍵的內(nèi)存地址空間一般在內(nèi)存出廠時已經(jīng)設(shè)置完成了。
[0059]另外,在Al之前還可以包括:判斷當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的出錯單元是否是獨立的,如果是,則執(zhí)行步驟Al,否則,接收當(dāng)前流程。通過該步驟使得對可修復(fù)的內(nèi)存錯誤的要求更加嚴(yán)格了,使得對可修復(fù)的內(nèi)存錯誤屏蔽后,系統(tǒng)的穩(wěn)定性更好。
[0060]在另一種實現(xiàn)方式中,所述S2,包括:
[0061 ] B1:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤對應(yīng)的總?cè)萘渴欠裥∮诘扔诋?dāng)前內(nèi)存條的總?cè)萘康念A(yù)設(shè)百分比,如果是,則執(zhí)行步驟B2,否則,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程;
[0062]B2:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤是否發(fā)生在預(yù)設(shè)數(shù)量個連續(xù)的物理頁面中,如果是,則依次執(zhí)行步驟B3、B4,否則,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程;
[0063 ] B3:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址;
[0064]B4:將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0065]在該實現(xiàn)方式中,預(yù)設(shè)百分比可以是5%。這里的連續(xù)的物理頁面可以通過特定的物理區(qū)塊來替換,也就是說,只要內(nèi)存錯誤集中的特定的物理區(qū)塊中即可以繼續(xù)執(zhí)行B3。
[0066]上述兩種實現(xiàn)方式可以一起使用,只要通過任意一種實現(xiàn)方式確定出的可修復(fù)的內(nèi)存錯誤均進(jìn)行后續(xù)的屏蔽操作,也就是,執(zhí)行步驟S3。
[0067]在本發(fā)明一實施例中,所述S3,包括:
[0068]確定可修復(fù)的內(nèi)存錯誤對應(yīng)的待屏蔽線性地址;
[0069]禁止使用待屏蔽線性地址對應(yīng)的內(nèi)存區(qū)域。
[0070]通過待屏蔽線性地址可以找到對應(yīng)的內(nèi)存區(qū)域,將這些內(nèi)存區(qū)域禁止使用后,就會避免在該內(nèi)存區(qū)域中重復(fù)發(fā)生內(nèi)存錯誤。在進(jìn)行內(nèi)存檢測時,也不會再對該內(nèi)存區(qū)域報錯,使該內(nèi)存區(qū)域?qū)τ谙到y(tǒng)來說“不存在”。
[0071]在本發(fā)明一實施例中,所述SI包括:
[0072 ]在B1S階段,利用頂S對所述內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤。
[0073]在該實施例中,可以通過以下步驟啟動IMS:
[0074]1、啟動機(jī)器,進(jìn)入Insyde B1S Setup界面;
[0075]2、進(jìn)入 Advance 頁;
[0076]3、選擇iMS Diagnostic選項,運行iMS;
[0077]4、選擇檢測模式;
[0078]具體地,根據(jù)測試強(qiáng)度分為三種檢測模式:Quick(快速)、Standard(標(biāo)準(zhǔn))、Extensive(強(qiáng)化);“快速”的測試模塊的強(qiáng)度最弱,“強(qiáng)化”的測試強(qiáng)度最強(qiáng);測試強(qiáng)度越強(qiáng)檢測越仔細(xì),檢測的內(nèi)容越多。對于某些檢測模式(如強(qiáng)化模式),有時會根據(jù)需要自動重啟機(jī)器。
[0079]選擇檢測模式后,開始對內(nèi)存進(jìn)行檢測。
[0080]由于測試程序的運行時間跟實際內(nèi)存容量和CPU速度等相關(guān)度高,所以同樣的測試算法在不同的平臺和內(nèi)存容量下會有不同的運行時間。
[0081]頂S測試過程中顯示當(dāng)前運行的測試Pattern名稱、運行相對進(jìn)度以及測試結(jié)果。其中,測試結(jié)果中包含內(nèi)存錯誤對應(yīng)的出錯單元的線性地址和物理地址。物理地址指明出錯單元所在的具體物理位置,例如所在的內(nèi)存條。
[0082]測試結(jié)果的格式如下:
[0083]Find error:LinearAddress ErrorBit n c d r(row/column/bank)
[0084]其中:
[0085]LinearAddress-出錯單元的線性地址
[0086]ErrorBit-出錯單元對應(yīng)的邏輯數(shù)據(jù)位
[0087]n-CPU 節(jié)點號
[0088]C-通道(Channel)號
[0089]d-插槽(DIMM)號
[0090]r_Rank號
[0091]row-行地址
[0092]column-列地址
[0093]bank-塊地址
[0094]在iMS行的過程中任何時候,按ESC鍵可以中斷程序退出測試,已經(jīng)測試完的結(jié)果同樣會顯示及保留。由于iMS程序是運行的SMP(Symmetric Mult1-Processing,對稱多處理器)的狀態(tài),因為同步的原因,在ESC鍵按下之后可以還要等待一定的時間才完全退出測試。
[0095]如圖2所示,本發(fā)明實施例提供了一種監(jiān)控內(nèi)存的方法,在該實施例中,對服務(wù)器中的內(nèi)存進(jìn)行監(jiān)控,該方法可以包括以下步驟:
[0096]步驟201:在B1S階段,利用IMS對內(nèi)存進(jìn)行檢測,確定內(nèi)存中的內(nèi)存錯誤。
[0097]通過IMS可以生成保存有內(nèi)存錯誤的日志文件,該日志文件中包括內(nèi)存錯誤的代號、內(nèi)存錯誤對應(yīng)的出錯單元的線性地址和物理地址等信息。物理地址可以是如下形式:CPU 0\Channel 0\DIMM0。通過物理地址可以確定出內(nèi)存錯誤對應(yīng)的內(nèi)存條。
[0098]步驟202:判斷內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤的數(shù)量是否小于等于16,如果是,則執(zhí)行步驟203、步驟204,否則,執(zhí)行步驟205。
[0099]在任一內(nèi)存條中,內(nèi)存錯誤的數(shù)量過多時會降低系統(tǒng)的穩(wěn)定性,因此,當(dāng)前內(nèi)存條中的內(nèi)存錯誤的數(shù)量小于等于預(yù)設(shè)值,是進(jìn)行屏蔽操作需要滿足的一個條件。
[0100]步驟203:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址。
[0101]內(nèi)存錯誤的線性地址可以從IMS產(chǎn)生的保存內(nèi)存錯誤的日志中獲取。
[0102 ]步驟204:將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0103]有些內(nèi)存錯誤是發(fā)生在內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的,關(guān)鍵的內(nèi)存地址空間對應(yīng)的關(guān)鍵區(qū)域是不能屏蔽,屏蔽后系統(tǒng)無法正常運行。
[0104]步驟205:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程。
[0105]步驟206:確定可修復(fù)的內(nèi)存錯誤對應(yīng)的待屏蔽線性地址。
[0106]該待屏蔽線性地址也可以從IMS產(chǎn)生的保存內(nèi)存錯誤的日志中獲取。
[0107]步驟207:禁止使用待屏蔽線性地址對應(yīng)的內(nèi)存區(qū)域。
[0108]通過該步驟實現(xiàn)對待屏蔽線性地址對應(yīng)的內(nèi)存區(qū)域的屏蔽,系統(tǒng)無需對該內(nèi)存區(qū)域進(jìn)行檢測,該內(nèi)存區(qū)域不被使用,因此不會產(chǎn)生相關(guān)的內(nèi)存錯誤。
[0109]如圖3所示,本發(fā)明實施例提供了一種監(jiān)控內(nèi)存的方法,在該實施例中,對服務(wù)器中的內(nèi)存進(jìn)行監(jiān)控,該方法可以包括以下步驟:
[0110]步驟301:在B1S階段,利用頂S對內(nèi)存進(jìn)行檢測,確定內(nèi)存中的內(nèi)存錯誤。
[0111]步驟302:判斷內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤對應(yīng)的總?cè)萘渴欠裥∮诘扔诋?dāng)前內(nèi)存條的總?cè)萘康?%,如果是,則執(zhí)行步驟303,否則,執(zhí)行步驟304。
[0112]當(dāng)任一內(nèi)存條中的內(nèi)存錯誤對應(yīng)的總?cè)萘枯^多時,內(nèi)存可以使用的內(nèi)存較少,影響系統(tǒng)的穩(wěn)定性,因此,內(nèi)存錯誤對應(yīng)的總?cè)萘啃∮诘扔诋?dāng)前內(nèi)存條的總?cè)萘康念A(yù)設(shè)百分比為進(jìn)行屏蔽操作需要滿足的一個條件。
[0113]步驟303:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤是否發(fā)生在預(yù)設(shè)數(shù)量個連續(xù)的物理頁面中,如果是,則執(zhí)行步驟305,否則,執(zhí)行步驟304。
[0114]當(dāng)內(nèi)存錯誤集中發(fā)生在某個物理區(qū)塊中時,即使內(nèi)存條中的內(nèi)存錯誤的數(shù)量超過16個,也是可以接收,可以進(jìn)行屏蔽操作。
[0115]步驟304:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程。
[0116]步驟305:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址;
[0117]步驟306:將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0118]步驟307:確定可修復(fù)的內(nèi)存錯誤對應(yīng)的待屏蔽線性地址。
[0119]步驟308:禁止使用待屏蔽線性地址對應(yīng)的內(nèi)存區(qū)域。
[0120]在本發(fā)明實施例中,在確定內(nèi)存中的內(nèi)存錯誤之后,還可以包括:
[0121]判斷當(dāng)前內(nèi)存錯誤對應(yīng)的線性地址是否映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中,如果是,則確定當(dāng)前內(nèi)存錯誤是不可修復(fù)的內(nèi)存錯誤;不對不可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域進(jìn)行屏蔽,發(fā)出警示信息。
[0122]其中,該警示信息中可以包括:不可修復(fù)的內(nèi)存錯誤所在的內(nèi)存條的物理位置。用戶可以根據(jù)該物理位置找到對應(yīng)的內(nèi)存條,更換該內(nèi)存條。具體地,該警示信息可以是如下形式:內(nèi)存錯誤出現(xiàn)在BI OS啟動的關(guān)鍵區(qū)域,建議更換內(nèi)存條,同時指明建議更換的內(nèi)存條所在的物理位置。
[0123]另外,在確定內(nèi)存中的內(nèi)存錯誤之后,還可以包括:
[0124]判斷當(dāng)前內(nèi)存條的內(nèi)存錯誤的數(shù)量是否大于等于預(yù)設(shè)值,如果是,則確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤為不可修復(fù)的內(nèi)存錯誤。不對不可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域進(jìn)行屏蔽,發(fā)出警示信息。其中,該預(yù)設(shè)值可以為16。該警示信息中可以包括:不可修復(fù)的內(nèi)存錯誤所在的內(nèi)存條的物理位置。用戶可以根據(jù)該物理位置找到對應(yīng)的內(nèi)存條,更換該內(nèi)存條。具體地,該警示信息可以是如下形式:內(nèi)存錯誤過多,建議更換內(nèi)存條,同時指明建議更換的內(nèi)存條所在的物理位置。
[0125]需要說明的是:本發(fā)明實施例提供的方案可以在B1S階段進(jìn)行實現(xiàn),無需進(jìn)入到操作系統(tǒng)中。本發(fā)明實施例提供的方案可以在Linux系統(tǒng)下實現(xiàn)。
[0126]如圖4、圖5所示,本發(fā)明實施例提供了一種監(jiān)控內(nèi)存的裝置。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。從硬件層面而言,如圖4所示,為本發(fā)明實施例提供的一種監(jiān)控內(nèi)存的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報文的轉(zhuǎn)發(fā)芯片等等。以軟件實現(xiàn)為例,如圖5所示,作為一個邏輯意義上的裝置,是通過其所在設(shè)備的CPU將非易失性存儲器中對應(yīng)的計算機(jī)程序指令讀取到內(nèi)存中運行形成的。本實施例提供的一種監(jiān)控內(nèi)存的裝置,包括:
[0127]檢測單元501,用于對內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤;
[0128]確定單元502,用于從所有內(nèi)存錯誤中確定出可修復(fù)的內(nèi)存錯誤;
[0129]屏蔽單元503,用于屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域。
[0130]在本發(fā)明一實施例中,所述確定單元502,包括:
[0131]第一判斷子單元、第一確定子單元、第二確定子單元;
[0132]所述判斷子單元,用于判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤的數(shù)量是否小于等于預(yù)設(shè)值,當(dāng)判斷結(jié)果為是時,則觸發(fā)所述第一確定子單元,當(dāng)判斷結(jié)果為否時,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤;
[0133]所述第一確定子單元,用于確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址,觸發(fā)所述第二確定子單元;
[0134]所述第二確定子單元,將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0135]在本發(fā)明一實施例中,所述確定單元502,包括:
[0136]第二判斷子單元、第三判斷子單元、第三確定子單元;
[0137]所述第二判斷子單元,用于判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤對應(yīng)的總?cè)萘渴欠裥∮诘扔诋?dāng)前內(nèi)存條的總?cè)萘康念A(yù)設(shè)百分比,當(dāng)判斷結(jié)果為是時,則觸發(fā)所述第三判斷子單元,當(dāng)判斷結(jié)果為否時,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤;
[0138]所述第三判斷子單元,用于判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤是否發(fā)生在預(yù)設(shè)數(shù)量個連續(xù)的物理頁面中,當(dāng)判斷結(jié)果為是時,則觸發(fā)所述第三確定子單元,當(dāng)判斷結(jié)果為否時,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤;
[0139]所述第三確定子單元,用于確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址,將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。
[0140]在本發(fā)明一實施例中,所述屏蔽單元503,用于確定可修復(fù)的內(nèi)存錯誤對應(yīng)的待屏蔽線性地址,禁止使用待屏蔽線性地址對應(yīng)的內(nèi)存區(qū)域。
[0141]在本發(fā)明一實施例中,所述檢測單元501,用于在B1S階段,利用頂S對所述內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤。
[0142]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
[0143]本發(fā)明實施例至少具有如下有益效果:
[0144]1、在本發(fā)明實施例中,在檢測出內(nèi)存錯誤后,確定出可修復(fù)的內(nèi)存錯誤,屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域,系統(tǒng)不再使用該內(nèi)存區(qū)域,避免了在該內(nèi)存區(qū)域重復(fù)發(fā)生錯誤,提高了內(nèi)存所在的系統(tǒng)的穩(wěn)定性。
[0145]2、在本發(fā)明實施例中,通過在B1S階段對內(nèi)存進(jìn)行監(jiān)控,屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域,減少由于內(nèi)存老化衰變等原因引起的內(nèi)存錯誤而導(dǎo)致的系統(tǒng)崩潰。
[0146]3、在本發(fā)明實施例中,針對不可以修復(fù)的內(nèi)存錯誤,向外部發(fā)送警示信息,使得用戶能夠及時更換相應(yīng)的內(nèi)存條,提高系統(tǒng)的穩(wěn)定性。
[0147]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0148]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機(jī)可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
[0149]最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項】
1.一種監(jiān)控內(nèi)存的方法,其特征在于,包括: S1:對內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤; S2:從所有內(nèi)存錯誤中確定出可修復(fù)的內(nèi)存錯誤; S3:屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述S2,包括: Al:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤的數(shù)量是否小于等于預(yù)設(shè)值,如果是,則依次執(zhí)行步驟A2、A3,否則,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程; A2:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址; A3:將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述S2,包括: B1:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤對應(yīng)的總?cè)萘渴欠裥∮诘扔诋?dāng)前內(nèi)存條的總?cè)萘康念A(yù)設(shè)百分比,如果是,則執(zhí)行步驟B2,否則,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程; B2:判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤是否發(fā)生在預(yù)設(shè)數(shù)量個連續(xù)的物理頁面中,如果是,則依次執(zhí)行步驟B3、B4,否則,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤,結(jié)束當(dāng)前流程; B3:確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址; B4:將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。4.根據(jù)權(quán)利要求1-3中任一所述的方法,其特征在于,所述S3,包括: 確定可修復(fù)的內(nèi)存錯誤對應(yīng)的待屏蔽線性地址; 禁止使用待屏蔽線性地址對應(yīng)的內(nèi)存區(qū)域。5.根據(jù)權(quán)利要求1-3中任一所述的方法,其特征在于,所述SI包括: 在B1S階段,利用智能內(nèi)存監(jiān)控IMS對所述內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤。6.一種監(jiān)控內(nèi)存的裝置,其特征在于,包括: 檢測單元,用于對內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤; 確定單元,用于從所有內(nèi)存錯誤中確定出可修復(fù)的內(nèi)存錯誤; 屏蔽單元,用于屏蔽可修復(fù)的內(nèi)存錯誤對應(yīng)的內(nèi)存區(qū)域。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述確定單元,包括: 第一判斷子單元、第一確定子單元、第二確定子單元; 所述判斷子單元,用于判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤的數(shù)量是否小于等于預(yù)設(shè)值,當(dāng)判斷結(jié)果為是時,則觸發(fā)所述第一確定子單元,當(dāng)判斷結(jié)果為否時,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤; 所述第一確定子單元,用于確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址,觸發(fā)所述第二確定子單元; 所述第二確定子單元,將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述確定單元,包括: 第二判斷子單元、第三判斷子單元、第三確定子單元; 所述第二判斷子單元,用于判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤對應(yīng)的總?cè)萘渴欠裥∮诘扔诋?dāng)前內(nèi)存條的總?cè)萘康念A(yù)設(shè)百分比,當(dāng)判斷結(jié)果為是時,則觸發(fā)所述第三判斷子單元,當(dāng)判斷結(jié)果為否時,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤; 所述第三判斷子單元,用于判斷所述內(nèi)存對應(yīng)的當(dāng)前內(nèi)存條中的內(nèi)存錯誤是否發(fā)生在預(yù)設(shè)數(shù)量個連續(xù)的物理頁面中,當(dāng)判斷結(jié)果為是時,則觸發(fā)所述第三確定子單元,當(dāng)判斷結(jié)果為否時,確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤均不是可修復(fù)的內(nèi)存錯誤; 所述第三確定子單元,用于確定當(dāng)前內(nèi)存條中的內(nèi)存錯誤對應(yīng)的線性地址,將當(dāng)前內(nèi)存條中的所有內(nèi)存錯誤中對應(yīng)的線性地址沒有映射到所述內(nèi)存的關(guān)鍵的內(nèi)存地址空間中的內(nèi)存錯誤作為可修復(fù)的內(nèi)存錯誤。9.根據(jù)權(quán)利要求6-8中任一所述的裝置,其特征在于,所述屏蔽單元,用于確定可修復(fù)的內(nèi)存錯誤對應(yīng)的待屏蔽線性地址,禁止使用待屏蔽線性地址對應(yīng)的內(nèi)存區(qū)域。10.根據(jù)權(quán)利要求6-8中任一所述的裝置,其特征在于,所述檢測單元,用于在B1S階段,利用智能內(nèi)存監(jiān)控MS對所述內(nèi)存進(jìn)行檢測,確定所述內(nèi)存中的內(nèi)存錯誤。
【文檔編號】G06F11/16GK105975377SQ201610283384
【公開日】2016年9月28日
【申請日】2016年4月29日
【發(fā)明人】姜慶臣
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1