差分時(shí)鐘技術(shù)
差分時(shí)鐘是DDR的一個(gè)重要且必要的設(shè)計(jì),但大家對CK#(CKN)的作用認(rèn)識(shí)很少,很多人理解為第二個(gè)觸發(fā)時(shí)鐘,其實(shí)它的真實(shí)作用是起到觸發(fā)時(shí)鐘校準(zhǔn)的作用。
由于數(shù)據(jù)是在CK的上下沿觸發(fā),造成傳輸周期縮短了一半,因此必須要保證傳輸周期的穩(wěn)定以確保數(shù)據(jù)的正確傳輸,這就要求CK的上下沿間距要有精確的控制。但因?yàn)闇囟?、電阻性能的改變等原因,CK上下沿間距可能發(fā)生變化,此時(shí)與其反相的CK#(CKN)就起到糾正的作用(CK上升快下降慢,CK#則是上升慢下降快),如下圖一所示。 圖一 差分時(shí)鐘示意圖 數(shù)據(jù)選取脈沖(DQS) 就像時(shí)鐘信號(hào)一樣,DQS也是DDR中的重要功能,它的功能主要用來在一個(gè)時(shí)鐘周期內(nèi)準(zhǔn)確的區(qū)分出每個(gè)傳輸周期,并便于接收方準(zhǔn)確接收數(shù)據(jù)。每一顆8bit DRAM芯片都有一個(gè)DQS信號(hào)線,它是雙向的,在寫入時(shí)它用來傳送由主控芯片發(fā)來的DQS信號(hào),讀取時(shí),則由DRAM芯片生成DQS向主控發(fā)送。完全可以說,它就是數(shù)據(jù)的同步信號(hào)。
在讀取時(shí),DQS與數(shù)據(jù)信號(hào)同時(shí)生成(也是在CK與CK#的交叉點(diǎn))。而DDR內(nèi)存中的CL也就是從CAS發(fā)出到DQS生成的間隔,數(shù)據(jù)真正出現(xiàn)在數(shù)據(jù)I/O總線上相對于DQS觸發(fā)的時(shí)間間隔被稱為tAC。實(shí)際上,DQS生成時(shí),芯片內(nèi)部的預(yù)取已經(jīng)完畢了,由于預(yù)取的原因,實(shí)際的數(shù)據(jù)傳出可能會(huì)提前于DQS發(fā)生(數(shù)據(jù)提前于DQS傳出)。由于是并行傳輸,DDR內(nèi)存對tAC也有一定的要求,對于DDR266,tAC的允許范圍是±0.75ns,對于DDR333,則是±0.7ns,其中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í)間可能有快有慢,會(huì)與DQS有一定的間隔,這也就是為什么要有一個(gè)tAC規(guī)定的原因。而在接收方,一切必須保證同步接收,不能有tAC之類的偏差。這樣在寫入時(shí),DRAM芯片不再自己生成DQS,而以發(fā)送方傳來的DQS為基準(zhǔn),并相應(yīng)延后一定的時(shí)間,在DQS的中部為數(shù)據(jù)周期的選取分割點(diǎn)(在讀取時(shí)分割點(diǎn)就是上下沿),從這里分隔開兩個(gè)傳輸周期。這樣做的好處是,由于各數(shù)據(jù)信號(hào)都會(huì)有一個(gè)邏輯電平保持周期,即使發(fā)送時(shí)不同步,在DQS上下沿時(shí)都處于保持周期中,此時(shí)數(shù)據(jù)接收觸發(fā)的準(zhǔn)確性無疑是最高的,如下圖二所示。
圖二 數(shù)據(jù)時(shí)序
數(shù)據(jù)掩碼技術(shù)(DQM)
不是DDR所特有的,但對于DDR來說也是比較重要的技術(shù),所以一并介紹下。
為了屏蔽不需要的數(shù)據(jù),人們采用了數(shù)據(jù)掩碼(Data I/O Mask,簡稱DQM)技術(shù)。通過DQM,內(nèi)存可以控制I/O端口取消哪些輸出或輸入的數(shù)據(jù)。這里需要強(qiáng)調(diào)的是,在讀取時(shí),被屏蔽的數(shù)據(jù)仍然會(huì)從存儲(chǔ)體傳出,只是在“掩碼邏輯單元”處被屏蔽。
DQM由主控芯片控制,為了精確屏蔽一個(gè)P-Bank位寬中的每個(gè)字節(jié),每個(gè)64bit位寬的數(shù)據(jù)中有8個(gè)DQM信號(hào)線,每個(gè)信號(hào)針對一個(gè)字節(jié)。這樣,對于4bit位寬芯片,兩個(gè)芯片共用一個(gè)DQM 信號(hào)線,對于8bit位寬芯片,一個(gè)芯片占用一個(gè)DQM信號(hào),而對于16bit位寬芯片,則需要兩個(gè)DQM引腳。SDRAM 官方規(guī)定,在讀取時(shí)DQM發(fā)出兩個(gè)時(shí)鐘周期后生效,而在寫入時(shí),DQM與寫入命令一樣是立即生效,如下圖三和四分別顯示讀取和寫入時(shí)突發(fā)周期的第二筆數(shù)據(jù)被取消。
圖三 讀取時(shí)數(shù)據(jù)掩碼操作
圖四 寫入時(shí)數(shù)據(jù)掩碼操作 所以DQM信號(hào)的作用就是對于突發(fā)寫入,如果其中有不想存入的數(shù)據(jù),就可以運(yùn)用DQM信號(hào)進(jìn)行屏蔽。DQM信號(hào)和數(shù)據(jù)信號(hào)同時(shí)發(fā)出,接收方在DQS的上升與下降沿來判斷DQM的狀態(tài),如果DQM為高電平,那么之前從DQS中部選取的數(shù)據(jù)就被屏蔽了。
有人可能會(huì)覺得,DQM是輸入信號(hào),意味著DRAM芯片不能發(fā)出DQM信號(hào)給主控芯片作為屏蔽讀取數(shù)據(jù)的參考。其實(shí),該讀哪個(gè)數(shù)據(jù)也是由主控芯片決定的,所以DRAM芯片也無需參與主控芯片的工作,哪個(gè)數(shù)據(jù)是有用的就留給主控芯片自己去選擇。
|