首先,我們先了解一下內(nèi)存的大體結(jié)構(gòu)工作流程,這樣會比較容量理解這些參數(shù)在其中所起到的作用。這部分的講述運(yùn)用DDR3的簡化時(shí)序圖。 DDR3的內(nèi)部是一個(gè)存儲陣列,將數(shù)據(jù)“填”進(jìn)去,你可以它想象成一張表格。和表格的檢索原理一樣,先指定一個(gè)行(Row),再指定一個(gè)列(Column),我們就可以準(zhǔn)確地找到所需要的單元格,這就是內(nèi)存芯片尋址的基本原理。對于內(nèi)存,這個(gè)單元格可稱為存儲單元,那么這個(gè)表格(存儲陣列)就是邏輯
Bank(Logical Bank,下面簡稱Bank)。 DDR3內(nèi)部Bank示意圖,這是一個(gè)NXN的陣列,B代表Bank地址編號,C代表列地址編號,R代表行地址編號。 如果尋址命令是B1、R2、C6,就能確定地址是圖中紅格的位置 目前DDR3內(nèi)存芯片基本上都是8個(gè)Bank設(shè)計(jì),也就是說一共有8個(gè)這樣的“表格”。 尋址的流程也就是先指定Bank地址,再指定行地址,然后指列地址最終的確尋址單元。
目前DDR3系統(tǒng)而言,還存在物理Bank的概念,這是對內(nèi)存子系統(tǒng)的一個(gè)相關(guān)術(shù)語,并不針對內(nèi)存芯片。內(nèi)存為了保證CPU正常工作,必須一次傳輸完CPU 在一個(gè)傳輸周期內(nèi)所需要的數(shù)據(jù)。而CPU在一個(gè)傳輸周期能接受的數(shù)據(jù)容量就是CPU數(shù)據(jù)總線的位寬,單位是bit(位)??刂苾?nèi)存與CPU之間數(shù)據(jù)交換的北橋芯片也因此將內(nèi)存總線的數(shù)據(jù)位寬等同于CPU數(shù)據(jù)總線的位寬,這個(gè)位寬就稱為物理Bank(Physical Bank,有的資料稱之為Rank)的位寬。目前這個(gè)位寬基本為64bit。 在實(shí)際工作中,Bank地址與相應(yīng)的行地址是同時(shí)發(fā)出的,此時(shí)這個(gè)命令稱之為“行激活”(Row Active)。在此之后,將發(fā)送列地址尋址命令與具體的操作命令(是讀還是寫),這兩個(gè)命令也是同時(shí)發(fā)出的,所以一般都會以“讀/寫命令”來表示列尋址。根據(jù)相關(guān)的標(biāo)準(zhǔn),從行有效到讀/寫命令發(fā)出之間的間隔被定義為tRCD,即RAS to CAS Delay(RAS至CAS延遲,RAS就是行地址選通脈沖,CAS就是列地址選通脈沖),我們可以理解為行選通周期。tRCD是DDR的一個(gè)重要時(shí)序參數(shù),廣義的tRCD以時(shí)鐘周期(tCK,Clock Time)數(shù)為單位,比如tRCD=3,就代表延遲周期為兩個(gè)時(shí)鐘周期,具體到確切的時(shí)間,則要根據(jù)時(shí)鐘頻率而定,DDR3-800,tRCD=3,代表30ns的延遲。 圖中顯示的是tRCD=3
接下來,相關(guān)的列地址被選中之后,將會觸發(fā)數(shù)據(jù)傳輸,但從存儲單元中輸出到真正出現(xiàn)在內(nèi)存芯片的 I/O 接口之間還需要一定的時(shí)間(數(shù)據(jù)觸發(fā)本身就有延遲,而且還需要進(jìn)行信號放大),這段時(shí)間就是非常著名的 CL(CAS Latency,列地址脈沖選通潛伏期)。CL 的數(shù)值與 tRCD 一樣,以時(shí)鐘周期數(shù)表示。如 DDR3-800,時(shí)鐘頻率為 100MHz,時(shí)鐘周期為 10ns,如果 CL=2 就意味著 20ns 的潛伏期。不過CL只是針對讀取操作。 由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經(jīng)過放大來保證其有效的識別性,這個(gè)放大/驅(qū)動工作由S-AMP負(fù)責(zé),一個(gè)存儲體對應(yīng)一個(gè)S- AMP通道。但它要有一個(gè)準(zhǔn)備時(shí)間才能保證信號的發(fā)送強(qiáng)度(事前還要進(jìn)行電壓比較以進(jìn)行邏輯電平的判斷),因此從數(shù)據(jù)I/O總線上有數(shù)據(jù)輸出之前的一個(gè)時(shí)鐘上升沿開始,數(shù)據(jù)即已傳向S-AMP,也就是說此時(shí)數(shù)據(jù)已經(jīng)被觸發(fā),經(jīng)過一定的驅(qū)動時(shí)間最終傳向數(shù)據(jù)I/O總線進(jìn)行輸出,這段時(shí)間我們稱之為 tAC(Access Time from CLK,時(shí)鐘觸發(fā)后的訪問時(shí)間)。 圖中標(biāo)準(zhǔn)CL=2,tAC=1
目前內(nèi)存的讀寫基本都是連續(xù)的,因?yàn)榕cCPU交換的數(shù)據(jù)量以一個(gè)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ā)傳輸時(shí),只要指定起始列地址與突發(fā)長度,內(nèi)存就會依次地自動對后面相應(yīng)數(shù)量的存儲單元進(jìn)行讀/寫操作而不再需要控制器連續(xù)地提供列地址。這樣,除了第一筆數(shù)據(jù)的傳輸需要若干個(gè)周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個(gè)數(shù)據(jù)只需一個(gè)周期的即可獲得。
突發(fā)連續(xù)讀取模式:只要指定起始列地址與突發(fā)長度,后續(xù)的尋址與數(shù)據(jù)的讀取自動進(jìn)行,而只要控制好兩段突發(fā)讀取命令的間隔周期(與BL相同)即可做到連續(xù)的突發(fā)傳輸。 談到了突發(fā)長度時(shí)。如果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í),被屏蔽的數(shù)據(jù)仍然會從存儲體傳出,只是在“掩碼邏輯單元”處被屏蔽。DQM由北橋控制,為了精確屏蔽一個(gè)P-Bank位寬中的每個(gè)字節(jié),每個(gè)DIMM有8個(gè)DQM 信號線,每個(gè)信號針對一個(gè)字節(jié)。這樣,對于4bit位寬芯片,兩個(gè)芯片共用一個(gè)DQM信號線,對于8bit位寬芯片,一個(gè)芯片占用一個(gè)DQM信號,而對于 16bit位寬芯片,則需要兩個(gè)DQM引腳。
在數(shù)據(jù)讀取完之后,為了騰出讀出放大器以供同一Bank內(nèi)其他行的尋址并傳輸數(shù)據(jù),內(nèi)存芯片將進(jìn)行預(yù)充電的操作來關(guān)閉當(dāng)前工作行。還是以上面那個(gè)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 Period,行預(yù)充電有效周期),單位也是時(shí)鐘周期數(shù)。
在不同Bank間讀寫也是這樣,先把原來數(shù)據(jù)寫回,再激活新的Bank/Row。 數(shù)據(jù)選取脈沖(DQS) DQS 是DDR中的重要功能,它的功能主要用來在一個(gè)時(shí)鐘周期內(nèi)準(zhǔn)確的區(qū)分出每個(gè)傳輸周期,并便于接收方準(zhǔn)確接收數(shù)據(jù)。每一顆芯片都有一個(gè)DQS信號線,它是雙向的,在寫入時(shí)它用來傳送由北橋發(fā)來的DQS信號,讀取時(shí),則由芯片生成DQS向北橋發(fā)送。完全可以說,它就是數(shù)據(jù)的同步信號。 在讀取時(shí),DQS與數(shù)據(jù)信號同時(shí)生成(也是在CK與CK#的交叉點(diǎn))。而DDR內(nèi)存中的CL也就是從CAS發(fā)出到DQS生成的間隔,DQS生成時(shí),芯片內(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)它們的時(shí)序圖示見前文,其中CL里包含了一段DQS 的導(dǎo)入期。 DQS 在讀取時(shí)與數(shù)據(jù)同步傳輸,那么接收時(shí)也是以DQS的上下沿為準(zhǔn)嗎?不,如果以DQS的上下沿區(qū)分?jǐn)?shù)據(jù)周期的危險(xiǎn)很大。由于芯片有預(yù)取的操作,所以輸出時(shí)的同步很難控制,只能限制在一定的時(shí)間范圍內(nèi),數(shù)據(jù)在各I/O端口的出現(xiàn)時(shí)間可能有快有慢,會與DQS有一定的間隔,這也就是為什么要有一個(gè)tAC規(guī)定的原因。而在接收方,一切必須保證同步接收,不能有tAC之類的偏差。這樣在寫入時(shí),芯片不再自己生成DQS,而以發(fā)送方傳來的DQS為基準(zhǔn),并相應(yīng)延后一定的時(shí)間,在DQS的中部為數(shù)據(jù)周期的選取分割點(diǎn)(在讀取時(shí)分割點(diǎn)就是上下沿),從這里分隔開兩個(gè)傳輸周期。這樣做的好處是,由于各數(shù)據(jù)信號都會有一個(gè)邏輯電平保持周期,即使發(fā)送時(shí)不同步,在DQS上下沿時(shí)都處于保持周期中,此時(shí)數(shù)據(jù)接收觸發(fā)的準(zhǔn)確性無疑是最高的。 在寫入時(shí),以DQS的高/低電平期中部為數(shù)據(jù)周期分割點(diǎn),而不是上/下沿,但數(shù)據(jù)的接收觸發(fā)仍為DQS的上/下沿
3.容量的計(jì)算
上圖為X8data的單顆DDR3架構(gòu)圖,行(Row)地址線復(fù)用14根,列(Column)地址線復(fù)用10根,Bank數(shù)量為8個(gè),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,這樣正好用了一個(gè)Rank。 假果還用128MB的DDR3芯片去做2GB內(nèi)存條,結(jié)果就會有所不同。我們最好選用4根數(shù)位線(DQ0-DQ3),數(shù)量是16顆,這樣也是用了一個(gè)Rank。 在K2的項(xiàng)目中我們要做容量為8GB的內(nèi)存條,則數(shù)量用64顆128M的DDR3,這樣位寬高達(dá)64X4=256bit,要做成4個(gè)Rank。 1.結(jié)構(gòu)框圖: 2.管腳功能描述
3.狀態(tài)圖: Power on: 上電 Reset Procedure: 復(fù)位過程 Initialization: 初始化 ZQCL: 上電初始化后,用完成校準(zhǔn)ZQ電阻。ZQCL會觸發(fā)DRAM內(nèi)部的校準(zhǔn)引擎, 一旦校準(zhǔn)完成,校準(zhǔn)后的值會傳遞到DRAM的IO管腳上,并反映為輸出驅(qū)動和ODT阻值。 ZQCS: 周期性的校準(zhǔn),能夠跟隨電壓和溫度的變化而變化。校準(zhǔn)需要更短的時(shí)間窗口, 一次校準(zhǔn),可以有效的糾正最小0.5%的RON和RTT電阻。 Al:Additive latency.是用來在總線上保持命令或者數(shù)據(jù)的有效時(shí)間。 在ddr3允許直接操作讀和寫的操作過程中,AL是總線上的數(shù)據(jù)出現(xiàn)到進(jìn)入器件內(nèi)部的時(shí)間。 下圖為DDR3標(biāo)準(zhǔn)所支持的時(shí)間操作。 Write Leveling:為了得到更好的信號完整性,DDR3存儲模塊采取了FLY_BY的拓?fù)浣Y(jié)構(gòu), 來處理命令、地址、控制信號和時(shí)鐘。FLY_BY的拓?fù)浣Y(jié)構(gòu)可以有效的減少stub的數(shù)量和他們的長度, 但是卻會導(dǎo)致時(shí)鐘和strobe信號在每個(gè)芯片上的flight time skew,這使得控制器(FPGA或者CPU) 很難以保持Tdqss ,tdss和tdsh這些時(shí)序。這樣,ddr3支持write leveling這樣一個(gè)特性, 來允許控制器來補(bǔ)償傾斜(flight time skew)。存儲器控制器能夠用該特性和從DDR3反饋的數(shù)據(jù)調(diào)成DQS和CK之間的關(guān)系。 在這種調(diào)整中,存儲器控制器可以對DQS信號可調(diào)整的延時(shí),來與時(shí)鐘信號的上升邊沿對齊。 控制器不停對DQS進(jìn)行延時(shí),直到發(fā)現(xiàn)從0到1之間的跳變出現(xiàn),然后DQS的延時(shí)通過這樣的方式被建立起來了,由此可以保證tDQSS。
MRS: MODE Register Set, 模式寄存器設(shè)置。為了應(yīng)用的靈活性,不同的功能、特征和模式等在四個(gè)在DDR3芯片上的Mode Register中, 通過編程來實(shí)現(xiàn)。模式寄存器MR沒有缺省值,因此模式寄存器MR必須在上電或者復(fù)位后被完全初始化, 這樣才能使得DDR可以正常工作。正常工作模式下,MR也可以被重新寫入。模式寄存器的設(shè)置命令周期, tMRD兩次操作的最小時(shí)間,其具體時(shí)序圖,如下圖所示。模式寄存器,分為MR0、MR1、MR2和MR4。 MR0用來存儲DDR3的不同操作模式的數(shù)據(jù):包括突發(fā)長度、讀取突發(fā)種類、CAS長度、測試模式、DLL復(fù)位等。 MR1用來存儲是否使能DLL、輸出驅(qū)動長度、Rtt_Nom、額外長度、寫電平使能等。MR2用來存儲控制更新的特性, Rtt_WR阻抗,和CAS寫長度。MR3用來控制MPR。
MPR: Multi-purpose register. 多用途寄存器。MPR的功能是讀出一個(gè)預(yù)先設(shè)定的系統(tǒng)時(shí)序校準(zhǔn)比特序列。 為了使能MPR功能,需要在MRS的寄存器MR3的A2位寫1,并且在此之前需要將ddr3的所有bank處于idle狀態(tài); 一旦MPR被使能后,任何RD和RDA的命令都會被引入到MPR寄存器中,當(dāng)MPR寄存器被使能后, 除非MPR被禁止(MR3的A2=0),否則就只有RD和RDA被允許。在MPR被使能的時(shí)候,RESET功能是被允許的。 Precharge Power Down: bank在in-progress命令后關(guān)閉 Active Power Down:bank在in-progress命令后依然打開 Idle:所有的bank必須預(yù)先充電,所有時(shí)序滿足,DRAM的ODT電阻,RTT必須為高阻。 CWL:CAS write latency. 以時(shí)鐘周期為單位,在內(nèi)部寫命令和第一位輸入數(shù)據(jù)的時(shí)間延時(shí),該單位始終為整數(shù)。 在操作過程中,所有的寫延時(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中, 有兩種RTT值是可以選擇的,一種是RTT_Nom,另一種是RTT_WR;Rtt_Nom是在沒有寫命令的時(shí)候被選擇的, 當(dāng)有了寫命令后,ODT就會變成Rtt_wr,當(dāng)寫命令結(jié)束后,又會回到Rtt_nom。也就是說,RTT在ODT使能后,出現(xiàn), 當(dāng)總線上沒有數(shù)據(jù)的時(shí)候,采用的RTT值為RTT_nom;而當(dāng)總線上有了數(shù)據(jù)后,要求此時(shí)的ODT的值為Rtt_wr。 具體的DDR3的ODT產(chǎn)生時(shí)序見圖2。當(dāng)ODT被使能后,必須要保持高電平ODTH4個(gè)時(shí)鐘周期才可以有效; 如果寫命令被放入寄存器并且ODT是高,那么ODT必須保持ODTH4或者ODTH8,這樣ODT才可以有效。
ACT = ACTIVATE PREA = PRECHARGE ALL SRX = 自刷新推出 MPR = 多用處寄存器 READ = RD,RDS4,RDS8 WRITE=WR,WRS4,WRS8 MRS=模式寄存器集 READ AP=RDAP,RDAPS4,RDAPS8 WRITE=WRAP,WRAPS4,WRAPS8 PDE=掉電進(jìn)入 REF=REFRESH ZQCL=ZQ LONG CALIBRATION PDX=掉電推出 RESET=啟動復(fù)位過程 ZACS=ZA SHORT CALIBTATION PRE=預(yù)充電 SRE=自刷新進(jìn)入
4、工作原理 在描述了上述的一些基本概念后,就可以對圖1中的DDR3工作原理進(jìn)行基本的描述了理解了。 首先,芯片進(jìn)入上電,在上電最小為200us的平穩(wěn)電平后,等待500usCKE使能, 在這段時(shí)間芯片內(nèi)部開始狀態(tài)初始化,該過程與外部時(shí)鐘無關(guān)。在時(shí)鐘使能信號前(cke), 必須保持最小10ns或者5個(gè)時(shí)鐘周期,除此之外,還需要一個(gè)NOP命令或者Deselect命令出現(xiàn)在CKE的前面。 然后DDR3開始了ODT的過程,在復(fù)位和CKE有效之前,ODT始終為高阻。 在CKE為高后,等待tXPR(最小復(fù)位CKE時(shí)間),然后開始從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寄存器值 以 上圖為例CS#,RAS#,CAS#,WE#為L,L,H,H。則指令為Row/Bank Active;隨后CS#拉高,command無效, 在第4個(gè)時(shí)鐘周期這4個(gè)信號變?yōu)長,H,L,H,對照表格,指令為Read,經(jīng)過幾個(gè)時(shí)鐘周期延遲,在3CLK后讀數(shù)據(jù)。
5. 基本功能 DDR3 SDRAM是高速動態(tài)隨機(jī)存取存儲器,內(nèi)部配置有8個(gè)BANK。DDR3 SDRAM使用8n預(yù)取結(jié)構(gòu),以獲得高速操作。8n預(yù)取結(jié)構(gòu)同接口組合起來以完成在I/O腳上每個(gè)時(shí)鐘兩個(gè)數(shù)據(jù)字的傳輸。DDR3 SDRAM的一個(gè)單次讀或?qū)懖僮饔蓛刹糠纸M成:一是在內(nèi)部DRAM核中進(jìn)行的8n位寬四個(gè)時(shí)鐘數(shù)據(jù)傳輸,另一個(gè)是在I/O腳上進(jìn)行的兩個(gè)對應(yīng)n位寬、半時(shí)鐘周期的數(shù)據(jù)傳輸。 對DDR3 SDRAM的讀寫操作是有方向性的突發(fā)操作,從一個(gè)選擇的位置開始,突發(fā)長度是8或者是一個(gè)以編程序列的長度為4的Chopped突發(fā)方式。操作開始于Active命令,隨后是一個(gè)Read/Write命令。Active命令同時(shí)并發(fā)含帶地址位,以選擇Bank和Row地址(BA0-BA2選擇BANK、A0-A15選擇Row)。而Read/Write命令并發(fā)含帶突發(fā)操作的起始Column地址,并確定是否發(fā)布自動預(yù)充電命令(通過A10)和選擇BC4或BL8模式(通過A12)(如果模式寄存器使能)。 在正常操作之前,DDR3 SDRAM必要以預(yù)先定義的方式上電和初始化。
引入DDR3內(nèi)存的動因
目前DDR2尚未完全取代DDR內(nèi)存,在目前的整機(jī)環(huán)境下,DDR2基本能夠滿足各類型計(jì)算機(jī)的應(yīng)用需求,那么最新一代的DDR3相比DDR2具有哪些優(yōu)勢,使得包括Intel和AMD以及A-DATA在內(nèi)的眾多國際頂級廠商都致力于DDR3的開發(fā)與應(yīng)用呢?
最主要的原因是,由于DDR2的數(shù)據(jù)傳輸頻率發(fā)展到800MHz時(shí),其內(nèi)核工作頻率已經(jīng)達(dá)到了200MHz,因此,再向上提升較為困難,這就需要釆用新的技術(shù)來保證速度的可持續(xù)發(fā)展性。另外,也是由于速度提高的緣故,內(nèi)存的地址/命令與控制總線需要有全新的拓樸結(jié)構(gòu),而且業(yè)界也要求內(nèi)存要具有更低的能耗。
CPU廠商的DDR3內(nèi)存攻略
Intel計(jì)劃在明年年中為其芯片組加入DDR3內(nèi)存的支持。Intel芯片組事業(yè)部總經(jīng)理Malinowski說,到那時(shí)市場才能準(zhǔn)備好接受DDR3內(nèi)存。
Intel最新的965芯片組家族只支持DDR2,并放棄了對DDR的支持。
AMD方面則要積極得多,與當(dāng)年對DDR2內(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)存的高時(shí)延而不是受益于DDR2內(nèi)存的高頻率。
AMD計(jì)劃在下一代的K8L架構(gòu)CPU中全面導(dǎo)入對DDR3內(nèi)存的支持。在AMD的路線圖看,K8L CPU將支持同時(shí)DDR2和DDR3內(nèi)存,但很顯然,DDR2內(nèi)存不是AMD最好的選擇,高頻率、低時(shí)序的DDR3內(nèi)存必然會是AMD積極開拓的對象。
同時(shí),加大對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ì)工作也已經(jīng)接近尾聲。
半導(dǎo)體市場調(diào)查機(jī)構(gòu)iSuppli預(yù)測DDR3內(nèi)存將會在2008年替代DDR2成為市場上的主流產(chǎn)品,iSuppli認(rèn)為在那個(gè)時(shí)候DDR3的市場份額將達(dá)到55%。不過,就具體的設(shè)計(jì)來看,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)
在保證性能的同時(shí)將能耗進(jìn)一步降低
為了滿足這些要求,DDR3內(nèi)存在DDR2內(nèi)存的基礎(chǔ)上所做的主要改進(jìn)包括:
8bit預(yù)取設(shè)計(jì),DDR2為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è)計(jì)的角度上來看,因DDR3的起跳工作頻率在1066MHz,這在電路布局上將是一大挑戰(zhàn),特別是電磁干擾,因此也將反映到PCB上增加模塊的成本。
預(yù)計(jì)在DDR3進(jìn)入市場初期,其價(jià)格將是一大阻礙,而隨著逐步的普及,產(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è)計(jì),目的就是為了應(yīng)對未來大容量芯片的需求。而DDR3很可能將從2Gb容量起步,因此起始的邏輯Bank就是8個(gè),另外還為未來的16個(gè)邏輯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為此增加了一個(gè)4-bit Burst Chop(突發(fā)突變)模式,即由一個(gè)BL=4的讀取操作加上一個(gè)BL=4的寫入操作來合成一個(gè)BL=8的數(shù)據(jù)突發(fā)傳輸,屆時(shí)可通過A12地址線來控制這一突發(fā)模式。而且需要指出的是,任何突發(fā)中斷操作都將在DDR3內(nèi)存中予以禁止,且不予支持,取而代之的是更靈活的突發(fā)傳輸控制(如4bit順序突發(fā))。
尋址時(shí)序(Timing)
就像DDR2從DDR轉(zhuǎn)變而來后延遲周期數(shù)增加一樣,DDR3的CL周期也將比DDR2有所提高。DDR2的CL范圍一般在2至5之間,而DDR3則在5至11之間,且附加延遲(AL)的設(shè)計(jì)也有所變化。DDR2時(shí)AL的范圍是0至4,而DDR3時(shí)AL有三種選項(xiàng),分別是0、CL-1和CL-2。另外,DDR3還新增加了一個(gè)時(shí)序參數(shù)——寫入延遲(CWD),這一參數(shù)將根據(jù)具體的工作頻率而定。
DDR3內(nèi)存的新增功能
如果上一部分介紹的DDR3內(nèi)存對DDR2內(nèi)存的改進(jìn)更多的是某種程度上的修正或簡單提高的話,DDR3內(nèi)存還有部分DDR2內(nèi)存所不具備的功能,正是這些,讓DDR3內(nèi)存的表現(xiàn)有了根本性的提高
重置(Reset)
重置是DDR3新增的一項(xiàng)重要功能,并為此專門準(zhǔn)備了一個(gè)引腳。DRAM業(yè)界已經(jīng)很早以前就要求增這一功能,如今終于在DDR3身上實(shí)現(xiàn)。這一引腳將使DDR3的初始化處理變得簡單。當(dāng)Reset命令有效時(shí),DDR3內(nèi)存將停止所有的操作,并切換至最少量活動的狀態(tài),以節(jié)約電力。在Reset期間,DDR3內(nèi)存將關(guān)閉內(nèi)在的大部分功能,所以有數(shù)據(jù)接收與發(fā)送器都將關(guān)閉。所有內(nèi)部的程序裝置將復(fù)位,DLL(延遲鎖相環(huán)路)與時(shí)鐘電路將停止工作,而且不理睬數(shù)據(jù)總線上的任何動靜。這樣一來,將使DDR3達(dá)到最節(jié)省電力的目的。
ZQ校準(zhǔn)
ZQ也是一個(gè)新增的腳,在這個(gè)引腳上接有一個(gè)240歐姆的低公差參考電阻。這個(gè)引腳通過一個(gè)命令集,通過片上校準(zhǔn)引擎(ODCE,On-Die Calibration
Engine)來自動校驗(yàn)數(shù)據(jù)輸出驅(qū)動器導(dǎo)通電阻與ODT的終結(jié)電阻值。當(dāng)系統(tǒng)發(fā)出這一指令之后,將用相應(yīng)的時(shí)鐘周期(在加電與初始化之后用512個(gè)時(shí)鐘周期,在退出自刷新操作后用256時(shí)鐘周期、在其他情況下用64個(gè)時(shí)鐘周期)對導(dǎo)通電阻和ODT電阻進(jìn)行重新校準(zhǔn)。
參考電壓分成兩個(gè)
對于內(nèi)存系統(tǒng)工作非常重要的參考電壓信號VREF,在DDR3系統(tǒng)中將分為兩個(gè)信號。一個(gè)是為命令與地址信號服務(wù)的VREFCA,另一為數(shù)據(jù)總線服務(wù)的VREFDQ,它將有效的提高系統(tǒng)數(shù)據(jù)總線的信噪等級。
根據(jù)溫度自動自刷新(SRT,Self-Refresh Temperature)
為了保證所保存的數(shù)據(jù)不丟失,DRAM必須定時(shí)進(jìn)行刷新,DDR3也不例外。不過,為了最大的節(jié)省電力,DDR3采用了一種新型的自動自刷新設(shè)計(jì)(ASR,Automatic Self-Refresh)。當(dāng)開始ASR之后,將通過一個(gè)內(nèi)置于DRAM芯片的溫度傳感器來控制刷新的頻率,因?yàn)?/span>刷新頻率高的話,消電就大,溫度也隨之升高。而溫度傳感器則在保證數(shù)據(jù)不丟失的情況下,盡量減少刷新頻率,降低工作溫度。不過DDR3的ASR是可選設(shè)計(jì),并不見得市場上的DDR3內(nèi)存都支持這一功能,因此還有一個(gè)附加的功能就是自刷新溫度范圍(SRT,Self-Refresh
Temperature)。通過模式寄存器,可以選擇兩個(gè)溫度范圍,一個(gè)是普通的的溫度范圍(例如0℃至85℃),另一個(gè)是擴(kuò)展溫度范圍,比如最高到 95℃。對于DRAM內(nèi)部設(shè)定的這兩種溫度范圍,DRAM將以恒定的頻率和電流進(jìn)行刷新操作。
局部自刷新(RASR,Partial Array Self-Refresh)
這是DDR3的一個(gè)可選項(xiàng),通過這一功能,DDR3內(nèi)存芯片可以只刷新部分邏輯Bank,而不是全部刷新,從而最大限度的減少因自刷新產(chǎn)生的電力消耗。這一點(diǎn)與移動型內(nèi)存(Mobile DRAM)的設(shè)計(jì)很相似。
點(diǎn)對點(diǎn)連接(P2P,Point-to-Point)
這是為了提高系統(tǒng)性能而進(jìn)行了重要改動,也是與DDR2系統(tǒng)的一個(gè)關(guān)鍵區(qū)別。在DDR3系統(tǒng)中,一個(gè)內(nèi)存控制器將只與一個(gè)內(nèi)存通道打交道,而且這個(gè)內(nèi)存通道只能一個(gè)插槽。因此內(nèi)存控制器與DDR3內(nèi)存模組之間是點(diǎn)對點(diǎn)(P2P,Point-to-Point)的關(guān)系(單物理Bank的模組),或者是點(diǎn)對雙點(diǎn)(P22P,Point-to-two-Point)的關(guān)系(雙物理Bank的模組),從而大大減輕了地址/命令/控制與數(shù)據(jù)總線的負(fù)載。而在內(nèi)存模組方面,與DDR2的類別相類似,也有標(biāo)準(zhǔn)DIMM(臺式PC)、SO-DIMM/Micro-DIMM(筆記本電腦)、FB-DIMM2(服務(wù)器)之分,其中第二代FB-DIMM將采用規(guī)格更高的AMB2(高級內(nèi)存緩沖器)。不過目前有關(guān)DDR3內(nèi)存模組的標(biāo)準(zhǔn)制定工作剛開始,引腳設(shè)計(jì)還沒有最終確定。
此外,DDR3還在功耗管理,多用途寄存器方面有不少新的設(shè)計(jì)。
|
|