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