DDR SDRAM全稱為Double Data Rate SDRAM,中文名為“雙倍數據率SDRAM”。DDR是在原有的SDRAM的基礎上改進而來,嚴格的說DDR應該叫DDR SDRAM,人們習慣稱為DDR。
說到這里,很多人可能會問SDRAM、DRAM、SRAM或者RAM、ROM到底是什么鬼,怎么區別的?小編還是來簡單普及下關于存儲的基礎知識吧。
ROM和RAM指的都是半導體存儲器,ROM是只讀存儲器(Read-Only Memory)的簡稱,是一種只能讀出事先所存數據的固態半導體存儲器,其特性是一旦儲存資料就無法再將之改變或刪除。通常用在不需經常變更資料的電子或電腦系統中,資料并且不會因為電源關閉而消失。RAM是Random Access Memory的縮寫,即隨機存儲器,隨機是指數據不是線性依次存儲,而是自由指定地址進行數據讀寫,通俗來說就是可以以任何順序訪問,而不管前一次訪問的是哪一個位置。ROM在系統停止供電的時候仍然可以保持數據,而RAM通常都是在掉電之后就丟失數據,典型的RAM就是計算機的內存。
RAM又分兩大類,一種稱為靜態RAM(Static RAM/SRAM),是一種具有靜止存取功能的內存,不需要刷新電路即能保存它內部存儲的數據,也就是說加電情況下,不需要刷新,數據不會丟失。SRAM速度非常快,是早期讀寫最快的存儲設備了,但是SRAM也有它的缺點,即它的集成度較低,相同容量的內存需要很大的體積,且功耗較大;同時它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級緩存,二級緩存。另一種稱為動態RAM(Dynamic RAM/DRAM),DRAM 只能將數據保持很短的時間,為了保持數據,DRAM使用電容存儲,所以必須隔一段時間刷新(refresh)一次,如果存儲單元沒有被刷新,存儲的信息就會丟失(關機就會丟失數據);它的速度也比SRAM慢,不過它還是比任何的ROM都要快,但從價格上來說DRAM相比SRAM要便宜很多,計算機內存就是DRAM的。
SDRAM又是在DRAM的基礎上發展而來,同時也是屬于DRAM中的一種。SDRAM即Synchronous DRAM,同步動態隨機存儲器,同步是指 Memory工作需要同步時鐘,內部命令的發送與數據的傳輸都以它為基準;
DDR SDRAM又是在SDRAM的基礎上發展而來,這種改進型的DRAM和SDRAM是基本一樣的,不同之處在于它可以在一個時鐘讀寫兩次數據,這樣就使得數據傳輸速度加倍了。這是目前電腦中用得最多的內存,而且它有著成本優勢。
也就是說我們現在使用的DDR SDRAM其實就是屬于DRAM的一種,在一些內存顆粒的廠家通常會把DDR SDRAM劃分到DRAM分類里面,如下圖一所示。
圖一
當然DDR還會根據它的不同應用分成其他的類型,如GDDR主要用于圖形處理,LPDDR主要用于低功耗等移動消費性電子,但萬變不離其宗,他們都是基于DDR的一些原理演變而來,根據大家的要求我們后續也會有專門的話題來介紹GDDR以及LPDDR。如下是另一家內存廠商根據不同應用市場的分類:
圖二
看了前面的一些介紹,大家是否對我們今天的主人公DDR的前世有了一些認識?那么問題來了,那么SDRAM和DDR SDRAM到底有哪些區別,等長怎么控?請從速率和PCB設計的角度來分析。
SDRAM與DDR SDRAM
SDRAM是比較久遠的事情了,但我們一說到它肯定不會和DDR混淆,我們通常理解的SDRAM其實是SDR SDRAM,為SDRAM的第一代,而DDR1則為第二代,乃至到我們現在使用的DDR4,其實為第五代SDRAM,在此需要澄清一下。
他們的本質區別就是周期操作方式(也稱時鐘采樣)的差異,這就導致后面設計上很大的不同。SDR都是“單數據傳輸模式”,這種內存的特性是在一個內存時鐘周期中,在一個波形上升沿時進行一次操作(讀或寫),而DDR則引用了一些新的設計及技術,其在一個內存時鐘周期中,在波形上升沿時進行一次操作,在方波的下降沿時也做一次操作,相當于在一個時鐘周期中,DDR則可以完成SDR兩個周期才能完成的任務,所以理論上同速率的DDR內存與SDR內存相比,性能要超出一倍,可以簡單理解為100MHZ DDR=200MHZ SDR。
至于SDR在設計上等長應該如何考慮,我想這個可能是大家最感興趣的問題了,雖然SDR的應用已經不多了,但還是經常有人會來問我們,下面采用個人覺得比較好的網友答復給大家也來個參考。
二羔子網友說:“雖然都叫同步動態隨機存儲器,但是在技術上有很大差別,sdram屬于第一代ram,ddr-sdram屬于第二代ram,運用的是double data rate和預存取技術,傳輸速率是第一代的兩倍以上。在layout時,sdram甚至不用做等長,高性能要求除外。”
山水江南網友說:“Sdram是共同時鐘同步,數據和時鐘信號不用等長,但有最長的要求,所以走線盡可能的短。”
還有其他的一些網友也有類似的觀點,我們比較同意這種說法,正常來說如果SDR頻率在100MHz以下,等長范圍可以較大,相對來講都可以不用刻意去控了,而如果頻率超過100MHz以上,在PCB設計上就需要特別注意了,可以通過一個準確的時序仿真來計算等長,我們的經驗法則是盡量控制所有信號的長度,在可控的情況下最好是長度不超過3inch。這個在高速先生前期的文章時序設計里面有說到,在此就不再解釋了。
好了,現在正式回到我們的DDR時代,如下圖一是SDR到DDR4的近似發展路線及速率圖。
圖三 DDR發展路線及速率圖
內存的傳輸速度得以快速提升,除了芯片制造工藝的進步之外,關鍵的技術就是雙倍數據速率以及預存取。實際上內存的內核頻率基本上是保持一致的,都是100MHz到200MHz之間。一般認為200MHz的內存內核頻率是當前技術的極限(超頻除外)。DDR技術使數據傳輸速度提升了一倍,如下圖所示, DDR在時鐘信號上、下邊沿同時采樣數據。這樣如果同樣是200MHz的時鐘,DDR可以達到400Mb/s的數據傳輸速度。
圖四 DDR的時序
預存取技術則有效提升了芯片內部的數據傳輸速度。預存取(Prefetch)增加了DDR存儲陣列的位寬,如圖五所示是DDR2和DDR3的預存取過程,可以看到,因為預存取從4比特提升到了8比特,所以相同的總線頻率和數據率下,DDR3的核心頻率是DDR2的一半。核心頻率降低,可以減小功耗,減少發熱量,提升內存工作穩定性。而同樣的內存核心頻率下,DDR3的總線頻率和數據率是DDR2的一倍。
圖五 DDR2和DDR3的預存取過程
前面說到了SDR和DDR的區別,那么DDR不同代之間的區別又是什么呢?即DDR的后一代相對于前一代的關鍵技術突破在哪里(DDRI到DDR4)?