SRAM與DRAM的區別

什么是RAM?

RAM(Random Access Memory)中文是隨機存取存儲器。為什么要強調隨機存儲呢?因為在此之前,一些的存儲器都是順序存儲(Direct-Access),比較常見的如光碟,老式的磁帶,磁鼓存儲器等等。隨機存取存儲器的特點是其訪問數據的時間與數據存放在存儲器中的物理位置無關。

什么隨機讀寫?

隨機和順序讀寫,是存儲器的兩種輸入輸出方式。存儲的數據在磁盤中占據空間,對于一個新磁盤,操作系統會將數據文件依次寫入磁盤,當有些數據被刪除時,就會空出該數據原來占有的存儲空間,時間長了,不斷的寫入、刪除數據,就會產生很多零零散散的存儲空間,就會造成一個較大的數據文件放在許多不連續的存貯空間上,讀寫些這部分數據時,就是隨機讀寫,磁頭要不斷的調整磁道的位置,以在不同位置上的讀寫數據,相對于連續空間上的順序讀寫,要耗時很多。在開機時、啟動大型程序時,電腦要讀取大量小文件,而這些文件也不是連續存放的,也屬于隨機讀取的范圍。

改善方法:做磁盤碎片整理,合并碎片文件,但隨后還會再產生碎片造成磁盤讀寫性能下降,而且也解決不了小文件的隨機存取的問題,這只是治標。更好的解決辦法:更換電子硬盤(SSD),電子盤由于免除了機械硬盤的磁頭運動,對于隨機數據的讀寫極大地提高。

舉個例子,SSD的隨機讀取延遲只有零點幾毫秒,而7200RPM的隨機讀取延遲有7毫秒左右,5400RPM硬盤更是高達9毫秒之多,體現在性能上就是開關機速度。

隨機存取存儲器(RAM)是存儲器中最為人熟知的一種。之所以RAM被稱為“隨機存儲”,是因為可以直接訪問任一個存儲單元,只要知道該單元所在記憶行X和記憶列Y的地址即可定位。

SRAM與DRAM的區別的圖1

與RAM形成鮮明對比的是順序存取存儲器(SAM)。SAM中的數據存儲單元按照線性順序排列,因而只能依順序訪問(類似于盒式錄音帶)。如果當前位置不能找到所需數據,就必須依次查找下一個存儲單元,直至找到所需數據為止。SAM非常適合作緩沖存儲器之用,一般情況下,緩存中數據的存儲順序與調用順序相同(顯卡中的緩存就是個很好的例子)。而RAM則能以任意的順序存取數據。

SRAM和DRAM的區別?

RAM的另一個特點是易失性(Volatile),雖然業界也有非易失(non-volatile)的RAM,例如,利用電池來維持RAM中的數據等方法。

RAM主要的兩種類別是SRAM(Static RAM)和DRAM(Dynamic RAM)。

SRAM的S是Static的縮寫,全稱是靜態隨機存取存儲器。而DRAM的D是Dynamic的縮寫,全稱是動態隨機存取存儲器。

SRAM的結構,6場效應管組成一個存儲bit單元的結構:

SRAM與DRAM的區別的圖2

工作原理相對比較簡單,我們先看寫0和寫1操作。

寫0操作

寫0的時候,首先將BL輸入0電平,(~BL)輸入1電平。

然后,相應的Word Line(WL)選通,則M5和M6將會被打開。

0電平輸入到M1和M2的G極控制端

1電平輸入到M3和M4的G極控制端

因為M2是P型管,高電平截止,低電平導通。而M1則相反,高電平導通,低電平截止。

所以在0電平的作用下,M1將截止,M2將打開。(~Q)點將會穩定在高電平。

同樣,M3和M4的控制端將會輸入高電平,因NP管不同,M3將會導通,而M4將會截止。Q點將會穩定在低電平0。

最后,關閉M5和M6,內部M1,M2,M3和M4處在穩定狀態,一個bit為0的數據就被鎖存住了。

此時,在外部VDD不斷電的情況下,這個內容將會一直保持。


SRAM與DRAM的區別的圖3


DRAM(Dynamic RAM)是指動態隨機存取存儲器。與SRAM最大的不同是,DRAM需要通過刷新操作來保持其存儲的內容。讓我們先來看看其一個bit存儲單元(Cell)的結構:


SRAM與DRAM的區別的圖4

其核心部件是4號位的電容C,這個電容大小在pF級別,用來存儲0和1的內容。

SRAM與DRAM的區別的圖5

由于電容會慢慢放電,其保存的電量將會隨時間推移而慢慢漏電流漏掉。為了保證其內容的完整性,我們需要把里面的內容定期讀出來再填寫回去。這個操作稱為刷新操作(Refresh)。

SDRAM 只有通過刷新命令(Refresh)操作才能保證數據的可靠性,SDRAM 的刷新操作是周期性的,在兩次刷新的間隔可以進行數據的相關操作。我們在看SDRAM芯片參數時,經常會看到4096 Refresh Cycles/64ms或8192 Refresh Cycles/64ms的標識,這里的4096與8192就代表 這個芯片中每個Bank的行數。

刷新命令一次僅對一行有效,也就是說在64ms內這兩種規格的 芯片分別需要完成4096次和8192次刷新操作。這4096操作可以平均15.625μs刷新一次,也可以一次全部刷新完,取決于你的數據讀寫時序。

SRAM與DRAM的區別的圖6

當需要寫1的時候,先將BL(Bit Line)輸入高電平1,然后選中對應的Word Line(同一時間將只有一根WL被選中),打開相應的MOS管,如圖中所示3號位。此時,外部驅動能力很強,通過一定的時間,4號位的電容將會被充滿。此時,關閉3號位的MOS管。內容1將在一定時間內被保存在4號位的電容中。寫0的操作與之相反,不同的是將4號位電容中的電荷通過Bit Line放光。然后關閉3號位的MOS管,鎖存相應數據。

而讀操作相對來說,較為復雜。4號位電容非常小,只有pF級別,而Bit Line往往都很長,上面掛了非常多個存儲單元(cell),我們可以通過5號位的電容來表示。所以當我們直接把3號位的MOS管打開,Bit Line上將基本看不到什么變化。

SRAM與DRAM的區別的圖7

采用放大器來放大4號位電容的效果。結構圖如下圖所示:

SRAM與DRAM的區別的圖8

我們可以定Vref為1/2的VDD電壓,在讀取電容里數據之前,我們先將所有Bit Line預充1/2 VDD的電壓。然后,打開Word Line讓選中的電容連接到Bit Line上面,如果原本的內容是1,則Bit line的總電壓將會小幅攀升。否則,則會小幅下降。再通過差分放大器,將結果放大從而實現讀操作。

這套方案是可以工作的,但Bit Line的數量不能太大。否則會導致距離Vref供電處較遠的放大器Vref的值偏低,而導致差分放大器工作異常。同時,對于所謂的1/2 VDD預充,也存在不準的情況。

為了解決這個問題,有人提出,不如將原來的一根Bit Line設計成一對Bit Line,當其中一根Bit Line上的Cell被選中時,另一根Bit Line將不會有Cell被選中。從而沒有Cell被選中的Bit Line可以充當放大器的Vref輸入,其長度,負載以及寄生參數將會和另一根Bit Line十分一致,這樣一來,放大器的工作就更加穩定了。結構圖如下所示:

SRAM與DRAM的區別的圖9

當讀操作之前,我們先將1/2 VDD電壓同時注入到BL和(~BL)上,這個動作被稱為(pre-charge預充電)然后其中一根作為參考,來觀察另一根Bit Line在某個Cell導通后的變化。

最后,我們總結一下區別:

成本對比:SRAM成本比較高(6個場效應管組成一個存儲單元),DRAM成本較低(1個場效應管加一個電容)。另外隨著DDR~DDR5的高速發展,SDRAM的發展更快,接口速率更高,生態更好,工藝更先進。所以SDRAM的成本原來越有優勢。

存取速率:照道理來說,SRAM存取速度比較快,DRAM存取速度較慢(電容充放電時間)。

數據地址分開,SRAM不需要PreCharge,不需要Refresh。所以接口效率也越高。

但是隨著DRAM發展更好,所以DRAM的接口速率發展越來越快。最終的綜合表現還是DDR勝出。

SRAM與DRAM的區別的圖10

本文引用內容,包含一下文章的部分內容:

xinxin_stone@CSDN  《dram和sram的區別》

hdanbang@CSDN  《dram和sram的區別》

MediaShareSia 《SRAM和DRAM的區別》


登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP