計(jì)算設(shè)備采用了各種易失性和非易失性內(nèi)存單元,以及靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器相比,(DRAM)它是最常用的架構(gòu)之一,因?yàn)樗哂谐杀拘?。本文?jiǎn)要概述了不同類型DRAM的主要區(qū)別,包括同步動(dòng)態(tài)存儲(chǔ)存儲(chǔ)器(SDRAM)各種類型的雙倍數(shù)據(jù)速率(DDR)。
什么是DRAM?
DRAM由一系列電容器組成,旨在為隨機(jī)存取存儲(chǔ)器(RAM)存儲(chǔ)單個(gè)比特。RAM是一種可以訪問(wèn)數(shù)據(jù)元素的存儲(chǔ)器,無(wú)論其在序列中的位置如何。因此,從本質(zhì)上講,訪問(wèn)任何數(shù)據(jù)所需的時(shí)間是恒定的。
存取晶體管和存儲(chǔ)器、電容器的優(yōu)化設(shè)計(jì)以及半導(dǎo)體工藝的進(jìn)步使DRAM存儲(chǔ)器價(jià)格更便宜。所以,DRAM最常用作計(jì)算機(jī)的主存儲(chǔ)器,因?yàn)樗cSRAM相比更具成本效益。幾十年來(lái),DRAM技術(shù)經(jīng)歷了一些重大改進(jìn),大幅降低了每比特成本、提高時(shí)鐘頻率并減少組件的整體尺寸,這些改變與許多變化相關(guān),包括引入更小的DRAM單元。
DRAM單元結(jié)構(gòu)
一個(gè)典型的三晶體管DRAM單元采用存取晶體管和一個(gè)存儲(chǔ)晶體管來(lái)切換存儲(chǔ)晶體管輸入電容的打開(kāi)(位值1)和關(guān)閉(位值0)。晶體管陣列連接到讀取和寫(xiě)入的列和行,它們也分別叫做位線和字線。組件和數(shù)據(jù)線的排列方式允許使用單個(gè)存儲(chǔ)晶體管進(jìn)行寫(xiě)入和讀取操作。
例如,一個(gè)傳統(tǒng)的3晶體管DRAM單元(見(jiàn)上圖)通過(guò)向M1存取晶體管的柵極發(fā)送電壓來(lái)執(zhí)行寫(xiě)入命令,該晶體管又為M3的柵極電容充電。然后寫(xiě)入線被驅(qū)動(dòng)為低電平,存儲(chǔ)在M3柵極電容中的電荷緩慢消散——這便是所謂的動(dòng)態(tài)。
當(dāng)前的技術(shù)通常會(huì)采用1個(gè)晶體管/1個(gè)電容器(1T1C)存儲(chǔ)單元(見(jiàn)上圖)來(lái)實(shí)現(xiàn)更密集的存儲(chǔ)芯片。CMOS柵極與字線相連,而源極與位線相連。通過(guò)打開(kāi)晶體管的柵極從而將電流發(fā)送到分立存儲(chǔ)電容器來(lái)完成寫(xiě)入命令。讀取是通過(guò)與位線共享存儲(chǔ)在電容器中的電荷來(lái)完成的。該架構(gòu)需要每次讀取操作后進(jìn)行重寫(xiě)(刷新),因?yàn)殡姾晒蚕頃?huì)破壞DRAM單元中包含的信息。通常,這種充電每隔幾毫秒發(fā)生一次,以補(bǔ)償電容器的電荷泄露。
異步傳輸模式(ATS)切換
該技術(shù)的真正復(fù)雜性在于多層層次結(jié)構(gòu),其中需要跟蹤和評(píng)估數(shù)千個(gè)單元的陣列以進(jìn)行各種操作,例如寫(xiě)入、讀取和刷新。當(dāng)前的DRAM技術(shù)利用多路復(fù)用尋址,其中相同的地址用于行和列地址,這樣便節(jié)省了空間并減少了引腳數(shù)。
通過(guò)使用行訪問(wèn)地址(RAS)和列訪問(wèn)地址(CAS)時(shí)鐘執(zhí)行操作。RAS驗(yàn)證發(fā)送到DRAM的信號(hào)實(shí)際上是行地址,而RAS驗(yàn)證輸入列地址。在RAS的下降沿,DRAM地址引腳上的地址被輸入行地址鎖存器。在CAS的下降沿,地址在其下降沿輸入到列地址鎖存器。實(shí)質(zhì)上,打開(kāi)整行允許讀取存儲(chǔ)在電容器上的信息,或者允許對(duì)存儲(chǔ)電容器進(jìn)行充電/放電以進(jìn)行寫(xiě)入。
這是通過(guò)使用許多外圍電路來(lái)實(shí)現(xiàn)的,包括行/列鎖存器、行地址緩沖器、行/列解碼器、字線驅(qū)動(dòng)器和位線讀出放大器。在1T1C DRAM單元的情況下,讀出放大器通常用作行緩沖器,以防止讀取的DRAM單元中的信息丟失。感測(cè)放大器本質(zhì)上是感測(cè)存儲(chǔ)電容器是否有足夠的電荷,然后接收一個(gè)低功率信號(hào)并將其放大到一個(gè)完整的邏輯值(0或1)。在信息被加載并存儲(chǔ)到讀出放大器中之前,無(wú)法訪問(wèn)存儲(chǔ)器中的選定行。這就是導(dǎo)致CAS延遲的原因,如果所需的行在請(qǐng)求時(shí)未處于活動(dòng)狀態(tài),則需要額外的時(shí)間。
如上圖所示,第一步,當(dāng)RAS為低電平時(shí),整行中的所有單元都被其讀出放大器讀取,這個(gè)過(guò)程需要較長(zhǎng)的時(shí)間。此后,改行處于活動(dòng)狀態(tài),以便可以訪問(wèn)列以進(jìn)行讀取或?qū)懭?。由于讀出放大步驟,RAS的訪問(wèn)時(shí)間(讀/寫(xiě)周期時(shí)間)通常遠(yuǎn)高于CAS。異步DRAM的總線速度通常不超過(guò)66MHz。
SDRAM與DRAM
DRAM以同步或異步模式運(yùn)行。在同步模式下,所有操作(讀、寫(xiě)、刷新)都由系統(tǒng)時(shí)鐘控制。該系統(tǒng)時(shí)鐘與計(jì)算機(jī)CPU的時(shí)鐘速度(~133MHz)同步。這樣做的原因是它實(shí)際上允許比傳統(tǒng)DRAM更高的時(shí)鐘速度(3X)。所有進(jìn)出DRAM的操作都在主時(shí)鐘的上升沿執(zhí)行。典型的單數(shù)據(jù)速率(SDR)SDRAM時(shí)鐘速率為100和133MHz。
SDRAM架構(gòu)中的一個(gè)主要區(qū)別因素是內(nèi)存被分成許多大小相等的部分,這些存儲(chǔ)體可以同時(shí)執(zhí)行訪問(wèn)命令,從而實(shí)現(xiàn)比普通DRAM更高的速度。如上圖所示,DRAM的基本內(nèi)核和操作基本相同,同步交錯(cuò)涉及的I/O命令接口是從DRAM芯片中單獨(dú)出來(lái)的。
對(duì)SDRAM提高速度的主要貢獻(xiàn)來(lái)自流水線概念——當(dāng)一個(gè)庫(kù)可能處于預(yù)充電狀態(tài),正在經(jīng)歷訪問(wèn)延遲時(shí),另一個(gè)庫(kù)可能正在進(jìn)行讀取,這樣存儲(chǔ)芯片就會(huì)不斷地輸出數(shù)據(jù)。換句話說(shuō),多庫(kù)的結(jié)構(gòu)允許對(duì)不同的行進(jìn)行并發(fā)訪問(wèn)。
SDRAM與DDR
雖然單一數(shù)據(jù)速率SDRAM的時(shí)鐘速率足以滿足許多應(yīng)用,但它們通常不足以滿足多媒體應(yīng)用。SDRAM的下一個(gè)迭代是雙倍數(shù)據(jù)速率SDRAM(DDR SDRAM)。主要的進(jìn)化來(lái)自于在主時(shí)鐘的上升沿和下降沿傳輸數(shù)據(jù)的能力,而所有命令和操作只在時(shí)鐘的上升沿發(fā)生——每個(gè)時(shí)鐘周期有效地發(fā)送兩倍的數(shù)據(jù)。
這是通過(guò)預(yù)讀取操作實(shí)現(xiàn)的,在該操作中,寬內(nèi)部總線同時(shí)預(yù)取兩個(gè)數(shù)據(jù)位以突發(fā)在I/O引腳上輸出兩個(gè)等寬的字,也稱為2位預(yù)取。這實(shí)質(zhì)上使數(shù)據(jù)速率翻倍,而不會(huì)增加存儲(chǔ)單元的功耗。還應(yīng)該注意的是,DDR架構(gòu)的電源效率有顯著提高,其中DDR2電壓為2.5V,DDR3在1.5V到1.65V,DDR4在1.2V。這是由于器件的電源管理電路進(jìn)行了優(yōu)化,并且能夠在不增加功耗的情況下更智能地提高數(shù)據(jù)傳輸頻率。功耗降低使DDR模塊成為可以用電池供電的計(jì)算設(shè)備(如筆記本電腦)更理想的選擇。
DDR、DDR2、DDR3······又有什么區(qū)別?
DDR(DDR2、DDR3、DDR4)演進(jìn)的基礎(chǔ)組件和功能/操作保持不變,但時(shí)鐘速度增加了差異化因素。例如,DDR2 RAM為DDR SDRAM接口添加了2倍時(shí)鐘倍頻器,從而在保持相同總線速度的同時(shí)使數(shù)據(jù)傳輸速度翻倍。通過(guò)這種方式,從內(nèi)存陣列到I/O緩沖區(qū)采用了「4位預(yù)取」。同樣,DDR3模塊預(yù)取8位數(shù)據(jù),DDR4模塊預(yù)取16位數(shù)據(jù)。
雖然易失性DRAM架構(gòu)的核心基本保持不變,但片外的附加命令接口已經(jīng)發(fā)展為增加容量并降低了每比特成本。DRAM性能的這種重大發(fā)展可能有助于數(shù)據(jù)流水線以及I/O緩沖區(qū)頻率的增加。