




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
DDR工作原理與時序(詳細且準確版----以DDR3為例)2015-07-08bymbmlccking168一、內存工作流程首先,我們先了解一下內存的大體結構工作流程,這樣會比較容量理解這些參數在其中所起到的作用。這部分的講述運用DDR3的簡化時序圖DDR3的內部是一個存儲陣列,將數據“填”進去,你可以它想象成一張表格,如下圖所示。和表格的檢索原理一樣,先指定一個行(Row),再指定一個列(Column),我們就可以準確地找到所需要的單元格,這就是內存芯片尋址的基本原理。對于內存,這個單元格可稱為存儲單元,那么這個表格(存儲陣列)就是邏輯Bank(Logical
Bank,下面簡稱Bank)。DDR3內部Bank示意圖這是一個NXN的陣列,B代表Bank地址編號,C代表列地址編號,R代表行地址編號。如果尋址命令是B1、R2、C6,就能確定地址是圖中紅格的位置。目前DDR3內存芯片基本上都是8個Bank設計,也就是說一共有8個這樣的“表格”。尋址的流程也就是先指定Bank地址,再指定行地址,然后指列地址最終的確尋址單元。目前DDR3系統而言,還存在物理Bank的概念,這是對內存子系統的一個相關術語,并不針對內存芯片。內存為了保證CPU正常工作,必須一次傳輸完CPU在一個傳輸周期內所需要的數據。而CPU在一個傳輸周期能接受的數據容量就是CPU數據總線的位寬,單位是bit(位)。控制內存與CPU之間數據交換的北橋芯片也因此將內存總線的數據位寬等同于CPU數據總線的位寬,這個位寬就稱為物理Bank(Physical
Bank,有的資料稱之為Rank)的位寬。目前這個位寬基本為64bit。在實際工作中,Bank地址與相應的行地址是同時發出的,此時這個命令稱之為“行激活”(Row
Active)。在此之后,將發送列地址尋址命令與具體的操作命令(是讀還是寫),這兩個命令也是同時發出的,所以一般都會以“讀/寫命令”來表示列尋址。根據相關的標準,從行有效到讀/寫命令發出之間的間隔被定義為tRCD,即RAS
to
CAS
Delay(RAS至CAS延遲,RAS就是行地址選通脈沖,CAS就是列地址選通脈沖),我們可以理解為行選通周期。tRCD是DDR的一個重要時序參數,廣義的tRCD以時鐘周期(tCK,Clock
Time)數為單位,比如tRCD=3,就代表延遲周期為兩個時鐘周期,具體到確切的時間,則要根據時鐘頻率而定。tRCD=3接下來,相關的列地址被選中之后,將會觸發數據傳輸,但從存儲單元中輸出到真正出現在內存芯片的
I/O
接口之間還需要一定的時間(數據觸發本身就有延遲,而且還需要進行信號放大),這段時間就是非常著名的
CL(CAS
Latency,列地址脈沖選通潛伏期)。CL
的數值與
tRCD
一樣,以時鐘周期數表示。如
DDR3-800,時鐘頻率為
100MHz,時鐘周期為
10ns,如果
CL=2
就意味著
20ns
的潛伏期。不過CL只是針對讀取操作。由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經過放大來保證其有效的識別性,這個放大/驅動工作由S-AMP負責,一個存儲體對應一個S-AMP通道。但它要有一個準備時間才能保證信號的發送強度(事前還要進行電壓比較以進行邏輯電平的判斷),因此從數據I/O總線上有數據輸出之前的一個時鐘上升沿開始,數據即已傳向S-AMP,也就是說此時數據已經被觸發,經過一定的驅動時間最終傳向數據I/O總線進行輸出,這段時間我們稱之為tAC(Access
Time
from
CLK,時鐘觸發后的訪問時間)。CL和tAC示意圖目前內存的讀寫基本都是連續的,因為與CPU交換的數據量以一個Cache
Line(即CPU內Cache的存儲單位)的容量為準,一般為64字節。而現有的Rank位寬為8字節(64bit),那么就要一次連續傳輸8次,這就涉及到我們也經常能遇到的突發傳輸的概念。突發(Burst)是指在同一行中相鄰的存儲單元連續進行數據傳輸的方式,連續傳輸的周期數就是突發長度(Burst
Lengths,簡稱BL)。在進行突發傳輸時,只要指定起始列地址與突發長度,內存就會依次地自動對后面相應數量的存儲單元進行讀/寫操作而不再需要控制器連續地提供列地址。這樣,除了第一筆數據的傳輸需要若干個周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個數據只需一個周期的即可獲得。突發連續讀取模式突發連續讀取模式:只要指定起始列地址與突發長度,后續的尋址與數據的讀取自動進行,而只要控制好兩段突發讀取命令的間隔周期(與BL相同)即可做到連續的突發傳輸。談到了突發長度時。如果BL=4,那么也就是說一次就傳送4×64bit的數據。但是,如果其中的第二筆數據是不需要的,怎么辦?還都傳輸嗎?為了屏蔽不需要的數據,人們采用了數據掩碼(Data
I/O
Mask,簡稱DQM)技術。通過DQM,內存可以控制I/O端口取消哪些輸出或輸入的數據。這里需要強調的是,在讀取時,被屏蔽的數據仍然會從存儲體傳出,只是在“掩碼邏輯單元”處被屏蔽。DQM由北橋控制,為了精確屏蔽一個P-Bank位寬中的每個字節,每個DIMM有8個DQM信號線,每個信號針對一個字節。這樣,對于4bit位寬芯片,兩個芯片共用一個DQM信號線,對于8bit位寬芯片,一個芯片占用一個DQM信號,而對于16bit位寬芯片,則需要兩個DQM引腳。在數據讀取完之后,為了騰出讀出放大器以供同一Bank內其他行的尋址并傳輸數據,內存芯片將進行預充電的操作來關閉當前工作行。還是以上面那個Bank示意圖為例。當前尋址的存儲單元是B1、R2、C6。如果接下來的尋址命令是B1、R2、C4,則不用預充電,因為讀出放大器正在為這一行服務。但如果地址命令是B1、R4、C4,由于是同一Bank的不同行,那么就必須要先把R2關閉,才能對R4尋址。從開始關閉現有的工作行,到可以打開新的工作行之間的間隔就是tRP(Row
Precharge
command
Period,行預充電有效周期),單位也是時鐘周期數。tRP示意圖在不同Bank間讀寫也是這樣,先把原來數據寫回,再激活新的Bank/Row。二、數據選取脈沖(DQS)DQS是DDR中的重要功能,它的功能主要用來在一個時鐘周期內準確的區分出每個傳輸周期,并便于接收方準確接收數據。每一顆芯片都有一個DQS信號線,它是雙向的,在寫入時它用來傳送由北橋發來的DQS信號,讀取時,則由芯片生成DQS向北橋發送。完全可以說,它就是數據的同步信號。DQS時序示意圖在寫入時,以DQS的高/低電平期中部為數據周期分割點,而不是上/下沿,但數據的接收觸發仍為DQS的上/下沿三、容量的計算1、結構框圖DDR3內部功能方塊圖上圖為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。2、管腳功能描述DDR3引腳說明3、狀態圖DDR狀態轉換圖Power
on:
上電。Reset
Procedure:
復位過程。Initialization:
初始化。ZQCL:
上電初始化后,用完成校準ZQ電阻。ZQCL會觸發DRAM內部的校準引擎,一旦校準完成,校準后的值會傳遞到DRAM的IO管腳上,并反映為輸出驅動和ODT阻值。ZQCS:
周期性的校準,能夠跟隨電壓和溫度的變化而變化。校準需要更短的時間窗口,一次校準,可以有效的糾正最小0.5%的RON和RTT電阻。Al:Additive
latency.是用來在總線上保持命令或者數據的有效時間。在ddr3允許直接操作讀和寫的操作過程中,AL是總線上的數據出現到進入器件內部的時間。下圖為DDR3標準所支持的時間操作。DDR3時間設置說明Write
Leveling:為了得到更好的信號完整性,DDR3存儲模塊采取了FLY_BY的拓撲結構,來處理命令、地址、控制信號和時鐘。FLY_BY的拓撲結構可以有效的減少stub的數量和他們的長度,
但是卻會導致時鐘和strobe信號在每個芯片上的flight
time
skew,這使得控制器(FPGA或者CPU),
很難以保持Tdqss
,tdss和tdsh這些時序。這樣,ddr3支持write
leveling這樣一個特性,來允許控制器來補償傾斜(flight
time
skew)。存儲器控制器能夠用該特性和從DDR3反饋的數據調成DQS和CK之間的關系。在這種調整中,存儲器控制器可以對DQS信號可調整的延時,來與時鐘信號的上升邊沿對齊。
控制器不停對DQS進行延時,直到發現從0到1之間的跳變出現,然后DQS的延時通過這樣的方式被建立起來了,由此可以保證tDQSS。writeleveling功能實現說明圖MRS:
MODE
Register
Set,
模式寄存器設置。為了應用的靈活性,不同的功能、特征和模式等在DDR3芯片上的Mode
Register中,通過編程來實現。模式寄存器MR沒有缺省值,因此模式寄存器MR必須在上電或者復位后被完全初始化,這樣才能使得DDR可以正常工作。正常工作模式下,MR也可以被重新寫入。模式寄存器的設置命令周期,tMRD兩次操作的最小時間,其具體時序圖,如下圖10-9所示。模式寄存器,分為MR0、MR1、MR2和MR4。MR0用來存儲DDR3的不同操作模式的數據:包括突發長度、讀取突發種類、CAS長度、測試模式、DLL復位等。MR1用來存儲是否使能DLL、輸出驅動長度、Rtt_Nom、額外長度、寫電平使能等。MR2用來存儲控制更新的特性,
Rtt_WR阻抗,和CAS寫長度。MR3用來控制MPR。tMRD時序圖MPR:
Multi-purpose
register.
多用途寄存器。MPR的功能是讀出一個預先設定的系統時序校準比特序列。為了使能MPR功能,需要在MRS的寄存器MR3的A2位寫1,并且在此之前需要將DDR3的所有bank處于idle狀態;
一旦MPR被使能后,任何RD和RDA的命令都會被引入到MPR寄存器中,當MPR寄存器被使能后,
除非MPR被禁止(MR3的A2=0),否則就只有RD和RDA被允許。在MPR被使能的時候,RESET功能是被允許的。Precharge
Power
Down:
bank在in-progress命令后關閉。Active
Power
Down:bank在in-progress命令后依然打開。Idle:所有的bank必須預先充電,所有時序滿足,DRAM的ODT電阻,RTT必須為高阻。CWL:CAS
write
latency.
以時鐘周期為單位,在內部寫命令和第一位輸入數據的時間延時,該單位始終為整數。在操作過程中,所有的寫延時WL被定義為AL(Additive
Latency)+CWL。Rtt:
Dynamic
ODT.DDR3引入的新特性。在特定的應用環境下為了更好的在數據總線上改善信號完整性,不需要特定的MRS命令即可以改變終結強度(或者稱為終端匹配)。在MR2中的A9和A10位設置了Rtt_WR。DDR3中,
有兩種RTT值是可以選擇的,一種是RTT_Nom,另一種是RTT_WR;Rtt_Nom是在沒有寫命令的時候被選擇的,當有了寫命令后,ODT就會變成Rtt_wr,當寫命令結束后,又會回到Rtt_nom。也就是說,RTT在ODT使能后出現,當總線上沒有數據的時候,采用的RTT值為RTT_nom;而當總線上有了數據后,要求此時的ODT的值為Rtt_wr。具體的DDR3的ODT產生時序見圖10-10。當ODT被使能后,必須要保持高電平ODTH4個時鐘周期才可以有效;如果寫命令被放入寄存器并且ODT是高,那么ODT必須保持ODTH4或者ODTH8,這樣ODT才可以有效。odtrttACT
=
ACTIVATE
PREA
=
PRECHARGE
ALL
SRX
=
自刷新推出MPR
=
多用處寄存器
READ
=
RD,RDS4,RDS8
WRITE=WR,WRS4,WRS8MRS=模式寄存器集
READ
AP=RDAP,RDAPS4,RDAPS8
WRITE=WRAP,WRAPS4,WRAPS8PDE=掉電進入
REF=REFRESH
ZQCL=ZQ
LONG
CALIBRATIONPDX=掉電推出
RESET=啟動復位過程
ZACS=ZA
SHORT
CALIBTATIONPRE=預充電
SRE=自刷新進入4、工作原理在描述了上述的一些基本概念后,就可以對圖中的DDR3工作原理進行基本的描述了理解了。首先,芯片進入上電,在上電最小為200us的平穩電平后,等待500usCKE使能,在這段時間芯片內部開始狀態初始化,該過程與外部時鐘無關。在時鐘使能信號前(cke),必須保持最小10ns或者5個時鐘周期,除此之外,還需要一個NOP命令或者Deselect命令出現在CKE的前面。然后DDR3開始了ODT的過程,在復位和CKE有效之前,ODT始終為高阻。在CKE為高后,等待tXPR(最小復位CKE時間),然后開始從MRS中讀取模式寄存器。然后加載MR2、MR3的寄存器,來配置應用設置;然后使能DLL,并且對DLL復位。接著便是啟動ZQCL命令,來開始ZQ校準過程。等待校準結束后,DDR3就進入了可以正常操作的狀態。對于基本的配置過程,現在就可以結束了。下面,結合CH1的控制器FPGA,說明對DDR3相關的配置。DDR3命令表上表中MRS可以設置Mode寄存器值Mode寄存器值設置說明圖設置時序圖以上圖為例,CS#,RAS#,CAS#,WE#為L,L,H,H。則指令為Row/Bank
Active;隨后CS#拉高,command無效,在第4個時鐘周期這4個信號變為L,H,L,H,對照表格,指令為Read,經過幾個時鐘周期延遲,在3CLK后讀數據。5、
DDR3其他相關資料DDR3SDRAM是高速動態隨機存取存儲器,內部配置有8個BANK。DDR3SDRAM使用8n預取結構,以獲得高速操作。8n預取結構同接口組合起來以完成在I/O腳上每個時鐘兩個數據字的傳輸。DDR3SDRAM的一個單次讀或寫操作由兩部分組成:一是在內部DRAM核中進行的8n位寬四個時鐘數據傳輸,另一個是在I/O腳上進行的兩個對應n位寬、半時鐘周期的數據傳輸。對DDR3SDRAM的讀寫操作是有方向性的突發操作,從一個選擇的位置開始,突發長度是8或者是一個以編程序列的長度為4的Chopped突發方式。操作開始于Active命令,隨后是一個Read/Write命令。Active命令同時并發含帶地址位,以選擇Bank和Row地址(BA0-BA2選擇BANK、A0-A15選擇Row)。而Read/Write命令并發含帶突發操作的起始Column地址,并確定是否發布自動預充電命令(通過A10)和選擇BC4或BL8模式(通過A12)(如果模式寄存器使能)。在正常操作之前,DDR3SDRAM必要以預先定義的方式上電和初始化。DDR3內存的技術改進那么,從技術看,DDR3內存與目前主流的DDR2內存相比,其特點體現在哪些方面呢?我們首先介紹DDR3內存針對DDR2中存在的不足的改進邏輯Bank數量DDR2
SDRAM中有4Bank和8Bank的設計,目的就是為了應對未來大容量芯片的需求。而DDR3很可能將從2Gb容量起步,因此起始的邏輯Bank就是8個,另外還為未來的16個邏輯Bank做好了準備。封裝(Packages)DDR3由于新增了一些功能,所以在引腳方面會有所增加,8bit芯片采用78球FBGA封裝,16bit芯片采用96球FBGA封裝,而DDR2則有60/68/84球FBGA封裝三種規格。并且DDR3必須是綠色封裝,不能含有任何有害物質。突發長度(BL,Burst
Length)由于DDR3的預取為8bit,所以突發傳輸周期(BL,Burst
Length)也固定為8,而對于DDR2和早期的DDR架構的系統,BL=4也是常用的,DDR3為此增加了一個4-bit
Burst
Chop(突發突變)模式,即由一個BL=4的讀取操作加上一個BL=4的寫入操作來合成一個BL=8的數據突發傳輸,屆時可通過A12地址線來控制這一突發模式。而且需要指出的是,任何突發中斷操作都將在DDR3內存中予以禁止,且不予支持,取而代之的是更靈活的突發傳輸控制(如4bit順序突發)。尋址時序(Timing)就像DDR2從DDR轉變而來后延遲周期數增加一樣,DDR3的CL周期也將比DDR2有所提高。DDR2的CL范圍一般在2至5之間,而DDR3則在5至11之間,且附加延遲(AL)的設計也有所變化。DDR2時AL的范圍是0至4,而DDR3時AL有三種選項,分別是0、CL-1和CL-2。另外,DDR3還新增加了一個時序參數——寫入延遲(CWD),這一參數將根據具體的工作頻率而定。DDR3內存的新增功能如果上一部分介紹的DDR3內存對DDR2內存的改進更多的是某種程度上的修正或簡單提高的話,DDR3內存還有部分DDR2內存所不具備的功能,正是這些,讓DDR3內存的表現有了根本性的提高重置(Reset)重置是DDR3新增的一項重要功能,并為此專門準備了一個引腳。DRAM業界已經很早以前就要求增這一功能,如今終于在DDR3身上實現。這一引腳將使DDR3的初始化處理變得簡單。當Reset命令有效時,DDR3內存將停止所有的操作,并切換至最少量活動的狀態,以節約電力。在Reset期間,DDR3內存將關閉內在的大部分功能,所以有數據接收與發送器都將關閉。所有內部的程序裝置將復位,DLL(延遲鎖相環路)與時鐘電路將停止工作,而且不理睬數據總線上的任何動靜。這樣一來,將使DDR3達到最節省電力的目的。ZQ校準ZQ也是一個新增的腳,在這個引腳上接有一個240歐姆的低公差參考電阻。這個引腳通過一個命令集,通過片上校準引擎(ODCE,On-Die
Calibration
Engine)來自動校驗數據輸出驅動器導通電阻與ODT的終結電阻值。當系統發出這一指令之后,將用相應的時鐘周期(在加電與初始化之后用512個時鐘周期,在退出自刷新操作后用256時鐘周期、在其他情況下用64個時鐘周期)對導通電阻和ODT電阻進行重新校準。參考電壓分成兩個對于內存系統工作非常重要的參考電壓信號VREF,在DDR3系統中將分為兩個信號。一個是為命令與地址信號服務的VREFCA,另一為數據總線服務的VREFDQ,它將有效的提高系統數據總線的信噪等級。根據溫度自動自刷新(SRT,Self-Refresh
Temperature)為了保證所保存的數據不丟失,DRAM必須定時進
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設備保管使用協議書
- 共同成立子公司協議書
- 保潔員簽到合同協議書
- app商城代理協議書
- 花草修剪合同協議書
- 門市出租調價協議書
- 船舶買賣交接協議書
- 門市租房安全協議書
- 南寧房地產合作協議書
- csc公派留學協議書
- 糖尿病動畫健康指導
- 南京理工大學泰州科技學院《DSP原理及應用》2022-2023學年第一學期期末試卷
- 《SQL優化策略》課件
- 剪映專業版教學課件
- 智能咖啡機行業營銷策略方案
- 航空與航天學習通超星期末考試答案章節答案2024年
- 工行個人房屋貸款協議模板
- 擔任學生干部證明
- 《國家電網有限公司電力建設安全工作規程第4部分:分布式光伏》知識培訓
- 2024年《13464電腦動畫》自考復習題庫(含答案)
- 【核心素養目標】9.3 一元一次不等式組 教案七年級數學下冊(人教版)
評論
0/150
提交評論