4fd15163f489507cd8bab775b0d8739b 對於一般玩家來說,能夠了解 DIMM 和 SODIMM 也就夠了,前者為一般桌上型主機板使用的版本、後者為筆記型和小型電腦所採用。但其實市場上還存在著許多不同種類的 DIMM,如 RDIMM、MicroDIMM、FBDIMM、VLP……等,這可不是大小差異而已,功能上也有所不同。

從 DIP 變成 SIMM

部分的電腦玩家較為年輕,很有可能沒有經歷過「插記憶體顆粒到主機板上」的年代。大約在 80286 之前的年代,連散熱器都不用加裝的時期,電腦的記憶體是 1 顆 1 顆插在主機板上的,而且記憶體匯流排寬度還必須符合 CPU 的規範,多 1 顆少 1 顆都不行,電腦就無法使用。


▲主機板上插滿記憶體顆粒的樣子(右下角部分),由於年代久遠筆者只找到解析度不高的圖片。圖片來源維基百科

從 80386 開始,主機板上的記憶體插槽就從 DIP(Dual In-line Package式,需要使用者 1 顆顆插入,轉換成 1 片焊有記憶體顆粒的電路板,稱之為 SIMM(Single-Inline Memory Module)。轉換成電路板形式有許多好處,首先就是安裝便利,安裝的應力改由電路板承擔,而不是由脆弱的針腳接受;其次就是節省主機板上記憶體佔去的面積,由原本記憶體顆粒的平面安裝更改為 SIMM 的垂直安裝,主機板上就可以擁有更多的介面卡插槽(別忘了當時主機板功能的整合性沒有現在高),或是直接減小主機板的面積。

SIMM 當年還分為 30pin 和 72pin 的版本,30pin SIMM 僅能提供 8bit 記憶體頻寬,因此 1 次需要安裝 4 條同樣容量的模組,才能湊成 32bit 讓 CPU 使用;72pin 的版本則已具備 32bit 記憶體匯流排頻寬,因此插上 1 條即可運作。不過此時雖然電腦的主要記憶體已更換為 SIMM,但是用於 CPU 快取的 SRAM 還有可能為 DIP 式,亦或是製成 1 張擴充子版(沒錯!當時 CPU 快取是能夠擴充的)。


▲上方為 30pin SIMM,下方為 72pin SIMM。圖片來源維基百科

從 SIMM 變成 DIMM

隨著 CPU 處理能力越來越強,32bit 記憶體資料匯流排逐漸不堪使用,從 Intel Pentium 開始支援 64bit 記憶體資料匯流排,一次能夠擷取 8bytes 的資料,頻寬直接翻倍。記憶體模組也為了迎合匯流排加大,從 SIMM 變成 DIMM(Double-Inline Memory Module),從 32bit 變為 64bit。

當時部分主機板同時相容 SIMM 和 DIMM,不過當安裝 SIMM 的時候,需 1 次安裝 2 條以便符合匯流排 64bit 寬度。DIMM 就從 Pentium 開始一直存活至今,記憶體資料匯流排的寬度始終維持在 64bit,甚至是未來的 DDR4 依然保留此設計。


▲1 片同時擁有 SIMM 和 DIMM 插槽的主機板,最上方的黑色插槽為 DIMM,往下的白色插槽為 SIMM。圖片來源Tom's Hardware

開枝散葉的 DIMM

現今一般家用電腦中的記憶體模組,其實和 Pentium 時期的模組差不了多少,最大的差異僅在上面焊的記憶體顆粒種類,從剛開始的 SDRAM 到目前的 DDR3 SDRAM,其基本運作原理皆相同,筆者先前也介紹過。既然沒有什麼不同,那麼 RDIMM(Registered DIMM)、FBDIMM(Fully Buffered DIMM) 這些種類的記憶體模組又是什麼東西呢?

體積不同派別

首先讓筆者以大小作為分類依據,在此分類下可擁有 Mini-DIMM、SODIMM(Small Outline DIMM)、MicroDIMM、VLP(Very Low Profile)、ULP(Ultra Low Profile) 等規格。一般的 DIMM 定義長度為 133.35mm,而 Mini-DIMM 的長度則是縮減到 82mm、SODIMM(JEDEC有SODIMM與SO-DIMM不同寫法,本文以前者為主) 則是縮為 67.6mm,經常可在筆記型電腦中見到,SODIMM也是目前市場上筆記型電腦的記憶體插槽主流規格。

MicroDIMM 則又是更小的模組,長度為 45.54mm,約在數年前強調迷你的筆記型電腦可見到,筆者唯一見過的機會是在華碩的 Pentium M 筆記型電腦裡看到。

除了記憶體模組的長度以外,高度也是可以縮減的地方。一般的記憶體模組高度為 30mm,VLP(Very Low Profile)的高度降為 18.3mm~18.7mm,而 ULP(Ultra Low Profile)則是更矮的 17.8mm。雖然看起來 ULP 沒有比 VLP 高度降太多,但 ULP 的記憶體模組卻更適合刀鋒伺服器。

在 DDR3 記憶體價格大跌的那段時間,一般零售市場上出現不常見的 VLP DIMM,雖說的確是降低成本下的產物(相同面積電路板可切出更多小片電路板),其規格也是 JEDEC 所開出來的,照理來說沒有問題,但當時 DIY 組裝市場卻傳出此類記憶體很容易損壞的風聲。筆者猜測應該是記憶體模組變得比較細,導致長邊部分很容易受力彎曲,造成記憶體顆粒脫焊。


▲不同記憶體模組的大小。圖片來源Virtium

依功能區分 DIMM

除了大小尺寸之外,JEDEC 也有為較為特殊的記憶體模組制定規格,譬如經常聽到的 RDIMM、FBDIMM、LRDIMM(Load Reduced DIMM)。RDIMM(Registered DIMM)是為了增加總記憶體容量和穩定性所開發出來的模組,記憶體控制器的控制訊號和位址訊號比資料訊號早一步到達記憶體模組,暫存於暫存器(Register)內,等到資料訊號送達時再一同送到記憶體顆粒內。

此外 RDIMM 還有鎖相環 PLL(Phase-Locked Loop)幫助各個記憶體顆粒的訊號同步作業,也會有 ECC(Error Checking & Correction、Error-Correcting Code)功能確保資料完整性。相對於 RDIMM 擁有暫存器暫存控制訊號和位址訊號,一般桌上型電腦的記憶體模組並不具備暫存緩衝功能,因此也稱之為 UDIMM(Unbuffered DIMM),而 RDIMM 也可稱為 Buffered DIMM。


▲RDIMM 將控制和位址訊號作暫存處理。圖片來源EE Times

FBDIMM 則是除了控制和位置訊號外,連資料訊號都實行暫存緩衝控制,因此稱為全緩衝式記憶體模組(Fully Buffered DIMM)。此種記憶體模組較為奇特,記憶體控制器和記憶體模組之間的資料傳遞,從並列改換為序列、點對點連接,類似 PCI 和 PCI-E 之間的關係,因此每個記憶體模組上都有個 IC(AMB 先進記憶體緩衝、Advanced Memory Buffer)獨自管理記憶體顆粒。

理論上 FBDIMM 可讓整體記憶體容量往上提升,且因為每個記憶體模組獨立作業和緩衝,讀寫效能也會往上提升。同時也因為記憶體顆粒的讀寫作業已交由各模組的 IC 控制,理論上記憶體控制器能夠支援所有種類的記憶體。

多了顆複雜的 IC,可想而知的壞處為耗電量和發熱雙雙增加,同時也因為多了顆 IC,存取延遲也會多一些。再來就是序列傳輸的部分需要很高的頻率才能達到原始並列傳輸的資料量,這又造成了一些訊號傳輸上的問題。


▲FBDIMM 將記憶體控制器傳來的訊號全部另外以 IC 處理,連接方式也從並列換到序列。圖片來源維基百科

FBDIMM 之後出現了 LRDIMM(Load Reduced DIMM),但其實 LRDIMM 比較像是 RDIMM 的後繼者,因為除了暫存控制和位址訊號外,LRDIMM 也暫存資料訊號,因此傳輸延遲時間也比RDIMM更高一些。


▲RDIMM 和 LRDIMM 的主要差異在於是否暫存了資料訊號。圖片來源EDN

 

延伸閱讀:

記憶體10年技術演進史,系統顆粒DDR與顯示顆粒GDDR差在哪?

圖解RAM結構與原理,系統記憶體的Channel、Chip與Bank

想讓電腦更快更順嗎?系統最佳化,深入Windows記憶體管理

手機實體記憶體不足會如何?行動裝置不玩虛擬記憶體

使用 Facebook 留言

勞碌命
1.  勞碌命 (發表於 2014年6月09日 21:37)
以前286時代主機板通常是4排9顆的RAM晶片, 後期通常是41256x18+4164x18構成640K, 一排要9顆是因為一顆多出來要當parity用
R.F.
2.  R.F. (發表於 2014年6月09日 22:02)
※ 引述《勞碌命》的留言:
> 以前286時代主機板通常是4排9顆的RAM晶片, 後期通常是41256x18+4164x18構成640K, 一排要9顆是因為一顆多出來要當parity用
>
感謝讀者補充,讓大家有更多的知識能夠學習(≧▽≦)
液態氮
6.  液態氮 (發表於 2014年6月10日 18:20)
之前有兩三個30pin SIMM,
拿來當鑰匙圈飾品還挺好看的= =!
不過後來顆粒掉光光....
勞碌命
8.  勞碌命 (發表於 2014年6月11日 14:15)
(剛剛的似乎不見了,重來一次, 如果重複就麻煩刪了吧)
那我也貼一張清晰的286主機板RAM插槽照片吧!
╮(╯_╰)╭

http://imgur.com/EEzKJvP

上面右方插了18顆511000, 總計2MB, 想當年這可是比現在4GB RAM還貴啊... 當初是為了跑 Windows 3.0(保護模式)裝上的。
左方可以看出一個插槽還有兩個腳位, 41256是16腳,411000是18腳,所以要插不同位置.

發表回應

謹慎發言,尊重彼此。按此展開留言規則