DR2(Double Data Rate 2,兩倍數(shù)據(jù)速率,版本2) SDRAM,是由JEDEC標準組織開發(fā)的基于DDR SDRAM的升級存儲技術(shù)。 相對于DDR SDRAM,雖然其仍然保持了一個時鐘周期完成兩次數(shù)據(jù)傳輸?shù)奶匦?,但DDR2 SDRAM在數(shù)據(jù)傳輸率、延時、功耗等方面都有了顯著提高,而這些性能的提高,主要來源于以下技術(shù)的提升:ODT,Post CAS,4n數(shù)據(jù)預取,封裝等。
* ODT
ODT(On-Die Termination),即芯片內(nèi)部匹配終結(jié)。
在DDR SDRAM應用中,需要通過大量的外部電阻上拉到VTT電平(1.25V)以實現(xiàn)信號匹配,以16位芯片為例,以下信號需要通過這種方式進行匹配:CK,CK#,DQ[15:0],LDQS,UDQS, ADDR[10:0],RAS#,CAS#,WE#,即一片芯片需要34個外部上拉電阻,極大的占用了寶貴的PCB面積。同時,由于DQ[15:0],LDQS,UDQS等信號是雙向信號,即讀和寫時,對匹配電阻的位置有不同要求,因此在電阻布局時很難在兩個方向上同時實現(xiàn)最佳的信號完整性。
在DDR2 SDRAM中,采用ODT技術(shù)將許多外部的匹配電阻移到芯片內(nèi)部從而節(jié)省了大量的PCB板上面積。另外,ODT技術(shù)允許存儲控制器(如下文的MPC8548 CPU)通過配置DDR2 SDRAM的內(nèi)部寄存器以及控制ODT信號,來實現(xiàn)對匹配電阻的值及其開關狀態(tài)進行控制,從而可以實現(xiàn)讀,寫操作時最佳的信號完整性。
圖1 ODT功能圖
DDR2 SDRAM芯片提供一個ODT引腳來控制開或關芯片內(nèi)部的終結(jié)電阻。在只有一個DDR2 SDRAM芯片作為存儲器控制器的負載的情況下,寫操作時,由于DDR2 SDRAM作為接收端,所以ODT引腳為高電平以打開芯片內(nèi)部終結(jié)電阻;讀操作時,由于DDR2 SDRAM作為發(fā)送端,所以ODT引腳為低電平以關閉芯片內(nèi)部終結(jié)電阻。其中,ODT引腳的狀態(tài)由存儲器控制器(如MPC8548)來控制。
ODT終端電阻值RTT可以通過DDR2 SDRAM內(nèi)部的EMR寄存器來設定:首先配置EMR[15:14]=01來選定該寄存器工作于EMR(擴展模式寄存器)模式,然后通過EMR[6]和EMR[2]兩位來設置內(nèi)部RTT的值,允許選擇為RTT關閉,75歐姆,150歐姆,50歐姆這四種模式。以選擇75歐姆這種模式為例,圖1中,DQ引腳內(nèi)部的上拉電阻和下拉電阻將配置為150歐姆。
需要注意,DDR2 SDRAM的ODT技術(shù),只是對DQ,DQS,DM這些信號(在選擇了差分DQS的情況下,也包括DQS#信號)實現(xiàn)了內(nèi)部匹配。而地址和控制信號等仍需要通過外部匹配。
* Posted CAS
以讀DDR2 SDRAM為例。
圖2 多塊數(shù)據(jù)讀取時的間隙問題
DDR2 SDRAM和DDR SDRAM一樣,是通過Bank(塊地址),Row(行地址)和Column(列地址)三者結(jié)合實現(xiàn)尋址。每一次對DDR2 SDRAM的操作,都以ACTIVE命令(圖2的ACT命令,通過有效#RAS信號實現(xiàn))開始,在發(fā)出該命令的同時,通過地址信號線發(fā)出本次操作的Bank和Row地址,此后等待tRCD時間后,發(fā)起READ/AUTO PRECHARGE命令(圖2 的RD AP命令,通過有效#CAS信號實現(xiàn)),該命令的作用是發(fā)出讀取命令,同時通過地址信號線發(fā)出本次操作的Column地址。最后,等待CAS Latency時間之后,數(shù)據(jù)即通過數(shù)據(jù)總線輸出。
由于DDR2 SDRAM的存儲空間相對DDR SDRAM有所增加,因此Bank數(shù)目也有所增加。例如,DDR SDRAM單片最大容量為1Gbit,Bank數(shù)目是4,而DDR2 SDRAM單片最大容量為2Gbit,Bank數(shù)目達到了8。DDR SDRAM的Bank數(shù)目最少是2,而DDR2 SDRAM的Bank數(shù)目最少是4。為了提高性能,經(jīng)常需要在一個Bank的操作完成之前插入對下一個Bank的操作。如圖2,在發(fā)出對Bank0的ACT命令之后,無需等待對應的RD AP命令發(fā)出,只用滿足tRRD時間要求,即可發(fā)出對另一個Bank的ACT命令。