上圖爲X8data的單顆DDR3架構圖,行(Row)地址線複用14根,列(Column)地址線複用10根,Bank數量爲8個,IO Buffer 通過8組數位線(DQ0-DQ7)來完成對外的通信,故此單顆DDR3芯片的容量爲2的14次方乘2的10次方乘8乘8,結果爲1Gbit,因爲1B包含8bit,1GB/8=128MB。
如果我們要做成容量爲1GB的內存條則需要8顆這樣的DDR3內存芯片,每顆芯片含8根數位線(DQ0-DQ7)則總數寬爲64bit,這樣正好用了一個Rank。
假果還用128MB的DDR3芯片去做2GB內存條,結果就會有所不同。我們最好選用4根數位線(DQ0-DQ3),數量是16顆,這樣也是用了一個Rank。
ECC DDR和普通DDR接口一樣。
二、內存顆粒的理解
在內存顆粒的內部,數據是以bit(位)爲單位寫入一張大的矩陣中,通過指定Row(行),以及Column(列),就可以準確的定位到某一個Cell(單元),這就是物理上尋址的基本原理。至於這個Cell中存儲多少個bit,即位寬,需要查看廠商的相關Spec,x8代表每個Cell存儲8bit,x16代表每個Cell存儲16bit。
而由於工藝上的限制,這個存儲陣列不能做的很大,所以都是將內存容量分成幾個陣列來製造,那麼一個內存顆粒內部就有多個邏輯陣列,稱之爲BANK,那麼這個顆粒的容量即
如何用顆粒組成一個完整的1RANK的內存條?
首先,需要確定該顆粒的位寬是x8,x16還是x32,以x8爲例,那麼此時就需要8個顆粒並聯組成1個RANK的內存條。計算公式即爲:
當然,還有一種根據顆粒容量計算內存條大小的方法,前提是瞭解內存和CPU之間接口位寬固定爲64bit,也就是無論用多少個顆粒並聯,最終都是要組成x64的一個整體,那麼,此時該內存條的總容量大小計算公式就可以簡化爲: