譯文: DDR4 SDRAM - Understanding the Basics(下)

2021-03-02 摸魚範式

譯文作者:ljgibbs

知乎連結:https://zhuanlan.zhihu.com/p/262052220

一文了解 DDR4 的基礎知識。

原文地址:https://www.systemverilog.io/ddr4-basics#dram-sub-system

申請翻譯授權中,如有侵權,將會刪除

存儲訪問 Accessing MemoryDDR4 的讀寫訪問都基於 Burst 形式(譯註:Burst 一般譯作突發傳輸或者猝發傳輸)。突發傳輸起始時,由用戶指定傳輸的起始地址,以及本次傳輸的長度,在 DDR4 中這個長度為 8 或者 4,後者是一個 chopped 的傳輸。(譯註:chopped burst ,即提利昂·蘭尼斯特式短小的傳輸)讀寫操作分為兩個階段,以 ACTIVATE 激活命令(保持一個周期的 ACT_n & CS_n 低電平信號)開始,其後是具體的讀或者寫命令。與激活命令同時發出的地址信號,用於確定所需激活的 BankGroup,Bank,Row,這項步驟稱為 RAS 階段,Row Address Strobe。而在第二階段,與讀寫命令同步發出的地址信號用於確定突發傳輸的起始列地址。這項步驟稱為 CAS 階段,Column Address Strobe。由於單個 Bank 只有一個 Sense Amps,只能緩存單個行的內容。因此在激活某行後,訪問同一 Bank 不同行之前,需要使用 PRECHARGE 命令關閉(de-activate)當前激活行。PRECHARGE 命令好比關上當前打開的文件櫃抽屜,命令發出後當前 Sense Amps 中緩存的行會被寫回原地址。相較於直接使用 PRECHARGE 命令關閉某個行,也可以使用 RDA (Read with Auto-Precharge)或者 WRA (Write with Auto-Precharge)命令,在當前傳輸結束後自動關閉當前行。因為列地址只需要使用 A0-A9 10bit,因此 CAS 階段使用 A10 比特表示當前是否啟用自動關閉(Auto-Precharge)。命令真值表 Command Truth Table

至今為止,我們一直在使用 」命令「 (Command)這一說法,激活命令,讀寫命令等等。但在本文開始的時候,我們並沒有提到 DRAM 有"命令" IO,那麼這些命令都是如何通過 IO 發送給 DRAM 的呢?

事實上,DRAM 使用 ACT_n, RAS_n, CAS_n & WE_n ,這幾個信號 IO 的組合來發出命令。

表-部分命令的真值表

上表是 DRAM 部分命令的子集,完整的命令真值表可以在 JEDEC 標準 JESD79-4B 4.1 節中獲得。

讀命令 Read圖-8 讀命令操作

上圖是讀命令的時序圖,此時突發傳輸長度為 8,稱為 BL8。

第一步是 ACT 命令,當時在地址總線上的是 row 地址第二步發出了 RDA 命令,此時地址總線上為 column 地址RDA 命令指示 DRAM 在讀操作完成後自動關閉當前 Bank寫命令 Write圖-9 寫命令操作

上圖是寫命令的時序圖。

第二步發出了寫命令,第一次突發傳輸寫入 COL 起始的地址中,第二次突發傳輸寫入 COL+ 8 地址第二次突發傳輸之前無需再發出 ACT 命令,因此所操作的 ROW 行此前已經被打開,數據緩存於 Sense Amps 中此外,第一次發出的是純粹的 WR 命令,所以傳輸結束後,該行仍處於激活狀態。第二次發出的是具有自動關閉功能的 WRA 命令,因此在傳輸結束後自動關閉了該行。

[備註:本文對一些內容並沒有做出詳細的解釋,比如 A16&A15&A14 這些具有復用功能的地址信號中,自動關閉功能通過 A10發出,而 A12 則用於選擇突發傳輸的長度:4/8, 如果模式寄存器中相應的配置位使能的話]

DRAM 子系統 DRAM sub-system

在前面的章節中,我們已經討論了很多關於 DRAM 本身的內容,在本節中,我們將討論 ASIC 或者 FPGA 與 DRAM 通信時所需的系統組件,由 3 部分組成:

DDR Controller(譯註:一般簡稱為 MC,即 Memory Controller)圖-10 DRAM 子系統組成

上圖中的信息量很大,讓我們一點點拉扯來看:

一般來說,DRAM 是一個焊接在 PCB 上的獨立晶片,而 PHY 與 MC 則是 FPGA 或者 ASIC 用戶邏輯的一部分用戶邏輯與 MC 之間的接口是由用戶定義的,並沒有被標準化用戶邏輯向 MC 發出讀寫命令時,其中的地址使用的是邏輯地址MC 再將邏輯地址轉換為物理地址,將用戶邏輯的命令轉換後向 PHY 發出MC 與 PHY 之間採用標準化接口進行通信,一般為 DFI (DDR PHY Interface),DFI 標準可從以下連結得到 http://www.ddr-phy.org/PHY 將 MC 的命令轉換為具體的底層信號,驅動 DRAM 的物理 IO 接口PHY 與 DRAM 之間的接口由 JEDEC 標準化

由此看來,MC 好比是讀寫 DDR 的大腦,而 PHY 則是做出反應的肌肉

當用戶激活一行時,整個行被緩存至 Sense Amps 中。後續用戶對該緩存行讀寫的代價會相對較低,因為可以省略第一階段的激活命令。MC 一般可以對訪問 DRAM 的請求進行重排序,來高效地利用行緩存機制。為了實現重排序,MC 一般具有一小塊 cache 或者 TCAM,並始終返回最新的數據(譯註:and always returns the lastest data 這裡沒有搞懂)。所以用戶邏輯無需擔心數據丟失或者衝突,因為控制器會負責重排序功能PHY 中包括了模擬電路的部分,用於驅動 DRAM 的 IO。並負責調整寄存器以增大驅動能力或者調節端接電阻,以提高信號完整性言而總之 In a netshell

讓我們最後總結下本文:

DRAM 以 Bank Groups Bank Row Columns 的形式組織用戶發出的地址稱為邏輯地址,由 DRAM 控制器轉換為物理地址後發送給 DRAMDRAM 根據其 DQ 數據總線寬度,劃分為 x4、x8 以及 x16 三類可以通過 depth/width 串聯多個 DRAM 顆粒實現所需的大小讀寫命令分為兩個階段進行,第一步激活某行,第二步讀寫該行DRAM 子系統由 DRAM 顆粒、PHY 以及 控制器三部分組成

天若有情天亦老,點個在看好不好

相關焦點

  • DDR3 SDRAM的硬體及PCB設計與要點分析
    如圖,DDR3 sdram晶片原理上簡單得很,就幾個注意點:a.DATA bus--一般都多片拼接,數據線從0往後數,這裡位寬32bits【DQ0~DQ31】,實際更據您需要的容量而定;b.Addr這個腳應該連接240ohm電阻到VSSQ    2.pcb設計,也上說明:關鍵要點:0.布局合理,2片ddr晶片與cpu晶片保持同等距離,且需要預留繞線空間,便於走線等長處理,圖中
  • Memorandum of understanding
    China and Italy signed a memorandum of understanding (MOU) on intellectual property" in 2004, aiming to boost a better understanding of Italy and its people."
  • 從靜態時序分析到SDRAM時序收斂(上篇)
    小墨在做SDRAM時序約束的時候深有體會,即使我們老老實實的按照時序計算公式將延時計算出來添加到工程中去,時序報告也顯示時序收斂並且也幾乎達到了建立保持時間的平衡狀態,前後仿真也沒什麼問題,以為一切就緒了,但是下板後就是跑不起來,最後我還是改動了一下約束參數,有時候甚至改動幅度與計算幅度相比較大,當然還是在保證時序收斂的情況下,下板之後竟然跑起來了,可能是我第一次接觸時序這個高大上的概念
  • 答題|從fail到pass,DDR調試到底經歷了什麼?
    @ 山水江南評分:3分嚴重吐槽freescale的ddr模塊,裡面的數據組延時補償是固定的,出貨前要寫死的,不能隨環境調整的。表揚TI的ddr模塊,他家的數據組延時補償可以根據每一個產品不同的工作環境,不同的溫度進行自動檢驗,重寫,自適應 @ 歐陽評分:3分解題思路: 仿真確認與實測是否匹配->仿真找到優化方向->實測確認優化效果 @ 小恐龍 評分:2分有聽說過同事的項目DDR 1600M不行,降頻到800M就能正常工作了。
  • 英語閱讀:Get a Thorough Understanding of Oneself
    But it is precisely oneself that one has the least understanding of. When you are going upwards in life you tend to overestimate yourself.
  • 每日英語:Get a thorough understanding of oneself(1)
    新東方網>英語>英語學習>口語>每日一句英語>正文每日英語:Get a thorough understanding of oneself(1) 2013-02-20 16:11 來源:恆星英語
  • (二) Understanding pet digestion
    要想模仿食肉動物在野外狀況下對食物的興奮度,這些都很重要。 牙齒——不是用來咀嚼的狗狗可以在幾秒鐘內吃下大量鮮肉和內臟,而且幾乎沒有任何不良反應。事實上,他們的消化道似乎就是為了達到這個目的而設計的。 狗狗可以保持70%的食物在胃內,30%在腸道。人類恰恰相反——30%在胃內,70%在腸道。因此人類吃得更少,更頻繁。我們只是在餵食乾糧時遇到狗或貓本能快速進食的問題,因為這些食物不是他們身體所期待的。胃是為了攝入有適當水分的飲食的。
  • UNDERSTANDING HERZBERG'S MOTIVATION THEORY
    However, his ideas on motivation in the hygiene-motivation theory are particularly useful to our understanding of what motivates people.
  • 026_青年危機吐槽樹洞(英文視頻):Understanding is Key
    In this video, I』d like to chat about understanding. In my opinion, understanding is key to achievements.
  • The 10 Basics of Business Etiquette商務禮儀的十大基本要素
    1、Arrive on Time 準時到達2、Dress Appropriately for Work 工作著裝得體3、Speak Kindly of Others 善待他人4、Avoid Gossip or Eavesdropping 避免流言蜚語或竊聽
  • Petteri Taalas: Advancing understanding of clouds and science...
    Nowadays, beautiful Polar stratospheric clouds are an indication of Arctic ozone depletion. 」「WMO is taking great efforts to improve the understanding of clouds.」 Taalas said.
  • 英語四六級美文:Get a Thorough Understanding of Oneself
    But it is precisely oneself that one has the least understanding of. When you are going upwards in life you tend to overestimate yourself.
  • 中學生英語課外閱讀:You have a thorough understanding of their...
    {"name":{"label":"姓名","placeholder":"","required":1,"formType":"text","group":"basics","name":"name","type"
  • 2018年11月英語三級筆譯試題參考譯文及解析
    來源 @翠山觀景非官方譯文,僅供參考 | 官方不發布參考譯文轉載請微信聯繫fz-yoyo
  • 2019.5.4 |考研英語每日一句(重點句式43)
    今天的句子:Given our new understanding第一句:Given our new understanding of the role of REM, if modern lifestyles really are reducing our dream time, we could be sleepwalking into a load of trouble.