[發(fā)明專利]一種內(nèi)存糾錯(cuò)方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201210593465.3 | 申請(qǐng)日: | 2012-12-31 |
| 公開(公告)號(hào): | CN103019883A | 公開(公告)日: | 2013-04-03 |
| 發(fā)明(設(shè)計(jì))人: | 程永波;賀成洪;蘭可嘉 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號(hào): | G06F11/10 | 分類號(hào): | G06F11/10 |
| 代理公司: | 深圳中一專利商標(biāo)事務(wù)所 44237 | 代理人: | 張全文 |
| 地址: | 518129 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 內(nèi)存 糾錯(cuò) 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明屬于糾錯(cuò)碼技術(shù)領(lǐng)域,尤其涉及一種內(nèi)存糾錯(cuò)方法及系統(tǒng)。
背景技術(shù)
在容錯(cuò)計(jì)算機(jī)領(lǐng)域,數(shù)據(jù)可靠性對(duì)整個(gè)系統(tǒng)的性能至關(guān)重要,特別是系統(tǒng)核心數(shù)據(jù)或重要的應(yīng)用程序數(shù)據(jù),其數(shù)據(jù)的可靠性直接影響整個(gè)系統(tǒng)的運(yùn)行,由于動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(Dynamic?random?access?memory,DRAM)存儲(chǔ)數(shù)據(jù)易出錯(cuò),所以對(duì)于重要數(shù)據(jù),經(jīng)常采用內(nèi)存鏡像的方法進(jìn)行1+1的數(shù)據(jù)備份。
具體的,內(nèi)存鏡像的方法:在一個(gè)內(nèi)存鏡像系統(tǒng)中,通常指定某兩個(gè)雙倍數(shù)據(jù)率(Dual?data?rate,DDR)通道互為鏡像,任何的數(shù)據(jù)寫操作,都同時(shí)寫入兩個(gè)通道,這樣互為鏡像的兩個(gè)通道總是保存相同的數(shù)據(jù)內(nèi)容;讀操作則可以同時(shí)讀取兩個(gè)通道,也可以選取任意一個(gè)讀取。采用上述內(nèi)存鏡像的方法進(jìn)行1+1的數(shù)據(jù)備份,鏡像內(nèi)存系統(tǒng)常見的結(jié)構(gòu)如圖1所示,主控制器發(fā)起內(nèi)存讀寫,在鏡像模式下,兩個(gè)DDR通道之間通過鏡像管理模塊管理,主控器發(fā)起寫操作時(shí),鏡像管理模塊將同時(shí)向兩個(gè)通道發(fā)起寫內(nèi)存的操作,保證兩個(gè)通道總是擁有相同的數(shù)據(jù)鏡像。
其中,主控器發(fā)起讀操作后有兩種方式處理,一種是同時(shí)讀取兩個(gè)通道,任何一個(gè)先返回?cái)?shù)據(jù),或者任意一個(gè)返回的數(shù)據(jù)校驗(yàn)正確,則將其讀數(shù)據(jù)返回主控器;另一種方法是采用負(fù)載均衡的方法,首先只讀取其中一個(gè)通道,如果其返回?cái)?shù)據(jù)校驗(yàn)錯(cuò)誤,且錯(cuò)誤不可糾正,則讀取其鏡像通道,完成讀操作。
現(xiàn)有糾錯(cuò)方法有以下兩種,第一情況是:可靠性內(nèi)存系統(tǒng)中通常采用帶錯(cuò)誤糾正碼(Error?Correction?Code,ECC)的雙列直插式存儲(chǔ)模塊(Dual?in-line?memory?module,DIMM),其數(shù)據(jù)寬度為72位,通道有效數(shù)據(jù)為64位,另外8位可以用于存儲(chǔ)數(shù)據(jù)的校驗(yàn)碼。最簡(jiǎn)單的采用64位數(shù)據(jù)+8位ECC校驗(yàn)碼,實(shí)現(xiàn)糾1檢2的方案,其中糾1為糾正1位錯(cuò)誤,檢2為檢測(cè)2位錯(cuò)誤。這種方法數(shù)據(jù)存儲(chǔ),如圖2所示。如果兩個(gè)互為鏡像的通道都產(chǎn)生了不可糾正的錯(cuò)誤數(shù)據(jù),則鏡像系統(tǒng)中的數(shù)據(jù)錯(cuò)誤亦不可糾正。比如圖2中所示的糾錯(cuò)誤方案中,如果一組數(shù)據(jù)的兩個(gè)通道都發(fā)生了2位錯(cuò)誤,則主控器將不能得到正確的數(shù)據(jù)。
另外一種常見的方式是將多組64位的數(shù)據(jù)聯(lián)合起來形成檢錯(cuò)和糾錯(cuò)能力更強(qiáng)的校驗(yàn)碼,比如N組64位數(shù)據(jù)加N組8位校驗(yàn)碼,從而實(shí)現(xiàn)更多位錯(cuò)誤的檢測(cè)和糾正。這種方法數(shù)據(jù)存儲(chǔ),如圖3所示。但是,一組數(shù)據(jù)的兩個(gè)通道都獨(dú)立的采用相同的校驗(yàn)方案,通道冗余備份,存儲(chǔ)器的空間利用率不高。
綜上所述,現(xiàn)有鏡像系統(tǒng)中只是通道數(shù)據(jù)的冗余備份增加了數(shù)據(jù)的可靠性,并沒有將兩個(gè)通道的數(shù)據(jù)進(jìn)行有效的組織,相對(duì)來說兩個(gè)通道還是獨(dú)立的進(jìn)行數(shù)據(jù)存儲(chǔ)和校驗(yàn)的,存在一組數(shù)據(jù)的兩個(gè)通道都發(fā)生了2位錯(cuò)誤,主控器不能得到正確的數(shù)據(jù),和存儲(chǔ)器的空間利用率不高的問題,因此,需要一種更有效解決校驗(yàn)和存儲(chǔ)空間利用率不高的問題的方法。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種內(nèi)存糾錯(cuò)方法及系統(tǒng),旨在解決現(xiàn)有鏡像系統(tǒng)中一組數(shù)據(jù)的兩個(gè)鏡像通道都發(fā)生了不可糾正的錯(cuò)誤時(shí),主控器不能得到正確的數(shù)據(jù),和存儲(chǔ)器的空間利用率不高的問題。
第一方面,提供一種內(nèi)存糾錯(cuò)方法,所述內(nèi)存糾錯(cuò)方法包括:
如果傳輸數(shù)據(jù)的兩個(gè)鏡像通道都有錯(cuò)誤位,鏡像管理器向所述第一鏡像通道的錯(cuò)誤位中,填充修正數(shù)據(jù)集合中的修正數(shù)據(jù),所述第一鏡像通道為所述兩個(gè)鏡像通道中的任一鏡像通道;
所述鏡像管理器校驗(yàn)填充后的所述第一鏡像通道的錯(cuò)誤位,如果校驗(yàn)正確,所述第一鏡像通道糾錯(cuò)成功,如果校驗(yàn)錯(cuò)誤,繼續(xù)在所述修正數(shù)據(jù)集合中按照預(yù)設(shè)順序選擇修正數(shù)據(jù)填充入所述第一鏡像通道的錯(cuò)誤位,直到所述第一鏡像通道校驗(yàn)正確。
進(jìn)一步的,所述內(nèi)存糾錯(cuò)方法還包括:
所述修正數(shù)據(jù)集合為[0000,0001,...,1111]的窮舉數(shù)據(jù)集合。
進(jìn)一步的,所述內(nèi)存糾錯(cuò)方法還包括:
所述鏡像管理器對(duì)比所述兩個(gè)鏡像通道,將所述兩個(gè)鏡像通道中不同的位標(biāo)記為所述錯(cuò)誤位。
進(jìn)一步的,所述內(nèi)存糾錯(cuò)方法還包括:
所述鏡像管理器根據(jù)所述數(shù)據(jù)的校驗(yàn)方案,獲取校驗(yàn)碼。
進(jìn)一步的,所述內(nèi)存糾錯(cuò)方法具體包括:
如果所述數(shù)據(jù)為一組獨(dú)立校驗(yàn)數(shù)據(jù),所述鏡像管理器讀取所述第一鏡像通道的循環(huán)冗余校驗(yàn)碼,作為校驗(yàn)碼;
如果所述數(shù)據(jù)為多組聯(lián)合校驗(yàn)數(shù)據(jù),所述鏡像管理器按照預(yù)設(shè)規(guī)則,組合多個(gè)鏡像通道的循環(huán)冗余校驗(yàn)碼,生成校驗(yàn)碼。
進(jìn)一步的,所述內(nèi)存糾錯(cuò)方法還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210593465.3/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種指南針
- 下一篇:一種高光效LED日光燈
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





