記憶體也玩RAID

2021-09-05 04:35:52 字數 4250 閱讀 1374

近乙個星期我將外出,為此留下兩篇文章,多為51cto做些貢獻:)。本篇介紹一下hp伺服器技術中的raid技術。

說起raid

,人們不約而同首先、而且唯一想到的是我們聽到的磁碟冗餘陣列,其實這一技術早已被

hp應用於記憶體之中,那就是它的熱插拔

raid

記憶體技術,並且在其

proliant

系列中的

700子系列伺服器中得到應用。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

由於應用程式越來越複雜對記憶體要求越來越高,同時處理器的處理能力也更強,伺服器記憶體的擴充套件已經是必然的事情。要滿足這個要求,伺服器的製造商面臨的問題就是在增加記憶體的密度、增大記憶體的容量的同時,保證系統記憶體的可靠性。

hp 也面臨同樣的問題,它的解決辦法是利用

3種容錯記憶體保護技術(

fault-tolerant memory protection technologies

raid

hp熱插拔

raid

記憶體的可靠性最高。它可以保證記憶體子系統執行正常,即使是在有乙個記憶體裝置完全出現故障的情況下也是如此,它支援工業標準的

dimm

hp的熱插拔

raid

技術。

raid

記憶體的含義是工業標準的

dimm

容錯陣列(

redundant array

),結構圖如圖1。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 圖

1

對比下面的圖

2,我們不難看出,惠普熱插拔

raid

記憶體(hp hot plug raid memory

)在概念上和

raid 4

磁碟儲存技術是相似的,

在系統架構上就更像乙個硬碟,所以採用了熱插拔

raid

記憶體保護模式的系統就可以達到像

raid

硬碟一樣隨意替換記憶體的效果。

但在一些關鍵的效能上會有所不同,兩者的實現方式上也不一樣。與磁碟陣列不同,惠普熱插拔

raid

記憶體使用的是並行的點對點的連線方式寫資料,而不是通過連線多塊磁碟的序列匯流排,這種方式的優點是資料可以同時被寫入多個儲存區(記憶體盒),不存在延時(

mechanical delay

),消除了因為儲存系統使用

raid

技術處理而帶來的寫資料的瓶頸問題。而在乙個磁碟冗餘儲存陣列中,通常情況下

raid

控制器在寫資料之前會先讀現有的奇偶資訊,如果有專門奇偶校驗驅動器做這項工作,那麼就會帶來瓶頸。但惠普不是這樣做的,惠普熱插拔

raid

記憶體執行在整個資料快取線上(參見圖

1),所以在寫資料前沒有必要讀現有的奇偶資訊。

2 採用惠普熱插拔

raid

記憶體方式的伺服器使用

5個記憶體控制器來控制

5個記憶體盒(

memory cartridges

)。每個盒可以安裝最多

8個工業標準

dimm

(參見圖

3),當記憶體控制器向記憶體中寫資料的時候,它們會把資料分成

4塊分別寫入

4個記憶體盒,並把計算所得的奇偶資訊存放在第

5個記憶體盒中。利用前

4個記憶體盒中的資料和第

5個記憶體盒中奇偶資訊,資料可以完全恢復,即使是任何

dimm

工作故障,或任何乙個記憶體盒被拆掉了,也可以做到不丟失資料。

可以看出,熱插拔

raid

圖3

在讀操作中,每個從記憶體盒中讀出的資料都會經過記憶體控制器和乙個

ecc裝置進行錯誤檢查,

另外,其餘

4個記憶體控制器會重新生成乙個值,

raid

記憶體引擎會將讀出的資料和這個生成值進行比較。

raid

記憶體的讀寫過程可參見圖4。

圖4

資料1(

data word1

)通過它自己的記憶體控制器(

mc1)後,送到

ecc

裝置進行錯誤檢查,這個

ecc

裝置使用的是新的

8-bit ecc 演算法(

由hp開發)

,它可以檢測到

x8記憶體(

x8 memory modules

)中發生的錯誤,可信度很高。

ecc用乙個訊號將檢查結果「好」(

good

)或「壞」(

bad)

送給多路復用器(

mux1

)。具備下列

3條中的一條,

ecc

裝置就判斷資料

1是好的:

(1)

資料正確

(2) ecc

檢查出了錯誤但改正了

(3)資料中有錯誤,但

ecc

裝置檢查不出來。

hp 熱插拔raid

記憶體通過進一步的校驗方法控制所有三個部分的錯誤。其餘的4個

ecc

裝置(包括儲存奇偶資訊的記憶體盒的)將它們保持的資料送給

raid

記憶體控制引擎(

raid engine

),後者利用這些資訊通過

raid

演算法重構資料1,

raid

記憶體引擎將重構的資料1送到

mux1

的比較裝置中

(奇偶比較

) ,在這個裝置裡面重構的值和

ecc傳過來的資料

1進行比較,如果兩個完全相同,

mux

輸出資料

1。如果不同,說明資料

1有錯誤,比較裝置會給系統發出乙個「

non-maskable interrupt

」(nmi)

訊號,中止系統執行,禁止錯誤資料

1的輸出。這個過程是同時在重複進行的,因為同一時間內還會從其它的儲存盒中讀資料,參見圖5。

hp 熱插拔

raid

記憶體方式的這個特性保證了採用這種方式時資料的可靠性非常高。

hp 將對熱插拔

raid

記憶體進行改進,採用回寫技術(

scrubbing

)定位軟錯誤。

圖5

在hp的熱插拔技術中還應用到兩個小技術,它們就是:

回寫(scrubbing

)技術和

熱插拔容量(

hot-plug capabilities

)技術,下面分別予以簡單介紹。

ÿ 回寫(

scrubbing

)技術

hp熱插拔raid

記憶體提供了乙個回寫硬體方式,它可以確認

ecc或

raid

檢查出來的軟錯誤。惠普技術嘗試定位在讀記憶體時檢查出來的所有軟錯誤,方法是把改正後的正確的資料寫回記憶體中去。但此方法不適用於硬錯誤。回寫技術可以阻止軟錯誤的累積,避免發生更嚴重的錯誤。它降低了

ecc的工作量,提高了系統的效能。一些傳統的系統採用的是軟體回寫,

hp熱插拔

raid

記憶體使用硬體完成這個工作。

hp熱插拔

raid

記憶體會對錯誤生成錯誤日誌,錯誤極限由軟體設定。當記錄的錯誤值達到錯誤極限的時候,軟體會自動作出反應。例如當超過錯誤極限的時候故障燈會自動點亮,這就是由軟體控制的。

ÿ 熱插拔容量

hot-plug capabilities

惠普熱插拔

raid

dimm

,這就是

hp的熱插拔容量(

hot-plug capabilities

)技術。

dimm

。惠普熱插拔

raid

dimm

dimm

替代舊的較小容量的

dimm

raid

記憶體模式下,那麼系統會自動在所有的記憶體盒上重新放置資料(

rebuild

)。雖然這樣做會暫時降低記憶體的工作效能(重新放置

4 gb

的資料花費時間少於

30秒),但是只需要花費很少的錢就可以增加容錯能力,並可避免系統檢修期間帶來的經濟損失。

記憶體也玩RAID

近乙個星期我將外出,為此留下兩篇文章,多為51cto做些貢獻 本篇介紹一下hp伺服器技術中的raid技術。說起raid,人們不約而同首先 而且唯一想到的是我們聽到的磁碟冗餘陣列,其實這一技術早已被hp應用於記憶體之中,那就是它的熱插拔raid記憶體技術,並且在其 proliant 系列中的 700子...

SeekBar也玩分段

android高階之ui深度定製系列 一 seekbar也玩分段 常見的seekbar和進度條一樣從0 100 之間均可以滑動,但是有時候我希望能把進度粗略的分成幾段,就像ratingbar那樣 下面是大致效果圖 seekbar android id id seekbar1 android layo...

手機上也玩Python Ruby

最近 python for s60又更新,現在最新版本是10月24號發布的1.3.12,增加了乙個scriptshell的模組。有幾個版本,分別是s60v1,s60v2 偶的6600用的這個版本 s60v2 fp1,s60v2 fp2,s60v2 fp3,s60v3。這個專案進展還不錯,基於pyth...