日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 處芯積律


DDR3的運行全流程涵蓋了從初始化到數(shù)據(jù)讀寫,再到刷新和低功耗模式的復(fù)雜操作。本文將詳細解析DDR3內(nèi)存的運行機制,包括其基本原理、關(guān)鍵操作以及如何通過各種命令和時序控制來實現(xiàn)高效的數(shù)據(jù)處理。

通過深入了解DDR3內(nèi)存的運行全流程,我們可以更好地理解實際使用中DDR是如何工作的,并為理解DDR4/DDR5等更復(fù)雜的內(nèi)存使用提供參考。

下面是DDR3運行過程的可能的狀態(tài)轉(zhuǎn)換:

可以把這整個流程分成:初始化,動態(tài)配置更新,刷新和自刷新,讀寫數(shù)據(jù)這幾個部分。

  1. DDR3 SDRAM 初始化

DDR3 SDRAM從上電到進入空閑狀態(tài)的過程中,經(jīng)歷了一系列初始化步驟,包括上電、復(fù)位、初始化、ZQ校準(zhǔn)和空閑狀態(tài)。

Power On -> Reset Procedure -> Initialization -> ZQCL -> Idle

1). 上電(Power On)

  • DDR3 SDRAM芯片上電后,需要一段時間讓電源電壓穩(wěn)定,確保所有內(nèi)部電路都處于正常工作狀態(tài)。

  • 這一階段通常需要幾百微秒到幾毫秒的時間。

操作

  • 電源電壓逐漸上升至穩(wěn)定狀態(tài),確保所有內(nèi)部電路都處于正常工作狀態(tài)。

  • 內(nèi)存控制器監(jiān)控電源電壓,確保電壓達到規(guī)定的穩(wěn)定值。

2). 復(fù)位(Reset Procedure)

  • 復(fù)位過程用于將DDR3 SDRAM芯片恢復(fù)到已知的初始狀態(tài),確保所有內(nèi)部寄存器和狀態(tài)機都處于默認(rèn)狀態(tài)。

  • 這一階段通常需要幾百納秒到幾微秒的時間。

操作

  • 內(nèi)存控制器發(fā)送復(fù)位命令(Reset Command)。

  • 內(nèi)存芯片接收到復(fù)位命令后,內(nèi)部狀態(tài)機重置,所有寄存器和配置回到默認(rèn)狀態(tài)。

3). 初始化(Initialization)

  • 初始化過程用于配置DDR3 SDRAM芯片的各種參數(shù),使其準(zhǔn)備好進行正常操作。

  • 這一階段包括預(yù)置操作、模式寄存器設(shè)置(MRS)等步驟。

  • 預(yù)置操作(Precharge All):將所有內(nèi)存行預(yù)置為未激活狀態(tài)。

    • 操作:內(nèi)存控制器發(fā)送Precharge All命令,使所有內(nèi)存行處于未激活狀態(tài)。

  • 模式寄存器設(shè)置(Mode Register Set, MRS)::配置DDR3 SDRAM的初始工作模式,包括時序參數(shù)、突發(fā)長度、自刷新周期等。

    • 操作:內(nèi)存控制器發(fā)送MRS命令,配置內(nèi)存芯片的初始工作模式。

4). ZQ校準(zhǔn)(ZQ Calibration, ZQCL)

  • ZQ校準(zhǔn)用于確保DDR3 SDRAM芯片的輸出驅(qū)動器阻抗與標(biāo)準(zhǔn)阻抗匹配,減少信號反射和噪聲。

  • 這一階段包括ZQ校準(zhǔn)長(ZQCL)和ZQ校準(zhǔn)短(ZQCS)兩種模式。

  • ZQ校準(zhǔn)長(ZQCL):通過外部240Ω標(biāo)準(zhǔn)電阻進行阻抗匹配校準(zhǔn)。

    • 操作:內(nèi)存控制器發(fā)送ZQCL命令,啟動阻抗匹配校準(zhǔn)過程。內(nèi)存芯片通過外部240Ω標(biāo)準(zhǔn)電阻進行阻抗匹配,調(diào)整內(nèi)部驅(qū)動器的阻抗。

  • ZQ校準(zhǔn)短(ZQCS):用于快速重新校準(zhǔn)阻抗匹配。

    • 操作:內(nèi)存控制器發(fā)送ZQCS命令,啟動快速阻抗匹配校準(zhǔn)過程。

5). 空閑狀態(tài)(Idle)

  • 空閑狀態(tài)是指DDR3 SDRAM芯片在完成初始化和校準(zhǔn)后,等待接收新的命令或進行數(shù)據(jù)傳輸?shù)臓顟B(tài)。

  • 在空閑狀態(tài)下,內(nèi)存芯片可以進行自刷新操作,以保持?jǐn)?shù)據(jù)的完整性。


  1. 動態(tài)配置更新

DDR3 SDRAM從空閑狀態(tài)(IDLE)到模式寄存器設(shè)置(MRS)、內(nèi)存保護寄存器(MPR)、寫入對齊(Write Leveling)再到空閑狀態(tài)(IDLE)的全流程。

IDLE->MRS、MPR、Write Leveling->IDLE

1). 模式寄存器設(shè)置(MRS)

  • 模式寄存器設(shè)置(Mode Register Set, MRS)用于配置DDR3 SDRAM的初始工作模式,包括時序參數(shù)、突發(fā)長度、自刷新周期等。

  • 這一步驟通常在初始化過程中多次執(zhí)行,以配置不同的模式寄存器。

  • 具體步驟

    • 設(shè)置基本模式寄存器(MR0):配置基本的工作模式,如突發(fā)長度、CAS延遲等。

    • 設(shè)置擴展模式寄存器(MR1):配置高級的工作模式,如溫度補償自刷新、動態(tài)刷新等。

    • 設(shè)置其他模式寄存器(MR2, MR3):配置更高級的功能,如寫入恢復(fù)時間、片內(nèi)終結(jié)等。

2). 內(nèi)存保護寄存器(MPR)

  • 內(nèi)存保護寄存器(Memory Protection Register, MPR)用于配置DDR3 SDRAM的內(nèi)存保護功能,如錯誤檢測和糾正(ECC)等。

  • 這一步驟通常在初始化過程中執(zhí)行,以確保數(shù)據(jù)的完整性和安全性。

  • 具體步驟

    • 配置MPR:配置內(nèi)存保護功能,如ECC。

3). 寫入校準(zhǔn)(Write Leveling)

  • 寫入校準(zhǔn)(Write Leveling)是一種時序校準(zhǔn)技術(shù),用于優(yōu)化寫入操作的時序。通過動態(tài)調(diào)整DQS(數(shù)據(jù)選通信號)的延遲,確保DQS信號和CK(時鐘信號)的邊沿在DRAM引腳處精確對齊,從而減少時序偏差,提高系統(tǒng)的可靠性和性能。

  • 具體步驟

    • 內(nèi)存控制器驗證校準(zhǔn)結(jié)果,確保DQS信號和CK信號的邊沿精確對齊。

    • 調(diào)整后的延遲值被存儲在內(nèi)存芯片的寄存器中。

    • 內(nèi)存芯片內(nèi)部的校準(zhǔn)電路通過比較訓(xùn)練模式數(shù)據(jù)的到達時間和預(yù)期時間,調(diào)整DQS信號的延遲。

    • 內(nèi)存控制器發(fā)送訓(xùn)練模式數(shù)據(jù),用于校準(zhǔn)DQS信號的延遲。

    • 內(nèi)存控制器發(fā)送MRS命令,啟動Write Leveling校準(zhǔn)過程。

    • 啟動Write Leveling校準(zhǔn)

    • 發(fā)送訓(xùn)練模式數(shù)據(jù)

    • 調(diào)整DQS信號的延遲

    • 存儲校準(zhǔn)結(jié)果

    • 驗證校準(zhǔn)結(jié)果

4). 返回空閑狀態(tài)(IDLE)

  • 在完成MRS、MPR和Write Leveling校準(zhǔn)后,內(nèi)存控制器使內(nèi)存芯片返回空閑狀態(tài),等待新的命令或進行數(shù)據(jù)傳輸。


3.刷新和自刷新

刷新命令(Refresh Command)和自刷新操作(Self-Refresh Operation)是兩種不同的機制,用于確保存儲器中的數(shù)據(jù)保持完整性和可靠性。

IDLE->Refreshing->IDLE

IDLE->Self Refreshing->IDLE

1). Refresh

刷新命令(Refresh Command)是DDR3 SDRAM在正常操作期間用于維持?jǐn)?shù)據(jù)完整性的一種機制。由于DRAM的特性,它需要定期刷新以保持?jǐn)?shù)據(jù)不丟失。刷新命令是非持久性的,意味著每次刷新都需要顯式地發(fā)出。在刷新周期中,所有Bank必須處于預(yù)充電狀態(tài),并且必須滿足最小預(yù)充電時間tRP(min)。刷新周期的平均周期間隔為tREFI。

特點:

  • 需要定期發(fā)出,以保持?jǐn)?shù)據(jù)不丟失。

  • 刷新周期由內(nèi)部刷新控制器控制,不需要外部地址控制。

  • 刷新命令的延遲(tRFC(min))必須在下一次有效命令之前滿足。

2). Self-Refresh

自刷新操作(Self-Refresh Operation)是一種特殊的刷新模式,允許DDR3 SDRAM在沒有外部時鐘信號的情況下保持?jǐn)?shù)據(jù)。在這種模式下,DRAM內(nèi)部的定時器負(fù)責(zé)刷新操作,這在系統(tǒng)其他部分需要關(guān)閉電源時非常有用。

特點:

  • 允許在沒有外部時鐘信號的情況下刷新內(nèi)存。

  • 進入自刷新模式需要通過特定的命令序列,包括預(yù)充電所有Bank、設(shè)置自刷新命令(SRE)等。

  • 退出自刷新模式也需要特定的命令序列,并且可能需要等待一段時間以確保內(nèi)部刷新完成。

  • 在自刷新模式下,除了CKE和RESET#之外的所有外部控制信號都是“不要關(guān)心”的狀態(tài)。

3). 兩種刷新對比

  • 應(yīng)用場景: Refresh Command適用于DDR3 SDRAM的正常操作期間,而Self-Refresh Operation適用于系統(tǒng)需要關(guān)閉電源或其他部分需要暫停時。

  • 控制方式: Refresh Command需要外部系統(tǒng)定期發(fā)出,而Self-Refresh Operation由DRAM內(nèi)部定時器控制。

  • 電源需求: Refresh Command需要外部時鐘信號,而Self-Refresh Operation可以在沒有外部時鐘信號的情況下進行。

  • 復(fù)雜性: Refresh Command相對簡單,只需定期發(fā)出即可;Self-Refresh Operation則涉及更復(fù)雜的命令序列和狀態(tài)管理。

在實際應(yīng)用中,選擇使用Refresh Command還是Self-Refresh Operation取決于具體的應(yīng)用場景和電源管理需求。例如,在需要低功耗模式的便攜設(shè)備中,Self-Refresh Operation可能更為合適,因為它允許系統(tǒng)在不完全關(guān)閉的情況下減少功耗。而在高性能計算應(yīng)用中,可能更傾向于使用Refresh Command以確保數(shù)據(jù)的實時刷新。

  1. 讀數(shù)據(jù)

在進入IDLE狀態(tài)后,就可以進行讀寫操作了。

IDLE->ACT->READ/READA->Precharge

1). 基本讀操作過程

  1. 激活命令(ACTIVE Command):

    1. 首先,需要通過ACTIVE命令激活目標(biāo)Bank,這涉及到提供BA(Bank Address)和ROW地址。

    2. 激活命令將選定的Bank和ROW置于活動狀態(tài),以便進行后續(xù)的讀或?qū)懖僮鳌?

  2. 讀命令(READ Command):

    1. 在Bank激活后,通過READ命令指定要讀取的列(COLUMN)地址。

    2. 讀命令將數(shù)據(jù)從指定的ROW和COLUMN中讀出,并準(zhǔn)備通過DQ(數(shù)據(jù))引腳輸出。

  3. 數(shù)據(jù)輸出:

    1. 讀取的數(shù)據(jù)通過DQ引腳輸出,并由DQS(數(shù)據(jù) strobe)信號進行同步。

    2. 數(shù)據(jù)輸出遵循特定的時序,包括讀 preamble、數(shù)據(jù)保持時間和postamble。

  4. 預(yù)充電命令(PRECHARGE Command):

    1. 讀操作完成后,需要通過PRECHARGE命令關(guān)閉當(dāng)前的Bank,以便進行下一次操作。

    2. 預(yù)充電命令確保所有數(shù)據(jù)傳輸完成,并準(zhǔn)備Bank進入下一次激活狀態(tài)。

2). 不同情況下的讀操作

實際情況中,讀開始的時候DDR很大可能不是處于IDLE狀態(tài),那么就需要等待其他操作處理完成,才能進行讀操作,這也會影響讀的延時。

正在進行Refresh時的讀操作:

  • 如果在Refresh操作期間接收到READ命令,必須等待當(dāng)前的Refresh周期完成。

  • 一旦Refresh周期完成,才能執(zhí)行READ命令,這可能會增加讀操作的延遲。

同一個Bank的連續(xù)讀操作:

  • 如果連續(xù)讀取同一個Bank中的數(shù)據(jù),可以省略重復(fù)的激活步驟,直接使用READ命令。

  • 這種情況下,可以利用自動預(yù)充電功能(Auto Precharge),在讀取一個數(shù)據(jù)塊后自動預(yù)充電Bank。

不同Bank之間切換的讀操作:

  • 當(dāng)需要從一個Bank切換到另一個Bank進行讀操作時,必須先預(yù)充電當(dāng)前Bank,然后激活目標(biāo)Bank。

  • 這種情況下,需要確保滿足Bank間切換所需的最小時間間隔,如tRAS(Active to Precharge Delay)。

突發(fā)長度(Burst Length)和突發(fā)類型(Burst Type):

  • 讀操作可以配置不同的突發(fā)長度(如BL4, BL8)和突發(fā)類型(如Sequential, Interleave)。

  • 突發(fā)長度和類型的選擇會影響數(shù)據(jù)的讀取順序和性能。

讀操作中的寫操作:

  • 在讀操作期間,如果需要寫入數(shù)據(jù),必須等待當(dāng)前的讀操作完成。

  • 寫操作可能需要等待特定的寫入恢復(fù)時間(tWR),以確保數(shù)據(jù)的完整性。

讀操作中的命令沖突:

  • 如果在讀操作期間接收到其他命令(如REFRESH, PRECHARGE),必須根據(jù)命令優(yōu)先級和時序要求進行處理。

  • 例如,REFRESH命令通常具有最高優(yōu)先級,必須立即執(zhí)行。


  1. 寫操作

進入IDLE狀態(tài)后就可以進行寫操作了。

IDLE->ACT->WRITE/WRITEA->Precharge

1). 基本寫操作過程

  1. 激活命令(ACTIVE Command):

    1. 首先,需要通過ACTIVE命令激活目標(biāo)Bank,這涉及到提供BA(Bank Address)和ROW地址。

    2. 激活命令將選定的Bank和ROW置于活動狀態(tài),以便進行后續(xù)的寫操作。

  2. 寫命令(WRITE Command):

    1. 在Bank激活后,通過WRITE命令指定要寫入的列(COLUMN)地址,并提供要寫入的數(shù)據(jù)。

    2. 寫命令將數(shù)據(jù)寫入到指定的ROW和COLUMN中。

  3. 數(shù)據(jù)輸入:

    1. 要寫入的數(shù)據(jù)通過DQ引腳輸入,并由DQS(數(shù)據(jù) strobe)信號進行同步。

    2. 數(shù)據(jù)輸入遵循特定的時序,包括寫 preamble、數(shù)據(jù)保持時間和postamble。

  4. 預(yù)充電命令(PRECHARGE Command):

    1. 寫操作完成后,需要通過PRECHARGE命令關(guān)閉當(dāng)前的Bank,以便進行下一次操作。

    2. 預(yù)充電命令確保所有數(shù)據(jù)傳輸完成,并準(zhǔn)備Bank進入下一次激活狀態(tài)。

2). 不同情況下的寫操作

同樣,實際情況中,寫開始的時候DDR很大可能不是處于IDLE狀態(tài),那么就需要等待其他操作處理完成,才能進行寫操作,這也會影響寫的延時。

正在進行Refresh時的寫操作:

  • 如果在Refresh操作期間接收到WRITE命令,必須等待當(dāng)前的Refresh周期完成。

  • 一旦Refresh周期完成,才能執(zhí)行WRITE命令,這可能會增加寫操作的延遲。

同一個Bank的連續(xù)寫操作:

  • 如果連續(xù)寫入同一個Bank中的數(shù)據(jù),可以省略重復(fù)的激活步驟,直接使用WRITE命令。

  • 這種情況下,可以利用自動預(yù)充電功能(Auto Precharge),在寫入一個數(shù)據(jù)塊后自動預(yù)充電Bank。

不同Bank之間切換的寫操作:

  • 當(dāng)需要從一個Bank切換到另一個Bank進行寫操作時,必須先預(yù)充電當(dāng)前Bank,然后激活目標(biāo)Bank。

  • 這種情況下,需要確保滿足Bank間切換所需的最小時間間隔,如tRAS(Active to Precharge Delay)。

突發(fā)長度(Burst Length)和突發(fā)類型(Burst Type):

  • 寫操作可以配置不同的突發(fā)長度(如BL4, BL8)和突發(fā)類型(如Sequential, Interleave)。

  • 突發(fā)長度和類型的選擇會影響數(shù)據(jù)的寫入順序和性能。

寫操作中的讀操作:

  • 在寫操作期間,如果需要讀取數(shù)據(jù),必須等待當(dāng)前的寫操作完成。

  • 讀操作可能需要等待特定的讀取恢復(fù)時間,以確保數(shù)據(jù)的完整性。

寫操作中的命令沖突:

  • 如果在寫操作期間接收到其他命令(如REFRESH, PRECHARGE),必須根據(jù)命令優(yōu)先級和時序要求進行處理。

  • 例如,REFRESH命令通常具有最高優(yōu)先級,必須立即執(zhí)行。


初始化、配置、刷新機制、數(shù)據(jù)傳輸這些就是DDR3的基本操作和所有使用DDR3的可能都操作。其他復(fù)雜的情況只是這些基本操作都組合。至于DDR4/DDR5甚至LPDDR4/5這些DDR,其操作也基本類似。所以先理解DDR3的基本操作,可以更容易理解以后復(fù)雜的操作和場景。

后紀(jì)

技術(shù)很重要,技術(shù)背后的思想更重要!

技術(shù)背后的某些思想就是你解決以后問題的鑰匙。我的文章可能一篇中知識點不太多,但是力求讓你能深入理解,為你進階打下基礎(chǔ)。如果有一點點收獲,也算是我對中國芯片行業(yè)的一點點貢獻吧。



本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉