<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

DDR、DDR2、DDR3、DDR4、LPDDR的區別

硬件筆記本 ? 來源:EDA365電子論壇 ? 2023-07-16 15:27 ? 次閱讀

今天分享DDR相關知識。

什么是DDR

DDR是Double Data Rate的縮寫,即“雙倍速率同步動態隨機存儲器”。DDR是一種技術,中國大陸工程師習慣用DDR稱呼用了DDR技術的SDRAM,而在中國臺灣以及歐美,工程師習慣用DRAM來稱呼。

DDR的核心要義是在一個時鐘周期內,上升沿和下降沿都做一次數據采樣,這樣400MHz的主頻可以實現800Mbps的數據傳輸速率。

每一代DDR的基本區別

8b47a77c-238c-11ee-962d-dac502259ad0.png

(可點擊圖片放大查看)

關鍵技術解釋

1、VTT

VTT為DDR的地址線,控制線等信號提供上拉電源,上拉電阻是50Ω左右。VTT=1/2VDDQ,并且VTT要跟隨VDDQ,因此需要專用的電源同時提供VDDQ和VTT。例如芯片TPS51206DSQT,LP2996。用專門的電源芯片,還有一個重要的原因,在Fly-by的拓撲中,VTT提供電流,增強DDR信號線的驅動能力。

DDR的接收器是一個比較器,其中一端是VREF,另一端是信號,例如地址線A2在有VTT上拉的時候,A2的信號在0和1.8V間跳動,當A2電壓高于VTT時,電流流向VTT。當A2低于VTT時,VTT流向DDR。因此VTT需要有提供電流和吸收電流的能力,一般的開關電源不能作為VTT的提供者。此外,VTT電源相當于DDR接收器信號輸入端的直流偏執,且這個偏執等于VREF,因此VTT的噪聲要越小越好,否則當A2的狀態為高阻態時,DDR接收器的比較器容易產生誤觸發。

上文說過,VTT相當于DDR接收器的直流偏執,其實如果沒有VTT,這個直流偏執也存在,它在芯片的內部,提供電流的能力很弱。如果只有1個或2個DDR芯片,走Fly-by拓撲,那么不需要外部的VTT上拉。如果有2個以上的DDR芯片,則一定需要VTT上拉。

2、Prefetch

Prefetch字面意思就是預存取,每一代的DDR預存取大小不同,詳見第2章中表格。以DDR3為例,它的Prefetch=8n,相當于DDR的每一個IO都有一個寬度為8的buffer,從IO進來8個數據后,在第8個數據進來后,才把這8個數據一次性的寫入DDR內部的存儲單元。下圖是一個形象的解釋,同時我們關注一下幾個速率。DDR3的時鐘是800MHz,Data Rate是1600Mbps,由于這個Buffer的存在,DDR內部的時鐘只需要200MHz就可以了(注意DDR內部不是雙比特翻轉采樣)。

8b89e466-238c-11ee-962d-dac502259ad0.png

我們來做一個頻率對照表,如下:

8ba0e1a2-238c-11ee-962d-dac502259ad0.png

DDR內部的最小存儲單元(1bit)是一個晶體管+一個電容,電容會放電,需要不斷的“刷新”(充電)才能保持正常的工作狀態,由于電容充放電需要時間,DDR內部的頻率受限于此,很難提高,目前技術一般在100~200MHz。因此需要用Prefetch技術來提內部數據高吞吐率(其實就是串并轉換原理)。Prefetch位寬的提高,是DDR2,3,4非常顯著的變化。

第一段提到,對于DDR3,在第8個數據進來后,FIFO滿了,然后才把這8個數據一次性的寫入DDR內部的存儲單元,那么必須要求DDR的內部時鐘和外部時鐘有一定的約束關系,FIFO滿的時候一定是以DQS下降沿采樣結束的,數據手冊中對DQS的下降沿與clk有一個建立時間和保持時間的約束要求的目的原來是這樣。

3、SSTL

SSTL(Stub Series Terminated Logic接口標準也是JEDEC所認可的標準之一。該標準專門針對高速內存(特別是SDRAM)接口。SSTL規定了開關特點和特殊的端接方案。

SSTL標準規定了IC供電,IO的DCAC輸入輸出門限,差分信號門限,Vref電壓等。SSTL_3是3.3V標準,SSTL_2是2.5V標準,SSTL_18是1.8V標準,SSTL_15是1.5V。

SSTL最大的特點是需要終端匹配電阻,也叫終端終結電阻,上拉到VTT(1/2VDDQ)。這個短接電阻最大的作用是為了信號完整性,特別是在1拖多的Fly-by走線拓撲下,還能增強驅動能力。

8bc07abc-238c-11ee-962d-dac502259ad0.png

4、Bank

以下圖為例,一個Bank中包含若干個Array,Array相當于一個表單,選中“行地址”和“列地址”后,表單中的一個單元格就被選中,這個單元格就是一個bit。Bank中的所有Array的行地址是連在一起的,列地址也是。那么選中“行地址”和“列地址”后,將一起選中所有Array的bit。有多少個array,就有多少個bit被選中。以DDR3為例,Data線寬度是32,prefetch是8,那么Array就有32x8=256.內部一次操作會選中256bit的數據。

8bdc756e-238c-11ee-962d-dac502259ad0.png

Bank數量越多,需要的Bank選擇線越多,DDR3有8個bank,需要3個BA信號BA0~2。BA,行地址,列地址共同組成了存儲單元的訪問地址,缺一不可。

5、DDR的容量計算

下圖是DDR3 1Gb的尋址配置,以其中128Mbx8為例說明,其中x8表示IO數據(DQ)位寬度。

8bfa6650-238c-11ee-962d-dac502259ad0.png

8c2c5624-238c-11ee-962d-dac502259ad0.png

8c42d534-238c-11ee-962d-dac502259ad0.png

我的理解是,這個page size更像是邏輯上的一個頁,并不是一個bank中,一行的所有bit,因為一行的所有bit要考慮prefetch寬度。

上表是JESD-3D中的表格,Row Address和Column Address都是真實需要尋址的地址,其他用途的地址比如A10,A12或者A11等并沒有計算在內。在計算時,不要因為有A13,就認為Column Address就是A0~A13。

6、Burst

Burst字面意思是突發,DDR的訪問都是以突發的方式連續訪問同一行的相鄰幾個單元。進行Brust時,需要有幾個參數

Burst Length:一次突發訪問幾個列地址。

Read/Write: 是讀還是寫

Starting Column:從哪一列開始Burst

Burst:突發的順序。

下圖是DDR3中突發類型和順序,Burst是通過A12/BC#選擇的。但對于DDR,DDR2和DDR4,不一定就是通過A12/BC#,詳見PIN定義章節。

8c58baa2-238c-11ee-962d-dac502259ad0.png

7、DDR的tRDC,CL,tAC

在實際工作中,Bank地址與相應的行地址是同時發出的,此時這個命令稱之為“行激活”(Row Active)。在此之后,將發送列地址尋址命令與具體的操作命令(是讀還是寫),這兩個命令也是同時發出的,所以一般都會以“讀/寫命令”來表示列尋址。

根據相關的標準,從行有效到讀/寫命令發出之間的間隔被定義為tRCD,即RAS to CAS Delay(RAS至CAS延遲,RAS就是行地址選通脈沖,CAS就是列地址選通脈沖),我們可以理解為行選通周期。tRCD是DDR的一個重要時序參數,廣義的tRCD以時鐘周期(tCK,Clock Time)數為單位,比如tRCD=3,就代表延遲周期為兩個時鐘周期,具體到確切的時間,則要根據時鐘頻率而定,DDR3-800,tRCD=3,代表30ns的延遲。

接下來,相關的列地址被選中之后,將會觸發數據傳輸,但從存儲單元中輸出到真正出現在內存芯片的 I/O 接口之間還需要一定的時間(數據觸發本身就有延遲,而且還需要進行信號放大),這段時間就是非常著名的 CL(CAS Latency,列地址脈沖選通潛伏期)。CL 的數值與 tRCD 一樣,以時鐘周期數表示。如 DDR3-800,時鐘頻率為 100MHz,時鐘周期為 10ns,如果 CL=2 就意味著 20ns 的潛伏期。不過CL只是針對讀取操作。

由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經過放大來保證其有效的識別性,這個放大/驅動工作由S-AMP負責,一個存儲體對應一個S- AMP通道。但它要有一個準備時間才能保證信號的發送強度(事前還要進行電壓比較以進行邏輯電平的判斷),因此從數據I/O總線上有數據輸出之前的一個時鐘上升沿開始,數據即已傳向S-AMP,也就是說此時數據已經被觸發,經過一定的驅動時間最終傳向數據I/O總線進行輸出,這段時間我們稱之為 tAC(Access Time from CLK,時鐘觸發后的訪問時間)。

目前內存的讀寫基本都是連續的,因為與CPU交換的數據量以一個Cache Line(即CPU內Cache的存儲單位)的容量為準,一般為64字節。而現有的Rank位寬為8字節(64bit),那么就要一次連續傳輸8次,這就涉及到我們也經常能遇到的突發傳輸的概念。突發(Burst)是指在同一行中相鄰的存儲單元連續進行數據傳輸的方式,連續傳輸的周期數就是突發長度(Burst Lengths,簡稱BL)。

在進行突發傳輸時,只要指定起始列地址與突發長度,內存就會依次地自動對后面相應數量的存儲單元進行讀/寫操作而不再需要控制器連續地提供列地址。這樣,除了第一筆數據的傳輸需要若干個周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個數據只需一個周期的即可獲得。

突發連續讀取模式:只要指定起始列地址與突發長度,后續的尋址與數據的讀取自動進行,而只要控制好兩段突發讀取命令的間隔周期(與BL相同)即可做到連續的突發傳輸。

談到了突發長度時。如果BL=4,那么也就是說一次就傳送4×64bit的數據。但是,如果其中的第二筆數據是不需要的,怎么辦?還都傳輸嗎?為了屏蔽不需要的數據,人們采用了數據掩碼(Data I/O Mask,簡稱DQM)技術。通過DQM,內存可以控制I/O端口取消哪些輸出或輸入的數據。這里需要強調的是,在讀取時,被屏蔽的數據仍然會從存儲體傳出,只是在“掩碼邏輯單元”處被屏蔽。DQM由北橋控制,為了精確屏蔽一個P-Bank位寬中的每個字節,每個DIMM有8個DQM 信號線,每個信號針對一個字節。這樣,對于4bit位寬芯片,兩個芯片共用一個DQM信號線,對于8bit位寬芯片,一個芯片占用一個DQM信號,而對于 16bit位寬芯片,則需要兩個DQM引腳。

在數據讀取完之后,為了騰出讀出放大器以供同一Bank內其他行的尋址并傳輸數據,內存芯片將進行預充電的操作來關閉當前工作行。還是以上面那個Bank示意圖為例。當前尋址的存儲單元是B1、R2、C6。如果接下來的尋址命令是B1、R2、C4,則不用預充電,因為讀出放大器正在為這一行服務。但如果地址命令是B1、R4、C4,由于是同一Bank的不同行,那么就必須要先把R2關閉,才能對R4尋址。從開始關閉現有的工作行,到可以打開新的工作行之間的間隔就是tRP(Row Precharge command Period,行預充電有效周期),單位也是時鐘周期數。

8、ODT

ODT是內建核心的終結電阻,它的功能是讓一些信號在終結電阻處消耗完,防止這些信號在電路上形成反射。換句話說就是在片內設置合適的上下拉電阻,以獲得更好的信號完整性。被ODT校準的信號包括:

DQ, DQS, DQS# and DM for x4 configuration

DQ, DQS, DQS#, DM, TDQS and TDQS# for X8 configuration

DQU, DQL, DQSU, DQSU#, DQSL, DQSL#, DMU and DML for X16 configuration

當一個CPU掛了很多個DDR芯片的時候,他們是共用控制線,地址線的,走線肯定要分叉,如果沒有中端匹配電阻,肯定會產生信號完整性問題。那么如果只有一個DDR芯片的時候,需不需要呢?正常情況下,走線很短,有符合規則,是不需要的。

8c7e8372-238c-11ee-962d-dac502259ad0.png

8c9b9f34-238c-11ee-962d-dac502259ad0.png

下圖是DDR中的IO上下拉電阻,RON是DDR的輸出結構的上下拉電阻,RTT是DDR輸入結構的上下拉電阻。這兩個電阻的阻值都是可調的。

下圖是RON的調節,注意這不是ODT的任務,調節是通過寄存器實現。

8cbcf8e6-238c-11ee-962d-dac502259ad0.png

下圖是RTT的調節,是ODT要做的事情,而且RTT的檔位要多,也是通過寄存器調節的。

8cf4ba6a-238c-11ee-962d-dac502259ad0.png

注意,DDR3的PIN定義上有一個引腳是ODT,如果ODT=0,DRAM Termination State功能關閉;ODT=1,DRAM Termination State的功能參考寄存器設置。如下是一個真值表。因為DRAM Termination State非常耗電,所以不用的時候最好不要打開。

8d3ae878-238c-11ee-962d-dac502259ad0.png

9、DDR3的ZQ

ZQ信號在DDR3時代開始引入,要求在ZQ引腳放置一個240Ω±1%的高精度電阻到地,注意必須是高精度。而且這個電阻是必須的,不能省略的。進行ODT時,是以這個引腳上的阻值為參考來進行校準的。

校準需要調整內部電阻,以獲得更好的信號完整性,但是內部電阻隨著溫度會有些細微的變化,為了將這個變化糾正回來,就需要一個外部的精確電阻作為參考。詳細來講,就是為RTT和RON提供參考電阻。

10、OCD

OCD 是在 DDR-II 開始加入的新功能,而且這個功能是可選的,有的資料上面又叫離線驅動調整。OCD的主要作用在于調整 I/O 接口端的電壓,來補償上拉與下拉電阻值, 從而調整DQS 與 DQ 之間的同步確保信號的完整與可靠性。調校期間,分別測試 DQS 高電平和 DQ高電平,以及 DQS 低電平和 DQ 高電平的同步情況。

如果不滿足要求,則通過設定突發長度的地址線來傳送上拉 / 下拉電阻等級(加一檔或減一檔),直到測試合格才退出OCD操作,通過OCD操作來減少 DQ 、 DQS的傾斜從而提高信號的完整性及控制電壓來提高信號品質。由于在一般情況下對應用環境穩定程度要求并不太高,只要存在差分DQS時就基本可以保證同步的準確性, 而且OCD的調整對其他操作也有一定影響, 因此OCD功能在普通臺式機上并沒有什么作用,其優點主要體現在對數據完整性非常敏感的服務器等高端產品領域。

8d61364a-238c-11ee-962d-dac502259ad0.png

DDR3的PIN定義

下面是三星K4B4G0446Q/K4B4G0846Q的PIN定義,每一個都有很詳細的解釋。

8d9bb00e-238c-11ee-962d-dac502259ad0.png

以x8的配置為例,如下是其Ball Map。

8dd1cc8e-238c-11ee-962d-dac502259ad0.png

一對時鐘線CK和CKn

數據線DQ0~DQ7共8位

一對差分對DQS和DQSn

地址線A0~A15,其中,A10和A12有特殊用途

行選中信號RASn

列選中信號CASn

寫使能Wen

片選CSn

Bank選擇BA0~2

一個Reset信號,是DDR3新增的一項重要功能,并為此專門準備了一個引腳。這一引腳將使DDR3的初始化處理變得簡單。當Reset命令有效時,DDR3 內存將停止所有的操作,并切換至最少量活動的狀態,以節約電力。在Reset期間,DDR3內存將關閉內在的大部分功能,所有數據接收與發送器都將關閉,且所有內部的程序裝置將復位,DLL(延遲鎖相環路)與時鐘電路將停止工作,甚至不理睬數據總線上的任何動靜。這樣一來,該功能將使DDR3達到最節省電力的目的。

ZQ和ODT PIN上文已經說明。

DDR的走線規則

DDR的信號線需要分組:

數據線一組(DQ,DQS,DQM),誤差控制在20mil以內;

控制線一組(Address,控制線,時鐘),以時鐘為中心,誤差控制在100mil以內。

今天分享DDR相關知識。

什么是DDR

DDR是Double Data Rate的縮寫,即“雙倍速率同步動態隨機存儲器”。DDR是一種技術,中國大陸工程師習慣用DDR稱呼用了DDR技術的SDRAM,而在中國臺灣以及歐美,工程師習慣用DRAM來稱呼。

DDR的核心要義是在一個時鐘周期內,上升沿和下降沿都做一次數據采樣,這樣400MHz的主頻可以實現800Mbps的數據傳輸速率。

每一代DDR的基本區別

8b47a77c-238c-11ee-962d-dac502259ad0.png

(可點擊圖片放大查看)

關鍵技術解釋

1、VTT

VTT為DDR的地址線,控制線等信號提供上拉電源,上拉電阻是50Ω左右。VTT=1/2VDDQ,并且VTT要跟隨VDDQ,因此需要專用的電源同時提供VDDQ和VTT。例如芯片TPS51206DSQT,LP2996。用專門的電源芯片,還有一個重要的原因,在Fly-by的拓撲中,VTT提供電流,增強DDR信號線的驅動能力。

DDR的接收器是一個比較器,其中一端是VREF,另一端是信號,例如地址線A2在有VTT上拉的時候,A2的信號在0和1.8V間跳動,當A2電壓高于VTT時,電流流向VTT。當A2低于VTT時,VTT流向DDR。因此VTT需要有提供電流和吸收電流的能力,一般的開關電源不能作為VTT的提供者。此外,VTT電源相當于DDR接收器信號輸入端的直流偏執,且這個偏執等于VREF,因此VTT的噪聲要越小越好,否則當A2的狀態為高阻態時,DDR接收器的比較器容易產生誤觸發。

上文說過,VTT相當于DDR接收器的直流偏執,其實如果沒有VTT,這個直流偏執也存在,它在芯片的內部,提供電流的能力很弱。如果只有1個或2個DDR芯片,走Fly-by拓撲,那么不需要外部的VTT上拉。如果有2個以上的DDR芯片,則一定需要VTT上拉。

2、Prefetch

Prefetch字面意思就是預存取,每一代的DDR預存取大小不同,詳見第2章中表格。以DDR3為例,它的Prefetch=8n,相當于DDR的每一個IO都有一個寬度為8的buffer,從IO進來8個數據后,在第8個數據進來后,才把這8個數據一次性的寫入DDR內部的存儲單元。下圖是一個形象的解釋,同時我們關注一下幾個速率。DDR3的時鐘是800MHz,Data Rate是1600Mbps,由于這個Buffer的存在,DDR內部的時鐘只需要200MHz就可以了(注意DDR內部不是雙比特翻轉采樣)。

8b89e466-238c-11ee-962d-dac502259ad0.png

我們來做一個頻率對照表,如下:

8ba0e1a2-238c-11ee-962d-dac502259ad0.png

DDR內部的最小存儲單元(1bit)是一個晶體管+一個電容,電容會放電,需要不斷的“刷新”(充電)才能保持正常的工作狀態,由于電容充放電需要時間,DDR內部的頻率受限于此,很難提高,目前技術一般在100~200MHz。因此需要用Prefetch技術來提內部數據高吞吐率(其實就是串并轉換原理)。Prefetch位寬的提高,是DDR2,3,4非常顯著的變化。

第一段提到,對于DDR3,在第8個數據進來后,FIFO滿了,然后才把這8個數據一次性的寫入DDR內部的存儲單元,那么必須要求DDR的內部時鐘和外部時鐘有一定的約束關系,FIFO滿的時候一定是以DQS下降沿采樣結束的,數據手冊中對DQS的下降沿與clk有一個建立時間和保持時間的約束要求的目的原來是這樣。

3、SSTL

SSTL(Stub Series Terminated Logic)接口標準也是JEDEC所認可的標準之一。該標準專門針對高速內存(特別是SDRAM)接口。SSTL規定了開關特點和特殊的端接方案。

SSTL標準規定了IC供電,IO的DC和AC輸入輸出門限,差分信號門限,Vref電壓等。SSTL_3是3.3V標準,SSTL_2是2.5V標準,SSTL_18是1.8V標準,SSTL_15是1.5V。

SSTL最大的特點是需要終端匹配電阻,也叫終端終結電阻,上拉到VTT(1/2VDDQ)。這個短接電阻最大的作用是為了信號完整性,特別是在1拖多的Fly-by走線拓撲下,還能增強驅動能力。

8bc07abc-238c-11ee-962d-dac502259ad0.png

4、Bank

以下圖為例,一個Bank中包含若干個Array,Array相當于一個表單,選中“行地址”和“列地址”后,表單中的一個單元格就被選中,這個單元格就是一個bit。Bank中的所有Array的行地址是連在一起的,列地址也是。那么選中“行地址”和“列地址”后,將一起選中所有Array的bit。有多少個array,就有多少個bit被選中。以DDR3為例,Data線寬度是32,prefetch是8,那么Array就有32x8=256.內部一次操作會選中256bit的數據。

8bdc756e-238c-11ee-962d-dac502259ad0.png

Bank數量越多,需要的Bank選擇線越多,DDR3有8個bank,需要3個BA信號BA0~2。BA,行地址,列地址共同組成了存儲單元的訪問地址,缺一不可。

5、DDR的容量計算

下圖是DDR3 1Gb的尋址配置,以其中128Mbx8為例說明,其中x8表示IO數據(DQ)位寬度。

8bfa6650-238c-11ee-962d-dac502259ad0.png

8c2c5624-238c-11ee-962d-dac502259ad0.png

8c42d534-238c-11ee-962d-dac502259ad0.png

我的理解是,這個page size更像是邏輯上的一個頁,并不是一個bank中,一行的所有bit,因為一行的所有bit要考慮prefetch寬度。

上表是JESD-3D中的表格,Row Address和Column Address都是真實需要尋址的地址,其他用途的地址比如A10,A12或者A11等并沒有計算在內。在計算時,不要因為有A13,就認為Column Address就是A0~A13。

6、Burst

Burst字面意思是突發,DDR的訪問都是以突發的方式連續訪問同一行的相鄰幾個單元。進行Brust時,需要有幾個參數:

Burst Length:一次突發訪問幾個列地址。

Read/Write: 是讀還是寫

Starting Column:從哪一列開始Burst

Burst:突發的順序。

下圖是DDR3中突發類型和順序,Burst是通過A12/BC#選擇的。但對于DDR,DDR2和DDR4,不一定就是通過A12/BC#,詳見PIN定義章節。

8c58baa2-238c-11ee-962d-dac502259ad0.png

7、DDR的tRDC,CL,tAC

在實際工作中,Bank地址與相應的行地址是同時發出的,此時這個命令稱之為“行激活”(Row Active)。在此之后,將發送列地址尋址命令與具體的操作命令(是讀還是寫),這兩個命令也是同時發出的,所以一般都會以“讀/寫命令”來表示列尋址。

根據相關的標準,從行有效到讀/寫命令發出之間的間隔被定義為tRCD,即RAS to CAS Delay(RAS至CAS延遲,RAS就是行地址選通脈沖,CAS就是列地址選通脈沖),我們可以理解為行選通周期。tRCD是DDR的一個重要時序參數,廣義的tRCD以時鐘周期(tCK,Clock Time)數為單位,比如tRCD=3,就代表延遲周期為兩個時鐘周期,具體到確切的時間,則要根據時鐘頻率而定,DDR3-800,tRCD=3,代表30ns的延遲。

接下來,相關的列地址被選中之后,將會觸發數據傳輸,但從存儲單元中輸出到真正出現在內存芯片的 I/O 接口之間還需要一定的時間(數據觸發本身就有延遲,而且還需要進行信號放大),這段時間就是非常著名的 CL(CAS Latency,列地址脈沖選通潛伏期)。CL 的數值與 tRCD 一樣,以時鐘周期數表示。如 DDR3-800,時鐘頻率為 100MHz,時鐘周期為 10ns,如果 CL=2 就意味著 20ns 的潛伏期。不過CL只是針對讀取操作。

由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經過放大來保證其有效的識別性,這個放大/驅動工作由S-AMP負責,一個存儲體對應一個S- AMP通道。但它要有一個準備時間才能保證信號的發送強度(事前還要進行電壓比較以進行邏輯電平的判斷),因此從數據I/O總線上有數據輸出之前的一個時鐘上升沿開始,數據即已傳向S-AMP,也就是說此時數據已經被觸發,經過一定的驅動時間最終傳向數據I/O總線進行輸出,這段時間我們稱之為 tAC(Access Time from CLK,時鐘觸發后的訪問時間)。

目前內存的讀寫基本都是連續的,因為與CPU交換的數據量以一個Cache Line(即CPU內Cache的存儲單位)的容量為準,一般為64字節。而現有的Rank位寬為8字節(64bit),那么就要一次連續傳輸8次,這就涉及到我們也經常能遇到的突發傳輸的概念。突發(Burst)是指在同一行中相鄰的存儲單元連續進行數據傳輸的方式,連續傳輸的周期數就是突發長度(Burst Lengths,簡稱BL)。

在進行突發傳輸時,只要指定起始列地址與突發長度,內存就會依次地自動對后面相應數量的存儲單元進行讀/寫操作而不再需要控制器連續地提供列地址。這樣,除了第一筆數據的傳輸需要若干個周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個數據只需一個周期的即可獲得。

突發連續讀取模式:只要指定起始列地址與突發長度,后續的尋址與數據的讀取自動進行,而只要控制好兩段突發讀取命令的間隔周期(與BL相同)即可做到連續的突發傳輸。

談到了突發長度時。如果BL=4,那么也就是說一次就傳送4×64bit的數據。但是,如果其中的第二筆數據是不需要的,怎么辦?還都傳輸嗎?為了屏蔽不需要的數據,人們采用了數據掩碼(Data I/O Mask,簡稱DQM)技術。通過DQM,內存可以控制I/O端口取消哪些輸出或輸入的數據。這里需要強調的是,在讀取時,被屏蔽的數據仍然會從存儲體傳出,只是在“掩碼邏輯單元”處被屏蔽。DQM由北橋控制,為了精確屏蔽一個P-Bank位寬中的每個字節,每個DIMM有8個DQM 信號線,每個信號針對一個字節。這樣,對于4bit位寬芯片,兩個芯片共用一個DQM信號線,對于8bit位寬芯片,一個芯片占用一個DQM信號,而對于 16bit位寬芯片,則需要兩個DQM引腳。

在數據讀取完之后,為了騰出讀出放大器以供同一Bank內其他行的尋址并傳輸數據,內存芯片將進行預充電的操作來關閉當前工作行。還是以上面那個Bank示意圖為例。當前尋址的存儲單元是B1、R2、C6。如果接下來的尋址命令是B1、R2、C4,則不用預充電,因為讀出放大器正在為這一行服務。但如果地址命令是B1、R4、C4,由于是同一Bank的不同行,那么就必須要先把R2關閉,才能對R4尋址。從開始關閉現有的工作行,到可以打開新的工作行之間的間隔就是tRP(Row Precharge command Period,行預充電有效周期),單位也是時鐘周期數。

8、ODT

ODT是內建核心的終結電阻,它的功能是讓一些信號在終結電阻處消耗完,防止這些信號在電路上形成反射。換句話說就是在片內設置合適的上下拉電阻,以獲得更好的信號完整性。被ODT校準的信號包括:

DQ, DQS, DQS# and DM for x4 configuration

DQ, DQS, DQS#, DM, TDQS and TDQS# for X8 configuration

DQU, DQL, DQSU, DQSU#, DQSL, DQSL#, DMU and DML for X16 configuration

當一個CPU掛了很多個DDR芯片的時候,他們是共用控制線,地址線的,走線肯定要分叉,如果沒有中端匹配電阻,肯定會產生信號完整性問題。那么如果只有一個DDR芯片的時候,需不需要呢?正常情況下,走線很短,有符合規則,是不需要的。

8c7e8372-238c-11ee-962d-dac502259ad0.png

8c9b9f34-238c-11ee-962d-dac502259ad0.png

下圖是DDR中的IO上下拉電阻,RON是DDR的輸出結構的上下拉電阻,RTT是DDR輸入結構的上下拉電阻。這兩個電阻的阻值都是可調的。

下圖是RON的調節,注意這不是ODT的任務,調節是通過寄存器實現。

8cbcf8e6-238c-11ee-962d-dac502259ad0.png

下圖是RTT的調節,是ODT要做的事情,而且RTT的檔位要多,也是通過寄存器調節的。

8cf4ba6a-238c-11ee-962d-dac502259ad0.png

注意,DDR3的PIN定義上有一個引腳是ODT,如果ODT=0,DRAM Termination State功能關閉;ODT=1,DRAM Termination State的功能參考寄存器設置。如下是一個真值表。因為DRAM Termination State非常耗電,所以不用的時候最好不要打開。

8d3ae878-238c-11ee-962d-dac502259ad0.png

9、DDR3的ZQ

ZQ信號在DDR3時代開始引入,要求在ZQ引腳放置一個240Ω±1%的高精度電阻到地,注意必須是高精度。而且這個電阻是必須的,不能省略的。進行ODT時,是以這個引腳上的阻值為參考來進行校準的。

校準需要調整內部電阻,以獲得更好的信號完整性,但是內部電阻隨著溫度會有些細微的變化,為了將這個變化糾正回來,就需要一個外部的精確電阻作為參考。詳細來講,就是為RTT和RON提供參考電阻。

10、OCD

OCD 是在 DDR-II 開始加入的新功能,而且這個功能是可選的,有的資料上面又叫離線驅動調整。OCD的主要作用在于調整 I/O 接口端的電壓,來補償上拉與下拉電阻值, 從而調整DQS 與 DQ 之間的同步確保信號的完整與可靠性。調校期間,分別測試 DQS 高電平和 DQ高電平,以及 DQS 低電平和 DQ 高電平的同步情況。

如果不滿足要求,則通過設定突發長度的地址線來傳送上拉 / 下拉電阻等級(加一檔或減一檔),直到測試合格才退出OCD操作,通過OCD操作來減少 DQ 、 DQS的傾斜從而提高信號的完整性及控制電壓來提高信號品質。由于在一般情況下對應用環境穩定程度要求并不太高,只要存在差分DQS時就基本可以保證同步的準確性, 而且OCD的調整對其他操作也有一定影響, 因此OCD功能在普通臺式機上并沒有什么作用,其優點主要體現在對數據完整性非常敏感的服務器等高端產品領域。

8d61364a-238c-11ee-962d-dac502259ad0.png

DDR3的PIN定義

下面是三星K4B4G0446Q/K4B4G0846Q的PIN定義,每一個都有很詳細的解釋。

8d9bb00e-238c-11ee-962d-dac502259ad0.png

以x8的配置為例,如下是其Ball Map。

8dd1cc8e-238c-11ee-962d-dac502259ad0.png

一對時鐘線CK和CKn

數據線DQ0~DQ7共8位

一對差分對DQS和DQSn

地址線A0~A15,其中,A10和A12有特殊用途

行選中信號RASn

列選中信號CASn

寫使能Wen

片選CSn

Bank選擇BA0~2

一個Reset信號,是DDR3新增的一項重要功能,并為此專門準備了一個引腳。這一引腳將使DDR3的初始化處理變得簡單。當Reset命令有效時,DDR3 內存將停止所有的操作,并切換至最少量活動的狀態,以節約電力。在Reset期間,DDR3內存將關閉內在的大部分功能,所有數據接收與發送器都將關閉,且所有內部的程序裝置將復位,DLL(延遲鎖相環路)與時鐘電路將停止工作,甚至不理睬數據總線上的任何動靜。這樣一來,該功能將使DDR3達到最節省電力的目的。

ZQ和ODT PIN上文已經說明。

DDR的走線規則

DDR的信號線需要分組:

數據線一組(DQ,DQS,DQM),誤差控制在20mil以內;

控制線一組(Address,控制線,時鐘),以時鐘為中心,誤差控制在100mil以內。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據傳輸
    +關注

    關注

    9

    文章

    1550

    瀏覽量

    63656
  • 比較器
    +關注

    關注

    14

    文章

    1533

    瀏覽量

    106535
  • DDR
    DDR
    +關注

    關注

    10

    文章

    683

    瀏覽量

    64357

原文標題:DDR、DDR2、DDR3、DDR4、LPDDR的區別

文章出處:【微信號:gh_a6560e9c41d7,微信公眾號:硬件筆記本】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    DDR、DDR2、DDR3、DDR4、LPDDR區別

    DDR是Double Data Rate的縮寫,即“雙比特翻轉”。DDR是一種技術,中國大陸工程師習慣用DDR稱呼用了DDR技術的SDRAM,而在中國臺灣以及歐美,工程師習慣用DRAM
    發表于 11-28 09:17 ?6834次閱讀

    你知道DDR2DDR3區別嗎?

    、DDR2DDR3內存的特性區別:  1、邏輯Bank數量  DDR2 SDRAM中有4Bank和8Bank的設計,目的就是為了應對未來大
    發表于 12-13 11:29

    【小知識分享】SDR/DDR1/DDR2/DDR3的接口區別

    DDR3的頻率就是外頻的8倍 133=1066DDR2DDR3區別內存相對于DDR2內存,其實只是規格上的提高,并沒有真正的全面換代的
    發表于 12-30 14:35

    DDR4,DDR3,DDR2,DDR1及SDRAM有什么不同之處?

    DDR4,DDR3,DDR2,DDR1及SDRAM有什么不同之處?
    發表于 03-12 06:22

    淺析DDR,DDR2,DDR3,DDR4,LPDDR區別

    DDR,DDR2,DDR3,DDR4,LPDDR區別文所有權歸作者Aircity所有1什么是DD
    發表于 09-14 09:04

    DR2DDR有哪些區別?DDR3DDR2區別是什么?

    DR2DDR有哪些區別?DDR3DDR2區別是什么?
    發表于 10-26 06:15

    DDRDDR2 DDR3 區別在那里

    總結了DDRDDR2,DDR3三者的區別,對于初學者有很大的幫助
    發表于 11-10 17:05 ?36次下載

    ddr3ddr4的差異對比

    DDR4提供比DDR3/ DDR2更低的供電電壓1.2V以及更高的帶寬,DDR4的傳輸速率目前可達2133~3200MT/s。DDR4 新增
    的頭像 發表于 11-07 10:48 ?5.3w次閱讀
    <b class='flag-5'>ddr3</b>及<b class='flag-5'>ddr4</b>的差異對比

    ddr4ddr3內存的區別,可以通用嗎

    雖然新一代電腦/智能手機用上了DDR4內存,但以往的產品大多還是用的DDR3內存,因此DDR3依舊是主流,DDR4今后將逐漸取代DDR3,成
    發表于 11-08 15:42 ?3.1w次閱讀

    SDRAM,DDR3,DDR2,DDR4,DDR1的區別對比及其特點分析

    SDRAM):DDR4提供比DDR3/ DDR2更低的供電電壓1.2V以及更高的帶寬,DDR4的傳輸速率目前可達2133~3200 MT/s。
    發表于 11-17 13:15 ?2.6w次閱讀

    DDRDDR2DDR3的設計資料總結

    本文檔的主要內容詳細介紹的是DDRDDR2DDR3的設計資料總結包括了:一、DDR的布線分析與設計,二、DDR電路的信號完整性,三、
    發表于 05-29 08:00 ?0次下載
    <b class='flag-5'>DDR</b>和<b class='flag-5'>DDR2</b>與<b class='flag-5'>DDR3</b>的設計資料總結

    DDR,DDR2,DDR3,DDR4,LPDDR區別

    DDR,DDR2,DDR3,DDR4,LPDDR區別作者:AirCity 2019.12.17
    發表于 11-10 09:51 ?159次下載
    <b class='flag-5'>DDR</b>,<b class='flag-5'>DDR2</b>,<b class='flag-5'>DDR3</b>,<b class='flag-5'>DDR4</b>,<b class='flag-5'>LPDDR</b><b class='flag-5'>區別</b>

    DDR、DDR2、DDR3、DDR4、LPDDR區別

    SDRAM在一一個時鐘周期內只傳輸一次數據,它是在時鐘的上升期進行數據傳輸;而DDR內存則是-一個時鐘周期內傳輸兩次次數據,它能夠在時鐘的上升期和下降期各傳輸一次數據。
    發表于 01-13 16:25 ?8次下載

    DDR4DDR3內存都有哪些區別?

    DDR4DDR3內存都有哪些區別? 隨著計算機的日益發展,內存也越來越重要。DDR3DDR4是兩種用于計算機內存的標準。隨著
    的頭像 發表于 10-30 09:22 ?6047次閱讀

    全套DDR、DDR2、DDR3、DDR3L、LPDDR3 和 DDR4 電源解決方案同步降壓控制器數據表

    電子發燒友網站提供《全套DDR、DDR2、DDR3、DDR3L、LPDDR3 和 DDR4 電源
    發表于 04-09 09:51 ?5次下載
    全套<b class='flag-5'>DDR</b>、<b class='flag-5'>DDR2</b>、<b class='flag-5'>DDR3</b>、<b class='flag-5'>DDR</b>3L、<b class='flag-5'>LPDDR</b>3 和 <b class='flag-5'>DDR4</b> 電源解決方案同步降壓控制器數據表
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>