內存技術篇 |
發(fā)布時間: 2012/7/26 16:30:53 |
如今大容量高速度的內存技術已經相當成熟了,但對于服務器而言,穩(wěn)定性勝過一切,然而服務器內存之所以能承擔服務器穩(wěn)定性的重任,其中之一的關鍵技術就是“內存查糾錯技術”。服務器中的內存我們都知道一般采用帶有ECC技術的(ECC的英文全稱是“ Error Checking and Correcting”,中文名為“錯誤檢查和糾正”),從這個名稱就可以看出它的主要功能就是“發(fā)現(xiàn)并糾正錯誤”。ECC比以前的奇偶校正技術更先進的方面體現(xiàn)在它不僅能發(fā)現(xiàn)錯誤,而且能糾正這些錯誤。但ECC技術只能糾正單比特的內存錯誤, 當有多比特錯誤發(fā)生的時候,ECC內存會生成一個不可隱藏(non-maskable interrupt)的中斷 (NMI),系統(tǒng)會中止運行。IBM還有一種更先進的特殊內存糾錯技術,那就是ChipKill內存技術。而這些技術是如何使服務器內存進行錯誤檢查并糾正呢?在下面這篇文章中將詳細為您介紹…… [技術]服務器內存技術知識充電 看完了上面的文章后,我相信我們對服務器內存已經有了個大概的認識,或許你認為內存已經為服務器提供了很大的保險了,但面臨著一些意外的內存錯誤,有另外一種技術比內存錯誤糾正技術有效得多。IBM的內存保護技術就是保護由于意外的內存錯誤而帶來的損失,它使用的是標準的ECC 168內存。它的工作方式有點像在Windows NT的NTFS文件系統(tǒng)下的在線備份磁盤扇區(qū)一樣,當操作系統(tǒng)在磁盤上檢測到壞的磁盤扇區(qū)時,它將在另外的扇區(qū)中寫下這些數(shù)據(jù)放一邊留作備用,我們可以認為內存保護就是提供在線備份數(shù)據(jù)位。這內存錯誤的糾正是通過內存控制器來完成的,所以不會增加操作系統(tǒng)的工作量,也不需要操作系統(tǒng)來提供支持,完全與操作系統(tǒng)無關。因為這是在標準的ECC 168線內存起作用的,無需為這種保護增加另外的開支。 內存保護(在其它系統(tǒng)中也有稱“多余的數(shù)據(jù)位”)技術最初的發(fā)展是在IBM大型機上,而且在Z系列和I系列服務器上使用了許多年。在一個2路交叉存取的內存系統(tǒng)中,每2片168線ECC內存包含144位,但是只有140位是用于數(shù)據(jù)存取和校驗的。余下的4位是沒有用上的,標準的ECC內存可以檢測出2位的數(shù)據(jù)錯誤,但它只能糾正一位錯誤。如果在同時內存上有多位出錯,那么這整個內存讀取就失敗了,此時唯有使系統(tǒng)臨時掛起來,以盡量減少內存容量的需求,直到這個節(jié)點被更換。如果具有內存保護,那么就可以立即隔離這個失效的內存,重寫數(shù)據(jù)在空余的數(shù)據(jù)位。通過這種方法可以在每4對(1個內存控制器,有的服務器不止包括一個內存控制器)168線內存中修復4個4位連續(xù)的內存錯誤。當服務器下次重啟就會重新檢查內存的狀態(tài),如果是內存軟錯誤(臨時的),系統(tǒng)重啟后內存的這些用于在線數(shù)據(jù)備份的數(shù)據(jù)位就重新釋放了,恢復空的狀態(tài)。如果是屬于硬故障,這些在線備份數(shù)據(jù)位還會繼續(xù)用來備份,直到更換為止。這種先進技術可以使減少停機機時間,使服務器持續(xù)保持高效的計算平臺。這對于大型的數(shù)據(jù)庫系統(tǒng)中尤其重要。 前面提到的在線內存?zhèn)浞菔橇硪环N更高級別的內存保護。需要注意的是由于系統(tǒng)使用了雙路交叉(2-way Interleaving)訪問技術,所以必須成對安裝雙列直插式內存模塊(Dual In-line Memory Module,DIMM)的內存條。每個DIMM必須是同一型號的,而且容量相同,否則內存系統(tǒng)的性能會受到影響。如果一共有三組內存條組,把C組作為在線備份內存,其內存容量總合要是A、B兩組的容量總合之和。這種技術特別適用于沒有足夠的計算機系統(tǒng)維護后人員或者手頭沒有多余的內存可以方便替換的場所,像HP ProLiant服務器的ML 370、DL 380系列產品均采用在線備份模式。 本文出自:億恩科技【1tcdy.com】 |