詳述DRAM、SDRAM及DDR SDRAM的概念
DRAM (動態(tài)隨機(jī)訪問存儲器)對設(shè)計人員特別具有吸引力,因為它提供了廣泛的性能,用于各種計算機(jī)和嵌入式系統(tǒng)的存儲系統(tǒng)設(shè)計中。本文概括闡述了DRAM 的概念,及介紹了SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM、LPDDR、GDDR。
本文引用地址:http://www.ex-cimer.com/article/201610/307439.htmDRAM
DRAM較其它內(nèi)存類型的一個優(yōu)勢是它能夠以IC(集成電路)上每個內(nèi)存單元更少的電路實現(xiàn)。DRAM 的內(nèi)存單元基于電容器上貯存的電荷。典型的DRAM 單元使用一個電容器及一個或三個FET(場效應(yīng)晶體管)制成。典型的SRAM (靜態(tài)隨機(jī)訪問內(nèi)存)內(nèi)存單元采取六個FET 器件,降低了相同尺寸時每個IC 的內(nèi)存單元數(shù)量。與DRAM 相比,SRAM 使用起來更簡便,接口更容易,數(shù)據(jù)訪問時間更快。
DRAM核心結(jié)構(gòu)由多個內(nèi)存單元組成,這些內(nèi)存單元分成由行和列組成的兩維陣列(參見圖1)。訪問內(nèi)存單元需要兩步。先尋找某個行的地址,然后在選定行中尋找特定列的地址。換句話說,先在DRAM IC 內(nèi)部讀取整個行,然后列地址選擇DRAM IC I/O(輸入/ 輸出)針腳要讀取或要寫入該行的哪一列。
DRAM讀取具有破壞性,也就是說,在讀操作中會破壞內(nèi)存單元行中的數(shù)據(jù)。因此,必需在該行上的讀或?qū)懖僮鹘Y(jié)束時,把行數(shù)據(jù)寫回到同一行中。這一操作稱為預(yù)充電,是行上的最后一項操作。必須完成這一操作之后,才能訪問新的行,這一操作稱為關(guān)閉打開的行。
對計算機(jī)內(nèi)存訪問進(jìn)行分析后表明,內(nèi)存訪問中最常用的類型是讀取順序的內(nèi)存地址。這是合理的,因為讀取計算機(jī)指令一般要比數(shù)據(jù)讀取或?qū)懭敫映S谩4送?,大多?shù)指令讀取在內(nèi)存中順序進(jìn)行,直到發(fā)生到指令分支或跳到子例程。
圖1. DRAMs 內(nèi)存單元分成由行和列組成的兩維陣列。
DRAM的一個行稱為內(nèi)存頁面,一旦打開行,您可以訪問該行中多個順序的或不同的列地址。這提高了內(nèi)存訪問速度,降低了內(nèi)存時延,因為在訪問同一個內(nèi)存頁面中的內(nèi)存單元時,其不必把行地址重新發(fā)送給DRAM。結(jié)果,行地址是計算機(jī)的高階地址位,列地址是低階地址位。由于行地址和列地址在不同的時間發(fā)送,因此行地址和列地址復(fù)用到相同的DRAM 針腳上,以降低封裝針腳數(shù)量、成本和尺寸。一般來說,行地址尺寸要大于列地址,因為使用的功率與列數(shù)有關(guān)。
早期的RAM擁有控制信號,如RAS# (行地址選擇低有效)和CAS# (列地址選擇低有效),選擇執(zhí)行的行和列尋址操作。其它DRAM 控制信號包括用來選擇寫入或讀取操作的WE# (寫啟動低有效)、用來選擇DRAM的CS#(芯片選擇低有效)及OE# (輸出啟動低有效)。早期的DRAM擁有異步控制信號,并有各種定時規(guī)范,涵蓋了其順序和時間關(guān)系,來確定DRAM 工作模式。
早期的DRAM讀取周期有四個步驟。第一步,RAS# 與地址總線上的行地址變低。第二步,CAS# 與地址總線上的列地址變低。第三步,OE#變低,讀取數(shù)據(jù)出現(xiàn)在DQ 數(shù)據(jù)針腳上。在DQ 針腳上提供數(shù)據(jù)時,從第一步第三步的時間稱為時延。最后一步是RAS#, CAS# 和OE# 變高(不活動),等待內(nèi)部預(yù)充電操作在破壞性讀取后完成行數(shù)據(jù)的恢復(fù)工作。從第一步開始到最后一步結(jié)束的時間是內(nèi)存周期時間。上述信號的信號定時與邊沿順序有關(guān),是異步的。這些早期DRAM沒有同步時鐘操作。
DRAM 內(nèi)存單元必需刷新,避免丟失數(shù)據(jù)內(nèi)容。這要求丟失電荷前刷新電容器。刷新內(nèi)存由內(nèi)存控制器負(fù)責(zé),刷新時間指標(biāo)因不同DRAM內(nèi)存而不同。內(nèi)存控制器對行地址進(jìn)行僅RAS# 循環(huán),進(jìn)行刷新。在僅RAS# 循環(huán)結(jié)束時,進(jìn)行預(yù)充電操作,恢復(fù)僅RAS# 循環(huán)中尋址的行數(shù)據(jù)。一般來說,內(nèi)存控制器有一個行計數(shù)器,其順序生成僅RAS# 刷新周期所需的所有行地址。
刷新策略有兩個(參見圖2)。第一個策略內(nèi)存控制器在刷新周期突發(fā)中順序刷新所有行,然后把內(nèi)存控制返回處理器,以進(jìn)行正常操作。在到達(dá)最大刷新時間前,會發(fā)生下一個刷新操作突發(fā)。第二個刷新策略是內(nèi)存控制器使用正常處理器內(nèi)存操作隔行掃描刷新周期。這種刷新方法在最大刷新時間內(nèi)展開刷新周期。
圖2. DRAM 刷新實現(xiàn)方案包括分布式刷新和突發(fā)刷新。
早期的DRAM 演進(jìn)及實現(xiàn)了DRAM IC 上的刷新計數(shù)器,處理順序生成的行地址。在DRAM IC 內(nèi)部,刷新計數(shù)器是復(fù)用器輸入,控制著內(nèi)存陣列行地址。另一個復(fù)用器輸入來自外部地址輸入針腳的行地址。這個內(nèi)部刷新計數(shù)器不需要內(nèi)存控制器中的外部刷新計數(shù)器電路。部分DRAM 在RAS# 周期前支持一個CAS#,以使用內(nèi)部生成的行地址發(fā)起刷新周期。
SDRAM
在接口到同步處理器時,DRAM 的異步操作帶來了許多設(shè)計挑戰(zhàn)。
SDRAM (同步DRAM)是為把DRAM操作同步到計算機(jī)系統(tǒng)其余部分,而不需要根據(jù)CE# (芯片啟動活動低)、RAS#、CAS#和WE#邊沿轉(zhuǎn)換順序定義所有內(nèi)存操作模式而設(shè)計的。
SDRAM增加了時鐘信號和內(nèi)存命令的概念。內(nèi)存命令的類型取決于SDRAM 時鐘上升沿上的CE#, RAS#,CAS# 和WE# 信號狀態(tài)。產(chǎn)品資料根據(jù)CE#, RAS#,CAS# 和WE# 信號狀態(tài),以表格形式描述內(nèi)存命令。
例如,Activate (激活)命令向SDRAM發(fā)送一個行地址,打開內(nèi)存的一個行(頁面)。然后是一個Deselect (反選)命令序列,在對列地址發(fā)送Read 或Write 命令前滿足定時要求。一旦使用Activate命令打開內(nèi)存的行(頁面),那么可以在內(nèi)存的該行(頁面)上運行多個Read和Write命令。要求Precharge(預(yù)充電)命令,關(guān)閉該行,然后才能打開另一行。
表1. DDR SDRAM 數(shù)據(jù)速率和時鐘速度。
DDR SDRAM
通過提高時鐘速率、突發(fā)數(shù)據(jù)及每個時鐘周期傳送兩個數(shù)據(jù)位(參見表1),DDR (雙倍數(shù)據(jù)速率) SDRAM 提高了內(nèi)存數(shù)據(jù)速率性能。DDR SDRAM 在一條讀取命令或一條寫入命令中突發(fā)多個內(nèi)存位置。讀取內(nèi)存操作必需發(fā)送一條Activate 命令,后面跟著一條Read 命令。內(nèi)存在時延后以每個時鐘周期兩個內(nèi)存位置的數(shù)據(jù)速率應(yīng)答由兩個、四個或八個內(nèi)存位置組成的突發(fā)。因此,從兩個連續(xù)的時鐘周期中讀取四個內(nèi)存位置,或把四個內(nèi)存位置寫入兩個連續(xù)的時鐘周期中。
DDR SDRAM 有多個內(nèi)存條,提供多個隔行掃描的內(nèi)存訪問,從而提高內(nèi)存帶寬。內(nèi)存條是一個內(nèi)存陣列,兩個內(nèi)存條是兩個內(nèi)存陣列,四個內(nèi)存條是四個內(nèi)存陣列,依此類推(參見圖3)。四個內(nèi)存條要求兩個位用于內(nèi)存條地址(BA0 和BA1)。
圖3. DDR SDRAM中多個內(nèi)存條提高了訪問靈活性,改善了性能。
例如,有四個內(nèi)存條的DDR SDRAM的工作方式如下。首先,Activate命令在第一個內(nèi)存條中打開一行。第二個Activate命令在第二個內(nèi)存條中打開一行?,F(xiàn)在,可以把Read 或Write 命令的任意組合發(fā)送到打開行的第一個內(nèi)存條或第二個內(nèi)存條。在內(nèi)存條上的Read 和Write 操作結(jié)束時,Precharge 命令關(guān)閉行,內(nèi)存條對Activate 命令準(zhǔn)備就緒,可以打開一個新行。
注意,DDR SDRAM要求的功率與打開行的內(nèi)存條數(shù)量有關(guān)。打開的行越多,要求的功率越高,行尺寸越大,要求的功率越高。因此,對低功率應(yīng)用,一次在每個內(nèi)存條中只應(yīng)打開一行,而不是一次打開行的多個內(nèi)存條。
在內(nèi)存條地址位連接到內(nèi)存系統(tǒng)中的低階地址位時,支持隔行掃描連續(xù)內(nèi)存條中的連續(xù)內(nèi)存字。在內(nèi)存條地址位連接到內(nèi)存系統(tǒng)中的高階地址時,連續(xù)內(nèi)存字位于同一個內(nèi)存條中。
DDR2 SDRAM
DDR2 SDRAM 較DDR SDRAM 有多處改進(jìn)。DDR2SDRAM時鐘速率更高,從而提高了內(nèi)存數(shù)據(jù)速率(參見表2)。隨著時鐘速率提高,信號完整性對可靠運行內(nèi)存變得越來越重要。隨著時鐘速率提高,電路板上的信號軌跡變成傳輸線,在信號線末端進(jìn)行合理的布局和端接變得更加重要。
地址、時鐘和命令信號的端接相對簡明,因為這些信號是單向的,并端接在電路板上。數(shù)據(jù)信號和數(shù)據(jù)選通是雙向的。內(nèi)存控制器中心在寫入操作中驅(qū)動這些信號,DDR2 SDRAM在讀取操作中驅(qū)動這些信號。多個DDR2 SDRAM 連接到同一個數(shù)據(jù)信號和數(shù)據(jù)選通上,進(jìn)一步提高了復(fù)雜度。多個DDR2 SDRAM 可以位于內(nèi)存系統(tǒng)相同的DIMM上,也可以位于內(nèi)存系統(tǒng)不同的DIMM上。結(jié)果,數(shù)據(jù)和數(shù)據(jù)選通驅(qū)動器和接收機(jī)不斷變化,具體取決于讀取/ 寫入操作及訪問的是哪個DDR2 SDRAM。
表2. DDR2 SDRAM 數(shù)據(jù)速率和時鐘速度。
通過提供ODT (芯片內(nèi)端接),并提供ODT 信號,實現(xiàn)片內(nèi)端接,并能夠使用DDR2 SDRAM 擴(kuò)展模式寄存器對片內(nèi)端接值編程(75 歐姆、150 歐姆等等),DDR2SDRAM 改善了信號完整性。
片內(nèi)端接大小和操作由內(nèi)存控制器中心控制,與DDR2SDRAM DIMM 的位置及內(nèi)存操作類型(讀取或?qū)懭?有關(guān)。通過為數(shù)據(jù)有效窗口創(chuàng)建更大的眼圖,提高電壓余量、提高轉(zhuǎn)換速率、降低過沖、降低ISI (碼間干擾),ODT操作改善了信號完整性。
DDR2 SDRAM 在1.8V 上操作,降低了內(nèi)存系統(tǒng)的功率,這一功率是DDR SDRAM 的2.5V 功率的72%。在某些實現(xiàn)方案中,行中的列數(shù)已經(jīng)下降,在激活行進(jìn)行讀取或?qū)懭霑r降低了功率。
降低工作電壓的另一個優(yōu)勢是降低了邏輯電壓擺幅。在轉(zhuǎn)換速率相同時,電壓擺幅下降會提高邏輯轉(zhuǎn)換速度,支持更快的時鐘速率。此外,數(shù)據(jù)選通可以編程為差分信號。使用差分?jǐn)?shù)據(jù)選通信號降低了噪聲、串?dāng)_、動態(tài)功耗和EMI (電磁干擾),提高了噪聲余量。差分或單端數(shù)據(jù)選通操作配置有DDR2 SDRAM 擴(kuò)展模式寄存器。
DDR2 SDRAM 引入的一種新功能是附加時延,它使得內(nèi)存控制器中心能夠在Activate命令后,更快地靈活發(fā)送Read 和Write 命令。這優(yōu)化了內(nèi)存吞吐量,通過使用DDR2 SDRAM擴(kuò)展模式寄存器對附加時延編程來配置。DDR2 SDRAM使用八個內(nèi)存條,改善了1Gb和2GbDDR2 SDRAM 的數(shù)據(jù)帶寬。通過隔行掃描不同的內(nèi)存條操作,八個內(nèi)存條提高了訪問大型內(nèi)存D D R 2SDRAM的靈活性。此外,對大型內(nèi)存,DDR2 SDRAM支持最多八個內(nèi)存條的突發(fā)長度。
DDR3 SDRAM
DDR3 SDRAM 是一種性能演進(jìn)版本,增強(qiáng)了SDRAM技術(shù),它從800 Mb/s開始,這是大多數(shù)DDR2 SDRAM支持的最高數(shù)據(jù)速率。DDR3 SDRAM支持六檔數(shù)據(jù)速率和時鐘速度(參見表3)。DDR3-800/1066/1333SDRAM 于2007 年投入使用,DDR3-1600/1866SDRAM 則預(yù)計在2008 年投入使用,DDR3-2133SDRAM 則預(yù)計在2009 投入使用。
DDR3-1066 SDRAM的能耗低于DDR2-800 SDRAM,因為DDR3 SDRAM 的工作電壓是1.5 V,是DDR2SDRAM 的83%,DDR2 SDRAM 的工作電壓是1.8 伏。此外,DDR3 SDRAM數(shù)據(jù)DQ驅(qū)動器的阻抗是34歐姆,DDR2 SDRAM 的阻抗較低,是18 歐姆。
表3. 預(yù)計的DDR3 SDRAM 數(shù)據(jù)速率和時鐘速度。
DDR3 SDRAM 將從512 Mb 內(nèi)存開始,將來將發(fā)展到8 Gb 內(nèi)存。與DDR2 SDRAM 一樣,DDR3 SDRAM 數(shù)據(jù)輸出配置包括x4、x8 和x16。DDR3 SDRAM 有8 個內(nèi)存條,DDR2 SDRAM 則有4 個或8 個內(nèi)存條,具體視內(nèi)存大小而定。
DDR2 和DDR3 SDRAM 都有4 個模式寄存器。DDR2 定義了前兩個模式寄存器,另兩個模式寄存器則預(yù)留給將來使用。DDR3使用全部4個模式寄存器。一個重要差異是DDR2 模式寄存器規(guī)定了讀出操作的CAS 時延,寫入時延則是1減去模式寄存器讀出時延設(shè)置。DDR3模式寄存器對CAS 讀出時延和寫入時延的設(shè)置是唯一的。
DDR3 SDRAM使用8n預(yù)取架構(gòu),在4個時鐘周期中傳送8 個數(shù)據(jù)字。DDR2 SDRAM 使用4n 預(yù)取架構(gòu),在2個時鐘周期中傳送4 個數(shù)據(jù)字。
DDR3 SDRAM 模式寄存器可以編程為支持飛行突變,這會把傳送8個數(shù)據(jù)字縮短到傳送4個數(shù)據(jù)字,這在讀出或?qū)懭朊钇陂g把地址行12 設(shè)為低來實現(xiàn)。飛行突變在概念上與DDR2 和DDR3 SDRAM 中地址行10 的讀出和寫入自動預(yù)充電功能類似。
值得一提的另一個DDR3 SDRAM屬性是差分的數(shù)據(jù)選通信號DQS,DDR2 SDRAM數(shù)據(jù)通信號則可以由模式寄存器編程為單端或差分。DDR3 SDRAM 還有一個新引腳,這個引腳為活動低異步RESET# 引腳,通過把SDRAM 置于已知狀態(tài),而不管當(dāng)前狀態(tài)如何,改善系統(tǒng)穩(wěn)定性。DDR3 SDRAM 使用的FBGA 封裝類型與DDR2 SDRAM 相同。
DDR3 DIMM為DIMM上的命令、時鐘和地址提供了端接。采用DDR2 DIMM 的內(nèi)存系統(tǒng)端接主板上的命令、時鐘和地址。DIMM上的DDR3 DIMM端接支持飛行拓?fù)?,SDRAM 上的每個命令、時鐘和地址引腳都連接到一條軌跡上,然后這條軌跡終結(jié)在DIMM的軌跡端。這改善了信號完整性,其運行速度要快于DDR2 DIMM樹型結(jié)構(gòu)。
飛行拓?fù)錇閮?nèi)存控制器引入了新的DDR3 SDRAM寫入電平功能,考慮了寫入過程中時鐘CK和數(shù)據(jù)選通信號DQS 之間的定時偏移。DDR3 DIMM 的主要不同于DDR2 DIMM,防止把錯誤的DIMM 插入主板中。
DDR4 SDRAM
DDR4 SDRAM 已經(jīng)拉開帷幕,預(yù)計將在2012 年發(fā)布。其目標(biāo)是在1.2V 或以下的電源上運行這些新存儲器芯片,同時實現(xiàn)每秒200 萬以上的數(shù)據(jù)傳送速度。
GDDR 和LPDDR
其它DDR變種,如GDDR (圖形DDR)和LPDDR (低功率DDR),在業(yè)內(nèi)的地位也在不斷提高。
GDDR是一種圖形卡專用存儲技術(shù),目前規(guī)定的變種有四個:GDDR2、GDDR3、GDDR4 和GDDR5。GDDR的技術(shù)與傳統(tǒng)DDR SDRAM 非常類似,但功率要求不同。其降低了功率要求,以簡化冷卻,提供更高性能的存儲器模塊。GDDR也是為更好地處理處理圖形要求設(shè)計的。
LPDDR 采用166 MHz 時鐘速率,在要求低功耗的便攜式消費電子中正越來越流行。LPDDR2 改善了能源效率,其工作電壓最低1.2V,時鐘速度為100 -533 MHz。
評論