TWI627526B - 用於節約記憶體系統中的功耗的方法、系統及電腦程式 - Google Patents
用於節約記憶體系統中的功耗的方法、系統及電腦程式 Download PDFInfo
- Publication number
- TWI627526B TWI627526B TW103132493A TW103132493A TWI627526B TW I627526 B TWI627526 B TW I627526B TW 103132493 A TW103132493 A TW 103132493A TW 103132493 A TW103132493 A TW 103132493A TW I627526 B TWI627526 B TW I627526B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- channel
- width
- bus
- soc
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Power Sources (AREA)
Abstract
本文揭示用於節約記憶體系統中的功耗的系統和方法。一個此種系統包括DRAM記憶體系統和晶片上系統(SoC)。SoC經由記憶體匯流排被耦合至DRAM記憶體系統。該SoC包括用於處理來自一或多個記憶體客戶端的、針對存取DRAM記憶體系統的記憶體請求的一或多個記憶體控制器。該一或多個記憶體控制器被配置成藉由對記憶體匯流排的匯流排寬度動態地調整大小來選擇性地節約記憶體功耗。
Description
本案係關於使用動態記憶體I/O調整大小來節約記憶體功率的系統和方法。
計算設備(例如,可攜式計算設備、平板電腦、行動電話等)一直要求增加的記憶體輸入/輸出(I/O)速度以適應更高的峰值效能需求。為了解決峰值效能需求,通常的做法是將計算設備設計為具有更快的I/O速度和更寬的記憶體匯流排。然而,具有增加的記憶體速度的計算設備需要增加的功耗。儘管對於高效能I/O用例(use case)而言,增加的功耗可以是一個可接受的折衷,但是很多計算設備的大多數用例皆不需要高效能I/O。例如,高效能I/O對諸如音訊播放、語音撥叫、視訊播放等的低至中等效能的用例是不利的。
已有用於藉由將記憶體I/O操作重新配置為「低功率」模式來減少相對較低效能的I/O使用的功耗的現有解決方案。通常,此意味著記憶體I/O以較低的頻率執行。在「低功率
」模式期間,可以使以較高頻率用於信號完整性的終端電阻器失能。此外,可能亦需要修改信號擺幅。儘管在可適用的用例期間,此可以幫助減少功耗,但是頻率轉換引入了不期望的潛時,取決於實施方式,潛時通常是2μs至50μs。
本文揭示用於節約記憶體系統中的功耗的系統和方法。一個實施例是一種用於節約記憶體系統中的功耗的方法。一種此種方法包括:從常駐於晶片上系統(SoC)上的記憶體客戶端接收針對存取動態隨機存取記憶體(DRAM)記憶體系統的記憶體請求,該DRAM記憶體系統經由記憶體匯流排被耦合至SoC;決定來自記憶體客戶端的記憶體請求對應於使用的寬度少於記憶體匯流排的全部寬度的效能用例;及藉由將記憶體匯流排動態調整大小到少於全部寬度來節約針對與該效能用例相對應的記憶體請求的記憶體功耗。
另一實施例是一種用於節約記憶體系統中的功耗的系統。一種此種系統包括DRAM記憶體系統和晶片上系統(SoC)。SoC經由記憶體匯流排被耦合至DRAM記憶體系統。該SoC包括用於處理來自一或多個記憶體客戶端的、針對存取DRAM記憶體系統的記憶體請求的一或多個記憶體控制器。記憶體控制器被配置成藉由動態地對記憶體匯流排的匯流排寬度調整大小來選擇性地節約記憶體功耗。
100‧‧‧系統
102‧‧‧晶片上系統(SoC)
104‧‧‧DRAM記憶體系統
108‧‧‧記憶體客戶端
109‧‧‧SoC匯流排
110‧‧‧記憶體控制器
110a‧‧‧記憶體控制器
110b‧‧‧記憶體控制器
112‧‧‧DRAM設備
114‧‧‧SoC實體層設備
116‧‧‧記憶體實體層設備
118‧‧‧高效能通道模式
120‧‧‧低效能通道模式
200‧‧‧方法
202‧‧‧方塊
204‧‧‧決定方塊
206‧‧‧方塊
208‧‧‧方塊
210‧‧‧方塊
302‧‧‧時鐘
304‧‧‧節拍
306‧‧‧節拍
308‧‧‧節拍
310‧‧‧節拍
312‧‧‧記憶體I/O暫存器
312a‧‧‧記憶體I/O暫存器
312b‧‧‧記憶體I/O暫存器
314‧‧‧DRAM記憶體核心陣列
322‧‧‧SoC
328‧‧‧顯示控制器
330‧‧‧觸控式螢幕控制器
334‧‧‧視訊編碼器
336‧‧‧視訊放大器
338‧‧‧視訊連接埠
340‧‧‧通用序列匯流排(USB)控制器
342‧‧‧USB埠
346‧‧‧用戶辨識模組(SIM)卡
348‧‧‧數位照相機
350‧‧‧立體聲音訊編解碼器(CODEC)
352‧‧‧音訊放大器
354‧‧‧第一立體聲揚聲器
356‧‧‧第二立體聲揚聲器
358‧‧‧麥克風放大器
360‧‧‧麥克風
362‧‧‧調頻(FM)無線電調諧器
364‧‧‧FM天線
366‧‧‧立體聲頭戴式耳機
370‧‧‧RF開關
372‧‧‧RF天線
376‧‧‧單聲道耳機
378‧‧‧振動設備
380‧‧‧電源
388‧‧‧網卡
402‧‧‧節拍
404‧‧‧節拍
406‧‧‧節拍
408‧‧‧節拍
410‧‧‧節拍
412‧‧‧節拍
414‧‧‧節拍
416‧‧‧節拍
702‧‧‧記憶體通道
704‧‧‧記憶體通道
706‧‧‧多工器
802‧‧‧多工器
1100‧‧‧可攜式計算設備(PCD)
1102‧‧‧多核CPU
1104‧‧‧記憶體
1106‧‧‧觸控式螢幕顯示器
在附圖中,除非另有說明,否則類似的元件符號貫穿各個視圖表示類似的部分。對於諸如「102A」或「102B」
之類的使用字母字元標誌的元件符號,字母字元標誌可以區分出現在相同附圖中的兩個類似的部分或要素。當元件符號意欲包含在全部附圖中具有相同元件符號的全部部分時,用於元件符號的字母字元標誌可以省略。
圖1是用於使用動態記憶體I/O調整大小來節約DRAM記憶體功耗的系統的實施例的方塊圖。
圖2是圖示用圖1的系統實施的用於節約DRAM記憶體功耗的方法的實施例的流程圖。
圖3是圖示在高效能模式期間的圖1的系統的單通道實施例的方塊圖。
圖4是圖示在低效能模式期間的圖3的系統的方塊圖,其中匯流排寬度被動態地調整大小以節約記憶體功耗。
圖5是圖示處於高效能模式下的圖3的系統的另一單通道實施例的方塊圖。
圖6圖示處於低效能模式下的圖5的系統。
圖7是圖示圖1的系統的雙通道實施例的方塊圖。
圖8是圖示圖1的系統的另一雙通道實施例的方塊圖。
圖9圖示處於高效能模式下的圖8的系統。
圖10圖示處於低效能模式下的圖8的系統。
圖11是合併了圖1的系統的可攜式計算設備的實施例的方塊圖。
本文中使用「示例性」一詞表示「用作示例、實例
或說明」。本文被描述為「示例性」的任何態樣不應被解釋為比其他態樣更優選或更具優勢。
在本描述中,術語「應用」亦可以包括具有可執行內容的檔案,例如:目標代碼、腳本、位元組代碼、標記語言檔案和補丁。此外,本文提到的「應用」亦可以包括實際上不可執行的檔案,例如可能需要被打開的文件或可能需要被存取的其他資料檔案。
術語「內容」亦可以包括具有可執行內容的檔案,例如:目標代碼、腳本、位元組代碼、標記語言檔案和補丁。此外,本文提到的「內容」亦可以包括實際上不可執行的檔案,例如可能需要被打開的文件或可能需要被存取的其他資料檔案。
如本描述中所使用的,術語「元件」、「資料庫」、「模組」、「系統」等意指與電腦相關的實體,其可以是硬體、韌體、硬體和軟體的組合、軟體,或執行中的軟體。例如,元件可以是、但並不僅限於:處理器上執行的程序、處理器、物件、可執行程式、執行的執行緒、程式及/或電腦。作為說明,在計算設備上執行的應用和該計算設備二者皆可以是元件。一或多個元件可以常駐於執行中的一個程序及/或執行緒內,以及,元件可以位於一台電腦上及/或分佈於兩台或更多台電腦之間。此外,可以經由其上儲存了各種資料結構的各種電腦可讀取媒體來執行該等元件。該等元件可以例如根據具有一或多個資料封包(例如,來自一個元件的資料,該元件藉由信號與局部系統、分散式系統中及/或跨越諸
如具有其他系統的網際網路之類的網路的另一元件進行互動)的信號藉由本端及/或遠端程序進行通訊。
在本描述中,術語「通訊設備」、「無線設備」、「無線電話」、「無線通訊設備」和「無線手持機」可互換使用。隨著第三代(「3G」)和第四代(「4G」)無線技術的到來,更高的頻寬可用性使得更多的可攜式計算設備能夠具有更多樣的無線能力。因此,可攜式計算設備可以包括蜂巢式電話、傳呼機、PDA、智慧型電話、導航設備或具有無線連接或鏈路的手持電腦。
圖1圖示用於使用動態記憶體輸入/輸出(I/O)調整大小來節約記憶體功耗的系統100。可以在任何計算設備中實施系統100,計算設備包括個人電腦、工作站、伺服器、可攜式計算設備(PCD)(例如,蜂巢式電話、可攜式數位助理(PDA)、可攜式遊戲控制台、掌上型電腦或平板電腦)。如圖1的實施例所示,系統100包括經由記憶體匯流排106耦合到DRAM記憶體系統104的晶片上系統(SoC)102。SoC 102包括各種晶片上元件,包括向DRAM記憶體系統104請求記憶體資源的一或多個記憶體客戶端108。記憶體客戶端108可以包括一或多個處理單元(例如,中央處理單元(CPU)、圖形處理單元(GPU)、數位訊號處理器(DSP)、顯示處理器等)、視訊編碼器,或向DRAM記憶體系統104請求讀/寫存取的其他客戶端。記憶體客戶端108經由SoC匯流排109連接至一或多個記憶體控制器110。
記憶體控制器110被配置成接收和處理去往DRAM
記憶體系統104的讀/寫記憶體請求。記憶體資料可以分佈在經由專用記憶體通道連接至相應的DRAM設備112的一或多個記憶體控制器110之間。應當理解的是,可以在具有任意期望類型、大小和記憶體配置(例如,雙倍資料速率(DDR)記憶體)的系統100中使用任意數量的DRAM設備112、記憶體控制器110和記憶體通道。
如圖1所示,系統100被配置成為合適的用例選擇性地提供兩種不同的通道模式:(1)高效能通道模式118;和(2)低效能通道模式120。在高效能通道模式下,可以使用記憶體匯流排106的全部寬度來處理高效能用例。在圖1的例子中,記憶體匯流排106的全部寬度可以包括8位元。每個位元可以包括單獨的管腳、連接或其他實體層元件。應當理解的是,可能有多種用例不需要高效能(例如,音訊播放、行動電話上的語音撥叫、視訊播放等)以及可以經由少於記憶體匯流排106的全部寬度來提供合適的效能。對於相對較低效能的用例(或功率節約優於效能的其他情況),可以藉由對記憶體匯流排106的寬度動態地調整大小來節約記憶體功率。就此而言,應當理解的是,低效能用例可以包括可以在產出減少的記憶體功率的同時利用少於記憶體匯流排106的全部寬度來提供合適效能的任意情況。例如,在低效能通道模式120期間,可以將8位元記憶體匯流排106調整大小至4位元記憶體匯流排106。如圖1的實施例所示,可以藉由使八個管腳、連接或包括記憶體匯流排106的其他實體層元件(如虛線示出的)中的四個失能來將通道寬度減少二分之一。
圖2圖示由系統100實施的用於使用動態記憶體I/O調整大小來節約記憶體功率的方法200的實施例。在方塊202處,從記憶體客戶端108接收針對存取DRAM記憶體系統104的記憶體請求。在決定方塊204處,系統100決定應當以使用記憶體匯流排106的全部寬度的高效能通道模式118來處理該記憶體請求,還是以使用少於記憶體匯流排106的全部寬度的低效能通道模式120來處理該記憶體請求。應當理解的是,記憶體客戶端108可以請求功率優先或效能優先。例如,在實施例中,可以在用於消除的讀/寫命令中包括通道寬度調整大小位元,該用於消除的讀/寫命令可以消除對額外信號管腳的需要。可以由系統100來驗證功率優先還是效能優先。在其他實施例中,可以基於預期的或計算出的效能需求來向記憶體客戶端108指派高效能通道模式118或低效能通道模式120。若在方塊210處,系統100決定高效能用例,則可以使用全部匯流排寬度向DRAM記憶體系統104提供記憶體資料。若系統100決定不需要高效能或相比效能而優選功率節約,則在方塊206處,可以藉由對記憶體匯流排106動態地調整大小來節約記憶體功率。在方塊208處,可以經由調整大小過的匯流排寬度向DRAM記憶體系統104提供記憶體資料。
應當理解的是,可以以單通道記憶體系統或多通道記憶體系統來實施動態記憶體I/O調整大小。圖3-圖6圖示動態記憶體I/O調整大小的單通道實施方式的各種實施例。
圖3與圖4圖示DRAM記憶體系統104包括LPDDR2記憶體設備以及記憶體匯流排106包括32位元匯流排的實例。如
本領域所公知的,DRAM記憶體異動由基於時鐘302跨越記憶體匯流排106上的多個節拍組成。節拍數量(「叢發長度」)可以是固定的且取決於DRAM設備的類型。例如,DDR類型的設備的叢發長度是2,DDR2類型的設備的叢發長度是4,DDR3類型的設備的叢發長度是8等等。節拍數量和匯流排寬度的組合被定義為最小存取長度(MAL)。圖3與圖4的實例中的32位元寬的LPDDR2的MAL大小是16位元組(4個節拍×32位元=128位元=16位元組),其中節拍304、節拍306、節拍308和節拍310中每一個皆包括4個位元組。DRAM記憶體系統104包括內部邏輯結構,該內部邏輯結構經由記憶體匯流排106接收節拍傳入串流並將其放置於有MAL大小的暫存器(例如,記憶體I/O暫存器312)中,該暫存器隨後被載入至DRAM記憶體核心陣列314中。
圖3圖示處於使用了全部32位元匯流排寬度的高效能通道模式下的示例性系統100的操作。圖4圖示低效能通道模式的操作,其中32位元的通道寬度被動態地調整了二分之一大小,至16位元的通道寬度。為了保持具有一半匯流排寬度的16位元組的預定MAL大小,SoC 102被配置成使節拍數量加倍。如圖4所示,節拍402、節拍404、節拍406、節拍408、節拍410、節拍412、節拍414和節拍416中的每一個被配置為具有2位元組而不是如在高效能通道模式下所使用的4位元組。DRAM記憶體系統104接收八個2位元組的節拍傳入串流,並且將其放置在有MAL大小的記憶體I/O暫存器312中的相同的16位元組中。隨後以和高效能通道模式下相同的方式將記憶
體I/O暫存器312載入至記憶體核心陣列314中,而不需要重新配置DRAM內部結構或減少在低效能通道模式下可用的可用記憶體空間量。
圖5與圖6圖示動態記憶體I/O調整大小的單通道實施方式的另一實施例。圖5圖示處於高效能通道模式下的系統100。圖6圖示處於低效能通道模式下的系統100。SoC 102包括記憶體控制器110,其用於處理在一對SoC實體層設備114(SoC PHY_U和SoC PHY_L)和相應的儲存實體層設備116(Mem PHY_U和Mem PHY_L)之間的發往DRAM記憶體系統104的記憶體請求。DRAM記憶體系統104包括記憶體I/O暫存器312和記憶體核心暫存器314。
參照圖5,SoC實體層設備114和記憶體實體層設備116包括用於向記憶體匯流排106提供位元且從記憶體匯流排106接收相應位元的線路驅動器。SoC PHY_U和記憶體PHY_U包括線路驅動器IO[m-1]、IO[m-2]……IO[m/2],其中m=通道寬度。SoC PHY_L和記憶體PHY_L包括線路驅動器IO[m/2]……IO[1]……IO[0]。如圖5中進一步示出的,記憶體匯流排106包括含有n個節拍的單個記憶體通道,其中n=節拍數量,B=單個m位元的節拍且b=節拍(B)內的單個位元。記憶體I/O暫存器312接收並儲存傳入資料,該等傳入資料被載入至記憶體核心暫存器314中。
如圖6所示,當處於低效能通道模式下時,通道寬度從m減少至m/2,其中使SoC PHY_U和記憶體PHY_U失能以得到期望的功率節省。為了將預定的MAL大小保持在一半的匯
流排寬度(m/2),SoC 102被配置成使節拍數量加倍(2n)。記憶體I/O暫存器312接收並儲存一半數量的位元,該等位元被載入至記憶體核心暫存器314中。
圖7圖示動態記憶體I/O調整大小的雙通道實施方式的實施例。SoC 102和DRAM記憶體系統104可以包括兩個記憶體通道702和704(Ch 0和Ch 1)。在高效能用例中(圖7的上圖中示出的),通道702和通道704二者皆是有效的,其中16個節拍的資料從SoC:Ch0去往DRAM:Ch0且16個節拍的資料從SoC:Ch1去往DRAM:Ch1。
當期望相對較低效能的用例時,系統100可以例如藉由使一個記憶體通道失能來動態地重新配置記憶體通道寬度的大小。如圖7的下圖所示,可以使記憶體通道704失能以實現期望的功率節省。有效的記憶體通道702包括藉由多工器706在DRAM:Ch0和DRAM:Ch1之間多工的16個節拍的資料。應當理解的是,可以將多工器706放置在資料路徑中的各點處(例如,在記憶體I/O暫存器312之前或之後、在DRAM之內或之外等)。
圖8-圖10圖示動態記憶體I/O調整大小的雙通道實施方式的另一實施例,該實施例沿用與圖5與圖6中相同的參考符號:m=通道寬度,n=節拍數量且B=單個m位元的節拍。如圖8所示,SoC 102包括兩個記憶體控制器110a和110b。記憶體控制器110a對應於記憶體通道702,用於處理在SoC PHY_A和記憶體PHY_A之間的去往DRAM記憶體系統104的記憶體請求。記憶體控制器110b對應於記憶體通道704,用於
處理在SoC PHY_B和記憶體PHY_B之間的去往DRAM記憶體系統104的記憶體請求。在高效能操作模式下(圖8與圖9),記憶體I/O暫存器312a接收並儲存來自記憶體PHY_A的記憶體資料。記憶體I/O暫存器312b接收並儲存來自記憶體PHY_B的記憶體資料。
如圖8-圖10中進一步示出的,SoC實體層設備114a和114b以及記憶體實體層設備116a和116b可以包括多個線路驅動器IO[k],其中m=通道寬度,0≦k≦m-1。參照圖8,記憶體PHY_A線路驅動器IO[m-1]和記憶體PHY_B線路驅動器IO[m-1]可以包括去往多工器802的輸入以便於控制(經由MODE_SEL)提供哪些資料給記憶體I/O暫存器312b。在低效能操作模式下(圖10),可以使記憶體通道704失能以使記憶體匯流排寬度減半並得到期望的功率節省。多工器802可以將來自記憶體PHY_A線路驅動器IO[m-1]的資料選擇性地提供給記憶體I/O暫存器312a或記憶體I/O暫存器312b。應當理解的是,可以對其他記憶體PHY_A和記憶體PHY_B的線路驅動器IO[k]進行類似地多工。
應當理解的是,圖5-圖10中示出的實施例實施了記憶體寫入操作,其中可以將來自SoC 102的資料寫入DRAM記憶體系統104。本領域的一般技藝人士應當理解的是,上述方法亦可以應用於相反的方向,並且在來自DRAM記憶體系統104的資料被返回至SoC 102中的記憶體讀取操作期間可以獲得功率節省。
如上面所提到的,系統100可以併入任意期望的計算
系統中。圖11圖示系統100被併入示例性可攜式計算設備(PCD)1100中。應當易於理解的是,系統100的某些元件可以包括在SoC 322(圖12)上,而其他元件(例如,DRAM記憶體系統104)可以包括耦合到SoC 322的外部元件。SoC 322可以包括多核CPU 1102。多核CPU 1102可以包括第零核心410、第一核心412和第N核心414。該等核心中的一個可以例如包括圖形處理單元(GPU),而其他核心中一或多個包括CPU。
顯示控制器328和觸控式螢幕控制器330可以被耦合至CPU 1202。轉而,在晶片上系統322之外的觸控式螢幕顯示器1106可以被耦合至顯示控制器1106和觸控式螢幕控制器330。
圖11亦圖示視訊編碼器334(例如,逐行倒相(PAL)編碼器、按順序傳送彩色與儲存(SECAM)編碼器或國家電視系統委員會(NTSC)編碼器)被耦合至多核CPU 1102。此外,視訊放大器336被耦合至視訊編碼器334和觸控式螢幕顯示器1106。另外,視訊連接埠338被耦合至視訊放大器336。如圖11所示,通用序列匯流排(USB)控制器340被耦合至多核CPU 1102。另外,USB埠342被耦合至USB控制器340。記憶體1104和用戶辨識模組(SIM)卡346亦可以被耦合至多核CPU 1102。記憶體1104可以常駐於SoC 322上或被耦合至SoC 322(如圖1所示)。如上所述,記憶體1104可以包括DRAM記憶體系統104(圖1)。
此外,如圖11所示,數位照相機348可以被耦合至多核CPU 1102。在示例性態樣中,數位照相機348是電荷耦合設
備(CCD)照相機或互補金屬氧化物半導體(CMOS)照相機。
如圖11中進一步示出的,立體聲音訊編解碼器(CODEC)350可以被耦合至多核CPU 1102。此外,音訊放大器352可以被耦合至立體聲音訊CODEC 350。在示例性態樣中,可以將第一立體聲揚聲器354和第二立體聲揚聲器356耦合至音訊放大器352。圖11示出麥克風放大器358亦可以被耦合至立體聲音訊CODEC 350。此外,可以將麥克風360耦合至麥克風放大器358。在特定態樣中,可以將調頻(FM)無線電調諧器362耦合至立體聲音訊CODEC 350。另外,可以將FM天線364耦合至FM無線電調諧器362。此外,可以將立體聲頭戴式耳機366耦合至立體聲音訊CODEC 350。
圖11亦圖示可以將射頻(RF)收發機368耦合至多核CPU 402A。RF開關370可以被耦合至RF收發機368和RF天線372。如圖11所示,可以將小鍵盤204耦合至多核CPU 1102。另外,可以將具有麥克風的單聲道耳機376耦合至多核CPU 1102。此外,可將振動設備378耦合至多核CPU 1202。
圖11亦示出可以將電源380耦合至晶片上系統322。在特定態樣中,電源380是為PCD 1100的各種需要功率的元件提供功率的直流(DC)電源。此外,在特定態樣中,電源是可充電DC電池或DC電源,其經由連接至AC電源的變壓器從交流電(AC)得到DC。
圖11亦表明,PCD 1100亦可以包括可以用於存取資料網路(例如,區域網路、個人區域網路或任何其他網路)
的網卡388。網卡388可以是藍芽網卡、WiFi網卡、個人區域網路(PAN)卡、個人區域網路超低功率技術(PeANUT)網卡、電視\電纜\衛星調諧器或本領域熟知的任意其他網卡。此外,可以將網卡388併入晶片中,亦即,網卡388可以是晶片中的完整解決方案,而可以不是單獨的網卡388。
如圖11中所圖示的,觸控式螢幕顯示器1106、視訊連接埠338、USB埠342、照相機348、第一立體聲揚聲器354、第二立體聲揚聲器356、麥克風360、FM天線364、立體聲頭戴式耳機366、RF開關370、RF天線372、小鍵盤374、單聲道耳機376、振動器378和電源380可以在晶片上系統322之外。
應當理解的是,可以將本文描述的方法步驟中的一或多個作為電腦程式指令儲存在記憶體中,例如上述模組。該等指令可以由任何合適的處理器結合或協同相應的模組來執行以執行本文述及之方法。
為了本發明如所描述地執行,本說明書中描述的程序或程序流程中的某些步驟理當在其他步驟之前。然而,若此種順序或次序不會改變本發明的功能,則本發明並不受所描述的步驟順序的限制。亦即,應當認識到,在不脫離本發明的範疇和精神的情況下,一些步驟可以在其他步驟之前、之後或與其他步驟並行地(與其基本同時地)被執行。在一些實例中,在不脫離本發明的情況下,可以省略或不執行某些步驟。此外,諸如「其後」、「隨後」、「接下來」等詞並不意欲限制該等步驟的順序。該等詞僅是用於引導讀者閱讀示例性方法的描述。
此外,例如基於本說明書中的流程圖和相關描述,普通程式設計人員能夠毫無困難地寫出電腦代碼或辨識合適的硬體及/或電路以實施所揭示的發明。
因此,對於充分理解如何實行和使用本發明而言,特定的程式碼指令集或詳細硬體設備的揭示內容並不被認為是必須的。在上面的描述中以及結合可以示出各種程序流程的附圖詳細解釋了所主張的電腦實施程序的創造性功能。
在一或多個示例性態樣中,該功能可以用硬體、軟體、韌體或其任意組合來實施。若使用軟體實施,則可以將該等功能儲存在電腦可讀取媒體中或者作為電腦可讀取媒體上的一或多個指令或代碼進行傳輸。電腦可讀取媒體包括電腦儲存媒體和通訊媒體二者,其中通訊媒體包括促進從一個地方向另一個地方傳送電腦程式的任何媒體。儲存媒體可以是電腦能夠存取的任何可用媒體。舉例而言(但並非限制),此種電腦可讀取媒體可以包括RAM、ROM、EEPROM、NAND快閃記憶體、NOR快閃記憶體、M-RAM、P-RAM、R-RAM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存設備,或者能夠用於攜帶或儲存具有指令或資料結構形式的期望的程式碼並能夠由電腦存取的任何其他媒體。
此外,可以將任何連接適當地稱為電腦可讀取媒體。例如,若軟體是使用同軸電纜、光纖電纜、雙絞線、數位用戶線路(DSL)或者諸如紅外線、無線電和微波之類的無線技術從網站、伺服器或其他遠端源進行傳輸的,則該等同軸電纜、光纖電纜、雙絞線、DSL或者諸如紅外線、無線電和微
波之類的無線技術包括在該媒體的定義中。
如本文所使用的,磁碟和光碟包括壓縮光碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地再現資料,而光碟則用鐳射來光學地再現資料。上面的組合亦應當包括在電腦可讀取媒體的範疇之內。
對本領域一般技藝人士而言,在不脫離其精神和範疇的情況下,本發明涉及的可替代實施例將是顯而易見的。因此,儘管已詳細說明並描述了所選的態樣,但是應當理解的是,在不脫離如以下請求項所定義的本發明的精神和範疇的情況下,可以有各種替代和變化。
Claims (15)
- 一種用於節約一記憶體系統中的功耗的方法(200),該方法包含以下步驟:向常駐於一晶片上系統(SoC)上的複數個記憶體客戶端之每一者指派一高效能用例或一低效能用例;從常駐於該晶片上系統(SoC)上的該等複數個記憶體客戶端之一者接收(202)針對存取一動態隨機存取記憶體(DRAM)記憶體系統的一記憶體請求,該DRAM記憶體系統經由一記憶體匯流排耦合至該SoC,該記憶體請求包含:一通道寬度調整大小位元,該通道寬度調整大小位元指示該記憶體客戶端之該效能用例;由該記憶體請求中的該通道寬度調整大小位元,決定來自該記憶體客戶端的該記憶體請求對應於使用的寬度少於該記憶體匯流排的一全部寬度的該低效能用例;及藉由將該記憶體匯流排動態地調整大小(206)到少於用於該記憶體請求的該全部寬度,來節約針對與該低效能用例相對應的該記憶體請求的記憶體功耗。
- 如請求項1述及之方法,其中發送該記憶體請求的該記憶體客戶端包含常駐於該SoC上的以下各項中的一項:一中央處理單元(CPU)、一圖形處理單元(GPU)和一數位訊號處理器(DSP)。
- 如請求項1述及之方法,其中該記憶體匯流排包含:一N 位元通道,並且將該記憶體匯流排的該匯流排寬度動態地調整大小之步驟包含以下步驟:將該N位元通道減少至一(N-M)位元通道。
- 如請求項1述及之方法,其中該記憶體匯流排包含:一單記憶體通道。
- 如請求項4述及之方法,其中將該匯流排寬度動態地調整大小之步驟包含以下步驟:將該匯流排寬度從一第一通道寬度減少至一第二通道寬度;及增加跨越該單記憶體通道上的節拍數量,以保持由該DRAM記憶體系統定義的一最小存取長度(MAL)。
- 如請求項5述及之方法,其中將該匯流排寬度從該第一通道寬度減少至該第二通道寬度之步驟包含以下步驟:使該SoC中的一SoC實體層設備和該DRAM記憶體系統中的一記憶體實體層設備失能。
- 如請求項1述及之方法,其中該記憶體匯流排包含:一n通道匯流排。
- 一種用於節約一記憶體系統中的功耗的系統(100),該系統包含: 用於向常駐於一晶片上系統(SoC)(102)上的複數個記憶體客戶端(108)之每一者指派一高效能用例或一低效能用例的手段;用於從常駐於該晶片上系統(SoC)上的該等複數個記憶體客戶端之一者接收針對存取一動態隨機存取記憶體(DRAM)記憶體系統(104)的一記憶體請求的手段,該DRAM記憶體系統經由一記憶體匯流排耦合至該SoC,該記憶體請求包含:一通道寬度調整大小位元,該通道寬度調整大小位元指示該記憶體客戶端之該效能用例;用於由該記憶體請求中的該通道寬度調整大小位元,決定來自該記憶體客戶端的該記憶體請求對應於使用的寬度少於該記憶體匯流排的一全部寬度的該低效能用例的手段;及用於藉由將該記憶體匯流排(106)動態地調整大小到少於用於該記憶體請求的該全部寬度,來節約針對與該低效能用例相對應的該記憶體請求的記憶體功耗的手段。
- 如請求項8述及之系統,其中發送該記憶體請求的該記憶體客戶端包含常駐於該SoC上的以下各項中的一項:一中央處理單元(CPU)、一圖形處理單元(GPU)和一數位訊號處理器(DSP)。
- 如請求項8述及之系統,其中該記憶體匯流排包含:一N位元通道,並且將該記憶體匯流排的該匯流排寬度動態地調整大小之手段包含:用於將該N位元通道減少至一(N-M)位 元通道的手段。
- 如請求項8述及之系統,其中該記憶體匯流排包含:一單記憶體通道。
- 如請求項11述及之系統,其中該用於將該匯流排寬度動態地調整大小的手段包含:用於將該匯流排寬度從一第一通道寬度減少至一第二通道寬度的手段;及用於增加跨越該單記憶體通道上的節拍數量,以保持由該DRAM記憶體系統定義的一最小存取長度(MAL)的手段。
- 如請求項12述及之系統,其中該用於將該匯流排寬度從該第一通道寬度減少至該第二通道寬度的手段包含:用於使該SoC中的一SoC實體層設備和該DRAM記憶體系統中的一記憶體實體層設備失能的手段。
- 如請求項11述及之系統,其中該記憶體匯流排包含:一n通道匯流排。
- 一種包含指令的電腦程式,該等指令用於執行如請求項1至7中任一者述及之方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/033,233 US9430434B2 (en) | 2013-09-20 | 2013-09-20 | System and method for conserving memory power using dynamic memory I/O resizing |
US14/033,233 | 2013-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201527947A TW201527947A (zh) | 2015-07-16 |
TWI627526B true TWI627526B (zh) | 2018-06-21 |
Family
ID=51703397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103132493A TWI627526B (zh) | 2013-09-20 | 2014-09-19 | 用於節約記憶體系統中的功耗的方法、系統及電腦程式 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9430434B2 (zh) |
EP (1) | EP3047352B1 (zh) |
JP (1) | JP6239130B2 (zh) |
KR (1) | KR101914350B1 (zh) |
CN (1) | CN105556421B (zh) |
TW (1) | TWI627526B (zh) |
WO (1) | WO2015042469A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9324397B1 (en) * | 2015-01-16 | 2016-04-26 | Qualcomm Incorporated | Common die for supporting different external memory types with minimal packaging complexity |
WO2017058494A1 (en) * | 2015-10-01 | 2017-04-06 | Rambus Inc. | Memory system with cached memory module operations |
US10222853B2 (en) * | 2016-03-03 | 2019-03-05 | Qualcomm Incorporated | Power saving techniques for memory systems by consolidating data in data lanes of a memory bus |
US10126979B2 (en) | 2016-10-04 | 2018-11-13 | Qualcomm Incorporated | Bus encoding using metadata |
US10152379B1 (en) * | 2016-12-27 | 2018-12-11 | EMC IP Holding Company LLP | Efficient garbage collection for distributed storage with forward error correction |
US10409513B2 (en) * | 2017-05-08 | 2019-09-10 | Qualcomm Incorporated | Configurable low memory modes for reduced power consumption |
US20180335828A1 (en) * | 2017-05-19 | 2018-11-22 | Qualcomm Incorporated | Systems and methods for reducing memory power consumption via device-specific customization of ddr interface parameters |
CN109032973B (zh) * | 2018-07-09 | 2020-10-16 | 芯来科技(武汉)有限公司 | Icb总线系统 |
KR20200034499A (ko) * | 2018-09-21 | 2020-03-31 | 삼성전자주식회사 | 메모리 장치와 통신하는 데이터 처리 장치 및 방법 |
US11693794B2 (en) * | 2020-08-31 | 2023-07-04 | Sandisk Technologies Llc | Tunable and scalable command/address protocol for non-volatile memory |
US11893240B2 (en) * | 2021-10-28 | 2024-02-06 | Qualcomm Incorporated | Reducing latency in pseudo channel based memory systems |
CN117519451A (zh) * | 2022-07-28 | 2024-02-06 | 华为技术有限公司 | 数据读写的方法、控制器和存储设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060285847A1 (en) * | 2005-06-17 | 2006-12-21 | Intel Corporation | Systems with variable link widths |
US20070101168A1 (en) * | 2005-10-31 | 2007-05-03 | Lee Atkinson | Method and system of controlling data transfer speed and power consumption of a bus |
TW200908585A (en) * | 2007-06-15 | 2009-02-16 | Qualcomm Inc | System and methods for controlling modem hardware |
US7949817B1 (en) * | 2007-07-31 | 2011-05-24 | Marvell International Ltd. | Adaptive bus profiler |
WO2013009442A2 (en) * | 2011-07-12 | 2013-01-17 | Rambus Inc. | Dynamically changing data access bandwidth by selectively enabling and disabling data links |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5915265A (en) | 1995-12-22 | 1999-06-22 | Intel Corporation | Method and apparatus for dynamically allocating and resizing the dedicated memory in a shared memory buffer architecture system |
US6330639B1 (en) | 1999-06-29 | 2001-12-11 | Intel Corporation | Method and apparatus for dynamically changing the sizes of pools that control the power consumption levels of memory devices |
US6727533B2 (en) * | 2000-11-29 | 2004-04-27 | Fujitsu Limited | Semiconductor apparatus having a large-size bus connection |
US7469311B1 (en) * | 2003-05-07 | 2008-12-23 | Nvidia Corporation | Asymmetrical bus |
US7188198B2 (en) | 2003-09-11 | 2007-03-06 | International Business Machines Corporation | Method for implementing dynamic virtual lane buffer reconfiguration |
US7539809B2 (en) * | 2005-08-19 | 2009-05-26 | Dell Products L.P. | System and method for dynamic adjustment of an information handling systems graphics bus |
US7953994B2 (en) * | 2007-03-26 | 2011-05-31 | Stmicroelectronics Pvt. Ltd. | Architecture incorporating configurable controller for reducing on chip power leakage |
JP2010181998A (ja) * | 2009-02-04 | 2010-08-19 | Oki Data Corp | データ処理装置 |
US9798370B2 (en) * | 2009-03-30 | 2017-10-24 | Lenovo (Singapore) Pte. Ltd. | Dynamic memory voltage scaling for power management |
US8412971B2 (en) | 2010-05-11 | 2013-04-02 | Advanced Micro Devices, Inc. | Method and apparatus for cache control |
US8762760B2 (en) * | 2010-09-14 | 2014-06-24 | Xilinx, Inc. | Method and apparatus for adaptive power control in a multi-lane communication channel |
JP5630348B2 (ja) | 2011-03-18 | 2014-11-26 | 株式会社リコー | メモリモジュールおよびメモリシステム |
US10838886B2 (en) * | 2011-04-19 | 2020-11-17 | Micron Technology, Inc. | Channel depth adjustment in memory systems |
US9262348B2 (en) | 2011-11-30 | 2016-02-16 | Nvidia Corporation | Memory bandwidth reallocation for isochronous traffic |
CN102692948B (zh) * | 2012-05-21 | 2015-09-09 | 珠海市杰理科技有限公司 | 片上系统实现的实时时钟低功耗控制电路 |
-
2013
- 2013-09-20 US US14/033,233 patent/US9430434B2/en active Active
-
2014
- 2014-09-19 CN CN201480051727.0A patent/CN105556421B/zh active Active
- 2014-09-19 KR KR1020167008192A patent/KR101914350B1/ko active IP Right Grant
- 2014-09-19 EP EP14784149.8A patent/EP3047352B1/en active Active
- 2014-09-19 TW TW103132493A patent/TWI627526B/zh active
- 2014-09-19 JP JP2016544034A patent/JP6239130B2/ja active Active
- 2014-09-19 WO PCT/US2014/056659 patent/WO2015042469A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060285847A1 (en) * | 2005-06-17 | 2006-12-21 | Intel Corporation | Systems with variable link widths |
US20070101168A1 (en) * | 2005-10-31 | 2007-05-03 | Lee Atkinson | Method and system of controlling data transfer speed and power consumption of a bus |
TW200908585A (en) * | 2007-06-15 | 2009-02-16 | Qualcomm Inc | System and methods for controlling modem hardware |
US7949817B1 (en) * | 2007-07-31 | 2011-05-24 | Marvell International Ltd. | Adaptive bus profiler |
WO2013009442A2 (en) * | 2011-07-12 | 2013-01-17 | Rambus Inc. | Dynamically changing data access bandwidth by selectively enabling and disabling data links |
Also Published As
Publication number | Publication date |
---|---|
US9430434B2 (en) | 2016-08-30 |
EP3047352A1 (en) | 2016-07-27 |
CN105556421B (zh) | 2018-12-25 |
KR101914350B1 (ko) | 2018-11-01 |
WO2015042469A1 (en) | 2015-03-26 |
JP2016534484A (ja) | 2016-11-04 |
KR20160055828A (ko) | 2016-05-18 |
TW201527947A (zh) | 2015-07-16 |
US20150089112A1 (en) | 2015-03-26 |
CN105556421A (zh) | 2016-05-04 |
JP6239130B2 (ja) | 2017-11-29 |
EP3047352B1 (en) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI627526B (zh) | 用於節約記憶體系統中的功耗的方法、系統及電腦程式 | |
EP3475831B1 (en) | System and method for odd modulus memory channel interleaving | |
EP2929446B1 (en) | System and method for managing performance of a computing device having dissimilar memory types | |
WO2015106145A1 (en) | System and method for resolving dram page conflicts based on memory access patterns | |
US9383809B2 (en) | System and method for reducing memory I/O power via data masking | |
WO2017095574A1 (en) | Systems and methods for a hybrid parallel-serial memory access | |
EP3427153B1 (en) | Multi-rank collision reduction in a hybrid parallel-serial memory system | |
US20200058330A1 (en) | Client latency-aware micro-idle memory power management | |
EP3417378B1 (en) | Systems and methods for individually configuring dynamic random access memories sharing a common command access bus |