TW201432465A - 智慧雙資料率(ddr)記憶體控制器 - Google Patents

智慧雙資料率(ddr)記憶體控制器 Download PDF

Info

Publication number
TW201432465A
TW201432465A TW102137337A TW102137337A TW201432465A TW 201432465 A TW201432465 A TW 201432465A TW 102137337 A TW102137337 A TW 102137337A TW 102137337 A TW102137337 A TW 102137337A TW 201432465 A TW201432465 A TW 201432465A
Authority
TW
Taiwan
Prior art keywords
memory
controller
source address
memory controller
address
Prior art date
Application number
TW102137337A
Other languages
English (en)
Other versions
TWI519962B (zh
Inventor
Ravikumar Govindaraman
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201432465A publication Critical patent/TW201432465A/zh
Application granted granted Critical
Publication of TWI519962B publication Critical patent/TWI519962B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

各種實施例包括經組態以縮減當向及自一或多個記憶體傳送資料時經由系統匯流排/網狀架構而傳達之資訊之量的系統、方法及裝置。一系統主控器組件可將一來源位址及一目的地位址發送至在一記憶體控制器內部或鄰近於該記憶體控制器之一直接記憶體存取控制器。該直接記憶體存取控制器及/或該記憶體控制器可判定該來源位址及該目的地位址是否在該記憶體之相關部分內部。當該來源及該目的地兩者在該記憶體之該相關部分內部時,該記憶體控制器可執行一記憶體間資料傳送而不存取該系統匯流排。

Description

智慧雙資料率(DDR)記憶體控制器 CONTROLLER
在過去的若干年中,蜂巢式及無線通信技術已爆炸性地增長。無線服務提供者現在提供很多種特徵及服務,且向其使用者提供對資訊、資源及通信的前所未有程度之存取。為了跟上此等服務增強,行動電子裝置(例如,蜂巢式電話、平板電腦、膝上型電腦等等)已變得比以前更特徵豐富且複雜。行動電子裝置現在通常包括多個處理器、系統單晶片(system-on-chip,SoC)、多個記憶體,及允許行動裝置使用者在其行動裝置上執行複雜及電力密集型軟體應用程式(例如,視訊串流、多媒體處理等等)之其他資源(例如,電力軌等等)。隨著行動裝置及相關技術之風行度及使用繼續增長,改良行動裝置之效能能力及電力消耗特性被預期為變成用於行動裝置設計者的重要且具挑戰性之設計準則。
各種態樣包括一種記憶體系統,該記憶體系統包括:一記憶體;一記憶體控制器,其耦接至該記憶體;及一直接記憶體存取(direct memory access,DMA)控制器,其直接地耦接至該記憶體控制器。在一態樣中,該直接記憶體存取(DMA)控制器可直接地耦接至該記憶體控制器,使得該直接記憶體存取(DMA)控制器及該記憶體控制器定位於一系統資料匯流排之同一側上。在一另外態樣中,該記憶體 控制器可為一動態隨機存取記憶體(dynamic random-access memory,DRAM)記憶體控制器。在一另外態樣中,該記憶體控制器可為一雙資料率(double data rate,DDR)記憶體控制器,且該記憶體可為一DDR同步動態隨機存取記憶體。
在一另外態樣中,該直接記憶體存取控制器可經組態以執行包括以下各者之操作:接收一來源位址及一目的地位址;判定該來源位址是否在該記憶體中;回應於判定出該來源位址在該記憶體中而判定該目的地位址是否在該記憶體中;及回應於判定出該目的地位址在該記憶體中而將儲存於該來源位址處之資料複製至該目的地位址而不將任何資料推送至一匯流排上。在一另外態樣中,該直接記憶體存取控制器可經組態以執行包括下者之操作:回應於判定出該目的地位址不在該記憶體中而將儲存於該來源位址處之資料推送至該匯流排上。在一另外態樣中,該直接記憶體存取控制器可經組態以執行包括下者之操作:回應於判定出該來源位址不在該記憶體中而將一讀取請求、該來源位址及該目的地位址推送至該匯流排上。
另外態樣包括一種計算裝置,該計算裝置包括:一系統資料匯流排;一處理器,其耦接至該系統資料匯流排;及一記憶體系統,其耦接至該系統資料匯流排。該記憶體系統可包括:一記憶體;一記憶體控制器,其耦接至該記憶體;及一直接記憶體存取控制器,其直接地耦接至該記憶體控制器。在一態樣中,該直接記憶體存取控制器可直接地耦接至該記憶體控制器,使得該直接記憶體存取控制器及該記憶體控制器定位於一系統資料匯流排之同一側上。在一另外態樣中,該記憶體控制器可為一動態隨機存取記憶體(DRAM)記憶體控制器。在一另外態樣中,該記憶體控制器可為一雙資料率(DDR)記憶體控制器,且該記憶體可為一DDR同步動態隨機存取記憶體。
在一另外態樣中,該直接記憶體存取控制器可經組態以執行包 括以下各者之操作:接收一來源位址及一目的地位址;判定該來源位址是否可在該記憶體中;回應於判定出該來源位址可在該記憶體中而判定該目的地位址是否可在該記憶體中;及回應於判定出該目的地位址可在該記憶體中而將儲存於該來源位址處之資料複製至該目的地位址而不將任何資料推送至一匯流排上。在一另外態樣中,該直接記憶體存取控制器可經組態以執行進一步包括下者之操作:回應於判定出該目的地位址可不在該記憶體中而將儲存於該來源位址處之資料推送至該匯流排上。在一另外態樣中,該直接記憶體存取控制器可經組態以執行進一步包括下者之操作:回應於判定出該來源位址可不在該記憶體中而將一讀取請求、該來源位址及該目的地位址推送至該匯流排上。
另外態樣包括向及自一或多個記憶體傳送資料之方法,該等方法包括:在直接地耦接至一記憶體控制器之一直接記憶體存取控制器中接收一來源位址及一目的地位址;在該記憶體控制器中判定該來源位址是否可在耦接至該記憶體控制器之一記憶體中;在該記憶體控制器中判定該目的地位址是否可在該記憶體中;及當該記憶體控制器判定出該來源位址及該目的地位址兩者在該記憶體中時將儲存於該來源位址處之資料複製至該目的地位址而不將任何資料推送至一匯流排上。
在一態樣中,該方法可包括回應於判定出該目的地位址可不在該記憶體中而將儲存於該來源位址處之資料推送至該匯流排上。在一另外態樣中,該方法可包括回應於判定出該來源位址可不在該記憶體中而將一讀取請求、該來源位址及該目的地位址推送至該匯流排上。在一另外態樣中,在直接地耦接至一記憶體控制器之一直接記憶體存取控制器中接收一來源位址及一目的地位址可包括在與一記憶體控制器定位於一系統資料匯流排之同一側上之一直接記憶體存取控制器中 接收該來源位址及該目的地位址。
在一另外態樣中,在該記憶體控制器中判定該來源位址是否可在耦接至該記憶體控制器之一記憶體中可包括在一動態隨機存取記憶體(DRAM)記憶體控制器中判定該來源位址是否可在該記憶體中。在一另外態樣中,在該記憶體控制器中判定該來源位址是否可在耦接至該記憶體控制器之一記憶體中可包括在一雙資料率(DDR)記憶體控制器中判定該來源位址是否可在一DDR同步動態隨機存取記憶體中。
另外態樣包括一種計算裝置,該計算裝置具有:用於在直接地耦接至一記憶體控制器之一直接記憶體存取控制器中接收一來源位址及一目的地位址的構件;用於在該記憶體控制器中判定該來源位址是否可在耦接至該記憶體控制器之一記憶體中的構件;用於在該記憶體控制器中判定該目的地位址是否可在該記憶體中的構件;及用於當該記憶體控制器判定出該來源位址及該目的地位址兩者在該記憶體中時將儲存於該來源位址處之資料複製至該目的地位址而不將任何資料推送至一匯流排上的構件。
在一態樣中,該計算裝置可包括用於回應於判定出該目的地位址可不在該記憶體中而將儲存於該來源位址處之資料推送至該匯流排上的構件。在一另外態樣中,該計算裝置可包括用於回應於判定出該來源位址可不在該記憶體中而將一讀取請求、該來源位址及該目的地位址推送至該匯流排上的構件。在一另外態樣中,用於在直接地耦接至一記憶體控制器之一直接記憶體存取控制器中接收一來源位址及一目的地位址的構件可包括用於在與一記憶體控制器定位於一系統資料匯流排之同一側上之一直接記憶體存取控制器中接收該來源位址及該目的地位址的構件。
在一另外態樣中,用於在該記憶體控制器中判定該來源位址是否可在耦接至該記憶體控制器之一記憶體中的構件可包括用於在一動 態隨機存取記憶體(DRAM)記憶體控制器中判定該來源位址是否可在該記憶體中的構件。在一另外態樣中,用於在該記憶體控制器中判定該來源位址是否可在耦接至該記憶體控制器之一記憶體中的構件可包括用於在一雙資料率(DDR)記憶體控制器中判定該來源位址是否可在一DDR同步動態隨機存取記憶體中的構件。
100‧‧‧系統單晶片(SOC)
102‧‧‧數位信號處理器(DSP)
104‧‧‧數據機處理器
106‧‧‧圖形處理器
108‧‧‧應用程式處理器
114‧‧‧類比電路系統及自訂電路系統
116‧‧‧系統組件及資源
118‧‧‧時鐘
120‧‧‧電壓調節器
122‧‧‧直接記憶體存取(DMA)控制器
124‧‧‧通用串列匯流排(USB)控制器
126‧‧‧雙資料率(DDR)記憶體控制器
128‧‧‧雙資料率(DDR)記憶體陣列
130‧‧‧互連/匯流排模組
132‧‧‧主控器組件
200‧‧‧計算系統
202‧‧‧周邊組件
204‧‧‧處理單元
206‧‧‧雙資料率(DDR)記憶體控制器
208‧‧‧雙資料率同步動態隨機存取記憶體(DDR SDRAM)記 憶體
210‧‧‧系統匯流排
212‧‧‧主控器控制器模組
214‧‧‧第二記憶體控制器
216‧‧‧第二記憶體
300‧‧‧計算系統
304‧‧‧直接記憶體存取(DMA)控制器
312‧‧‧系統晶片上網路(NOC)
314‧‧‧系統匯流排
316‧‧‧記憶體位址暫存器
318‧‧‧位元組計數暫存器
330‧‧‧控制暫存器
332‧‧‧控制器模組
334‧‧‧信號模組
336‧‧‧資料模組
338‧‧‧本端記憶體/緩衝器
600‧‧‧行動計算裝置
602‧‧‧處理器
604‧‧‧內部記憶體
606‧‧‧觸控表面輸入裝置/顯示器
608‧‧‧蜂巢式電話收發器
610‧‧‧無線電/天線
612‧‧‧實體按鈕
700‧‧‧個人膝上型電腦
702‧‧‧處理器
704‧‧‧揮發性記憶體
706‧‧‧磁碟機
708‧‧‧緊密光碟(CD)及/或數位影音光碟(DVD)光碟機
710‧‧‧無線電/天線
712‧‧‧顯示器
714‧‧‧滑鼠
716‧‧‧鍵盤
併入本文中且構成本說明書之部分的隨附圖式說明本發明之例示性實施例,且與上文所給出之一般描述及下文所給出之詳細描述一起用來解釋本發明之特徵。
圖1為說明實施各種態樣之實例系統單晶片(SOC)架構的組件方塊圖。
圖2至圖3為說明實施各種態樣之實例電腦系統中之各種組件的功能方塊圖。
圖4至圖5為執行記憶體間傳送之態樣記憶體控制器方法的程序流程圖。
圖6為適合供各種實施例使用之實例行動裝置的說明。
圖7為適合供各種實施例使用之實例膝上型電腦的說明。
將參看隨附圖式來詳細地描述各種實施例。在任何可能之處,將貫穿該等圖式而使用相同參考編號以指相同或類似部分。對特定實例及實施進行之參考係出於說明性目的,且並不意欲限制本發明或申請專利範圍之範疇。
術語「計算裝置」及「行動裝置」在本文中可互換地用以指以下各者中任一者或全部:伺服器、個人電腦、智慧型手機、蜂巢式電話、平板電腦、膝上型電腦、筆記型電腦、輕量級筆記型電腦、掌上型電腦、個人數位助理(personal data assistant,PDA)、無線電子郵件 接收器、具備多媒體網際網路功能之蜂巢式電話、全球定位系統(Global Positioning System,GPS)接收器、無線遊戲控制器,及包括可程式化處理器之相似個人電子裝置。雖然各種態樣在具有有限資源(例如,處理能力、電池等等)之行動裝置(例如,智慧型手機、膝上型電腦等等)中特別有用,但該等態樣通常在可受益於改良型處理器效能及縮減型能量消耗之任何計算裝置中有用。
術語「多核心處理器」在本文中用以指含有經組態以讀取及執行程式指令之兩個或兩個以上獨立處理單元或核心(例如,CPU核心等等)的單一積體電路(integrated circuit,IC)晶片或晶片封裝。術語「多處理器」在本文中用以指包括經組態以讀取及執行程式指令之兩個或兩個以上處理單元的系統或裝置。
術語「系統單晶片」(SOC)在本文中用以指含有整合於單一基板上之多個資源及/或處理器的單一積體電路(IC)晶片。單一SOC可含有用於數位、類比、混合信號及射頻功能之電路系統。單一SOC亦可包括任何數目個一般用途及/或特殊化處理器(數位信號處理器、數據機處理器、視訊處理器等等)、記憶體區塊(例如,ROM、RAM、Flash等等)及資源(例如,計時器、電壓調節器、振盪器等等),其中任一者或全部可包括於一或多個核心中。
在未來可得到或預料數種不同類型之記憶體及記憶體技術,其全部適合供各種態樣使用。此類記憶體技術/類型包括相變記憶體(phase change memory,PRAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(static random-access memory,SRAM)、非揮發性隨機存取記憶體(non-volatile random-access memory,NVRAM)、擬靜態隨機存取記憶體(pseudostatic random-access memory,PSRAM)、雙資料率同步動態隨機存取記憶體(double data rate synchronous dynamic random-access memory,DDR SDRAM),及此項技術中所知之其他隨 機存取記憶體(random-access memory,RAM)及唯讀記憶體(read-only memory,ROM)技術。DDR SDRAM記憶體可為DDR類型1 SDRAM記憶體、DDR類型2 SDRAM記憶體、DDR類型3 SDRAM記憶體或DDR類型4 SDRAM記憶體。舉例而言,上文所提及之記憶體技術中每一者包括適合於儲存供電腦或其他數位電子裝置中使用或由電腦或其他數位電子裝置使用之指令、程式、控制信號及/或資料的元件。對與個別類型之記憶體、介面、標準或記憶體技術相關之術語及/或技術細節的任何參考係僅出於說明性目的,且並不意欲將申請專利範圍之範疇限於特定記憶體系統或技術,除非在申請專利範圍語言中予以特定地陳述。
近年來,行動計算裝置架構之複雜性已增長,且行動計算裝置架構現在通常包括多個處理器核心、系統單晶片(SOC)、共處理器、包括專用處理器(例如,通信數據機晶片、GPS接收器等等)之功能模組、複合記憶體系統、複雜電互連(例如,匯流排及/或網狀架構),及執行複雜及電力密集型軟體應用程式(例如,視訊串流應用程式等等)之眾多其他資源。在具有此複雜性上升的情況下,需要新記憶體管理解決方案以改良行動裝置之計算及電力管理效能。
歸因於現代計算裝置架構之複雜性,裝置效能可取決於裝置之通信匯流排的速度、寬度及頻寬。然而,現有記憶體管理系統需要廣泛地使用系統匯流排以向及自記憶體讀取及寫入資料,此情形可消耗大量匯流排頻寬、消耗電力且使總裝置效能(例如,回應性等等)降級。
各種態樣縮減當向及自一或多個記憶體傳送資料時經由系統匯流排/網狀架構而傳達之資訊之量,從而改良裝置效能且縮減電力消耗。
通常,記憶體操作(例如,讀取、寫入等等)需要執行數個簡單而 耗時之操作。由於處理速度比記憶體存取速度快得多,故處理器(或周邊組件)可將記憶體操作卸載至直接記憶體存取(DMA)控制器,且在DMA控制器管理記憶體操作之執行時繼續執行處理任務。
DMA控制器為驅動受控器記憶體控制器之外部主控器組件(例如,匯流排主控器),該受控器記憶體控制器與實體記憶體(例如,SDRAM等等)介接以執行讀取及寫入操作。在習知電腦架構中,外部主控器(例如,DMA控制器等等)經由系統匯流排而驅動記憶體控制器。在許多操作中,由於系統匯流排為記憶體及處理器此兩個組件之間的資料路徑,故諸如當將資料自記憶體移動至處理器以供使用時,經由系統匯流排而驅動記憶體控制器係必要的。
然而,系統匯流排具有有限頻寬,因此,執行僅僅將指令及資料自一個記憶體位置移動至另一記憶體位置之記憶體操作可不必要地消耗關鍵裝置資源。舉例而言,當在習知架構中執行記憶體間資料傳送時,作為外部主控器而操作之DMA控制器經由系統匯流排而將讀取命令及記憶體位址發送至記憶體控制器。作為回應,記憶體控制器自系統匯流排提取讀取命令及記憶體位址、定位實體記憶體中與記憶體位址相關聯之列及行、自實體記憶體擷取資料,且將經擷取資料推送至系統匯流排上。DMA控制器接著自匯流排提取資料、將資料儲存於緩衝器中,且將寫入命令、新位址及資料推送回至系統匯流排上。記憶體控制器接著自匯流排提取寫入命令、新位址及資料,且將資料寫入至實體記憶體中之新位址。因此,為了將資料自實體記憶體之一個部分移動至該同一實體記憶體之另一部分,必須經由匯流排而傳輸資料達兩次。經由系統匯流排之此等資料傳送中每一者佔據關鍵處理器間資料路徑,在此佔據期間,不能向其他處理器或模組或在其他處理器或模組之間傳遞指令及資料。因此,即使資料正自同一記憶體晶片內之一個位址位置移動至另一位址位置,操作亦必須中斷其他 裝置模組之間的資料通信。在執行顯著數目個記憶體間資料傳送之系統上,經由匯流排而來回地發送此類資訊(讀取/寫入命令、位址、資料等等)會不必要地佔用匯流排頻寬、浪費電力且使計算裝置之效能/回應性降級。
各種態樣包括一種記憶體控制器,該記憶體控制器包括一主控器組件,該主控器組件經組態以執行記憶體間資料傳送而不向/自系統匯流排推送及/或提取資訊。在一態樣中,主控器組件可經組態以執行直接記憶體存取(DMA)操作。在一態樣中,主控器組件可為DMA控制器。在另一態樣中,主控器組件可與外部DMA控制器通信。
各種態樣可實施於包括以下各者的各種各樣之計算系統中:單處理器系統、多處理器系統、多核心處理器系統、系統單晶片(SOC),或其任何組合。
圖1說明適合於實施各種態樣之系統單晶片(SOC)100中之實例組件及互連。SOC 100可包括數個異質處理器,諸如,數位信號處理器(digital signal processor,DSP)102、數據機處理器104、圖形處理器106及應用程式處理器108。每一處理器102、104、106、108可包括一或多個核心,且每一處理器/核心可獨立於其他處理器/核心而執行操作。處理器102、104、106、108可經組織成彼此極近接(例如,在單一基板、晶粒、整合式晶片等等上),使得其可以比在信號將在晶片外行進時將可能之頻率/時脈速率高得多的頻率/時脈速率進行操作。該等核心之近接性亦可允許共用晶片上記憶體及資源(例如,電壓軌),以及允許核心之間的更協調合作。
SOC 100可包括類比電路系統及自訂電路系統114以用於管理感測器資料、類比至數位轉換、無線資料傳輸,且用於執行其他特殊化操作(例如,解碼高清晰度視訊、視訊處理等等)。SOC 100可進一步 包括各種系統組件及資源116,諸如,電壓調節器、振盪器、鎖相迴路、周邊橋接器、資料控制器、系統控制器、存取埠、計時器,及用以支援在計算裝置上執行之處理器及軟體用戶端的其他相似組件。系統組件116及自訂電路系統114亦可包括用於與諸如攝影機、電子顯示器、無線通信裝置、外部記憶體晶片等等之周邊裝置介接的電路系統。
SOC 100可進一步包括直接記憶體存取(DMA)控制器122、通用串列匯流排控制器124及一或多個記憶體控制器126。SOC 100亦可包括用於與在SOC外部之資源(諸如,時鐘118及電壓調節器120,其中每一者可由內部SOC組件中之兩者或兩者以上共用)通信的輸入/輸出模組(未說明)。
處理器102、104、106、108可經由互連/匯流排模組130而與DMA控制器124、USB控制器124、記憶體控制器126、資源116、自訂電路系統114及其他系統組件互連,互連/匯流排模組130可包括可重新組態邏輯閘陣列及/或實施匯流排架構(例如,CoreConnect、AMBA等等)。通信亦可由諸如高效能晶片上網路(network-on chip,NoC)之進階互連提供。
DMA控制器122可為經組態以管理記憶體操作之執行的特殊化硬體模組。處理器102、104、106、108及其他SOC組件可將記憶體操作卸載至DMA控制器122,且在DMA控制器122管理記憶體操作之執行時執行較高層級或較複雜之任務。
DDR記憶體控制器126可為經組態以管理資料向及自DDR記憶體陣列128之流動的特殊化硬體模組。DDR記憶體控制器126可包括用於與DDR記憶體陣列128介接(諸如,選擇對應於記憶體位置之列及行、讀取資料或將資料寫入至記憶體位置,等等)之邏輯。
互連/匯流排模組130可包括或提供一匯流排主控系統,該匯流排 主控系統經組態以向SOC組件(例如,處理器、周邊裝置等等)授予對匯流排之獨佔式控制(例如,在叢發模式、區塊傳送模式等等中傳送資料)歷時一設定持續時間、數個操作、數個位元組等等。在一態樣中,匯流排模組130可包括使連接至匯流排模組130之組件能夠作為主控器組件而操作且起始記憶體異動的DMA控制器。匯流排模組130亦可實施仲裁方案以防止多個主控器組件試圖同時地驅動匯流排。
現有記憶體控制器為「僅受控器(slave-only)」組件。因此,為了實現記憶體操作,外部主控器(例如,DMA控制器122、USB控制器124、應用程式處理器108等等)必須經由匯流排(例如,匯流排模組130)而驅動記憶體控制器(例如,DDR控制器126)。舉例而言,當執行記憶體間資料傳送時,可需要DMA控制器以經由匯流排而將讀取命令及來源記憶體位址發送至記憶體控制器。記憶體控制器可接收讀取命令及來源記憶體位址、在記憶體中定位與來源記憶體位址相關聯之列及行、擷取資料,且將經擷取資料推送至匯流排上。DMA控制器可接收資料且將資料儲存於緩衝器(未說明)中,且將寫入命令、目的地位址及資料推送至匯流排上。記憶體控制器可接收寫入命令、目的地位址及資料,且將資料寫入至目的地位址。因此,在使用現有解決方案的情況下,必須經由匯流排而傳輸正被移動之資料達兩次。如上文所論述,在執行顯著數目個記憶體間資料傳送之系統上,經由匯流排而來回地發送此類資訊(讀取/寫入命令、位址、資料等等)會不必要地佔用匯流排頻寬、浪費電力且使SOC及計算裝置之效能及回應性降級。
DDR記憶體控制器126可包括經組態以執行記憶體間傳送操作而不使用系統匯流排之主控器組件132。在一態樣中,主控器組件132可經組態以執行DMA操作。在一態樣中,主控器組件132可為DMA控制器。
圖2說明具有根據各種態樣而組態之DDR記憶體控制器之實例計算系統200中的邏輯組件及資訊流。在圖2所說明之實例中,計算系統200包括周邊組件202、處理單元204、DDR記憶體控制器206、DDR SDRAM記憶體208、第二記憶體控制器214及第二記憶體214。DDR記憶體控制器208可包括經組態以執行各種DMA及記憶體操作之主控器控制器模組212。在各種態樣中,周邊組件202可為USB控制器、USB模組或USB裝置。在一態樣中,第二記憶體控制器214可為DDR記憶體控制器。
周邊組件202、處理單元204及DDR記憶體控制器206可耦接至系統匯流排210。DDR記憶體控制器206可經由DDR-PHY介面及/或記憶體匯流排而耦接至DDR SDRAM 208。
周邊組件202及/或處理單元204可經組態以藉由將以下各者推送至匯流排210上而起始資料傳送操作:識別待傳送資料之記憶體位置的來源位址、待複製位元組之數目,及識別資料將被傳送至之記憶體位置的目的地位址。DDR記憶體控制器206之主控器控制器模組212可自匯流排210提取來源位址、位元組之數目及目的地位址,且判定來源位址及目的地位址是否識別在DDR SDRAM 208內部之記憶體位置。
當主控器控制器模組212判定出來源位址及目的地位址兩者識別在DDR SDRAM 208外部之位置時,主控器控制器模組212可執行習知DMA操作以管理資料自來源位址至目的地位址之傳送。舉例而言,主控器控制器模組212可經由匯流排210而將讀取命令及來源位址發送至第二記憶體控制器214、經由匯流排210而自第二記憶體控制器214接收資料、將資料儲存於緩衝器(未說明)中,且經由匯流排210而將寫入命令、目的地位址及資料發送至第二記憶體控制器214。
當主控器控制器模組212判定出來源位址及目的地位址兩者識別在DDR SDRAM 208內部之位置時,主控器控制器模組212可自動地將 資料自來源位址傳送至目的地位址而不將經傳送資料中任一者推送至匯流排上。以此方式,各種態樣可實現記憶體間資料傳送而不經由匯流排210來回地發送資訊(讀取/寫入命令、位址、資料等等),此情形增加匯流排210上可用之頻寬、縮減電力消耗且改良計算裝置之效能/回應性。
當主控器控制器模組212判定出來源位址識別在DDR SDRAM 208內部之位置,但目的地位址參考在DDR SDRAM 208外部之位置時,主控器控制器模組212可自來源位址(在DDR SDRAM 208中)擷取資料,且經由匯流排210而將經擷取資料及目的地位址發送至第二記憶體控制器214。
因此,相對於需要將資料推送至匯流排210上達兩次(亦即,一次係在擷取資料之後且一次係用於寫入資料)之習知解決方案,各種態樣可藉由將資料推送至匯流排210上達僅一次而實現記憶體間傳送操作。以此方式,各種態樣縮減在記憶體間期間經由匯流排210而傳達之資料之量,從而增加匯流排頻寬、縮減電力消耗且改良計算裝置之效能/回應性。
圖3說明包括態樣DDR記憶體控制器及外部DAM控制器之另一實例計算系統300中的邏輯組件及資訊流。在圖3所說明之實例中,計算系統300包括周邊組件202、DMA控制器304、處理單元204、DDR記憶體控制器206及DDR SDRAM記憶體208。在一態樣中,計算系統300可包括複數個DDR SDRAM記憶體208,及用於複數個DDR SDRAM記憶體208中每一者之一個DDR記憶體控制器206。
周邊組件202、DMA控制器304及處理單元204可耦接至系統晶片上網路(NOC)312。DMA控制器304、處理單元204及DDR記憶體控制器206可耦接至系統匯流排314。DDR記憶體控制器206可經由DDR-PHY介面及/或記憶體匯流排而耦接至DDR SDRAM 208。
DMA控制器304可包括記憶體位址暫存器316、位元組計數暫存器318及控制暫存器320。控制暫存器320可儲存用於實現記憶體操作的各種不同類型之資訊,諸如,用於識別以下各者之資訊:操作類型、來源或目標組件、傳送方向、傳送單位(例如,一次一個位元組、一次一個字組,等等)、傳送或叢發模式、每一叢發中傳送之位元組之數目,等等。
DDR記憶體控制器206可包括經組態以執行各種DMA記憶體操作之主控器控制器模組212。在一態樣中,主控器控制器模組212可包括與DDR記憶體控制器206之電路系統整合的電路系統。在一態樣中,主控器控制器模組212可包括耦接至DDR記憶體控制器206之電路系統的電路系統。
DDR記憶體控制器206亦可包括控制器模組322、信號模組324、資料模組336及本端記憶體/緩衝器338。控制器模組322可包括經組態以產生各種控制信號(例如,istate、cstate等等)之再新計數器及狀態機邏輯。信號模組334可經組態以基於控制信號而產生用於DDR SDRAM記憶體208之位址及命令信號。資料模組336可經組態以執行資料鎖存及分派操作以自DDR SDRAM記憶體208讀取資料及將資料寫入至DDR SDRAM記憶體208(例如,經由DDR-PHY介面及/或記憶體匯流排)。
周邊組件202可經組態以藉由經由系統NOC 312而將待執行之記憶體操作(讀取、寫入、傳送等等)、相關記憶體位址及執行該操作所需要之數個位元組(或字組、位元等等)發送至DMA控制器304或處理單元204來起始記憶體操作。DMA控制器204及/或處理單元306可經組態以識別DDR記憶體控制器206之正確執行個體,及/或回應於周邊組件202起始記憶體操作而將相關記憶體位址(例如,來源位址及目的地位址)發送至DDR記憶體控制器206。
DDR記憶體控制器206之主控器控制器模組212可經組態以自匯流排314提取來源位址及目的地位址,且判定來源位址及目的地位址是否識別在DDR SDRAM 208內部之記憶體位置。當來源位址及目的地位址兩者識別在DDR SDRAM 208內部之位置時,主控器控制器模組212可自動地將資料自來源位址傳送至目的地位址而不將經傳送資料中任一者推送至匯流排314上。在一態樣中,將資料自來源位址傳送至目的地位址可包括自DDR SDRAM 208中之第一位置讀取資料、將資料儲存於本端記憶體338中,且將儲存於本端記憶體338中之資料寫入至DDR SDRAM 208中之第二位置。
在一態樣中,主控器控制器模組212可經組態以回應於判定出來源位址及目的地位址兩者參考在DDR SDRAM 208之邊界外部的位置而執行DMA操作。在另一態樣中,主控器控制器模組212可經組態以當來源位址及/或目的地位址參考在DDR SDRAM 208之邊界外部的位置時允許DMA控制器304執行記憶體傳送操作。舉例而言,主控器控制器模組212可經組態以向DMA控制器304通知來源位址及/或目的地位址兩者參考在DDR SDRAM 208之邊界外部的位置,且等待下一記憶體請求。以此方式,當來源位址及/或目的地位址在由DDR記憶體控制器206進行控制之DDR SDRAM 208之邊界外部時,DDR記憶體控制器206可作為習知記憶體控制器而操作。
圖4說明由態樣記憶體控制器執行記憶體間傳送操作之態樣方法400。在區塊402中,記憶體控制器(例如,DDR記憶體控制器206)可經由系統匯流排而接收來源位址及目的地位址。在判定區塊404中,記憶體控制器可判定來源位址是否為可直接地由記憶體控制器存取(例如,經由記憶體匯流排、PHY介面等等)之記憶體位置。舉例而言,記憶體控制器可判定該位址是否可轉譯成在由記憶體控制器進行直接控制及/或回應之記憶體(DRAM、DDR SDRAM等等)之邊界內的 列及行資料位址。
當記憶體控制器判定出來源位址不為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊404=「否」)時,在判定區塊406中,記憶體控制器可判定目的地位址是否為可直接地由記憶體控制器存取(例如,在由記憶體控制器進行直接控制/回應之記憶體之邊界內,等等)之記憶體位置。當記憶體控制器判定出目的地位址為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊406=「是」)時,在區塊416中,記憶體控制器可執行DMA操作。如上文所論述,DMA操作可包括將讀取指令及來源位址推送至匯流排上、接收資料且將資料儲存於本端記憶體中,及將寫入命令、經儲存資料及目的地位址推送至匯流排上。當記憶體控制器判定出目的地位址不為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊406=「否」)時,在區塊418中,記憶體控制器可產生及報告錯誤。
當記憶體控制器判定出來源位址為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊404=「是」)時,在判定區塊408中,記憶體控制器可判定目的地位址是否為可直接地由記憶體控制器存取(例如,在由記憶體控制器進行直接控制/回應之記憶體之邊界內,等等)之記憶體位置。當記憶體控制器判定出目的地位址為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊408=「是」)時,在區塊410中,記憶體控制器可將儲存於來源位址處之資料複製至目的地位址。
當記憶體控制器判定出目的地位址不為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊408=「否」)時,在區塊412中,記憶體控制器可擷取儲存於來源位址處之資料。在區塊414中,記憶體控制器可將寫入命令、目的地位址及經擷取資料發送至第二記憶體控制器(例如,藉由將資訊推送至匯流排上,等等)。
圖5說明由態樣記憶體控制器執行記憶體間傳送操作之另一態樣方法500。在區塊502中,記憶體控制器(例如,DDR記憶體控制器206)可經由系統匯流排而接收來源位址及目的地位址。在判定區塊504中,記憶體控制器可判定來源位址是否為可直接地由記憶體控制器存取(例如,經由記憶體匯流排、PHY介面等等)之記憶體位置。舉例而言,記憶體控制器可判定該位址是否可轉譯成在由記憶體控制器進行直接控制及/或回應之記憶體(DRAM、DDR SDRAM等等)之邊界內的列及行資料位址。
當記憶體控制器判定出來源位址不為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊504=「否」)時,在區塊506中,記憶體控制器可產生通知(例如,控制信號、訊息等等)且將該通知發送至外部DMA控制器,該通知可使外部DMA控制器執行記憶體間傳送操作。
當記憶體控制器判定出來源位址為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊504=「是」)時,在區塊508中,記憶體控制器可擷取儲存於來源位址處之資料。在區塊510中,記憶體控制器亦可將資料儲存於本端記憶體中。
在判定區塊512中,記憶體控制器可判定目的地位址是否為可直接地由記憶體控制器存取之記憶體位置(例如,在由記憶體控制器進行直接控制/回應之記憶體之邊界內,等等)。當記憶體控制器判定出目的地位址為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊512=「是」)時,在區塊512中,記憶體控制器可將儲存於本端記憶體中之資料複製至目的地位址。當記憶體控制器判定出目的地位址不為可直接地由記憶體控制器存取之記憶體位置(亦即,判定區塊512=「否」)時,在區塊516中,記憶體控制器可將寫入命令、目的地位址及儲存於本端記憶體中之資料發送至第二記憶體控制器(例如, 藉由將資訊推送至匯流排上,等等)。
亦可使用任何商用計算裝置來實施各種實施例,圖6至圖7中說明該等計算裝置之一些實例。典型行動計算裝置600將共同地具有圖6所說明之組件。舉例而言,行動計算裝置600可包括耦接至內部記憶體604之處理器602,及觸控表面輸入裝置/顯示器606,諸如,電阻性感測觸控螢幕、電容性感測觸控螢幕、紅外線感測觸控螢幕、聲學/壓電感測觸控螢幕或其類似者。計算裝置600可具有用於發送及接收電磁輻射之無線電/天線610,無線電/天線610連接至無線資料鏈路及/或蜂巢式電話收發器608,蜂巢式電話收發器608耦接至處理器602。計算裝置600亦可包括用於接收使用者輸入之實體按鈕612。
包括個人電腦及膝上型電腦的其他形式之計算裝置可用以實施各種實施例。此類計算裝置通常包括圖7所說明之組件,圖7說明實例個人膝上型電腦700。此類個人電腦700通常包括耦接至揮發性記憶體704及大容量非揮發性記憶體(諸如,磁碟機706)之處理器702。電腦700亦可包括耦接至處理器702之緊密光碟(compact disc,CD)及/或DVD光碟機708。電腦裝置700亦可包括用於建立資料連接或收納外部記憶體裝置的耦接至處理器702之數個連接器埠,諸如,用於將處理器702連接至網路之網路連接電路。計算裝置700可具有用於發送及接收電磁輻射之無線電/天線710,無線電/天線710連接至與處理器702耦接之無線資料鏈路。電腦700可進一步耦接至鍵盤716、諸如滑鼠714之指標裝置,及如電腦技術中所熟知之顯示器712。
處理器602、702可為可由軟體指令(應用程式)組態以執行多種功能(包括本文所描述之各種實施例的功能)之任何可程式化微處理器、微電腦或多處理器晶片。可提供多個處理器,諸如,專用於無線通信功能之一個處理器,及專用於執行其他應用程式之一個處理器。通常,軟體應用程式可在其被存取及載入至處理器602、702中之前儲存 於內部記憶體中。在一些裝置中,處理器602、702可包括足以儲存應用程式軟體指令之內部記憶體。在一些行動裝置中,安全記憶體可呈耦接至處理器602、702之分離記憶體晶片。內部記憶體可為揮發性記憶體或非揮發性記憶體(諸如,快閃記憶體),或此兩者之混合物。出於此描述之目的,對記憶體之一般參考係指可由處理器存取之所有記憶體,包括內部記憶體、插入至裝置中之可卸除式記憶體,及在處理器602、702自身內之記憶體。
前述方法描述及程序流程圖係僅作為說明性實例而提供,且並不意欲要求或隱含各種實施例之區塊必須以所呈現次序而執行。熟習此項技術者應瞭解,前述實施例中之區塊的次序可以任何次序而執行。諸如「此後」、「接著」、「接下來」等等之詞語並不意欲限制區塊之次序;此等詞語僅僅用以引導讀者閱讀方法之描述。另外,對呈單數形式(例如,使用數詞「一」或「該」)之請求項元件的任何參考不應被認作將元件限於單數形式。
結合本文所揭示之實施例而描述之各種說明性邏輯區塊、模組、電路及演算法區塊可被實施為電子硬體、電腦軟體或此兩者之組合。為了清楚地說明硬體與軟體之此可互換性,上文已大體上在功能性方面描述各種說明性組件、區塊、模組、電路及步驟。此類功能性被實施為硬體抑或軟體取決於特定應用及強加於整個系統上之設計約束。熟習此項技術者可針對每一特定應用而以變化方式來實施所描述功能性,但此類實施決策不應被解譯為導致脫離本發明之範疇。
可運用經設計成執行本文所描述之功能的以下各者來實施或執行用以實施結合本文所揭示之實施例而描述之各種說明性邏輯、邏輯區塊、模組及電路的硬體:一般用途處理器、數位信號處理器(DSP)、特殊應用積體電路(application specific integrated circuit,ASIC)、場可程式化閘陣列(field programmable gate array,FPGA)或其 他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件或其任何組合。一般用途處理器可為微處理器,但在替代例中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可被實施為計算裝置之組合,例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任何其他此類組態。或者,可由特定於給定功能之電路系統執行一些步驟或方法。
在一或多個例示性態樣中,所描述功能可以硬體、軟體、韌體或其任何組合予以實施。若以軟體予以實施,則該等功能可作為一或多個指令或程式碼而儲存於非暫時性電腦可讀媒體或非暫時性處理器可讀媒體上。本文所揭示之方法或演算法之步驟可以一處理器可執行軟體模組予以體現,該處理器可執行軟體模組可駐留於非暫時性電腦可讀或處理器可讀儲存媒體上。非暫時性電腦可讀或處理器可讀儲存媒體可為可由電腦或處理器存取之任何儲存媒體。作為實例而非限制,此類非暫時性電腦可讀或處理器可讀媒體可包括RAM、ROM、EEPROM、FLASH記憶體、CD-ROM或其他光碟儲存裝置、磁碟儲存裝置或其他磁性儲存裝置,或可用以儲存呈指令或資料結構之形式之所要程式碼且可由電腦存取的任何其他媒體。如本文所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光碟、數位影音光碟(digital versatile disc,DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟運用雷射以光學方式再生資料。以上各者之組合亦包括於非暫時性電腦可讀或處理器可讀媒體之範疇內。另外,一方法或演算法之操作可作為程式碼及/或指令中之一者或其任何組合或集合而駐留於一非暫時性處理器可讀媒體及/或電腦可讀媒體上,該非暫時性處理器可讀媒體及/或電腦可讀媒體可併入至一電腦程式產品中。
提供所揭示實施例之前述描述以使任何熟習此項技術者能夠製 作或使用本發明。在不脫離本發明之精神或範疇的情況下,對此等實施例之各種修改對於熟習此項技術者將易於顯而易見,且可將本文所定義之一般原理應用於其他實施例。因此,本發明並不意欲限於本文所展示之實施例,而應符合與以下申請專利範圍以及本文所揭示之原理及新穎特徵相一致的最廣泛範疇。
100‧‧‧系統單晶片(SOC)
102‧‧‧數位信號處理器(DSP)
104‧‧‧數據機處理器
106‧‧‧圖形處理器
108‧‧‧應用程式處理器
114‧‧‧類比電路系統及自訂電路系統
116‧‧‧系統組件及資源
118‧‧‧時鐘
120‧‧‧電壓調節器
122‧‧‧直接記憶體存取(DMA)控制器
124‧‧‧通用串列匯流排(USB)控制器
126‧‧‧雙資料率(DDR)記憶體控制器
128‧‧‧雙資料率(DDR)記憶體陣列
130‧‧‧互連/匯流排模組
132‧‧‧主控器組件

Claims (26)

  1. 一種記憶體系統,其包含:一記憶體;一記憶體控制器,其耦接至該記憶體;及一直接記憶體存取控制器,其直接地耦接至該記憶體控制器。
  2. 如請求項1之記憶體系統,其中該直接記憶體存取控制器直接地耦接至該記憶體控制器,使得該直接記憶體存取控制器及該記憶體控制器定位於一系統資料匯流排之同一側上。
  3. 如請求項1之記憶體系統,其中該記憶體控制器為一動態隨機存取記憶體(DRAM)記憶體控制器。
  4. 如請求項1之記憶體系統,其中該記憶體控制器為一雙資料率(DDR)記憶體控制器,且該記憶體為一DDR同步動態隨機存取記憶體。
  5. 如請求項4之記憶體系統,其中該直接記憶體存取控制器經組態以執行包含以下各者之操作:接收一來源位址及一目的地位址;判定該來源位址是否在該記憶體中;回應於判定出該來源位址在該記憶體中而判定該目的地位址是否在該記憶體中;及回應於判定出該目的地位址在該記憶體中而將儲存於該來源位址處之資料複製至該目的地位址而不將任何資料推送至一匯流排上。
  6. 如請求項5之記憶體系統,其中該直接記憶體存取控制器經組態以執行進一步包含下者之操作: 回應於判定出該目的地位址不在該記憶體中而將儲存於該來源位址處之資料推送至該匯流排上。
  7. 如請求項5之記憶體系統,其中該直接記憶體存取控制器經組態以執行進一步包含下者之操作:回應於判定出該來源位址不在該記憶體中而將一讀取請求、該來源位址及該目的地位址推送至該匯流排上。
  8. 一種計算裝置,其包含:一系統資料匯流排;一處理器,其耦接至該系統資料匯流排;及一記憶體系統,其耦接至該系統資料匯流排,該記憶體系統包含:一記憶體;一記憶體控制器,其耦接至該記憶體;及一直接記憶體存取控制器,其直接地耦接至該記憶體控制器。
  9. 如請求項8之計算裝置,其中該直接記憶體存取控制器直接地耦接至該記憶體控制器,使得該直接記憶體存取控制器及該記憶體控制器定位於該系統資料匯流排之同一側上。
  10. 如請求項8之計算裝置,其中該記憶體控制器為一動態隨機存取記憶體(DRAM)記憶體控制器。
  11. 如請求項8之計算裝置,其中該記憶體控制器為一雙資料率(DDR)記憶體控制器,且該記憶體為一DDR同步動態隨機存取記憶體。
  12. 如請求項11之計算裝置,其中該直接記憶體存取控制器經組態以執行包含以下各者之操作:接收一來源位址及一目的地位址; 判定該來源位址是否在該記憶體中;回應於判定出該來源位址在該記憶體中而判定該目的地位址是否在該記憶體中;及回應於判定出該目的地位址在該記憶體中而將儲存於該來源位址處之資料複製至該目的地位址而不將任何資料推送至一匯流排上。
  13. 如請求項12之計算裝置,其中該直接記憶體存取控制器經組態以執行進一步包含下者之操作:回應於判定出該目的地位址不在該記憶體中而將儲存於該來源位址處之資料推送至該匯流排上。
  14. 如請求項12之計算裝置,其中該直接記憶體存取控制器經組態以執行進一步包含下者之操作:回應於判定出該來源位址不在該記憶體中而將一讀取請求、該來源位址及該目的地位址推送至該匯流排上。
  15. 一種向及自一或多個記憶體傳送資料之方法,其包含:在直接地耦接至一記憶體控制器之一直接記憶體存取控制器中接收一來源位址及一目的地位址;在該記憶體控制器中判定該來源位址是否在耦接至該記憶體控制器之一記憶體中;在該記憶體控制器中判定該目的地位址是否在該記憶體中;及當該記憶體控制器判定出該來源位址及該目的地位址兩者在該記憶體中時將儲存於該來源位址處之資料複製至該目的地位址而不將任何資料推送至一匯流排上。
  16. 如請求項15之方法,其進一步包含:回應於判定出該目的地位址不在該記憶體中而將儲存於該來 源位址處之資料推送至該匯流排上。
  17. 如請求項15之方法,其進一步包含:回應於判定出該來源位址不在該記憶體中而將一讀取請求、該來源位址及該目的地位址推送至該匯流排上。
  18. 如請求項15之方法,其中在直接地耦接至一記憶體控制器之一直接記憶體存取控制器中接收一來源位址及一目的地位址包含在與一記憶體控制器定位於一系統資料匯流排之同一側上之一直接記憶體存取控制器中接收該來源位址及該目的地位址。
  19. 如請求項15之方法,其中在該記憶體控制器中判定該來源位址是否在耦接至該記憶體控制器之一記憶體中包含在一動態隨機存取記憶體(DRAM)記憶體控制器中判定該來源位址是否在該記憶體中。
  20. 如請求項15之方法,其中在該記憶體控制器中判定該來源位址是否在耦接至該記憶體控制器之一記憶體中包含在一雙資料率(DDR)記憶體控制器中判定該來源位址是否在一DDR同步動態隨機存取記憶體中。
  21. 一種計算裝置,其包含:用於在直接地耦接至一記憶體控制器之一直接記憶體存取控制器中接收一來源位址及一目的地位址的構件;用於在該記憶體控制器中判定該來源位址是否在耦接至該記憶體控制器之一記憶體中的構件;用於在該記憶體控制器中判定該目的地位址是否在該記憶體中的構件;及用於當該記憶體控制器判定出該來源位址及該目的地位址兩者在該記憶體中時將儲存於該來源位址處之資料複製至該目的地位址而不將任何資料推送至一匯流排上的構件。
  22. 如請求項21之計算裝置,其進一步包含:用於回應於判定出該目的地位址不在該記憶體中而將儲存於該來源位址處之資料推送至該匯流排上的構件。
  23. 如請求項21之計算裝置,其進一步包含:用於回應於判定出該來源位址不在該記憶體中而將一讀取請求、該來源位址及該目的地位址推送至該匯流排上的構件。
  24. 如請求項21之計算裝置,其中用於在直接地耦接至一記憶體控制器之一直接記憶體存取控制器中接收一來源位址及一目的地位址的構件包含用於在與一記憶體控制器定位於一系統資料匯流排之同一側上之一直接記憶體存取控制器中接收該來源位址及該目的地位址的構件。
  25. 如請求項21之計算裝置,其中用於在該記憶體控制器中判定該來源位址是否在耦接至該記憶體控制器之一記憶體中的構件包含用於在一動態隨機存取記憶體(DRAM)記憶體控制器中判定該來源位址是否在該記憶體中的構件。
  26. 如請求項21之計算裝置,其中用於在該記憶體控制器中判定該來源位址是否在耦接至該記憶體控制器之一記憶體中的構件包含用於在一雙資料率(DDR)記憶體控制器中判定該來源位址是否在一DDR同步動態隨機存取記憶體中的構件。
TW102137337A 2012-11-08 2013-10-16 智慧雙資料率(ddr)記憶體控制器 TWI519962B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/672,346 US9116856B2 (en) 2012-11-08 2012-11-08 Intelligent dual data rate (DDR) memory controller

Publications (2)

Publication Number Publication Date
TW201432465A true TW201432465A (zh) 2014-08-16
TWI519962B TWI519962B (zh) 2016-02-01

Family

ID=49382662

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102137337A TWI519962B (zh) 2012-11-08 2013-10-16 智慧雙資料率(ddr)記憶體控制器

Country Status (7)

Country Link
US (1) US9116856B2 (zh)
EP (1) EP2917842A1 (zh)
JP (1) JP5866488B1 (zh)
KR (1) KR101577936B1 (zh)
CN (1) CN104769569A (zh)
TW (1) TWI519962B (zh)
WO (1) WO2014074255A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934143B2 (en) * 2013-09-26 2018-04-03 Intel Corporation Mapping a physical address differently to different memory devices in a group
CN107132904B (zh) * 2016-02-29 2020-12-15 华为技术有限公司 一种ddr系统的控制系统及控制方法
US10884639B2 (en) * 2017-02-27 2021-01-05 Qualcomm Incorporated Providing single data rate (SDR) mode or double data rate (DDR) mode for the command and address (CA) bus of registering clock drive (RCD) for dynamic random access memory (DRAM)
CN107066419B (zh) * 2017-03-23 2023-08-11 桂林理工大学 可扩展的自适应n×n通道数据通信系统
CN109324982B (zh) * 2017-07-31 2023-06-27 上海华为技术有限公司 一种数据处理方法以及数据处理装置
CN109933553B (zh) * 2019-02-28 2020-09-29 厦门码灵半导体技术有限公司 一种控制系统及其设计方法、一组控制系统、电子装置
TWI773325B (zh) * 2021-05-18 2022-08-01 新唐科技股份有限公司 積體電路、監測系統及其監測方法
CN114281724B (zh) * 2021-12-10 2024-01-02 深圳市欧瑞博科技股份有限公司 数据传输方法、装置及电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529968B1 (en) 1999-12-21 2003-03-04 Intel Corporation DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
JP3422308B2 (ja) * 2000-03-02 2003-06-30 日本電気株式会社 データ処理装置
US6732243B2 (en) 2001-11-08 2004-05-04 Chaparral Network Storage, Inc. Data mirroring using shared buses
US6594748B1 (en) * 2001-11-09 2003-07-15 Lsi Logic Corporation Methods and structure for pipelined read return control in a shared RAM controller
US6721820B2 (en) * 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
EP1396792B1 (en) 2002-09-06 2005-06-15 Sun Microsystems, Inc. Memory copy command specifying source and destination of data executed in the memory controller
KR101085406B1 (ko) * 2004-02-16 2011-11-21 삼성전자주식회사 불 휘발성 메모리를 제어하기 위한 컨트롤러
JP2005267148A (ja) 2004-03-18 2005-09-29 Konica Minolta Business Technologies Inc メモリ制御装置
US7606950B2 (en) 2005-10-17 2009-10-20 National Instruments Corporation Graphical programs with direct memory access FIFO for controller/FPGA communications
US7836220B2 (en) 2006-08-17 2010-11-16 Apple Inc. Network direct memory access
US7865784B1 (en) 2006-09-11 2011-01-04 Marvell International Ltd. Write validation
KR20110004164A (ko) * 2009-07-07 2011-01-13 삼성전자주식회사 반도체 메모리 장치
US8250250B2 (en) * 2009-10-28 2012-08-21 Apple Inc. Using central direct memory access (CDMA) controller to test integrated circuit
EP2529312A4 (en) * 2010-01-28 2013-07-03 Hewlett Packard Development Co INTERFACE METHOD AND DEVICE FOR MEMORY DEVICES
US8938589B2 (en) * 2010-01-28 2015-01-20 Hewlett-Packard Development Company, L. P. Interface methods and apparatus for memory devices using arbitration
US8949502B2 (en) 2010-11-18 2015-02-03 Nimble Storage, Inc. PCIe NVRAM card based on NVDIMM

Also Published As

Publication number Publication date
CN104769569A (zh) 2015-07-08
TWI519962B (zh) 2016-02-01
JP5866488B1 (ja) 2016-02-17
JP2016505914A (ja) 2016-02-25
EP2917842A1 (en) 2015-09-16
WO2014074255A1 (en) 2014-05-15
KR101577936B1 (ko) 2015-12-15
US9116856B2 (en) 2015-08-25
US20140129766A1 (en) 2014-05-08
KR20150083894A (ko) 2015-07-20

Similar Documents

Publication Publication Date Title
TWI519962B (zh) 智慧雙資料率(ddr)記憶體控制器
TWI556099B (zh) 用於高效能和低成本快閃記憶體轉換層的系統和方法
US10163508B2 (en) Supporting multiple memory types in a memory slot
JP5537533B2 (ja) ハードウェアのダイナミックなキャッシュパワー管理
US11036412B2 (en) Dynamically changing between latency-focused read operation and bandwidth-focused read operation
US9727267B1 (en) Power management and monitoring for storage devices
US10127968B2 (en) Method and apparatus for completing pending write requests to volatile memory prior to transitioning to self-refresh mode
TW201723866A (zh) 具有隱藏更新及外部更新之混合式更新技術
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
US10345885B2 (en) Power control of a memory device through a sideband channel of a memory bus
US10095432B2 (en) Power management and monitoring for storage devices
JP2022161812A (ja) 低電力のコヒーレントメモリデバイスにアクセスする場合のプロセッサストールの回避法
KR20170073266A (ko) 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법
US9152588B2 (en) Race-free level-sensitive interrupt delivery using fabric delivered interrupts
CN117616362A (zh) 带内通信接口功率管理隔离
US11592889B2 (en) Die-to-die dynamic clock and power gating
Wang et al. Building and optimizing MRAM-based commodity memories
US20200104076A1 (en) Dimensional direct memory access controller
US10409513B2 (en) Configurable low memory modes for reduced power consumption
KR20150035078A (ko) 반도체 장치 및 시스템

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees