DRAM基本組成
對(duì)于DRAM,其主要由行和列組成,每一個(gè)bit中都是由類似右下圖的類晶體管的結(jié)構(gòu)組成,對(duì)于sdram的數(shù)據(jù),可以通過控制column和row就可以訪問sdram的隨機(jī)地址的內(nèi)容。
·讀取某一個(gè)bit的狀態(tài),就是選中word line,那么圖示中的晶體管M1就會(huì)導(dǎo)通,通過bit line的sense就可以感知到這個(gè)時(shí)候電容Cs上的狀態(tài),例如,現(xiàn)在如果這個(gè)bit的狀態(tài)為1,那么導(dǎo)通之后就會(huì)從bit line上得到1,反之也是同樣的道理。
·向某一bit寫入1,首先通過row decoder選中word line,將會(huì)導(dǎo)致m1導(dǎo)通,那么bit line為1,會(huì)導(dǎo)致電容Cs充電,導(dǎo)致其電平為1,如果要寫入,那么bit line的電平 為0,將會(huì)導(dǎo)致電容Cs放電,致使此時(shí)的電平為0。
由上面可以看出一個(gè)位只能表示一個(gè)bit,那么我們想讀取多個(gè)位的時(shí)候,該怎么辦呢?那就出現(xiàn)了ddr中的bank的概念,由多個(gè)memory array就組成了一個(gè)bank,如下圖,一次可以讀取2bit/4bit/8bit的數(shù)據(jù):
由多個(gè)bank就可以組成一個(gè)memory device,如下圖,一個(gè)dram的芯片,由8個(gè)banks組成,而每個(gè)bank由4個(gè)memory array構(gòu)成,而此時(shí)每個(gè)bank輸出4個(gè)bit的I/O bus,那么為什么會(huì)出現(xiàn)bank的概念呢?動(dòng)態(tài)內(nèi)存區(qū)別于靜態(tài)內(nèi)存要定時(shí)刷新,每讀取一個(gè)狀態(tài)的時(shí)候,都需要重新充電。如果沒有采用bank,假設(shè)我們現(xiàn)在要讀取01-08地址的數(shù)據(jù),當(dāng)讀取01的地址后,要等這個(gè)bank自刷新后才能讀取02地址的值,而采用8個(gè)bank之后,沒有這類問題,例如我們讀取完01地址之后,那么讀取02,因?yàn)?2與01的控制方式不同,所以對(duì)于這段時(shí)間01可以后臺(tái)的完成自刷新,依次類推,那么就可以很好的解決動(dòng)態(tài)內(nèi)存需要刷新的問題。
上圖中,對(duì)于RANK、DIMM等在深入淺出DDR系列(1)——DDR原理篇中已經(jīng)詳細(xì)介紹了。
2
DDR工作原理
了解了DDR的基本組成后,我們來看看DDR如何來完成一次的讀寫過程。如下圖所示,DRAM 的相關(guān)操作在內(nèi)部大概可以分為以下的四個(gè)階段:
·command transport and decode: 在這個(gè)階段,Host 端會(huì)通過 Command Bus 和 Address Bus 將具體的 Command 以及相應(yīng)參數(shù)傳遞給 DRAM。DRAM 接收并解析 Command,接著驅(qū)動(dòng)內(nèi)部模塊進(jìn)行相應(yīng)的操作。其中會(huì)根據(jù)將addr bus上的數(shù)據(jù)解碼成對(duì)應(yīng)的row address和通過bank control解碼后得到對(duì)應(yīng)的bank,其次對(duì)應(yīng)的column也會(huì)解碼得到對(duì)應(yīng)的地址
**·in bank data movement: **在這個(gè)階段,第一階段發(fā)送需要讀取的 Column 的地址給 DRAM。然后 DRAM 再將 Active Command 所選中的 Row 中,DRAM 就將 Memory Array 中的數(shù)據(jù)從 DRAM Cells 中讀出到 Sense Amplifiers,或者將數(shù)據(jù)從 Sense Amplifiers 寫入到 DRAM Cells。
·in device data movement: 這個(gè)階段中,數(shù)據(jù)將通過 IO 電路緩存到 Read Latchs 或者通過 IO 電路和 Write Drivers 更新到 Sense Amplifiers。
**·system data transport: **在這個(gè)階段,進(jìn)行讀數(shù)據(jù)操作時(shí),SDRAM 會(huì)將數(shù)據(jù)輸出到數(shù)據(jù)總線上,進(jìn)行寫數(shù)據(jù)操作時(shí),則是 Host 端的 Controller 將數(shù)據(jù)輸出到總線上。
在上述的四個(gè)階段中,每個(gè)階段都會(huì)有一定的耗時(shí),例如數(shù)據(jù)從 DRAM Cells 搬運(yùn)到 Read Latchs 的操作需要一定的時(shí)間,因此在一個(gè)具體的操作需要按照一定時(shí)序進(jìn)行。同時(shí),由于內(nèi)部的一些部件可能會(huì)被多個(gè)操作使用,例如讀數(shù)據(jù)和寫數(shù)據(jù)都需要用到部分 IO 電路,因此多個(gè)不同的操作通常不能同時(shí)進(jìn)行,也需要遵守一定的時(shí)序。此外,某些操作會(huì)消耗很大的電流,為了滿足 SDRAM 設(shè)計(jì)上的功耗指標(biāo),可能會(huì)限制某一些操作的執(zhí)行頻率。
3
DRAM基本命令
對(duì)于一款ddr,我們需要知道通過什么樣的方式來控制完成我們需要,我們來看看ddr的狀態(tài),ddr的工作就是在這幾個(gè)狀態(tài)之間切換:
在芯片上電后,完成初始化后,dram處于idle階段,上圖是需要進(jìn)入各個(gè)階段的時(shí)候,應(yīng)該需要進(jìn)行那些基本的操作,對(duì)于ddr使用比較頻繁的幾個(gè)基本命令訪問方式如下
·刷新模式: 儲(chǔ)體中電容的數(shù)據(jù)有效是有時(shí)間限制的,所以為了保證數(shù)據(jù)的不丟失,所以要對(duì)ddr進(jìn)行定時(shí)的刷新,SDRAM內(nèi)部有一個(gè)行地址生成器(也稱刷新計(jì)數(shù)器)用來自動(dòng)的依次生成行地址。由于刷新是針對(duì)一行中的所有存儲(chǔ)體進(jìn)行。該模式是由Host主動(dòng)控制DRAM完成刷新,存儲(chǔ)體中電容的數(shù)據(jù)有效保存期上限是64ms(毫秒,1/1000秒),也就是說每一行刷新的循環(huán)周期是64ms。
·自我刷新模式: 當(dāng)系統(tǒng)進(jìn)入低功耗模式,只需要發(fā)送一條 SRF指令,主要用于休眠模式低功耗狀態(tài)下的數(shù)據(jù)保存,比較常見的應(yīng)用是STR(Suspend to RAM,休眠掛起于內(nèi)存)。就進(jìn)入了該模式,此時(shí)不再依靠系統(tǒng)時(shí)鐘工作,而是根據(jù)內(nèi)部的時(shí)鐘進(jìn)行刷新操作。期間除了CKE之外的所有外部信號(hào)都是無效的(無需外部提供刷新指令),只有重新使CKE有效才能退出自刷新模式并進(jìn)入正常操作狀態(tài)。
·MRS模式(mode register set): 模式寄存器中的數(shù)據(jù)控制著 DDR2 SDRAM的操作模式.它控制著 CAS 延遲, 突發(fā)長(zhǎng)度, 突發(fā)順序, 測(cè)試模式, DLL復(fù)位, WR等各種選項(xiàng),支持著 DDR2 SDRAM 的各種應(yīng)用. 模式寄存器的默認(rèn)值沒有被定義, 所以上電之后必須按規(guī)定的時(shí)序規(guī)范來設(shè)定模式寄存器的值。
·EMRS 擴(kuò)展模式寄存器: 存儲(chǔ)著激活或禁止DLL的控制信息, 輸出驅(qū)動(dòng)強(qiáng)度, ODT 值的選擇 和附加延遲等信息。
·預(yù)充電: 對(duì)一行讀寫操作后,關(guān)閉現(xiàn)有工作行,準(zhǔn)備打開新行的操作就是預(yù)充電。
·讀過程: 訪問操作開始ACT一個(gè)激活命令,主要是激活bank和rol,就等于選通了某一Bank的某一行,接著發(fā)送一個(gè)read指令,就可以通過數(shù)據(jù)總線將數(shù)據(jù)送出去了,然后就進(jìn)行預(yù)充電,恢復(fù)到讀寫的狀態(tài),預(yù)充電完成后,就恢復(fù)到idle狀態(tài)。
·寫過程: 與讀過程基本類似。
DRAM的基本命令是通過操作各種控制信號(hào)/地址信號(hào)的組合來完成,下表是DRAM的命令表:
-
DRAM
+關(guān)注
關(guān)注
40文章
2343瀏覽量
185234 -
晶體管
+關(guān)注
關(guān)注
77文章
9989瀏覽量
140796 -
bit
+關(guān)注
關(guān)注
0文章
48瀏覽量
32372
發(fā)布評(píng)論請(qǐng)先 登錄
什么是DDR?DDR內(nèi)存的演進(jìn)之路
什么是DDR SDRAM內(nèi)存
ddr4和ddr3內(nèi)存的區(qū)別,可以通用嗎
三種主流內(nèi)存技術(shù)(DDR、GDDR、LPDDR)的速度對(duì)比與應(yīng)用和DDR5芯片的設(shè)計(jì)

DDR4和DDR3內(nèi)存都有哪些區(qū)別?
DDR6和DDR5內(nèi)存的區(qū)別有多大?怎么選擇更好?
0706線下活動(dòng) I DDR4/DDR5內(nèi)存技術(shù)高速信號(hào)專題設(shè)計(jì)技術(shù)交流活動(dòng)

評(píng)論