內存在一個系統中的作用相當于一座橋梁,用以負責處理器與諸如硬盤 、主板、顯卡等設備進行數據交換。可以說內存的容量和數據吞吐量從很大程度上就決定了一個系統的性能。今天介紹一些常用的存儲接口的電平標準,包含HSTL、SSTL和POD等等。
HSTL電平
HSTL(High – speed Transceiver Logic)、SSTL (Stub Series Terminater Logic)電平都是應用于存儲器接口的單端信號電平,它們的輸入輸出結構都有很大的相似之處。HSTL電平應用于大部分SRAM以及QDR、QDRII SRAM高速存儲器接口,支持工作頻率一般都在200MHz以上。
工作電壓
HSTL電平的輸出是反相器結構,輸入是差分結構其中一個輸入端接輸入信號另一個在芯片內部連接到外部由用戶提供的參考電壓上。HSTL工作需要四個電壓:
1.HSTL芯片的功率供電電壓VDD。VDD電壓并沒有在JEDEC規范中明確指出不同的芯片可能會不同,3.3V、2.5V或者1.8V、1.5V都有可能。
2.芯片輸出buffer供電電壓VDDQ,JEDEC規定了HSTL電平的VDDQ典型值為1.5V這就決定了其輸出電壓的擺幅0~1.5V。
接收器buffer的參考電壓VREF。通常情況下VREF電壓為VDDQ/2 = 0.75V,但是由于HSTL輸出buffer種類的不同、采用端接方式不同,VREF電壓也會不同。參考電壓VREF作為輸入信號的判別標準,HSTL電平的VIH的最小值和VIL的最大值都是依據VREF設定的,因此VREF電壓對噪聲要求非常嚴格一般需要控制在1~2%以內。
接收端的端接電壓VTT。VTT電壓并非是必須的,對于數據信號芯片內部可能已經集成了片上端接,對于地址控制線在拓撲結構簡單的情況下完全可以只用源端匹配或者直連的方式實現。
HSTL電平的四個工作電壓
HSTL電平的輸入邏輯
HSTL的單端輸入邏輯電平定義了AC和DC兩個值,AC規范在DC規范外面100mV。這種定義對于高增益差分接收器是非常重要的。AC限值表明了接收器必須滿足的時序規范電平,即只有信號的邊沿超過了AC的限值才會被認為是有效電平。DC電平的意義就在于清晰的定義最終的邏輯狀態,也就是說信號在維持穩定電平時只有高電平不跌落到VIH(DC)的最小值以下、低電平不超過VIL(DC)的最大值就能夠保證接收器能夠正確的接收數據。
HSTL電平單端輸入邏輯
VREF電平為參考定義,在對稱模式下(VREF=0.75V)HSTL電平的高低電平的噪聲余量都能夠達到0.65V。這就使得我們能夠采用并聯端接來解決信號完整性問題,而對于TTL、CMOS電平在前面第二章將阻抗匹配時已經提到一般不能采用并聯端接,這也是為什么HSTL電平能夠應用于高速存儲器的原因。
HSTL電平也支持差分輸入,相比單端信號需要額外關注的參數為差分幅值VDIF(AC) VDIF(DC)、共模噪聲VCM(DC)、以及交叉點的范圍VX如下表所示:
HSTL電平差分輸入邏輯
HSTL有四類輸出Buffer類型,其主要不同在于輸出電流的驅動能力以及支持的端接和匹配方式。表3中列出了四類輸出Buffer各自支持的端接、匹配方式。
HSTL輸出Buffer及端接方式對比
VREF電平來說,在對稱的端接時VREF = VDDQ/2,此時VTT = VDDQ/2;非對稱端接中VREF =0.9V,此時VTT =VDDQ。并聯端接指的就是末端接上拉電阻到VTT,雙并聯端接指的是源端和末端都需要上拉電阻到VTT。
由上表可以看出:
?I類輸出buffer驅動電流最小且端接匹配方式最為簡單,適用于負載比較輕不需要太大驅動能力的情況;
?對于II類輸出Buffer只是在I類的基礎上增大了驅動能力(或者減小了輸出阻抗),此時接收端信號如果存在過沖就可以使用遠端串聯匹配;
?對于II類輸出Buffer可以使用對稱并聯匹配,或者對稱雙并聯端接,需要注意的是雙并聯端接肯定會降低接收信號的幅值有可能會使噪聲余量變小。同時雙并聯端接增加了器件個數不利于高密單板的設計;
?使用并聯端接無疑要增加一個VTT電源,也可以采用戴維南匹配的方式等價實現VTT端接的效果;
?由于III類輸出Buffer的VTT=VDDQ這就導致其吸電流會比對稱端接情況要大,IV類Buffer的雙并聯端接吸電流相比III類buffer的還要增大一倍;
?并不是說所有的HSTL電平芯片都會定義四種輸出Buffer類型,最常用的就是I類和II類。
下圖為III類buffer的非對稱并聯端接和IV類的非對稱雙并聯端接示意圖。
(左)III類buffer,非對稱并聯端接;(右)IV類buffer,非對稱雙并聯端接
SSTL電平
SSTL電平是為了保證存儲器系統更高的數據吞吐率而定義的,它的優點就是能夠驅動多個負載,提供更小的信號擺幅、更快的信號邊沿。專門為高速存儲器的應用開發而制定,特別針對于單雙沿采樣的SDRAM,如DDR SDRAM、DDR2、DDR3等,支持的工作頻率在333MHz以上,其中DDR3的最高速率已經達到了2133Mbps,更高速率的DDR4也是采用SSTL電平和POD電平。
SSTL電平的輸入結構基本上和HSTL相同,也是采用差分輸入結構。差分一端接輸入信號,另一端需要一個參考電壓信號VREF。參考電壓信號由所有存儲器件和控制器共享,設計時需要保證控制器和存儲器之間的壓差要足夠小,一般噪聲都控制在1~2%范圍內。類似HSTL電平,SSTL電平的輸入門限也定義了AC和DC兩個值,且都是參考VREF進行定義。
對于SSTL電平供電電壓需要和HSTL電平基本相同。標準中并沒有指定芯片功率供電電壓VDD一般要求VDDQ要小于VDD。其中VTT是可選項,只是為解決DDR地址控制線的信號完整性問題所準備;VREF電源可以用分壓電阻對VDDQ進行分壓獲得。在某些不需要使用VTT的情況下可以只用一個VDDQ電源輸出芯片就可以進行DDR、DDR2等存儲器接口的設計。
上面介紹了SSTL電平的輸入結構、供電電壓等共性的特征。實際上隨著存儲器的發展、以及通信系統對存儲器容量、數據速率要求的越來越高,JEDEC定義了一系列的SSTL標準,有3.3V、2.5V、1.8V、1.5V甚至很多DDR3芯片都會兼容1.35V、1.2V的電平。SSTL_3SSTL_2的SSTL標準中也會分為I類和II類輸出buffer用于驅動不同的負載。而對于SSTL_18SSTL_15 ,JEDEC沒有在定義不同的輸出類型,但是有些特殊的控制器自身也會定義不同的輸出阻抗或者驅動電流,例如xilinx的virtex系列的FPGA、TI的DSP處理器,存儲器芯片也會定義不同的輸出阻抗供用戶選擇,如DDR3都會定義34ohm、40ohm兩種輸出阻抗。下面對這幾種類型的SSTL電平分別進行介紹。
SSTL_3
SSTL_3采用3.3V供電,主要應用于DDR SDRAM存儲器,其速率一般限制在333MHz以內。其VREF為1.5V(或者0.45*VDDQ)、VTT = VREF 。在典型應用中,在1.5V±200mV建立DC輸入門限,在1.5V±400mV建立AC輸入門限。
SSTL_3電平單端輸入邏輯
SSTL_3理想情況下,高電平噪聲余量1.6V、低電平噪聲余量為1.3V,都要比3.3V電平的LVTTL/LVCMOS電平大了很多,使得SSTL_3能夠應用于DDR SDRAM等存儲器中。
SSTL_3的輸出Buffer按照驅動電流的不同分為I類和II類兩類。I類輸出源電流和吸電流分別為±8mA,而II類的源電流和吸電流分別為±16mA。兩種類型的輸出Buffer對應了不同的驅動負載的能力,當負載比較小時可以使用I類輸出buffer并采用直連或者源端串聯匹配的方式,當負載比較重時需要考慮末端VTT并聯端接。
SSTL_2
SSTL_2和SSTL_3類似主要有兩點區別。VDDQ減小為2.5V,響應的VREF、VTT電平也都減小為0.5*VDDQ。另一不同就是SSTL_2可以支持差分輸入和輸出,能夠應用于更高速率的DDR2存儲器,而SSTL_3電平只支持單端輸入輸出。SSTL_2電平的單端AC和DC輸入邏輯電平如下表所示:
SSTL_2電平的單端AC和DC輸入邏輯
VDDQ電平的降低使SSTL_2的高低電平噪聲余量都有所降低,在一定程度上提高了對信號完整性的要求。DDR2存儲器中都設置ODT(on die terminate),即存儲器芯片上的并聯端接,端接阻值有50、75、150ohm三種類型,用戶可以在MR(mode register)寄存器中進行設置,DDR2接收buffer內部的ODT電路結構如下:
DDR2內部的ODT電路結構圖
DDR2存儲器定義了ODT管腳,配合MR寄存器來控制SW1、SW2、SW3三組開關的通斷。當ODT信號電平為高時使能ODT功能,具體使用何種阻值的ODT需要通過MR寄存器進行設置。工程師可以根據阻抗匹配情況、SI仿真結果進行選擇。
SSTL_2電平差分輸入邏輯
SSTL_2的輸出Buffer兩種類型和SSTL_3類似。源電流和吸電流的最小值差別很小,I類±8.1mA,II類±16.2mA,用于驅動不同類型的負載。
SSTL_18和SSTL_15
為了解決存儲器速率不斷提高功耗不斷降低帶來的挑戰,SSTL電平引入了SSTL_18 SSTL_15甚至更低電平的標準。SSTL_18 SSTL_15規范的定義和SSTL_2非常類似,主要的區別就在于輸入輸出接口的供電電壓有2.5V降低到1.8V和1.5V,由此而引起的VREF、VTT以及AC和DC輸入門限的變化。
SSTL_18電平的單端AC和DC輸入邏輯
而SSTL_15電平不僅參考VREF定義了±100mV的DC輸入門限,而且還根據速率等級的不同定義了多個AC輸入門限標準。對于地址控制、命令信號速率在800Mbps到1600Mbps定義了AC150和AC175兩種輸入門限VREF±150mV、VREF±175mV,當速率超過1600Mbps后則定義了AC125和AC135兩種輸入電平門限VREF±125mV、VREF±135mV;對于數據信號速率在800Mbps1066Mbps時使用AC150和AC175門限VREF±175mV,1333Mbps1600Mbps時使用AC150門限VREF±150mV,當速率在1866Mbps~2133Mbps是使用AC135門限VREF±135mV,詳細內容參見下表。
SSTL_15電平的單端AC和DC輸入邏輯
之所以如此定義SSTL_15的AC和DC門限,有些工程師可能會產生疑問:這樣豈不是說AC135的門限要求就比AC175的門限要求更寬松呢?實際上并不是這樣,而是要結合了建立保持時間的要求來看。也就是說AC175、AC150、AC135、AC125這些門限的定義都對應著不同的建立保持時間要求。表XX所描述的就是DDR3芯片的建立、保持時間要求。其中Base(specification)表示以AC175、AC150等AC門限為標準測量的建立時間tDS要求,而VREF@1V/ns表示1V/ns的slew rate情況下以VREF為標準測量的建立時間、保持時間要求。
DDR3建立保持時間要求
對于數據信號的建立時間tDS的測量是測量VIL(AC) 、VIH(AC)到DQS和DQS#的交叉點的延時,而保持時間tDH是測量從DQS和DQS#的交叉點到VIL(DC) 、VIH(DC)的延時。基于這種對建立保持時間的測量方法,我們可以得到DDR3眼圖的一般測量方法。以VIL(AC) 、VIH(AC)和高低電平起始的最后一個交點做垂直于時間軸的直線,以VIL(DC) 、VIH(DC)和高低電平結束的第一個交點做垂直于時間軸的第二條直線。第一條直線和VIL(AC) 、VIH(AC)的兩個交點以及第二條直線和VIL(DC) 、VIH(DC)的兩個交點,這四個點構成一個梯形,我們便可以以此梯形為基準來描述眼圖的眼寬和噪聲裕量。
DDR3數據信號建立保持時間的測量
同樣對于差分輸入電平SSTL_15除了對單端信號的邏輯定義外也對差分邏輯、以及單端信號的交叉點范圍進行了定義,如下表所示。
SSTL_15電平差分輸入邏輯
DDR4的電平標準
前面花了很長時間介紹了HSTL和SSTL電平,但我想大家應該都很清楚,目前在市場上占主導地位的內存是DDR4。為什么畫這么多的篇幅來講已經過時的東西呢?其實就是想讓大家盡量了解存儲器電平發展的來龍去脈。通過前面的介紹我們大體可以知道,電平接口的發展要解決的兩個主要問題:
(1)速率的提升,以達到足夠高的吞吐量,滿足CPU和外設直接的高速數據交換和處理;
(2)功耗的降低,不斷的降低接口的IO電壓來達到更低的功耗要求。
那么DDR4在這兩方面又有什么樣的改進呢?DDR4將速率提升到1.6—3.2Gbps,并為進一步降低功耗DDR4的數據信號采用了新的電平標準POD-12,地址控制信號仍然是SSTL電平,只不過電壓降低到了1.2V。下面我們來看一下什么是POD電平,它和SSTL電平到底有什么不同。
POD電平
POD是Pseudo Open Drain的縮寫,字面理解就是“偽開漏極”電平。那為什么是“偽開漏極”呢?讓我們看一下它的結構。
(左)SSTL電平(右)POD電平
如上圖所示,可以看出POD電平的輸出電路和SSTL電平并沒有差別,差別僅僅在于POD和SSTL電平的所采用的終端端接方式(ODT)和Vref不同。SSTL電平的Vref是固定值0.5倍的VDD,終端采用標準的戴維南端接;而POD電平的Vref是芯片內部確定,外部的端接只用一個上拉電阻。
首先,我們先看Vref。理想的Vref位置應該位于數據眼圖的中央,即Vref = Vmid = 0.5*(Vhigh + Vlow)。對于DDR4的數據信號理想的Vref位置示意如下:
然而在實際中,由于驅動器、傳輸通道以及ODT的非理性特性,眼圖的中央位置很難計算出來。每個DQ信號的驅動、傳輸通道、和ODT都會有偏差,所以每個DQ的Vref都可能各不相同。因此,需要一種自適應的training機制來尋求最優的Vref。
這種自適應的training機制為DDR4的DQ信號在更低的電平下獲得足夠的噪聲余量提供了有利條件。
同時對比SSTL和POD電平,我們可以發現:POD電平只有在低電平時才會有功耗,高電平由于Tx和Rx是等電位的幾乎沒有電流因此功耗幾乎為零。這就是POD電平的另一個優勢,使得DQ信號的功耗幾乎降低了50%。
DDR4和與DDR3的比較
DDR4相比DDR3還有一些其它方面的改進,在這里也做一些簡單的介紹。
DBI_N
為了進一步降低功耗,DDR4定義了一個新的管腳DBI_N。DBI是data bus inversion的縮寫。目的在于平衡DQ信號中的0和1的數量。
如上所示,當DQ信號中0的數量超過1的數量時,DBI_N信號拉低,讓DQ信號的bit翻轉,這樣只有打開DBI功能DQ信號中0的數量總是比1的數量少。這就意味著更低的功耗和更好的SSN性能。
DBI功能也有自身的缺點,因為Memory接收數據需要對DBI進行翻譯,需要額外的延時,對數據吞吐量稍有影響。
ACT_N
DDR4相比之前的DDR3,除了速率的提升、電壓的降低,存儲容量也有了很大的提升。理論上存儲容量的提升就需要更低的地址信號來尋址。
為此,DDR4引入了ACT_N信號,用來指明activate命令,拓展行地址,來實現更大的容量。如下所示,當ACT_N為低電平時,RAS、CAS、WE為地址信號。
DDR4的校驗機制
1、Address/Command信號的校驗
增加了PAR管腳,為Address/Command信號的奇偶校驗位。DDR4采用偶校驗,也就是所有bit中1的個數是偶數。校驗的過程使得系統產生額外的延時。
2、DQ信號的校驗
DQ信號采用CRC校驗。CRC校驗機制如下圖所示,與CA信號的奇偶校驗不同,CRC不需要額外的管腳。但是CRC編碼需要占用額外的數據帶寬,此外,CRC也會產生額外的系統延遲。
3、ALER_N
DDR4增加了Alert_N信號,指明數據的傳輸是否發生了錯誤,包含Data的CRC Error或者Address/Command上的奇偶校驗錯誤。
正是由于DDR4的這種校驗機制,使得自適應的training變得成為可能。前面介紹了VREF需要自適應的training,其實水平方向的時間軸上也需要training。
4、DQ信號的skew的training
在時間軸上,每個DQ信號的眼圖并不能完全對齊。盡管你十分小心的調整了所有DQ信號的skew,補償了封裝的布線,但還會有驅動器的輸出能力偏差、ODT的偏差、PCB加工的偏差、碼型的影響、其它信號的干擾等等我們無法窮盡的影響因素。
DDR4的速率已經達到了serdes的速率,它的時序余量已經非常小,它的設計難度顯然更高。因此,需要一種自適應的training的機制,來保證每個DQ信號的眼在DRAM的die處都是對齊的,這種DQ時間軸的對齊機制又叫做per bit de-skew。
DDR4還有其它的一些特性,但與信號完整性關系不大,因此這里不做詳細的介紹。目前DDR5顆粒已經開始商用,相比DDR4,DDR5無論在數據速率還是功耗上又是一次提升,后面有機會也會做一些介紹。
評論
查看更多