DDR3基礎(chǔ)技術(shù)總匯_第1頁
DDR3基礎(chǔ)技術(shù)總匯_第2頁
DDR3基礎(chǔ)技術(shù)總匯_第3頁
DDR3基礎(chǔ)技術(shù)總匯_第4頁
DDR3基礎(chǔ)技術(shù)總匯_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1 DDR的發(fā)展:2003年秋季Intel公布了DDR2內(nèi)存的發(fā)展計劃。而隨著當(dāng)時CPU 前端總線帶寬的提高和高速局部總線的出現(xiàn),內(nèi)存帶寬成為系統(tǒng)越來越大的瓶頸。處于主流DDR技術(shù)已經(jīng)發(fā)展到極至,因此DDR2脫穎而出。DDR2的實(shí)際工作頻率是DDR的兩倍。這得益于DDR2內(nèi)存擁有兩倍于標(biāo)準(zhǔn) DDR內(nèi)存的4bit預(yù)讀取能力。下圖為DDR和DDR2預(yù)讀取能力的對比。DDR2內(nèi)存技術(shù)最大的突破點(diǎn)其實(shí)不在于用戶們所認(rèn)為的兩倍于DDR的傳輸能力,而是在采用更低發(fā)熱量、更低功耗的情況下(由2.5V降為1.8V),DDR2 可以獲得更快的頻率提升,突破標(biāo)準(zhǔn)DDR的400MHZ限制。DDR內(nèi)存通常采用TSOP

2、芯片封裝形式,這種封裝形式可以很好的工作在 200MHz上,當(dāng)頻率更高時,它過長的管腳就會產(chǎn)生很高的阻抗和寄生電容,這會影響它的穩(wěn)定性和頻率提升的難度。這也就是 DDR的核心頻率很難突破 275MHZ的原因。而DDR2內(nèi)存均采用FBGA封裝形式。不同于目前廣泛應(yīng)用的 TSOP 封裝形式,F(xiàn)BGA封裝提供了更好的電氣性能與散熱性,為DDR2內(nèi)存的穩(wěn)定工作與未來頻率的發(fā)展提供了良好的保障。2007年中Intel表示支持DDR3的發(fā)展,隨后DDR3慢慢走上了歷史的舞臺,根據(jù)由JEDEC協(xié)會所制定的規(guī)格來看,由技術(shù)面來切入DDR3與DDR2的異同點(diǎn),DDR3擁有高頻率低電壓的優(yōu)點(diǎn),DDR3可以比DDR

3、2運(yùn)作時省下約30%的電力,速度方面DDR3從800Mbps起跳最高可以至1600Mbps,幾乎是DDR2的二倍速度,正因?yàn)楦邆鬏斅实年P(guān)系,DDR3可以在一個時序(Clock)之中傳出8bit的數(shù)據(jù),比起DDR2的4bit也是二倍的數(shù)據(jù)傳輸量,低電壓更是DDR3的優(yōu)勢之一,1.5V的電壓比DDR2的1.8V降低了17%。下面的圖表總結(jié)了DDR,DDR2,以及DDR3的一些重要的區(qū)別:2、認(rèn)識內(nèi)存相關(guān)工作流程與參數(shù)首先,我們先了解一下內(nèi)存的大體結(jié)構(gòu)工作流程,這樣會比較容量理解這些參數(shù)在其中所起到的作用。這部分的講述運(yùn)用DDR3的簡化時序圖。  DDR3的內(nèi)部是一個存儲陣列,將數(shù)據(jù)“填”

4、進(jìn)去,你可以它想象成一張表格。和表格的檢索原理一樣,先指定一個行(Row),再指定一個列(Column),我們就可以準(zhǔn)確地找到所需要的單元格,這就是內(nèi)存芯片尋址的基本原理。對于內(nèi)存,這個單元格可稱為存儲單元,那么這個表格(存儲陣列)就是邏輯Bank(Logical Bank,下面簡稱Bank)。   DDR3內(nèi)部Bank示意圖,這是一個NXN的陣列,B代表Bank地址編號,C代表列地址編號,R代表行地址編號。如果尋址命令是B1、R2、C6,就能確定地址是圖中紅格的位置目前DDR3內(nèi)存芯片基本上都是8個Bank設(shè)計,也就是說一共有8個這樣的“表格”。尋址的流程也就是先指定Ba

5、nk地址,再指定行地址,然后指列地址最終的確尋址單元。目前DDR3系統(tǒng)而言,還存在物理Bank的概念,這是對內(nèi)存子系統(tǒng)的一個相關(guān)術(shù)語,并不針對內(nèi)存芯片。內(nèi)存為了保證CPU正常工作,必須一次傳輸完CPU在一個傳輸周期內(nèi)所需要的數(shù)據(jù)。而CPU在一個傳輸周期能接受的數(shù)據(jù)容量就是CPU數(shù)據(jù)總線的位寬,單位是bit(位)??刂苾?nèi)存與CPU之間數(shù)據(jù)交換的北橋芯片也因此將內(nèi)存總線的數(shù)據(jù)位寬等同于CPU數(shù)據(jù)總線的位寬,這個位寬就稱為物理Bank(Physical Bank,有的資料稱之為Rank)的位寬。目前這個位寬基本為64bit。在實(shí)際工作中,Bank地址與相應(yīng)的行地址是同時發(fā)出的,此時這個命令稱之為“行

6、激活”(Row Active)。在此之后,將發(fā)送列地址尋址命令與具體的操作命令(是讀還是寫),這兩個命令也是同時發(fā)出的,所以一般都會以“讀/寫命令”來表示列尋址。根據(jù)相關(guān)的標(biāo)準(zhǔn),從行有效到讀/寫命令發(fā)出之間的間隔被定義為tRCD,即RAS to CAS Delay(RAS至CAS延遲,RAS就是行地址選通脈沖,CAS就是列地址選通脈沖),我們可以理解為行選通周期。tRCD是DDR的一個重要時序參數(shù),廣義的tRCD以時鐘周期(tCK,Clock Time)數(shù)為單位,比如tRCD=3,就代表延遲周期為兩個時鐘周期,具體到確切的時間,則要根據(jù)時鐘頻率而定,DDR3-800,tRCD=3,代表30ns

7、的延遲。圖中顯示的是tRCD=3接下來,相關(guān)的列地址被選中之后,將會觸發(fā)數(shù)據(jù)傳輸,但從存儲單元中輸出到真正出現(xiàn)在內(nèi)存芯片的 I/O 接口之間還需要一定的時間(數(shù)據(jù)觸發(fā)本身就有延遲,而且還需要進(jìn)行信號放大),這段時間就是非常著名的 CL(CAS Latency,列地址脈沖選通潛伏期)。CL 的數(shù)值與 tRCD 一樣,以時鐘周期數(shù)表示。如 DDR3-800,時鐘頻率為 100MHz,時鐘周期為 10ns,如果 CL=2 就意味著 20ns 的潛伏期。不過CL只是針對讀取操作。由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經(jīng)過放大來保證其有效的識別性,這個放大/驅(qū)動工作由S-AMP負(fù)責(zé),一

8、個存儲體對應(yīng)一個S-AMP通道。但它要有一個準(zhǔn)備時間才能保證信號的發(fā)送強(qiáng)度(事前還要進(jìn)行電壓比較以進(jìn)行邏輯電平的判斷),因此從數(shù)據(jù)I/O總線上有數(shù)據(jù)輸出之前的一個時鐘上升沿開始,數(shù)據(jù)即已傳向S-AMP,也就是說此時數(shù)據(jù)已經(jīng)被觸發(fā),經(jīng)過一定的驅(qū)動時間最終傳向數(shù)據(jù)I/O總線進(jìn)行輸出,這段時間我們稱之為tAC(Access Time from CLK,時鐘觸發(fā)后的訪問時間)。圖中標(biāo)準(zhǔn)CL=2,tAC=1  目前內(nèi)存的讀寫基本都是連續(xù)的,因?yàn)榕cCPU交換的數(shù)據(jù)量以一個Cache Line(即CPU內(nèi)Cache的存儲單位)的容量為準(zhǔn),一般為64字節(jié)。而現(xiàn)有的Rank位寬為8字節(jié)(64

9、bit),那么就要一次連續(xù)傳輸8次,這就涉及到我們也經(jīng)常能遇到的突發(fā)傳輸?shù)母拍?。突發(fā)(Burst)是指在同一行中相鄰的存儲單元連續(xù)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞剑B續(xù)傳輸?shù)闹芷跀?shù)就是突發(fā)長度(Burst Lengths,簡稱BL)。在進(jìn)行突發(fā)傳輸時,只要指定起始列地址與突發(fā)長度,內(nèi)存就會依次地自動對后面相應(yīng)數(shù)量的存儲單元進(jìn)行讀/寫操作而不再需要控制器連續(xù)地提供列地址。這樣,除了第一筆數(shù)據(jù)的傳輸需要若干個周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個數(shù)據(jù)只需一個周期的即可獲得。突發(fā)連續(xù)讀取模式:只要指定起始列地址與突發(fā)長度,后續(xù)的尋址與數(shù)據(jù)的讀取自動進(jìn)行,而只要控制好兩段突發(fā)讀取命令的間隔周期

10、(與BL相同)即可做到連續(xù)的突發(fā)傳輸。談到了突發(fā)長度時。如果BL=4,那么也就是說一次就傳送4×64bit的數(shù)據(jù)。但是,如果其中的第二筆數(shù)據(jù)是不需要的,怎么辦?還都傳輸嗎?為了屏蔽不需要的數(shù)據(jù),人們采用了數(shù)據(jù)掩碼(Data I/O Mask,簡稱DQM)技術(shù)。通過DQM,內(nèi)存可以控制I/O端口取消哪些輸出或輸入的數(shù)據(jù)。這里需要強(qiáng)調(diào)的是,在讀取時,被屏蔽的數(shù)據(jù)仍然會從存儲體傳出,只是在“掩碼邏輯單元”處被屏蔽。DQM由北橋控制,為了精確屏蔽一個P-Bank位寬中的每個字節(jié),每個DIMM有8個DQM信號線,每個信號針對一個字節(jié)。這樣,對于4bit位寬芯片,兩個芯片共用一個DQM信號線,對

11、于8bit位寬芯片,一個芯片占用一個DQM信號,而對于16bit位寬芯片,則需要兩個DQM引腳。在數(shù)據(jù)讀取完之后,為了騰出讀出放大器以供同一Bank內(nèi)其他行的尋址并傳輸數(shù)據(jù),內(nèi)存芯片將進(jìn)行預(yù)充電的操作來關(guān)閉當(dāng)前工作行。還是以上面那個Bank示意圖為例。當(dāng)前尋址的存儲單元是B1、R2、C6。如果接下來的尋址命令是B1、R2、C4,則不用預(yù)充電,因?yàn)樽x出放大器正在為這一行服務(wù)。但如果地址命令是B1、R4、C4,由于是同一Bank的不同行,那么就必須要先把R2關(guān)閉,才能對R4尋址。從開始關(guān)閉現(xiàn)有的工作行,到可以打開新的工作行之間的間隔就是tRP(Row Precharge command Perio

12、d,行預(yù)充電有效周期),單位也是時鐘周期數(shù)。在不同Bank間讀寫也是這樣,先把原來數(shù)據(jù)寫回,再激活新的Bank/Row。數(shù)據(jù)選取脈沖(DQS)DQS是DDR中的重要功能,它的功能主要用來在一個時鐘周期內(nèi)準(zhǔn)確的區(qū)分出每個傳輸周期,并便于接收方準(zhǔn)確接收數(shù)據(jù)。每一顆芯片都有一個DQS信號線,它是雙向的,在寫入時它用來傳送由北橋發(fā)來的DQS信號,讀取時,則由芯片生成DQS向北橋發(fā)送。完全可以說,它就是數(shù)據(jù)的同步信號。在讀取時,DQS與數(shù)據(jù)信號同時生成(也是在CK與CK#的交叉點(diǎn))。而DDR內(nèi)存中的CL也就是從CAS發(fā)出到DQS生成的間隔,DQS生成時,芯片內(nèi)部的預(yù)取已經(jīng)完畢了,由于預(yù)取的原因,實(shí)際的數(shù)

13、據(jù)傳出可能會提前于DQS發(fā)生(數(shù)據(jù)提前于DQS傳出)。由于是并行傳輸,DDR內(nèi)存對tAC也有一定的要求,對于DDR266,tAC的允許范圍是±0.75ns,對于DDR333,則是±0.7ns,有關(guān)它們的時序圖示見前文,其中CL里包含了一段DQS的導(dǎo)入期。DQS在讀取時與數(shù)據(jù)同步傳輸,那么接收時也是以DQS的上下沿為準(zhǔn)嗎?不,如果以DQS的上下沿區(qū)分?jǐn)?shù)據(jù)周期的危險很大。由于芯片有預(yù)取的操作,所以輸出時的同步很難控制,只能限制在一定的時間范圍內(nèi),數(shù)據(jù)在各I/O端口的出現(xiàn)時間可能有快有慢,會與DQS有一定的間隔,這也就是為什么要有一個tAC規(guī)定的原因。而在接收方,一切必須保證同步

14、接收,不能有tAC之類的偏差。這樣在寫入時,芯片不再自己生成DQS,而以發(fā)送方傳來的DQS為基準(zhǔn),并相應(yīng)延后一定的時間,在DQS的中部為數(shù)據(jù)周期的選取分割點(diǎn)(在讀取時分割點(diǎn)就是上下沿),從這里分隔開兩個傳輸周期。這樣做的好處是,由于各數(shù)據(jù)信號都會有一個邏輯電平保持周期,即使發(fā)送時不同步,在DQS上下沿時都處于保持周期中,此時數(shù)據(jù)接收觸發(fā)的準(zhǔn)確性無疑是最高的。在寫入時,以DQS的高/低電平期中部為數(shù)據(jù)周期分割點(diǎn),而不是上/下沿,但數(shù)據(jù)的接收觸發(fā)仍為DQS的上/下沿3.容量的計算上圖為X8data的單顆DDR3架構(gòu)圖,行(Row)地址線復(fù)用14根,列(Column)地址線復(fù)用10根,Bank數(shù)量為

15、8個,IO Buffer 通過8組數(shù)位線(DQ0-DQ7)來完成對外的通信,故此單顆DDR3芯片的容量為2的14次方乘2的10次方乘8乘8,結(jié)果為1Gbit,因?yàn)?B包含8bit,1GB/8=128MB。如果我們要做成容量為1GB的內(nèi)存條則需要8顆這樣的DDR3內(nèi)存芯片,每顆芯片含8根數(shù)位線(DQ0-DQ7)則總數(shù)寬為64bit,這樣正好用了一個Rank。假果還用128MB的DDR3芯片去做2GB內(nèi)存條,結(jié)果就會有所不同。我們最好選用4根數(shù)位線(DQ0-DQ3),數(shù)量是16顆,這樣也是用了一個Rank。在K2的項(xiàng)目中我們要做容量為8GB的內(nèi)存條,則數(shù)量用64顆128M的DDR3,這樣位寬高達(dá)6

16、4X4=256bit,要做成4個Rank。4.下面我們來介紹一下DDR3的工作情況和一些基本command內(nèi)存要保存信息就要不斷的refresh,refresh操作與預(yù)充電操作一樣,都是用S-AMP先讀再寫。預(yù)充電是對一個或所有Bank中的工作行操作,并且是不定期的,而refresh則是有固定的周期,依次對所有行進(jìn)行操作,以保留那些久久沒經(jīng)歷重寫的存儲體中的數(shù)據(jù)。但與所有Bank Precharge不同的是,這里的行是指所有Bank中地址相同的行,而Precharge中各Bank中的工作行地址并不是一定是相同的。refresh操作分為兩種:(Auto Refresh,簡稱AR)與(Self R

17、efresh,簡稱SR)。不論是何種refresh方式,都不需要外部提供行地址信息,因?yàn)檫@是一個內(nèi)部的自動操作。對于AR, SDRAM內(nèi)部有一個行地址生成器(也稱refresh計數(shù)器)用來自動的依次生成行地址。refresh涉及到所有Bank,因此在refresh過程中,所有Bank都停止工作,而每次refresh所占用的時間為9個時鐘周期(PC133標(biāo)準(zhǔn)),之后就可進(jìn)入正常的工作狀態(tài),也就是說在這9 個時鐘期間內(nèi),所有工作指令只能等待而無法執(zhí)行。顯然,refresh操作肯定會對SDRAM的性能造成影響,但這是沒辦法的事情,也是DRAM相對于SRAM(靜態(tài)內(nèi)存,無需刷新仍能保留數(shù)據(jù))取得成本優(yōu)

18、勢的同時所付出的代價。SR則主要用于休眠模式低功耗狀態(tài)下的數(shù)據(jù)保存,這方面最著名的應(yīng)用就是STR(Suspend to RAM,休眠掛起于內(nèi)存)。在發(fā)出AR命令時,將CKE置于無效狀態(tài),就進(jìn)入了SR模式,此時不再依靠系統(tǒng)時鐘工作,而是根據(jù)內(nèi)部的時鐘進(jìn)行refresh操作。在SR期間除了CKE之外的所有外部信號都是無效的,只有重新使CKE有效才能退出自refresh模式并進(jìn)入正常操作狀態(tài)。重置(Reset)是DDR3新增的一項(xiàng)重要功能,將使DDR3的初始化處理變得簡單。當(dāng)Reset命令有效時,DDR3內(nèi)存將停止所有的操作,并切換至最少量活動的狀態(tài),以節(jié)約電力。在Reset期間,DDR3內(nèi)存將關(guān)閉

19、內(nèi)在的大部分功能,所以有數(shù)據(jù)接收與發(fā)送器都將關(guān)閉。所有內(nèi)部的程序裝置將復(fù)位,DLL(延遲鎖定回路)與時鐘電路將停止工作,而且不理睬數(shù)據(jù)總線上的任何動靜,將使DDR3達(dá)到最節(jié)省電力的目的。上表中MRS可以設(shè)置Mode寄存器值以上圖為例CS#,RAS#,CAS#,WE#為L,L,H,H。則指令為Row/Bank Active;隨后CS#拉高,command無效,在第4個時鐘周期這4個信號變?yōu)長,H,L,H,對照表格,指令為Read,經(jīng)過幾個時鐘周期延遲,在3CLK后讀數(shù)據(jù)。首先,我們先了解一下內(nèi)存的大體結(jié)構(gòu)工作流程,這樣會比較容量理解這些參數(shù)在其中所起到的作用。這部分的講述運(yùn)用DDR3的簡化時序圖

20、。   DDR3的內(nèi)部是一個存儲陣列,將數(shù)據(jù)“填”進(jìn)去,你可以它想象成一張表格。和表格的檢索原理一樣,先指定一個行(Row),再指定一個列(Column),我們就可以準(zhǔn)確地找到所需要的單元格,這就是內(nèi)存芯片尋址的基本原理。對于內(nèi)存,這個單元格可稱為存儲單元,那么這個表格(存儲陣列)就是邏輯 Bank(Logical Bank,下面簡稱Bank)。 DDR3內(nèi)部Bank示意圖,這是一個NXN的陣列,B代表Bank地址編號,C代表列地址編號,R代表行地址編號。如果尋址命令是B1、R2、C6,就能確定地址是圖中紅格的位置目前DDR3內(nèi)存芯片基本上都是

21、8個Bank設(shè)計,也就是說一共有8個這樣的“表格”。尋址的流程也就是先指定Bank地址,再指定行地址,然后指列地址最終的確尋址單元。目前DDR3系統(tǒng)而言,還存在物理Bank的概念,這是對內(nèi)存子系統(tǒng)的一個相關(guān)術(shù)語,并不針對內(nèi)存芯片。內(nèi)存為了保證CPU正常工作,必須一次傳輸完CPU 在一個傳輸周期內(nèi)所需要的數(shù)據(jù)。而CPU在一個傳輸周期能接受的數(shù)據(jù)容量就是CPU數(shù)據(jù)總線的位寬,單位是bit(位)??刂苾?nèi)存與CPU之間數(shù)據(jù)交換的北橋芯片也因此將內(nèi)存總線的數(shù)據(jù)位寬等同于CPU數(shù)據(jù)總線的位寬,這個位寬就稱為物理Bank(Physical Bank,有的資料稱之為Rank)的位寬。目前這個位寬基本

22、為64bit。在實(shí)際工作中,Bank地址與相應(yīng)的行地址是同時發(fā)出的,此時這個命令稱之為“行激活”(Row Active)。在此之后,將發(fā)送列地址尋址命令與具體的操作命令(是讀還是寫),這兩個命令也是同時發(fā)出的,所以一般都會以“讀/寫命令”來表示列尋址。根據(jù)相關(guān)的標(biāo)準(zhǔn),從行有效到讀/寫命令發(fā)出之間的間隔被定義為tRCD,即RAS to CAS Delay(RAS至CAS延遲,RAS就是行地址選通脈沖,CAS就是列地址選通脈沖),我們可以理解為行選通周期。tRCD是DDR的一個重要時序參數(shù),廣義的tRCD以時鐘周期(tCK,Clock Time)數(shù)

23、為單位,比如tRCD=3,就代表延遲周期為兩個時鐘周期,具體到確切的時間,則要根據(jù)時鐘頻率而定,DDR3-800,tRCD=3,代表30ns的延遲。                     圖中顯示的是tRCD=3接下來,相關(guān)的列地址被選中之后,將會觸發(fā)數(shù)據(jù)傳輸,但從存儲單元中輸出到真正出現(xiàn)在內(nèi)存芯片的 I/O 接口之間還需要一定的時間(數(shù)據(jù)觸發(fā)本身就有延遲,而且還需

24、要進(jìn)行信號放大),這段時間就是非常著名的 CL(CAS Latency,列地址脈沖選通潛伏期)。CL 的數(shù)值與 tRCD 一樣,以時鐘周期數(shù)表示。如 DDR3-800,時鐘頻率為 100MHz,時鐘周期為 10ns,如果 CL=2 就意味著 20ns 的潛伏期。不過CL只是針對讀取操作。由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經(jīng)過放大來保證其有效的識別性,這個放大/驅(qū)動工作由S-AMP負(fù)責(zé),一個存儲體對應(yīng)一個S- AMP通道。但它要有一個準(zhǔn)備時間才能保證信號的

25、發(fā)送強(qiáng)度(事前還要進(jìn)行電壓比較以進(jìn)行邏輯電平的判斷),因此從數(shù)據(jù)I/O總線上有數(shù)據(jù)輸出之前的一個時鐘上升沿開始,數(shù)據(jù)即已傳向S-AMP,也就是說此時數(shù)據(jù)已經(jīng)被觸發(fā),經(jīng)過一定的驅(qū)動時間最終傳向數(shù)據(jù)I/O總線進(jìn)行輸出,這段時間我們稱之為 tAC(Access Time from CLK,時鐘觸發(fā)后的訪問時間)。                      

26、;圖中標(biāo)準(zhǔn)CL=2,tAC=1  目前內(nèi)存的讀寫基本都是連續(xù)的,因?yàn)榕cCPU交換的數(shù)據(jù)量以一個Cache Line(即CPU內(nèi)Cache的存儲單位)的容量為準(zhǔn),一般為64字節(jié)。而現(xiàn)有的Rank位寬為8字節(jié)(64bit),那么就要一次連續(xù)傳輸8次,這就涉及到我們也經(jīng)常能遇到的突發(fā)傳輸?shù)母拍睢M话l(fā)(Burst)是指在同一行中相鄰的存儲單元連續(xù)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?,連續(xù)傳輸?shù)闹芷跀?shù)就是突發(fā)長度(Burst Lengths,簡稱BL)。在進(jìn)行突發(fā)傳輸時,只要指定起始列地址與突發(fā)長度,內(nèi)存就會依次地自動對后面相應(yīng)數(shù)量的存儲單元進(jìn)行讀/寫操作而不再需要控制器連續(xù)地提供

27、列地址。這樣,除了第一筆數(shù)據(jù)的傳輸需要若干個周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個數(shù)據(jù)只需一個周期的即可獲得。突發(fā)連續(xù)讀取模式:只要指定起始列地址與突發(fā)長度,后續(xù)的尋址與數(shù)據(jù)的讀取自動進(jìn)行,而只要控制好兩段突發(fā)讀取命令的間隔周期(與BL相同)即可做到連續(xù)的突發(fā)傳輸。談到了突發(fā)長度時。如果BL=4,那么也就是說一次就傳送4×64bit的數(shù)據(jù)。但是,如果其中的第二筆數(shù)據(jù)是不需要的,怎么辦?還都傳輸嗎?為了屏蔽不需要的數(shù)據(jù),人們采用了數(shù)據(jù)掩碼(Data I/O Mask,簡稱DQM)技術(shù)。通過DQM,內(nèi)存可以控制I/O端口取消哪些輸出或輸入的數(shù)據(jù)。

28、這里需要強(qiáng)調(diào)的是,在讀取時,被屏蔽的數(shù)據(jù)仍然會從存儲體傳出,只是在“掩碼邏輯單元”處被屏蔽。DQM由北橋控制,為了精確屏蔽一個P-Bank位寬中的每個字節(jié),每個DIMM有8個DQM 信號線,每個信號針對一個字節(jié)。這樣,對于4bit位寬芯片,兩個芯片共用一個DQM信號線,對于8bit位寬芯片,一個芯片占用一個DQM信號,而對于 16bit位寬芯片,則需要兩個DQM引腳。在數(shù)據(jù)讀取完之后,為了騰出讀出放大器以供同一Bank內(nèi)其他行的尋址并傳輸數(shù)據(jù),內(nèi)存芯片將進(jìn)行預(yù)充電的操作來關(guān)閉當(dāng)前工作行。還是以上面那個Bank示意圖為例。當(dāng)前尋址的存儲單元是B1、R2、C6。如果接下來的尋址命令是B1、R2、C

29、4,則不用預(yù)充電,因?yàn)樽x出放大器正在為這一行服務(wù)。但如果地址命令是B1、R4、C4,由于是同一Bank的不同行,那么就必須要先把R2關(guān)閉,才能對R4尋址。從開始關(guān)閉現(xiàn)有的工作行,到可以打開新的工作行之間的間隔就是tRP(Row Precharge command Period,行預(yù)充電有效周期),單位也是時鐘周期數(shù)。在不同Bank間讀寫也是這樣,先把原來數(shù)據(jù)寫回,再激活新的Bank/Row。數(shù)據(jù)選取脈沖(DQS)DQS 是DDR中的重要功能,它的功能主要用來在一個時鐘周期內(nèi)準(zhǔn)確的區(qū)分出每個傳輸周期,并便于接收方準(zhǔn)確接收數(shù)據(jù)。每一顆芯片都有一個DQS信號線,它是雙向

30、的,在寫入時它用來傳送由北橋發(fā)來的DQS信號,讀取時,則由芯片生成DQS向北橋發(fā)送。完全可以說,它就是數(shù)據(jù)的同步信號。在讀取時,DQS與數(shù)據(jù)信號同時生成(也是在CK與CK#的交叉點(diǎn))。而DDR內(nèi)存中的CL也就是從CAS發(fā)出到DQS生成的間隔,DQS生成時,芯片內(nèi)部的預(yù)取已經(jīng)完畢了,由于預(yù)取的原因,實(shí)際的數(shù)據(jù)傳出可能會提前于DQS發(fā)生(數(shù)據(jù)提前于DQS傳出)。由于是并行傳輸,DDR內(nèi)存對tAC也有一定的要求,對于DDR266,tAC的允許范圍是±0.75ns,對于DDR333,則是±0.7ns,有關(guān)它們的時序圖示見前文,其中CL里包含了一段DQS 的導(dǎo)入期。DQS 在讀取時與

31、數(shù)據(jù)同步傳輸,那么接收時也是以DQS的上下沿為準(zhǔn)嗎?不,如果以DQS的上下沿區(qū)分?jǐn)?shù)據(jù)周期的危險很大。由于芯片有預(yù)取的操作,所以輸出時的同步很難控制,只能限制在一定的時間范圍內(nèi),數(shù)據(jù)在各I/O端口的出現(xiàn)時間可能有快有慢,會與DQS有一定的間隔,這也就是為什么要有一個tAC規(guī)定的原因。而在接收方,一切必須保證同步接收,不能有tAC之類的偏差。這樣在寫入時,芯片不再自己生成DQS,而以發(fā)送方傳來的DQS為基準(zhǔn),并相應(yīng)延后一定的時間,在DQS的中部為數(shù)據(jù)周期的選取分割點(diǎn)(在讀取時分割點(diǎn)就是上下沿),從這里分隔開兩個傳輸周期。這樣做的好處是,由于各數(shù)據(jù)信號都會有一個邏輯電平保持周期,即使發(fā)送時不同步,在

32、DQS上下沿時都處于保持周期中,此時數(shù)據(jù)接收觸發(fā)的準(zhǔn)確性無疑是最高的。在寫入時,以DQS的高/低電平期中部為數(shù)據(jù)周期分割點(diǎn),而不是上/下沿,但數(shù)據(jù)的接收觸發(fā)仍為DQS的上/下沿3.容量的計算上圖為X8data的單顆DDR3架構(gòu)圖,行(Row)地址線復(fù)用14根,列(Column)地址線復(fù)用10根,Bank數(shù)量為8個,IO Buffer 通過8組數(shù)位線(DQ0-DQ7)來完成對外的通信,故此單顆DDR3芯片的容量為2的14次方乘2的10次方乘8乘8,結(jié)果為1Gbit,因?yàn)?B包含8bit,1GB/8=128MB。如果我們要做成容量為1GB的內(nèi)存條則需要8顆這樣的DDR3內(nèi)存芯片

33、,每顆芯片含8根數(shù)位線(DQ0-DQ7)則總數(shù)寬為64bit,這樣正好用了一個Rank。假果還用128MB的DDR3芯片去做2GB內(nèi)存條,結(jié)果就會有所不同。我們最好選用4根數(shù)位線(DQ0-DQ3),數(shù)量是16顆,這樣也是用了一個Rank。在K2的項(xiàng)目中我們要做容量為8GB的內(nèi)存條,則數(shù)量用64顆128M的DDR3,這樣位寬高達(dá)64X4=256bit,要做成4個Rank。1結(jié)構(gòu)框圖:2管腳功能描述3狀態(tài)圖:Power on: 上電Reset Procedure: 復(fù)位過程Initialization: 初始化ZQCL: 上電初始化后,用

34、完成校準(zhǔn)ZQ電阻。ZQCL會觸發(fā)DRAM內(nèi)部的校準(zhǔn)引擎,      一旦校準(zhǔn)完成,校準(zhǔn)后的值會傳遞到DRAM的IO管腳上,并反映為輸出驅(qū)動和ODT阻值。ZQCS: 周期性的校準(zhǔn),能夠跟隨電壓和溫度的變化而變化。校準(zhǔn)需要更短的時間窗口,      一次校準(zhǔn),可以有效的糾正最小0.5%的RON和RTT電阻。Al:Additive latency.是用來在總線上保持命令或者數(shù)據(jù)的有效時間。    在ddr3允許直接操作讀和

35、寫的操作過程中,AL是總線上的數(shù)據(jù)出現(xiàn)到進(jìn)入器件內(nèi)部的時間。    下圖為DDR3標(biāo)準(zhǔn)所支持的時間操作。Write Leveling:為了得到更好的信號完整性,DDR3存儲模塊采取了FLY_BY的拓?fù)浣Y(jié)構(gòu),     來處理命令、地址、控制信號和時鐘。FLY_BY的拓?fù)浣Y(jié)構(gòu)可以有效的減少stub的數(shù)量和他們的長度,     但是卻會導(dǎo)致時鐘和strobe信號在每個芯片上的flight time skew,這使得控制器(FPGA或

36、者CPU)     很難以保持Tdqss ,tdss和tdsh這些時序。這樣,ddr3支持write leveling這樣一個特性,     來允許控制器來補(bǔ)償傾斜(flight time skew)。存儲器控制器能夠用該特性和從DDR3反饋的數(shù)據(jù)調(diào)成DQS和CK之間的關(guān)系。     在這種調(diào)整中,存儲器控制器可以對DQS信號可調(diào)整的延時,來與時鐘信號的上升邊沿對齊。   &#

37、160; 控制器不停對DQS進(jìn)行延時,直到發(fā)現(xiàn)從0到1之間的跳變出現(xiàn),然后DQS的延時通過這樣的方式被建立起來了,由此可以保證tDQSS。MRS: MODE Register Set, 模式寄存器設(shè)置。為了應(yīng)用的靈活性,不同的功能、特征和模式等在四個在DDR3芯片上的Mode Register中,     通過編程來實(shí)現(xiàn)。模式寄存器MR沒有缺省值,因此模式寄存器MR必須在上電或者復(fù)位后被完全初始化,     這樣才能使得DDR可以正常工

38、作。正常工作模式下,MR也可以被重新寫入。模式寄存器的設(shè)置命令周期,        tMRD兩次操作的最小時間,其具體時序圖,如下圖所示。模式寄存器,分為MR0、MR1、MR2和MR4。    MR0用來存儲DDR3的不同操作模式的數(shù)據(jù):包括突發(fā)長度、讀取突發(fā)種類、CAS長度、測試模式、DLL復(fù)位等。    MR1用來存儲是否使能DLL、輸出驅(qū)動長度、Rtt_Nom、額外長度、寫電平使能等。MR2用來存儲控制更新的特性, &#

39、160;  Rtt_WR阻抗,和CAS寫長度。MR3用來控制MPR。MPR: Multi-purpose register. 多用途寄存器。MPR的功能是讀出一個預(yù)先設(shè)定的系統(tǒng)時序校準(zhǔn)比特序列。     為了使能MPR功能,需要在MRS的寄存器MR3的A2位寫1,并且在此之前需要將ddr3的所有bank處于idle狀態(tài);     一旦MPR被使能后,任何RD和RDA的命令都會被引入到MPR寄存器中,當(dāng)MPR寄存器被使能后,  

40、   除非MPR被禁止(MR3的A2=0),否則就只有RD和RDA被允許。在MPR被使能的時候,RESET功能是被允許的。Precharge Power Down: bank在in-progress命令后關(guān)閉Active Power Down:bank在in-progress命令后依然打開Idle:所有的bank必須預(yù)先充電,所有時序滿足,DRAM的ODT電阻,RTT必須為高阻。  CWL:CAS write latency. 以時鐘周期為單位,在內(nèi)部寫命令和第一位

41、輸入數(shù)據(jù)的時間延時,該單位始終為整數(shù)。        在操作過程中,所有的寫延時WL被定義為AL(Additive Latency)+CWL。Rtt: Dynamic ODT.DDR3引入的新特性。在特定的應(yīng)用環(huán)境下為了更好的在數(shù)據(jù)總線上改善信號完整性,       不需要特定的MRS命令即可以改變終結(jié)強(qiáng)度(或者稱為終端匹配)。在MR2中的A9和A10位設(shè)置了Rtt_WR。Ddr3中,  

42、0;    有兩種RTT值是可以選擇的,一種是RTT_Nom,另一種是RTT_WR;Rtt_Nom是在沒有寫命令的時候被選擇的,       當(dāng)有了寫命令后,ODT就會變成Rtt_wr,當(dāng)寫命令結(jié)束后,又會回到Rtt_nom。也就是說,RTT在ODT使能后,出現(xiàn),       當(dāng)總線上沒有數(shù)據(jù)的時候,采用的RTT值為RTT_nom;而當(dāng)總線上有了數(shù)據(jù)后,要求此時的ODT的值為Rtt_wr。  &#

43、160;    具體的DDR3的ODT產(chǎn)生時序見圖2。當(dāng)ODT被使能后,必須要保持高電平ODTH4個時鐘周期才可以有效;       如果寫命令被放入寄存器并且ODT是高,那么ODT必須保持ODTH4或者ODTH8,這樣ODT才可以有效。ACT = ACTIVATE                 

44、       PREA = PRECHARGE ALL                           SRX = 自刷新推出MPR = 多用處寄存器   

45、              READ = RD,RDS4,RDS8                        WRITE=WR,WRS4,WRS8MRS=模式寄存器集  

46、60;                READ AP=RDAP,RDAPS4,RDAPS8               WRITE=WRAP,WRAPS4,WRAPS8PDE=掉電進(jìn)入        

47、                   REF=REFRESH                             &

48、#160;             ZQCL=ZQ LONG CALIBRATIONPDX=掉電推出                           RESET=啟動復(fù)位過程&

49、#160;                               ZACS=ZA SHORT CALIBTATIONPRE=預(yù)充電           &

50、#160;                   SRE=自刷新進(jìn)入4、工作原理在描述了上述的一些基本概念后,就可以對圖1中的DDR3工作原理進(jìn)行基本的描述了理解了。首先,芯片進(jìn)入上電,在上電最小為200us的平穩(wěn)電平后,等待500usCKE使能,在這段時間芯片內(nèi)部開始狀態(tài)初始化,該過程與外部時鐘無關(guān)。在時鐘使能信號前(cke),必須保持最小10ns或者5個時鐘周期,除此之外,還需要一個NOP命令或者Dese

51、lect命令出現(xiàn)在CKE的前面。然后DDR3開始了ODT的過程,在復(fù)位和CKE有效之前,ODT始終為高阻。在CKE為高后,等待tXPR(最小復(fù)位CKE時間),然后開始從MRS中讀取模式寄存器。然后加載MR2、MR3的寄存器,來配置應(yīng)用設(shè)置;然后使能DLL,并且對DLL復(fù)位。接著便是啟動ZQCL命令,來開始ZQ校準(zhǔn)過程。等待校準(zhǔn)結(jié)束后,DDR3就進(jìn)入了可以正常操作的狀態(tài)。對于基本的配置過程,現(xiàn)在就可以結(jié)束了。下面,結(jié)合CH1的控制器FPGA,說明對DDR3相關(guān)的配置。上表中MRS可以設(shè)置Mode寄存器值以       

52、0;                 上圖為例CS#,RAS#,CAS#,WE#為L,L,H,H。則指令為Row/Bank Active;隨后CS#拉高,command無效,                    

53、60;        在第4個時鐘周期這4個信號變?yōu)長,H,L,H,對照表格,指令為Read,經(jīng)過幾個時鐘周期延遲,在3CLK后讀數(shù)據(jù)。5. 基本功能      DDR3 SDRAM是高速動態(tài)隨機(jī)存取存儲器,內(nèi)部配置有8個BANK。DDR3 SDRAM使用8n預(yù)取結(jié)構(gòu),以獲得高速操作。8n預(yù)取結(jié)構(gòu)同接口組合起來以完成在I/O腳上每個時鐘兩個數(shù)據(jù)字的傳輸。DDR3  SDRAM的一個單次讀或?qū)懖僮饔蓛刹糠纸M成:一是在內(nèi)

54、部DRAM核中進(jìn)行的8n位寬四個時鐘數(shù)據(jù)傳輸,另一個是在I/O腳上進(jìn)行的兩個對應(yīng)n位寬、半時鐘周期的數(shù)據(jù)傳輸。       對DDR3 SDRAM的讀寫操作是有方向性的突發(fā)操作,從一個選擇的位置開始,突發(fā)長度是8或者是一個以編程序列的長度為4的Chopped突發(fā)方式。操作開始于Active命令,隨后是一個Read/Write命令。Active命令同時并發(fā)含帶地址位,以選擇Bank和Row地址(BA0-BA2選擇BANK、A0-A15選擇Row)。而Read/Write命令并發(fā)含帶突發(fā)操作的起始Column地址,并確

55、定是否發(fā)布自動預(yù)充電命令(通過A10)和選擇BC4或BL8模式(通過A12)(如果模式寄存器使能)。        在正常操作之前,DDR3 SDRAM必要以預(yù)先定義的方式上電和初始化。引入DDR3內(nèi)存的動因 目前DDR2尚未完全取代DDR內(nèi)存,在目前的整機(jī)環(huán)境下,DDR2基本能夠滿足各類型計算機(jī)的應(yīng)用需求,那么最新一代的DDR3相比DDR2具有哪些優(yōu)勢,使得包括Intel和AMD以及A-DATA在內(nèi)的眾多國際頂級廠商都致力于DDR3的開發(fā)與應(yīng)用呢? 最主要的原因是,由于DDR2的數(shù)據(jù)

56、傳輸頻率發(fā)展到800MHz時,其內(nèi)核工作頻率已經(jīng)達(dá)到了200MHz,因此,再向上提升較為困難,這就需要釆用新的技術(shù)來保證速度的可持續(xù)發(fā)展性。另外,也是由于速度提高的緣故,內(nèi)存的地址/命令與控制總線需要有全新的拓樸結(jié)構(gòu),而且業(yè)界也要求內(nèi)存要具有更低的能耗。  CPU廠商的DDR3內(nèi)存攻略 Intel計劃在明年年中為其芯片組加入DDR3內(nèi)存的支持。Intel芯片組事業(yè)部總經(jīng)理Malinowski說,到那時市場才能準(zhǔn)備好接受DDR3內(nèi)存。 Intel最新的965芯片組家族只支持DDR2,并放棄了對DDR的支持。 AMD方面則要積極得多,與當(dāng)年對DDR

57、2內(nèi)存的曖昧形成鮮明對比,這顯然與AM2平臺CPU在DDR2內(nèi)存下表現(xiàn)不盡如人意有關(guān):要表現(xiàn)出AMD CPU從DDR平臺遷移到DDR2平臺的優(yōu)勢,其對DDR2內(nèi)存頻率提高的要求比Intel Core更甚,但現(xiàn)階段以DDR2 533/667為主的內(nèi)存市場,則讓AM2 CPU更多地受制于DDR2內(nèi)存的高時延而不是受益于DDR2內(nèi)存的高頻率。 AMD計劃在下一代的K8L架構(gòu)CPU中全面導(dǎo)入對DDR3內(nèi)存的支持。在AMD的路線圖看,K8L CPU將支持同時DDR2和DDR3內(nèi)存,但很顯然,DDR2內(nèi)存不是AMD最好的選擇,高頻率、低時序的DD

58、R3內(nèi)存必然會是AMD積極開拓的對象。 同時,加大對DDR3內(nèi)存的支持力度,也可以讓AMD改善與Intel的競爭中的被動地位。  DDR3內(nèi)存的發(fā)展 早在2002年6月28日,JEDEC就宣布開始開發(fā)DDR3內(nèi)存標(biāo)準(zhǔn),但從目前的情況來看,DDR2才剛開始普及,DDR3標(biāo)準(zhǔn)更是連影也沒見到。不過目前已經(jīng)有眾多廠商拿出了自己的DDR3解決方案,紛紛宣布成功開發(fā)出了 DDR3內(nèi)存芯片,從中我們仿佛能感覺到DDR3臨近的腳步。而從已經(jīng)有芯片可以生產(chǎn)出來這一點(diǎn)來看,DDR3的標(biāo)準(zhǔn)設(shè)計工作也已經(jīng)接近尾聲。 半導(dǎo)體市場調(diào)查機(jī)構(gòu)iSuppli預(yù)測DDR3內(nèi)存將

59、會在2008年替代DDR2成為市場上的主流產(chǎn)品,iSuppli認(rèn)為在那個時候DDR3的市場份額將達(dá)到55%。不過,就具體的設(shè)計來看,DDR3與DDR2的基礎(chǔ)架構(gòu)并沒有本質(zhì)的不同。從某種角度講,DDR3是為了解決DDR2發(fā)展所面臨的限制而催生的產(chǎn)物。 由于DDR2內(nèi)存的各種不足,制約了其進(jìn)一步的廣泛應(yīng)用,DDR3內(nèi)存的出現(xiàn),正是為了解決DDR2內(nèi)存出現(xiàn)的問題,具體有:更高的外部數(shù)據(jù)傳輸率 更先進(jìn)的地址/命令與控制總線的拓樸架構(gòu) 在保證性能的同時將能耗進(jìn)一步降低 為了滿足這些要求,DDR3內(nèi)存在DDR2內(nèi)存的基礎(chǔ)上所做的主要改進(jìn)包括:8bit預(yù)取設(shè)計,DDR

60、2為4bit預(yù)取,這樣DRAM內(nèi)核的頻率只有接口頻率的1/8,DDR3-800的核心工作頻率只有100MHz。采用點(diǎn)對點(diǎn)的拓樸架構(gòu),減輕地址/命令與控制總線的負(fù)擔(dān)。 采用100nm以下的生產(chǎn)工藝,將工作電壓從1.8V降至1.5V,增加異步重置(Reset)與ZQ校準(zhǔn)功能。  DDR3內(nèi)存的封裝 從規(guī)格來看,DDR3仍將沿用FBGA封裝方式,故在生產(chǎn)上與DDR2內(nèi)存區(qū)別不大。但是由設(shè)計的角度上來看,因DDR3的起跳工作頻率在1066MHz,這在電路布局上將是一大挑戰(zhàn),特別是電磁干擾,因此也將反映到PCB上增加模塊的成本。 預(yù)計在DDR3進(jìn)入市場初

61、期,其價格將是一大阻礙,而隨著逐步的普及,產(chǎn)量的提升才能進(jìn)一步降低成本。  DDR3內(nèi)存的技術(shù)改進(jìn) 那么,從技術(shù)看,DDR3內(nèi)存與目前主流的DDR2內(nèi)存相比,其特點(diǎn)體現(xiàn)在哪些方面呢?我們首先介紹DDR3內(nèi)存針對DDR2中存在的不足的改進(jìn) 邏輯Bank數(shù)量DDR2 SDRAM中有4Bank和8Bank的設(shè)計,目的就是為了應(yīng)對未來大容量芯片的需求。而DDR3很可能將從2Gb容量起步,因此起始的邏輯Bank就是8個,另外還為未來的16個邏輯Bank做好了準(zhǔn)備。 封裝(Packages)DDR3由于新增了一些功能,所以在引腳方面會有所增加,8bit芯片采用78球FBGA封裝,16bit芯片采用96球FBGA封裝,而DDR2則有60/68/84球FBGA封裝三種規(guī)格。并且DDR3必須是綠色封裝,不能含有任何有害物質(zhì)。 突發(fā)長度(BL,Burst Length)由于DDR3的預(yù)取為8bit,所以突發(fā)傳輸周期(BL,Burst Length)也固定為8,而對于DDR2和早期的DDR架構(gòu)的系統(tǒng),BL=4也是常用的,DDR3為此增加了一個4-bit Burst Chop(突

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論