TWI487406B - 在存儲控制器中進行功率控制的方法及存儲控制器 - Google Patents

在存儲控制器中進行功率控制的方法及存儲控制器 Download PDF

Info

Publication number
TWI487406B
TWI487406B TW100115726A TW100115726A TWI487406B TW I487406 B TWI487406 B TW I487406B TW 100115726 A TW100115726 A TW 100115726A TW 100115726 A TW100115726 A TW 100115726A TW I487406 B TWI487406 B TW I487406B
Authority
TW
Taiwan
Prior art keywords
memory
access request
memory access
power mode
power
Prior art date
Application number
TW100115726A
Other languages
English (en)
Other versions
TW201208420A (en
Inventor
馬克N 富勒頓
瑟什西K 瑟拉達克里希南
布倫特 馬爾霍蘭
垃維S 塞提
Original Assignee
美國博通公司
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 美國博通公司 filed Critical 美國博通公司
Publication of TW201208420A publication Critical patent/TW201208420A/zh
Application granted granted Critical
Publication of TWI487406B publication Critical patent/TWI487406B/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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)
  • Mobile Radio Communication Systems (AREA)
  • Power Sources (AREA)

Description

在存儲控制器中進行功率控制的方法及存儲控制器
本發明涉及記憶體訪問控制。更具體地說,本發明涉及用於確定記憶體用戶端優先訪問記憶體的電路。
隨著密度的增加,目前的電子電路變得日益複雜,且在單個晶片上或至少小型封裝體中支援整個系統的發展。此外,這種改進使得設備向低成本出售但包含更強功能的方向發展。因此,可以配置很多協定系統和設備,其中這些設備共用一些硬體例如記憶體。然而,在當前環境下,很多不同的系統可能需要即時訪問共有資源例如記憶體,在製造具有實質功能(substantial functionality)的設備或系統時,記憶體控制成為越來越重要的部分。由於大多數這種功能具有即時記憶體訪問需求,使得在記憶體時延太高時(例如若超過所需訪問時間)這種功能會失效或減弱,記憶體控制系統可以處理(service)來自各種功能模組的記憶體訪問請求。
具有這種實質功能的移動設備現在可以允許用戶有效地具有功能強大的計算設備,這些計算設備支援用於資料傳輸、很多類型通信服務等的常見功能的大型陣列。但是,這種移動設備的一個方面是需要節能模式來延長電池壽命以便使用戶能夠使用更長時間,而不需給電池重新充電或更換電池。因此,通常在系統中設計運行功率模式以便根據運行模式和運行需求減少設備中的各種模組的功耗。在很多情況下,可以在某個時間段將電路的功率降低到關閉狀態或節能狀態。這樣累積下來,這種功率週期可以用於減少功耗並延長電池壽命。
已知通信系統支援無線和/或有線連接的通信設備間的無線及有線通信。該通信系統的範圍從國內和/或國際移動電話系統到網際網路再到點對點家庭無線網路。構建各種類型的通信系統,並根據一個或多個通信標準來運行。例如,無線通信系統可以根據一個或多個標準來運行,這些標準包括但不限制於IEEE 802.11、藍牙、先進移動電話服務(AMPS)、數位AMPS、全球化移動通信系統(GSM)、碼分多址(CDMA)、本地多點分配系統(LMDS)、多通道多點分配系統(MMDS)和/或其變型。
根據無線通信系統類型,無線通信設備,例如蜂窩電話、雙向無線電通信設備、個人數位助理(PDA)、個人電腦(PC)、膝上型電腦、家庭音響設備等,與其他無線通信設備直接或間接通信。對於直接通信(即點對點通信),參與的無線通信設備將它們的接收器或發送器調到相同的通道或通道組(例如,無線通信系統的許多射頻載波中的一個或者幾個系統的一個特定射頻頻率)並在該通道上進行通信。對於間接無線通信,各個無線通信設備與相關基站(例如,移動通信服務中)和/或相關接入點(例如,家用或樓用無線網路中)通過指定通道直接通信。為了完成無線通信設備間的通信連接,相關的基站和/或相關的接入點相互間通過系統控制器、公用交換電話網(PSTN)、網際網路和/或其他廣域網直接通信。
每個參與無線通信的無線通信設備,都包括內置無線收發器(例如,接收器和發送器)或連接有相關的無線收發器(例如,家用和/或樓用無線通信網路的站點、射頻數據機等)。眾所周知,發送器包括資料調製階段、一個或多個中頻階段以及功率放大器。資料調製階段根據特定無線通信標準將資料轉化為基帶信號。一個或多個中頻階段將基帶信號與一個或多個本地振盪混合以產生射頻信號。功率放大器在通過天線發送前將射頻信號放大。
典型地,資料調製階段在基帶處理器晶片上實施,而中頻(IF)階段和功率放大器階段在單獨的無線電處理器晶片上實施。傳統地,利用雙極電路設計無線電積體電路,造成信號的大幅振盪和線性發送器成分。因此,很多傳統的(legacy)基帶處理器使用類比介面來與無線電處理器間進行類比信號的通信。
因此,在移動無線設備中,除了執行其中功能的系統或模組外,還可以包含很多這種通信系統。很多這種模組頻繁且必要地訪問記憶體以便提取資料、存儲資料或刷新或更新用戶周邊設備(例如顯示器或揚聲器)。因此,運行的節能模式不僅可以基於設備或模組目前是否正在使用並處於運行模式,還可以基於該模組或系統的具體運行的時間特性。例如,根據特定模組支援的相關通信協定,運行的節能模式可以決定降低電路的功率並在需要該模組運行的前一個時間段內恢復電路的功率。
本發明提供一種裝置和操作方法,並在以下發明內容以及權利要求中給出進一步的描述。本發明的其他特徵和優點將在以下具體實施例部分參考附圖進行詳細描述。
根據一個方面,提供了一種在存儲控制器中基於多個記憶體運行功率模式(a plurality of memory power modes of operation)進行功率控制的方法,包括:生成功率和資源控制命令以關聯所述多個記憶體運行功率模式其中之一或關聯所述多個記憶體運行功率模式間的轉換;確定從第一記憶體運行功率模式轉換為第二記憶體運行功率模式,其中所述第二記憶體運行功率模式是節能的(reduced)記憶體運行功率模式;監控多個暫存器以確定是否從記憶體用戶端接收記憶體訪問請求;以及根據所接收的記憶體訪問請求確定從所述第二記憶體運行功率模式轉變為所述第一記憶體運行功率模式。
優選地,監控所述多個暫存器包括同時監控所述多個暫存器中的至少兩個暫存器。
優選地,所述功率和資源控制命令包括以下至少一項:用於給記憶元件供電的功率控制命令;用於給暫存器供電的功率控制命令;用於給驅動器供電的功率控制命令;用於給鎖相環電路元件供電的功率控制命令;以及用於控制鎖相環時鐘速率的控制命令。
優選地,所述方法還包括接收功率模式超馳指示,並根據所接收的功率模式超馳指示確定工作在其中一個記憶體運行功率模式。
優選地,所述方法還包括:從第一記憶體用戶端接收寫入記憶體訪問請求;將所述寫入記憶體訪問請求存儲在暫存器中;以及向所述第一記憶體用戶端發送寫入完成指示。
優選地,所述方法還包括:從所述第一記憶體用戶端或第二記憶體用戶端其中之一接收讀取記憶體訪問請求;若所述暫存器中存儲有任何寫入記憶體請求,處理存儲在所述暫存器中的寫入記憶體請求;以及處理所述讀取記憶體訪問請求。
優選地,所述方法還包括處理存儲在暫存器中的所有寫入請求以避免裝滿所述暫存器。
優選地,所述方法還包括在轉換為另一記憶體運行功率模式前處理存儲在所述暫存器中的所有寫入請求。
優選地,所述方法還包括邏輯電路:檢測已經接收所述記憶體訪問請求;生成功率和資源控制命令以便使記憶體退出較低的運行功率模式;生成至少一個鎖相環控制命令以便從第一鎖相環接收較慢的時鐘;根據所述較慢的時鐘執行記憶體訪問;然後接收較快的時鐘;以及根據所述較快的時鐘執行隨後的記憶體訪問。
優選地,所述方法還包括:根據所述記憶體用戶端的ID分配訪問時間值給接收的記憶體訪問請求;以及根據分配給所接收的記憶體訪問請求的訪問時間值確定轉換為所述第二記憶體運行功率模式。
優選地:所述訪問時間值是根據時鐘脈衝遞減的計數值;以及確定轉換為所述第二記憶體運行功率模式的步驟基於訪問時間值的遞減值大於或等於閾值。
根據一個方面,一種具有用於基於多個記憶體運行功率模式進行功率控制的基於硬體的邏輯的存儲控制器,包括:功率模式邏輯,用於生成功率和資源控制命令以關聯所述多個記憶體運行功率模式其中之一或關聯所述多個記憶體運行功率模式間的轉換;以及其中所述存儲控制器:確定轉換為節能的記憶體運行功率模式;監控多個暫存器以確定是否從記憶體用戶端接收記憶體訪問請求;根據所接收的記憶體訪問請求確定從所述節能的記憶體運行功率模式轉變為供電的記憶體運行功率模式;以及生成至少一個功率和資源控制命令以增加至少一個電路模組的功率。
優選地,所述存儲控制器還包括邏輯電路,所述邏輯電路用於同時監控所述多個暫存器中的至少兩個暫存器。
優選地,所述功率模式邏輯生成以下至少一項:用於給記憶元件供電的功率控制命令;用於給暫存器供電的功率控制命令;用於給驅動器供電的功率控制命令;用於給鎖相環電路元件供電的功率控制命令;以及用於控制鎖相環時鐘速率的控制命令。
優選地,所述存儲控制器還包括用於接收功率模式超馳指示的介面,和用於根據所接收的功率模式超馳指示確定工作在其中一個記憶體運行功率模式的邏輯。
優選地,所述存儲控制器還定義了用於以下操作的邏輯:從第一記憶體用戶端接收寫入記憶體訪問請求;將所述寫入記憶體訪問請求存儲在暫存器中;以及向所述第一記憶體用戶端發送寫入完成指示。
優選地,所述存儲控制器還包括用於以下操作的邏輯:從所述第一記憶體用戶端或第二記憶體用戶端其中之一接收讀取記憶體訪問請求;若所述暫存器中存儲有任何寫入記憶體請求,處理存儲在所述暫存器中的寫入記憶體請求;以及處理所述讀取記憶體訪問請求。
優選地,所述存儲控制器還包括用於處理存儲在暫存器中的所有寫入請求以避免裝滿所述暫存器的邏輯。
優選地,所述存儲控制器還包括用於在轉換為另一記憶體運行功率模式前處理存儲在所述暫存器中的所有寫入請求的邏輯。
優選地,所述存儲控制器還包括邏輯電路,用於:檢測已經接收所述記憶體訪問請求;生成功率和資源控制命令以便使記憶體退出較低的運行功率模式;生成至少一個鎖相環控制命令以便從第一鎖相環接收較慢的時鐘;根據所述較慢的時鐘執行記憶體訪問;然後接收較快的時鐘;以及根據所述較快的時鐘執行隨後的記憶體訪問。
優選地,所述存儲控制器還包括用於以下操作的邏輯:根據所述記憶體用戶端的ID分配訪問時間值給接收的記憶體訪問請求;以及根據分配給所接收的記憶體訪問請求的訪問時間值確定轉換為所述節能的記憶體運行功率模式。
優選地:所述訪問時間值是根據時鐘脈衝遞減的計數值;以及確定轉換為所述節能的記憶體運行功率模式的步驟基於訪問時間值的遞減值大於或等於閾值。
根據一個方面,一種具有用於基於多個記憶體運行功率模式進行功率控制的基於硬體的邏輯的存儲控制器,包括:功率模式邏輯,用於生成功率和資源控制命令以關聯所述多個記憶體運行功率模式其中之一或關聯所述多個記憶體運行功率模式間的轉換,所述多個記憶體運行功率模式包括:自更新模式,其中記憶體的所有頁面都關閉且暫存器和驅動器都斷電;預充電模式,其中記憶元件、暫存器和驅動器都接電且準備運行,但記憶體的所有頁面都關閉;以及活躍省電模式,其中至少一個頁面打開,但沒有向所述記憶體發送時鐘,且記憶元件、暫存器和驅動器都接電並準備運行;其中所述存儲控制器利用邏輯電路同時監控多個暫存器以確定是否已從記憶體用戶端接收記憶體訪問請求;以及其中所述存儲控制器根據以下至少一項確定從第一記憶體運行功率模式轉換為第二記憶體運行功率模式:接收記憶體訪問請求;與所述記憶體訪問請求相關的時間值;所接收的功率模式超馳指示;以及所接收的記憶體功率模式運行命令或參數。
優選地,所述存儲控制器還包括邏輯電路,所述邏輯電路用於同時監控所述多個暫存器中的至少兩個暫存器。
優選地,所述存儲控制器還定義了用於以下操作的邏輯:從第一記憶體用戶端接收寫入記憶體訪問請求;將所述寫入記憶體訪問請求存儲在暫存器中;以及向所述第一記憶體用戶端發送寫入完成指示。
優選地,所述存儲控制器還包括用於以下操作的邏輯:從所述第一記憶體用戶端或第二記憶體用戶端其中之一接收讀取記憶體訪問請求;若所述暫存器中存儲有任何寫入記憶體請求,處理存儲在所述暫存器中的寫入記憶體請求;以及處理所述讀取記憶體訪問請求。
優選地,所述存儲控制器還包括邏輯電路,用於:檢測已經接收所述記憶體訪問請求;生成功率和資源控制命令以便使記憶體退出較低的運行功率模式;生成至少一個鎖相環控制命令以便從第一鎖相環接收較慢的時鐘;根據所述較慢的時鐘執行從較低的運行功率模式的轉變並處理記憶體訪問;然後接收較快的時鐘;以及根據所述較快的時鐘運行。
優選地,所述存儲控制器還包括用於以下操作的邏輯:根據所述記憶體用戶端的ID分配訪問時間值給所述接收的記憶體訪問請求;以及根據分配給所接收的記憶體訪問請求的訪問時間值確定工作在節能的記憶體運行功率模式。
優選地:所述存儲控制器包括用於根據時鐘脈衝遞減的計數值確定所述訪問時間值的邏輯是;以及確定轉換為所述較低的運行功率模式的步驟基於訪問時間值的遞減值大於或等於閾值。
優選地,所述存儲控制器:將所述寫入請求存儲到暫存器中從而延遲處理寫入請求直到所述暫存器中存儲了一定數量的寫入請求;連續處理與記憶體的共用頁面相關的寫入請求;當接下來的訪問需要同一存儲體(bank)的新頁面時關閉記憶體的開啟頁面;當執行刷新時關閉記憶體的開啟頁面;以及僅當需要處理訪問請求時打開記憶體的頁面。
優選地,所述存儲控制器根據定義用於預測記憶體訪問請求到來的邏輯的輸出開始模式轉換,以轉換為更高的功率模式。
優選地,當從記憶體訪問請求具有週期性的記憶體用戶端接收記憶體訪問請求時,所述存儲控制器根據佔用的時間或計數值開始模式轉換,以轉換為更高的功率模式。
優選地,所述存儲控制器估算標記值,作為確定記憶體用戶端是否為週期性用戶端以及是否應該開始模式轉換以轉換為更高功率模式的一部分。
圖1是根據本發明一個實施例的包含電路設備和網路元件的通信系統及其運行的功能框圖。更具體地,多個網路服務區域04、06和08分別是網路10的一部分。網路10包括多個基站或接入點(AP)12-16、多個無線通信設備18-32以及網路硬體元件34。無線通信設備18-32可以是膝上型電腦18和26、個人數位助手20和30、個人電腦24和32和/或蜂窩電話22和28。任意無線通信設備18-32可以包括根據不同通信協定進行通信的多個通信模組。因此,這些設備可以支援個人區域網路通信、無線局域網通信、紅外線通信以及具有一種或多種類型移動協議的移動通信。無線通信設備的細節及它們的運行將參考下述附圖進行更詳細的描述。應當理解,具有一定範圍附圖標記的設備(例如設備18-32)指的是圖1所示設備18-32中的任意一種特定設備。
基站或AP 12-16通過局域網(LAN)連接36、38和40連接到網路硬體元件34。網路硬體元件34(可以是路由器、交換機、網橋、數據機、系統控制器等)提供廣域網(WAN)連接42,以便連接通信系統10和外部網路元件(例如WAN 44)。每個基站或接入點12-16具有相關天線或天線陣列以便與其區域內的無線通信設備通信。典型地,無線通信設備18-32註冊特定的基站或接入點12-16以便從通信系統10接收服務。對於直接連接(即點對點通信),無線通信設備通過分配的通道直接通信。
典型地,基站用於蜂窩電話系統及類似系統,而接入點用於家庭內或建築內無線網路。不考慮特定類型的通信系統,每個無線通信設備包括內置無線電設備和/或連接到無線電設備。
圖2是無線通信設備18-32的示意框圖,無線通信設備18-32包括多個收發器電路以及根據多個通信協定與其他收發器通信的其他模組。設備18-32用於通過個人區域網對等(peer to peer)通信鏈路與蜂窩電話22通信、通過WLAN協議通信(例如任意一種基於IEEE 802.11的協議)與WLAN接入點12-16通信以及通過相關移動通信協議與基站12-16通信。為了支援這種通信,設備18-32包括多個如圖所示的收發器。設備18-32還包括記憶體、處理器、通用硬體模組和輸入/輸出模組。如圖2所示的設備18-32的每個模組、電路或收發器(統稱,“模組”)可能需要訪問記憶體。因此,當功率控制操作需要降低模組或部分模組的功率時,這種功率控制器必須能夠確定任意模組的任意部分何時將需要恢復功率。典型地,這種功率管理可以由處理定義該功能的相關軟體的處理器執行。
根據這些,還應該在不需要訪問時降低記憶體的功率到節能的功率狀態。但是,利用傳統的基於軟體的邏輯在例如圖2所示的環境中是難以實現的,這種環境中,很多不同的模組可以是具有可能未知的記憶體訪問需求的記憶體用戶端。因此,如下面將要描述的,每個記憶體用戶端(例如圖2所示的)用於控制訪問記憶體的系統和方法包含在設備18-32中,這些設備允許硬體邏輯控制記憶體訪問並支援基於硬體的記憶體功率控制和記憶體訪問電路,記憶體訪問電路用於降低電路的功率,而利用傳統的基於軟體的用於功率控制的方法是不能降低這些電路的功率的。
圖3是包含至少一個無線電設備60的無線通信設備18-32的示意框圖。對於蜂窩電話主機,無線電設備60是內置元件。對於個人數位助手主機、手提主機和/或個人電腦主機,無線電設備60可以是內置的或外部相連的元件。
如圖所示,主機設備18-32包括處理模組50、記憶體52、無線電介面54、輸入介面58和輸出介面56。處理模組50和記憶體52處理相關指令,這些指令通常由主機設備完成。例如,對於蜂窩電話主機設備,處理模組50根據特定蜂窩電話標準執行相關通信功能。圖3中的任意一個模組可以根據運行模式和電路拓撲請求訪問記憶體(52或65)。
無線電介面54允許從無線電設備60接收資料以及向無線電設備60發送資料。對於從無線電設備60接收的資料(例如入站資料),無線電介面54將這些資料提供給處理模組50以便進一步處理和/或路由給輸出介面56。輸出介面56提供與輸出顯示設備(例如顯示幕、顯示器、揚聲器等)的連接,以便顯示所接收的資料。無線電介面54還提供從處理模組50到無線電設備60的資料。處理模組50可以通過輸入介面58從輸入設備(例如鍵盤、鍵區、麥克風等)接收出站資料或自己生成資料。對於通過輸入介面58接收的資料,處理模組50可以對資料執行相應主機功能和/或通過無線電介面54將其路由給無線電設備60。
無線電設備60包括主機介面62、基帶處理模組100、記憶體65、多個射頻(RF)發送器106-110、發送/接收(T/R)模組114、多個天線81-85、多個RF接收器118-120以及本地振盪模組74。基帶處理模組100結合存儲在記憶體65中的操作指令一起分別提供數位接收器功能和數位發送器功能服務。數位接收器功能包括但不限於數位中頻-基帶轉換、解調、星座解映射、解碼、解交錯、快速傅裏葉變換、迴圈首碼去除、空-時解碼和/或解擾。數位發送器功能包括但不限於加擾、編碼、交錯、群映射、調製、反向快速傅裏葉轉換、迴圈首碼添加、空-時編碼以及數位基帶-IF轉換。基帶處理模組100可以利用一個或多個處理設備實施。該處理設備可以是微處理器、微控制器、數位信號處理器、微型電腦、中央處理單元、現場可編程閘陣列、可編程邏輯設備、狀態機、邏輯電路、類比電路、數位電路和/或其他能根據操作指令來操作信號(類比和/或數位)的設備。記憶體65可以是單個存儲設備或許多存儲設備。該存儲設備可以是唯讀記憶體、隨機存取記憶體、易失記憶體、非易失記憶體、靜態記憶體、動態記憶體、快閃記憶體和/或任意用於存儲數位資訊的設備。注意,如果基帶處理模組100通過狀態機、類比電路、數位電路和/或邏輯電路實施它的至少一個功能時,存儲相應操作指令的記憶體可以嵌入在包括狀態機、模組電路、數位電路和/或邏輯電路的電路中。
在運行中,無線電設備60通過主機介面62從主機設備接收出站資料94。基帶處理模組100接收出站資料94並根據模式選擇信號102生成一個或多個出站符號流104。模式選擇信號102表示符合各種IEEE 802.11標準中至少一個具體模式的特定運行模式。例如,模式選擇信號102可以表示2.4GHz頻帶、20或22MHz通道帶寬以及54M/s的最大比特率。在常用種類中,模式選擇信號還可表示從1百萬位元/秒-54百萬位元/秒的特點速率範圍。在常用種類中,模式選擇信號還可以表示特定類型的調製,包括但不限於巴克碼調製、BPSK、QPSK、CCK、16QAM和/或64QAM。模式選擇信號102還可以包括編碼率、一定數量編碼比特/副載波(NBPSC)、編碼比特/OFDM符號(NCBPS)和/或資料比特/OFDM符號(NDBPS)。模式選擇信號102還可以表示相應模式的特定通道化,並提供通道號碼和相應中心頻率。模式選擇信號102還可以表示功率頻譜密度遮罩值以及MIMO通信起始使用的一定數量的天線。這些通信參數中的每一個都可以影響包含訪問優先順序在內的記憶體訪問請求。
根據模式選擇信號102,基帶處理模組100根據出站資料94生成一個或多個出站符號流104。例如,若模式選擇信號102表示正在將單個發送天線用於所選的特定模式,基帶處理模組100將生成單個出站符號流104。替代地,若模式選擇信號102表示2、3或4個天線,基帶處理模組100將根據出站資料94生成2、3或4個出站符號流104。
根據基帶處理模組100生成的出站符號流104的數量,將使能相應數量的RF發送器106-110將出站符號流104轉換為輸出RF信號112。通常,每個RF發送器106-110包括數位濾波及上採樣模組、數模轉換模組、類比濾波模組、上變頻模組、功率放大器和射頻帶通濾波器。RF發送器106-110提供輸出RF信號112給發送/接收模組114,發送/接收模組114將輸出RF信號分別提供給相應天線81-85。
當無線電設備60處於接收模式時,發送/接收模組114通過天線81-85接收一個或多個入站RF信號116,並將它們提供給一個或多個RF接收器118-122。RF接收器118-122將入站RF信號116轉換為一定數量的入站符號流124。一定數量的入站符號流124將對應於接收資料的特定模式。基帶處理模組100將入站符號流124轉換為入站資料92,通過主機介面62將入站資料92提供給主機設備18-32。
本領域普通技術人員應當理解,圖3所示的無線通信設備可以利用一個或多個積體電路實施。例如,主機設備可以在第一積體電路上實施,基帶處理模組100和記憶體65可以在第二積體電路上實施,且無線電設備60剩下的元件(除去天線81-85)可以在第三積體電路上實施。又例如,無線電設備60可以在單個積體電路上實施。再例如,主機設備的處理模組50和基帶處理模組100可以是在單個積體電路上實施的共用處理設備。另外,記憶體52和記憶體65可以在單個積體電路上實施和/或作為處理模組50和基帶處理模組100共同的處理模組在同一積體電路上實施。
圖4是根據本發明一個實施例的存儲控制器的功能框圖。更具體地,存儲控制器200可以描述為用於控制訪問記憶體的存儲控制器訪問請求仲裁器。它包括多個埠202,這些埠連接起來用於從相應的多個記憶體訪問用戶端204接收記憶體訪問請求。存儲控制器200包括限定控制器運行的多個離散和/或邏輯電路。通常,控制器200在硬體中而不是軟體中處理並仲裁記憶體訪問請求。因此,該硬體中的處理過程支援處理同時在多個埠202接收的並行訪問請求,對這些請求進行快速仲裁。訪問請求被同時接收,還可以意味同一時窗內在不同埠接收至少兩個訪問請求。例如,同一時窗可以是同一時鐘脈衝。
更具體地,控制器200包括存儲控制器運行邏輯210,用於路由控制器200執行的任務和通信等。計數生成邏輯212定義了用於將初始計數值分配給在埠202接收的記憶體訪問請求的運行邏輯。可以根據多個因素分配初始計數值,包括記憶體用戶端類型、與存儲計數器ID相關的特有的計數值、用於根據用戶端ID確定計數值的邏輯、記憶體用戶端特有的通信類型等。用戶端類型包括,例如記憶體用戶端是帶寬用戶端還是時延用戶端。帶寬用戶端通常生成週期性通信,但例如不像時延用戶端那樣對時間有嚴格要求。另外,計數值還可以由記憶體用戶端自己特有或表示。在一個實施例中,記憶體用戶端通過有線媒介(例如通信匯流排)發送計數值指示。因而,控制器200接收計數值,並將計數值與用戶端ID關聯存儲。
閾值設置邏輯214定義了用於為分配給記憶體訪問請求的計數值設置閾值的邏輯,因為計數值可以調整用於反映埠202接收每個請求後逝去的時間量。通常,每個接收的記憶體訪問請求的初始計數值和閾值基於以下至少一項:生成記憶體訪問請求的用戶端204的ID和生成記憶體訪問請求的用戶端204的用戶端類型。
通信邏輯216定義了用於在埠202和用戶端204間通信以便接收記憶體訪問請求以及相關資料和/或控制信號的邏輯。訪問請求分級邏輯218定義了用於給通過埠202接收的所有記憶體訪問請求分級的邏輯。時鐘邏輯220定義了用於根據時鐘脈衝調節計數值的邏輯。訪問請求分級邏輯222定義了用於分級或分配優先順序分級給訪問請求的邏輯,因為這些訪問請求隨著時間流逝而依次被接收。請求處理邏輯224定義了用於處理請求的邏輯,例如確定請求是否來自有效用戶端,請求是否可以被滿足,且若是,將該請求提交給定序器(sequencer)228從而實際地處理該請求。QoS參數邏輯226定義了用於設置一個或多個QoS相關欄位或數值的邏輯,這些欄位或數值至少部分由訪問請求分級邏輯218用來給訪問請求分級。最後,定序器228接收一個或多個按順序排列的記憶體訪問請求,它們的排列順序對應於訪問請求分級邏輯218生成的分級,並參與與記憶體232的記憶體訪問通信230,通信230對應於正在處理的記憶體訪問請求。例如,若請求是寫入資料,通信230包括發送資料給記憶體232。若請求是讀取資料,通信230包括從記憶體232接收資料的通信。最後,可以看出,存儲控制器用於接收外部邏輯或設備(例如允許用戶限定分級邏輯218評估的一些參數的用戶介面)生成的可配置控制參數234。
在運行中,控制器200在第一和第二埠202從第一和第二記憶體用戶端204接收第一和第二記憶體訪問請求,且隨後存儲第一和第二記憶體訪問請求和任意相關資料。然後控制器202同時評估這些記憶體訪問請求並授權記憶體訪問給優先順序分級最高的一個訪問請求或多個訪問請求。
更具體地,控制器200至少部分根據發送在第一埠202接收的第一記憶體訪問請求的第一記憶體用戶端204的ID來設置第一記憶體訪問優先順序計數值。控制器200還至少部分根據發送在第二埠202接收的第二記憶體訪問請求的第二記憶體用戶端204的ID來設置第二記憶體訪問優先順序計數值。通常,記憶體訪問優先順序計數值可以基於記憶體訪問請求可接受的延遲量,記憶體訪問請求進一步基於用戶端ID。
在本發明的一個實施例中,基於每個時鐘計數,控制器200同時遞減第一和第二記憶體優先順序訪問計數值。另外,基於每個時鐘計數,控制器200確定第一和第二記憶體優先順序訪問計數值中是否有一個等於或低於相應閾值,若是,分配第一優先順序分級。在一個實施例中,將閾值設置為近似等於相應用戶端的優先順序計數值的1/4到1/2。在一個特殊的例子中,一個用戶端的初始計數值設置為50,第一閾值設置為16。第二閾值設置為0。在該實施例中,第一閾值(“接近緊急”閾值)賦予該記憶體訪問請求較高的優先順序,因為接收該記憶體訪問請求後消耗了一定量的時間,且用於處理該記憶體訪問請求的時窗或特別的可接受時段接近結束。第二閾值(“緊急”閾值)說明用於處理該記憶體訪問請求的許可時間段已過去。
在本發明的一個實施例中,定義了兩種用戶端類型。上述例子是針對時延(第一)用戶端類型。第二用戶端類型是帶寬用戶端。通常,這兩種用戶端類型代表了很多可能的用戶端類型中的兩種。對於帶寬用戶端,初始分配的時間或計數值以及閾值是不同的。另外,不同地調節計數值。通常,假設帶寬用戶端具有FIFO以便平滑(smooth)來自存儲控制器(這裏是控制器200)的資料請求,且還假設帶寬用戶端更容忍在所需服務時間內處理記憶體訪問請求的失敗。例如,只要平均起來帶寬用戶端的服務時間需求能夠被滿足,那麼該帶寬用戶可以容忍其服務時間需求不能滿足的情況。。
在一個實施例中,帶寬用戶端平均每50個時鐘週期發送一次記憶體訪問請求。當它的FIFO包含少於3種突發資料時,提高它的優先順序。它的緊急計數設置為50,它的緊急閾值設置為150且BHC值最初設置為0。當接收第一請求時,它的BHC將載為50,且它的入口計數將載為50。它的入口閾值將會載為150,因此該請求立即被提升為緊急優先順序。然後BHC和入口計數在每個週期遞減。當接收下一請求時,緊急計數增加到BHC的當前值。新的BHC值同樣載入用戶端的新的入口計數。若緊急計數保持低於150+16或下降到低於166,該請求將提升優先順序至接近緊急。若緊急計數保持低於150或下降至低於150,該請求將提升優先順序至緊急。相應地,用於本發明這個實施例的方法聚焦於根據用戶端授予優先權的系統,該用戶端是能夠容忍傳輸延遲的帶寬用戶端。更常見地,在一個實施例中,對於帶寬用戶端,所接收記憶體訪問請求的計數值基於新的優先順序計數值和前一記憶體訪問值的遞減的優先順序計數值之和。重要地,這個和越小,優先順序越高。因此,系統評估所有的優先順序計數值並通常將優先順序授予具有最低計數值的記憶體訪問請求。
基於每個時鐘計數,控制器200確定第一和第二記憶體優先順序訪問計數值中是否有一個等於或低於相應緊急優先順序值,若是,分配第二優先順序分級而不考慮該用戶端是時延還是帶寬類型的用戶端。此後,控制器200根據相關優先順序訪問計數值和優先順序分級確定是第一、第二還是來自第三記憶體用戶端的第三記憶體訪問請求具有訪問記憶體的最高優先順序。在一個實施例中,控制器200生成優先順序訪問列表,該列表中按順序排列了所存儲的記憶體訪問請求,然後根據確定的優先順序訪問列表的最高優先順序授權訪問記憶體。
在一個實施例中,僅僅當一個或多個情況滿足時,在上述優先順序訪問列表中添加記憶體訪問請求。因此,控制器200在將所接收的記憶體訪問請求存儲到優先順序訪問列表中之前,核實以下至少一項:當記憶體訪問請求是向該記憶體寫入資料時是否可以寫入資料;當記憶體訪問請求是向該記憶體寫入資料時存儲控制器是否準備好寫入資料且不忙於另一不相容任務;當記憶體訪問請求是從該記憶體讀取資料時存儲控制器的讀取埠是否可用來獲取資料;存儲控制器讀取埠是否準備好從該讀取埠讀取資料;生成記憶體訪問請求的用戶端ID是否為有效的;是否通過先讀後寫(WAR)檢查;以及是否通過先寫後讀(RAW)檢查。
上述參數分別可以存儲在內容可定址記憶體(CAM)、位寄存器或其他已知的控制器200硬體邏輯訪問的方式中。通常,這些參數以支援硬體邏輯同時訪問的方式存儲,作為硬體同時處理記憶體訪問請求的部分。例如,這些參數可以存儲在下列參考圖5描述的CAM 252、位寄存器260中。
本發明的實施例的另一方面包括為內容可定址記憶體(CAM)中的每個訪問請求載入QoS資料,QoS資料包括以下至少一項:包含記憶體用戶端的ID或ID集的密鑰和遮罩信息;讀取使能指示;寫入使能指示;時延或帶寬類型用戶端指示,該指示指定用戶端是時延還是帶寬用戶端(如上所述,這會影響計數器值設置和修改);優先順序分級;記憶體訪問優先順序計數值(緊急、接近緊急等);第一閾值(如“接近緊急計數值”);第二閾值(如“接近緊急計數值”);以及帶寬歷史資訊,這些資訊可以用於設置初始計數值或任意一個所定義的閾值。在一個實施例中,根據比它們自己更晚的請求評估這些請求的優先順序(如是否檢測到RAW請求)。然後,增加更早的更低優先順序物件的優先順序以滿足獨立訪問。例如,若在接收相關的更高優先順序讀取請求時延遲了隨後的寫入訪問請求,增加該寫入請求的優先順序使得寫入操作以滿足讀取請求優先順序的方式進行。
本發明上述實施例的一個方面是計數數值和定義的閾值,它們用於分級並優先化來自多個用戶端的記憶體訪問請求。例如,在一個時鐘脈衝期間,可以在連接用於接收記憶體訪問請求的多個埠接收多個記憶體訪問請求。在該例中,又稱為同時接收這些請求。
圖4所示的各個邏輯模組210-226生成以下至少一項:用於將記憶體訪問請求置於優先列表中(且將它保持在列表上)的情況和上述QoS參數。另外,在每個時鐘週期根據新的優先順序訪問計數值以及新的記憶體訪問請求的接收來調節優先訪問列表分級和分級種類(“緊急”或“接近緊急”),新的優先順序訪問計數值來自上述時延和帶寬用戶端的調節後的計數值。
調節優先訪問列表分級和分級種類後,以管線方式(pipelined manner)將分級的記憶體訪問請求發送給定序器228。在一個實施例中,在開始時發送兩個記憶體訪問請求,其中每完成一個時(通過接收完成信號或標記或通過表明訪問完成的信號來確定完成)發送另一個記憶體訪問請求。
在一個實施例中,從外部源接收可配置控制參數234。這些參數234可以包括定義運行情況或QoS參數,它們可以反映系統的整個負載或使用情況。例如,用於時延或帶寬用戶端的默認初始計數值可以作為其中一種可配置控制參數234接收。又例如,用於時延或帶寬用戶端的閾值可以作為其中一種可配置控制參數234接收。替代地,隨後將要提供給定序器228以便被管線處理以提高運行效率的一定數量的記憶體訪問請求可以被特別化為每個用戶端204的其中一種所接收的可配置控制參數234,這些用戶端204可以產生提供給埠202的記憶體訪問請求。
圖5是根據本發明一個實施例的存儲控制器250的功能框圖。控制器250包括參考圖4所述的用於從多個用戶端204接收記憶體訪問請求的多個埠202。另外,對於每個埠202,控制器250包括CAM 252和FIFO 254。CAM 252用於存儲以下至少一項:與從記憶體用戶端204接收的記憶體訪問請求相關的QoS參數、資料參數以及運行狀態資訊。FIFO 254用於存儲與從用戶端204接收的記憶體訪問請求相關的資料。FIFO 254還可以存儲與記憶體訪問請求相關的資訊。分配邏輯256為從可用FIFO 254和CAM 252接收的每個記憶體訪問請求分配FIFO 254和CAM252。更具體地,分配邏輯256用於確定需要使用哪個FIFO 254和哪個相關的CAM來存儲記憶體訪問請求和/或相關資料。在一個實施例中,分配邏輯256為單個時鐘脈衝內接收的相應的多個記憶體訪問請求選擇多個FIFO 254和CAM 252。
仲裁器258用於同時評估每個CAM 252中的資訊和/或位元寄存器260中的資訊以仲裁多個記憶體訪問請求從而選擇接下來的記憶體訪問請求來如上所述地訪問記憶體。在一個實施例中,位元寄存器260存儲資料參數和/或運行狀態。仲裁器258有效地使用分配的時間(或計數器)值以便執行對來自各種用戶端的訪問請求的複雜仲裁,包括可容忍地延遲處理訪問請求(讀取和/或寫入)以支援服務效率,這是通過將訪問請求分組並以減少功耗的方式處理它們來實現的。實際上,分配的時間值驅動延遲、分組和處理記憶體訪問請求等功能。知道了最重要的記憶體訪問請求的時間或計數器值(例如與服務請求相關的)之後,存儲控制器用於確定可以執行哪些操作來提高處理效率和/或減少功耗。
將選擇的請求傳遞給定序器,該定序器支持所選擇的對記憶體的訪問。在一個實施例中,還將下一分級的請求傳遞給定序器228,定序器228“管線處理”記憶體訪問請求以支援高效的記憶體訪問請求。對於一些具有較高管線處理能力的記憶體類型,需要管線處理更多的請求,但是這些請求已經完全排序和優先化。特別地,通過管線處理這些記憶體訪問請求,定序器用於確定接下來的請求需要訪問記憶體的共同頁面。相應地,完成針對第一訪問請求的訪問後,不關閉該頁面以便更快且更低功耗地完成第二訪問請求。在一個實施例中,使用這種方法,在完成記憶體訪問請求後保持開啟記憶體的頁面直到需要打開同一存儲體的另一頁面來處理記憶體訪問請求或直到另一情況需要關閉該頁面。例如,在一個實施例中,關閉打開的頁面以執行刷新。
請求完成邏輯262用於確定定序器何時完成記憶體訪問請求。邏輯262用於評估所接收的用於明白地或隱晦地表示訪問完成的信號。一旦請求完成邏輯262做出這種確定,邏輯262生成給仲裁器258的指示。從而使仲裁器258在定序器228正在處理另一記憶體訪問請求時將當前最高等級的記憶體訪問請求提供給定序器228。但是,更常見地,請求完成邏輯262還用於生成記憶體訪問相關的參數(如當記憶體訪問請求為向記憶體寫入資料時是否可寫入資料,當記憶體訪問請求為向記憶體寫入資料時存儲控制器是否準備好寫入資料且不忙於另一不相容任務,當記憶體訪問請求為從記憶體中讀取資料時存儲控制器讀取埠是否可用於提取資料,存儲控制器讀取埠是否準備好從讀取埠讀取資料,WAR檢查是否通過,以及RAW檢查是否通過)。在一個實施例中,邏輯262還用於在CAM 252和/或位元寄存器260中存儲這些與記憶體訪問相關的參數。這些參數中至少一部分還可以存儲在其他地方,只要存儲電路的結構便於仲裁器258訪問,從而仲裁記憶體訪問請求。
圖6和7是根據本發明各種實施例的用於控制訪問記憶體的流程圖。參考圖6,一種方法包括在第一埠從第一記憶體用戶端接收第一記憶體訪問請求(步驟300),並在第二埠從第二記憶體用戶端接收第二記憶體訪問請求(步驟304)。然後存儲所接收的第一和第二記憶體訪問請求(步驟308)。最後,該方法包括,在一個實施例中基於每個時鐘計數,同時評估多個記憶體訪問請求並授權訪問給最高優先順序的訪問請求(步驟312)。
步驟312還包括至少部分基於第一記憶體用戶端的ID設置第一記憶體訪問優先順序計數值,並至少部分基於第二記憶體用戶端的ID設置第二記憶體訪問優先順序計數值(步驟314)。設置每個記憶體訪問優先順序計數值通常基於相關記憶體訪問請求的可接受的時延量,該時延量基於用戶端ID。該方法還包括調節計數值並可選地分配優先順序等級給記憶體訪問請求(步驟316)。計數值通常對比於閾值。根據以下至少一項設置閾值:用戶端ID、授權記憶體訪問的規定的可接受延遲以及用戶端類型(如時延或帶寬)。因此,根據與閾值相關的計數值生成優先順序等級。在一個實施例中,可以將第一閾值設置為大約等於相應用戶端基於用戶端ID的優先順序計數值的1/4-1/2。可以將第二閾值設置為與時間段相關,該時間段大約等於用於處理記憶體訪問請求的可接受的延遲。例如對於時延用戶端,可以設置第一記憶體訪問優先順序計數值等於50,第一閾值等於16,且緊急優先順序值等於0。這裏,計數值根據時鐘信號遞減。帶寬用戶端可以具有不同的值以及用於調節計數值的邏輯。例如,所接收的記憶體訪問請求的計數值可以基於新的優先順序計數值和上一記憶體訪問值的遞減的優先順序計數值。
在一個實施例中,沒有分配優先順序等級。調節計數值包括基於每個時鐘計數同時遞減第一和第二記憶體優先順序訪問計數值。在另一個實施例中,每當從同一記憶體訪問用戶端接收新的請求時增加計數值,從而調節至少一種類型的計數值。
最後,該方法包括生成將存儲的記憶體訪問請求分級的優先順序訪問列表並根據所確定最高優先順序授權訪問記憶體(步驟318)。在一個實施例中,優先順序訪問列表基於優先順序訪問計數值。在另一個實施例中,優先順序訪問列表基於優先順序訪問計數值和優先順序等級。
在步驟318中生成分級的優先順序訪問列表包括將所接收的記憶體訪問請求置於優先順序訪問列表之前,核實以下至少一項:是否可以寫入資料;存儲控制器是否準備好寫入資料;存儲控制器讀取埠是否可用來獲取資料;存儲控制器讀取埠是否準備好向埠發送資料;生成記憶體訪問請求的用戶端ID是否為有效的;是否通過先讀後寫(WAR)檢查;以及是否通過先寫後讀(RAW)檢查。
在步驟318中生成分級的優先順序訪問列表包括評估為可定址記憶體(CAM)中的每個訪問請求載入的QoS資料,QoS資料包括以下至少一項:密鑰和遮罩信息;讀取使能指示;寫入使能指示;時延或帶寬類型用戶端指示;優先順序分級;記憶體訪問優先順序計數值(緊急、接近緊急等);第一閾值;第二閾值;以及帶寬歷史資訊。
這些帶寬歷史資訊可以說明,一般地,特定用戶端的記憶體訪問請求不在所需的服務時間內進行處理。因此,可以調節開始時分配的時間值或閾值以便改變從用戶端接收的記憶體訪問請求的優先順序。
參考圖7,該方法包括在存儲控制器訪問請求仲裁器中控制訪問記憶體。該方法通常包括接收多個記憶體訪問請求(步驟350)。記憶體訪問請求可以包括讀取訪問請求和寫入訪問請求中至少一個。然後根據用戶端類型和用戶端ID中至少一種分配計數值(步驟352)給每個記憶體訪問請求。在一個實施例中,基於時鐘脈衝同時遞減分配的計數值從而調節計數值(步驟354)。該方法還包括生成按等級排列的優先順序訪問列表(步驟356)。生成優先順序訪問列表(按等級排列)包括評估至少一個標準以便針對所接收的每個記憶體訪問請求確定該記憶體訪問請求是否可列入優先順序訪問列表中。
最後,該方法包括將最高等級的用戶端傳遞給定序器以便處理所請求的訪問(步驟358)。在一個實施例中,該步驟包括在完成上一傳遞的記憶體訪問請求前將最高等級的記憶體訪問請求傳遞給定序器。
將錯過訪問截止時間的用戶端設為第一優先順序從而生成優先順序訪問列表(步驟360)。若每個記憶體訪問請求都錯過了截止時間,那麼它們分別被設為第一優先順序,最先錯過截止時間的排名第一,接下來錯過截止時間的排名第二。該方法還包括將快要錯過訪問截止時間的用戶端設為第二優先順序(步驟362)。若多個記憶體訪問請求都快要錯過訪問截止時間且被設為第二優先順序,那麼在時間上最接近第一優先順序的記憶體訪問請求在具有第二優先順序的記憶體訪問請求中排名第一,第二接近第一優先順序的記憶體訪問請求在具有第二優先順序的記憶體訪問請求中排名第二。該方法還包括將訪問開啟頁面的用戶端設為第三優先順序(步驟364),並將剩下的用戶端設為第四優先順序(步驟366)。根據以下至少一項確定截止時間:用戶端ID、用戶端類型以及相關QoS參數。因此,該方法包括,對於同時接收的每個記憶體訪問請求,同時評估至少一個QoS標準以確定將要用於生成優先訪問列表的初始計數值。在一個實施例中,可以基於時鐘週期調節與消耗的時間相關的計數值。在一個實施例中,在每個時鐘週期評估計數值和優先順序訪問列表。
因此,該方法包括,針對所接收的每個記憶體訪問請求,同時評估用戶端類型,且隨後部分程度地根據用戶端類型調節分配的計數值。因此,該方法包括將記憶體訪問請求分級並根據更新的計數值和更新的訪問優先順序等級更新分級的優先順序訪問列表。在一個實施例中,上述方法關於給記憶體提供記憶體訪問,包括動態隨機存取記憶體(DRAM),DRAM需要被多個用戶端訪問。本領域普通技術人員已知,DRAM需要電能來維持資料。典型地,DRAM包括電容性元件,它具有維持存儲在電容性元件中的資料的邏輯值所需要的刷新率。
圖8是根據本發明一個實施例的包含用於提高功率使用效率的邏輯的存儲控制器400的功能框圖。
本發明實施例的一個重要方面是存儲控制器具有功率控制。最小化手持設備中的功耗以延長電池壽命。記憶體介面使用大量功率(當存儲設備活躍時)。因此,在本發明的各種實施例中,存在多種存儲設備狀態,它們分別具有不同等級的功耗。這些狀態包括轉變狀態(transition state),從而影響功耗反轉為運行準備狀態。維持記憶體內容的最低功率狀態是“自刷新”,它具有訪問損失(penalty)並可用於一些類型的記憶體。相應地,需要在存儲控制器中包含運行邏輯,該運行邏輯可以在降低性能(例如回應時間)、不必要地消耗功率以及節能之間尋求平衡。另外,由於進入低功率狀態具有相關的訪問功率損失,僅僅在一些情況下進入低功率狀態,例如功率節省可能超過訪問消耗同時性能沒有下降到不可接受的程度。
在現有系統中,處理器基於軟體中定義的邏輯來控制設備功率模式。由於保守的(reactionary)軟體邏輯通常由中斷驅動,但是回應時間很長,使得存儲控制器不能降低記憶體部分的功率,除非用戶選擇的模式允許這種功率降低。然而,在本發明的實施例中,用於存儲控制器的功率控制邏輯在硬體(例如邏輯電路或與類似電路)中定義,這樣即使運行的設備也可以啟動節能模式,因為記憶體訪問請求的回應時間相比現有技術中使用的基於軟體的系統要快得多。另外,利用硬體來管理存儲控制器的功率模式和相關記憶元件可以使狀態轉換發生得更快。因此,可以在常規運行中而不是特殊情況或模式下使用節能模式以減少功耗。
典型地,記憶體被分為4個或8個部分或分區。每個分區常被稱為存儲體。例如,在本發明的很多實施例中,存在4個存儲體。每個存儲體分別具有大量頁面。關閉和打開頁面是耗時的且功率代價高的。例如,關閉一個頁面可能需要4個時鐘週期而打開一個頁面可能需要5個時鐘週期。
具有基於硬體的邏輯(該邏輯用於根據多個記憶體運行功率模式進行功率控制)的存儲控制器包括功率模式邏輯,功率模式邏輯用於生成功率和資源控制命令以關聯多個記憶體運行功率模式其中之一或關聯多個記憶體運行功率模式間的轉換。多個記憶體運行功率模式包括自刷新模式,其中記憶體的所有頁面都是關閉的,且暫存器和驅動器都斷電。另一個模式是預充電模式,其中記憶元件、暫存器和驅動器都接電且都準備好運行,但記憶體的所有頁面都是關閉的。第三種模式是活躍省電模式,其中至少一個頁面是打開的,但是沒有給記憶體發送時鐘,且記憶元件、暫存器和驅動器都接電並都準備好運行。在本發明的一些實施例中,沒有必要實施上述所有模式/功能。硬體邏輯控制存儲控制器運行在這些(或其他)運行模式功率模式以及在這些運行模式間轉換,在轉換時,沒有違背各種記憶體用戶端關於讀取和寫入請求的記憶體訪問時間需求。這種運行可以在例如圖8所示的功率控制器400的實施例中找到。
參考圖8,可以注意到它與圖5所示存儲控制器250在結構上的相似。共用標號的元件是類似的,在此不做解釋。除了共用標號的元件202-262以外,存儲控制器400包括多個運行邏輯模組402-410,即功率模式邏輯402、寫處理邏輯404、讀處理邏輯406、資源邏輯408和資源預測邏輯410。在一個實施例中,這些運行邏輯模組402-410中的每一個分別包括用於執行特殊任務的硬體邏輯電路。另外,邏輯電路支援同時執行多個功能從而支援快速處理,以便存儲控制器(如控制器250)滿足記憶體訪問時間需求。如圖8所示,運行邏輯模組402-412與仲裁器258和定序器228隔離設置。替代地,至少一個運行邏輯模組402-412可以設置在仲裁器258或定序器228中。
功率模式邏輯402通常包括用於根據各種運行功率模式來設置或控制存儲暫存器、存儲驅動器和其他記憶元件的功率水準的運行邏輯。功率模式邏輯402還用於生成一個或多個鎖相環(PLL)的功率控制命令,且可選地規定記憶體運行的相關PLL時鐘速率。寫處理邏輯404包括用於處理寫入記憶體訪問命令的邏輯,該處理方式將減少整體功耗。讀處理邏輯406包括用於處理讀取記憶體訪問命令的邏輯,該處理方式將減少整體功耗。資源邏輯408包括用於確定和需求那些斷電的或處於節能狀態的資源的邏輯。資源預測邏輯410包括用於維持歷史訪問請求資料和其他用於預測訪問請求的運行資料以便修改記憶體運行功率模式的邏輯。
狀態/資源監控邏輯412包括用於監控正在進行的運行控制命令和/或從外部資源接收的命令模式命令的邏輯。監控邏輯412還包括用於監控各種位寄存器欄位(例如圖5所示而圖8中沒有示出的位寄存器260中的那些)、其他位寄存器欄位、任意CAMs 1-n(CAMs 252)和FIFOs 1-n(FIFOs 254)的欄位或資料內容。因此,例如,監控邏輯412用於確定何時從記憶體用戶端204接收訪問請求。儘管這裏示出的是單獨的邏輯模組,但是邏輯模組402-412中的任意邏輯模組可以相互結合或是其他邏輯電路(包括例如仲裁器258或定序器228)的部分。在一個實施例中,使用單個讀/寫處理邏輯分別代替讀和寫處理邏輯406和404。
在運行中,存儲控制器400使用邏輯(在一個實施例中,例如邏輯電路)同時監控多個暫存器以確定是否從記憶體用戶端接收到記憶體訪問請求。通常,控制器400根據以下至少一項確定從第一記憶體運行功率模式轉換為第二記憶體功率運行模式:接收記憶體訪問請求;與記憶體訪問請求相關的時間值;功率模式超馳指示;以及所接收的記憶體功率模式運行命令或參數。
例如,存儲控制器400可以僅當接收記憶體訪問請求後確定從自刷新模式、預充電模式、或活躍省電模式轉換為完全運行模式。替代地,存儲控制器可以僅僅當與所接收的記憶體訪問請求相關的時間值需要啟動轉換以避免違背該記憶體訪問請求的回應需求時,根據當前運行功率模式確定轉換。存儲控制器400還可以基於接收功率模式超馳指示來啟動轉換。存儲控制器400還可以基於從外部資源接收的或由外部資源預先規定的功率模式運行命令或參數來啟動轉換。
根據本文所述的各種運行功率模式,本發明的各種實施例中使用了某些原則以減少功耗。這些原則包括:存儲控制器延遲寫入操作直至將要處理要求寫入訪問請求的情況;存儲控制器試圖一起處理多個寫入訪問請求,尤其是記憶體的同一頁面;存儲控制器試圖在可行時一起處理特定頁面的訪問請求(隨後,可以選擇處理同一頁面的較低優先順序請求,從而最小化整體功耗);存儲控制器試圖在記憶體訪問後已消耗一定時間時轉換到自刷新運行功率模式;存儲控制器試圖僅當需要打開共同存儲體的新頁面以處理訪問請求時關閉記憶體頁面;當存儲控制器關閉用於週期性“刷新”的頁面時,無頁面開啟直至訪問需要;當存儲控制器接收並在暫存器中存儲寫入訪問請求時,在暫存器中存儲了一定數量的寫入訪問請求時處理寫入訪問請求;當存儲控制器接收並在暫存器中存儲讀取訪問請求時,當時間或計數器值達到閾值時處理讀取訪問請求,該閾值使至少一個讀取訪問請求達到與服務的時間需求(在實施該原則的本發明的一個實施例中,一個結果是控制器以突發方式處理記憶體請求,因為可以存儲來自同一設備的多個請求)相關的接近緊急或緊急狀態;以及存儲控制器在與運行功率模式和記憶體訪問請求相關的硬體中實施運行邏輯,以實現明顯快速的功率控制運行,從而可以通過在滿足記憶體訪問服務需求的同時以節能狀態給存儲電路元件和其他電路元件及模組供電來實現節能。
因此,在各種實施例中,這裏的邏輯和運行包括用於實現上述至少一個原則以減少整體功耗並增加電池壽命的邏輯。
圖9是根據本發明一個實施例的用於根據所接收的記憶體訪問請求改變運行功率模式的方法的流程圖。參考圖9,示出了一種在存儲控制器中基於多個記憶體運行功率模式進行功率控制的方法。該方法包括生成功率和資源控制命令以關聯多個記憶體運行功率模式其中之一或關聯多個記憶體運行功率模式間的轉換(步驟450)。當在多個運行功率模式其中之一運行時,該方法包括確定從第一記憶體運行功率模式轉換為第二記憶體運行功率模式,其中第二記憶體運行功率模式是節能的記憶體運行功率模式(步驟452)。接下來,該方法包括存儲控制器監控多個暫存器以確定是否從記憶體用戶端接收記憶體訪問請求(步驟454)。在至少一個實施例中,邏輯電路同時監控至少兩個暫存器。
該方法包括存儲控制器根據所接收的一個或多個記憶體訪問請求確定從第二記憶體運行功率模式轉變為第一記憶體運行功率模式(步驟456)。通常,第二記憶體運行功率模式使用的功率少於第一記憶體運行功率模式。運行功率模式可以是本文所述的或相似的運行功率模式中的任意一些。
從第二運行功率模式轉換為第一運行功率模式的決定可以僅僅根據接收的記憶體訪問請求或多個記憶體訪問請求作出。例如,若由於一個或多個最近接收的記憶體訪問請求使記憶體中或暫存器中存儲了一定數量的寫入記憶體訪問請求,那麼存儲控制器可以確定轉換為活躍功率狀態以處理寫入記憶體訪問請求。替代地,若所接收的記憶體訪問請求的優先順序值(如時間值或計數值)需要啟動節能狀態的電路以便在不違背(附加地)處理該記憶體訪問請求的時間需求的同時可以處理該記憶體訪問請求,那麼存儲控制器決定轉換為活躍模式。若不存在這種請求,控制器可以選擇等待,同時在訪問記憶體之前這些請求先排隊。
通常地,根據定義的運行功率模式,基於記憶體運行功率模式的運行包括存儲控制器生成功率和資源控制命令,這些功率和資源控制命令包括以下至少一項:用於給記憶元件供電的功率控制命令;用於給暫存器、驅動器和鎖相環(PLL)電路元件供電的功率控制命令。功率和資源控制命令還可以包括用於控制鎖相環時鐘速率的控制命令。
存儲控制器用於確定從節能的記憶體運行功率模式(任意節能的運行功率模式)轉換為支援全部所需運行的活躍運行功率模式。利用前面的術語,它包括從第二運行功率模式轉換為第一運行功率模式(步驟458)。
從第二運行功率模式轉換為第一記憶體運行功率模式的決定可以基於多個情況或時間中的任意一種做出。例如,存儲控制器用於從外部資源接收功率模式超馳指示,以便根據所接收的功率模式超馳指示工作在一個記憶體運行功率模式。存儲控制器還用於接收並存儲寫入記憶體訪問請求,然後處理至少部分寫入記憶體訪問請求以避免用來存儲寫入記憶體訪問請求的暫存器裝滿。在一個實施例中,使用計數器來計數每個存儲的寫入記憶體訪問請求。然後當計數器達到或超過預定值或閾值時處理寫入記憶體訪問請求。替代地,存儲控制器用於在需要處理讀取訪問請求時處理存儲的寫入記憶體訪問請求。
因此,更具體地在一個實施例中,存儲控制器從第一記憶體用戶端接收寫入記憶體訪問請求,將該寫入記憶體訪問請求存儲在暫存器中,並向第一記憶體用戶端發送寫入完成指示。因此,若讀取記憶體訪問請求需要處理,存儲控制器在處理讀取記憶體訪問請求之前處理存儲的寫入記憶體訪問請求。因此,若存儲控制器處於第二記憶體運行功率模式且記憶體訪問請求需要處理(例如由於暫存器計數或由於讀取記憶體訪問請求需要處理)以符合該讀取記憶體訪問請求的服務時間需求,或者若接收到功率模式超馳指示,那麼該存儲控制器需要轉換為第一記憶體運行功率模式。轉換為第一記憶體運行功率模式的一部分包括存儲控制器生成用於給記憶元件、暫存器、驅動器和PLL中至少一項供電的記憶體功率控制命令或信號,還可選地生成用於控制PLL時鐘速率的命令(步驟460)。
除此以外或替代地,存儲控制器還可以確定在轉換為另一記憶體運行功率模式之前處理存儲在暫存器中的所有寫入請求。例如,存儲控制器在從第一轉換為第二記憶體運行功率模式之前處理所有寫入記憶體訪問請求。
本發明的實施例的一個方面是記憶體訪問請求的服務時間需求(特別是讀取記憶體訪問請求)是這樣的,它使從第二記憶體運行功率模式向第一記憶體運行功率模式的完全轉換常常不能快速完成以滿足服務時間需求。在本發明的包含多個PLL的一個實施例中,存儲控制器用於在轉換為第一記憶體運行功率模式時處理記憶體訪問請求。例如,若較慢時鐘速率的(較慢振盪頻率)PLL在接電時相比較快時鐘速率的PLL更快達到穩定狀態,存儲控制器用於在開始時使用較慢的PLL然後替換地使用較快的PLL來處理記憶體訪問請求。因此,例如,存儲控制器用於檢測已經接收且需要處理的記憶體訪問請求,並生成記憶體功率控制命令以便使記憶體退出較低的運行功率模式,生成至少一個鎖相環控制命令以便從第一鎖相環接收較慢的時鐘,根據較慢的時鐘執行記憶體訪問,然後接收較快的時鐘並根據較快的時鐘執行隨後的記憶體訪問(步驟462)。
正如這裏詳細描述的,存儲控制器用於根據發送記憶體訪問請求的記憶體用戶端的ID分配訪問時間值給所接收的記憶體訪問請求。在一個實施例中,訪問時間值是根據時鐘脈衝遞減的計數器值。接下來,存儲控制器比較訪問時間值與一個或多個閾值並根據訪問時間值與閾值的比較確定轉換為節能的記憶體運行功率模式。
因此,在運行中,根據包含圖9所示方法步驟和/或圖8所示電路的本發明的至少一個實施例,開始時將訪問時間值分配給記憶體訪問請求,然後根據時鐘脈衝修改訪問時間值。存儲控制器在訪問時間值允許轉換為低功率記憶體運行功率模式時確定轉換為低功率記憶體運行功率模式,然後恢復為完全供電的記憶體運行功率模式以便處理相關的記憶體訪問請求,同時符合訪問時間需求。在一個實施例中,使用省電閾值(power down threshold)來做出省電決定。替代地,可以根據多個低功率運行功率模式使用多個省電閾值。省電閾值可以預先定義為離散值,或替代地,它們可以與其他閾值相關定義。例如,若“接近緊急”閾值為計數器值“10”,用於決定斷電的省電閾值可以是增加到“接近緊急”閾值上的數(如5或10)。因此若用於記憶體訪問請求的省電閾值或計數器值等於或大於20(如相對省電閾值10+接近緊急閾值10),那麼存儲控制器可以決定轉換為較低記憶體運行功率模式。接下來,若接收的配置參數被接收用於改變“接近緊急”閾值,可以自動調節省電閾值。
圖10是根據本發明另一個實施例的存儲控制器的功能框圖。存儲控制器500包括上述埠202、CAM 252和FIFO 254。另外,控制器500還包括上述運行邏輯模組404-412。相比圖8中的邏輯模組402-412與存儲控制器中的其他模組相互隔離,模組404-412位於仲裁器502、序列生成器504或功率模式邏輯506其中之一中。
更具體地,資源預測邏輯410和狀態/資源監控邏輯412位於仲裁器502中(作為一部分)。寫處理邏輯404和讀處理邏輯406置於定序器504中,而資源邏輯408置於功率模式邏輯506中。模組404-412的運行和特點如上所述。圖10所示的存儲控制器500還包括時間值邏輯508、模式確定邏輯510和功率控制邏輯512。邏輯508置於仲裁器505中(作為一部分),而邏輯510和邏輯512置於功率模式邏輯502中。
時間值邏輯508用於根據記憶體訪問類型和相關記憶體用戶端的ID將時間值分配給通過埠202從相關記憶體用戶端接收的記憶體訪問請求。邏輯508還用於根據時鐘、PLL、晶體(crystal)等生成的時鐘脈衝調節分配的時間值。在一個實施例中,分配的時間值是計數器且該計數器值根據時鐘脈衝遞減。替代地,分配的時間值或計數器值可以遞增。可以根據所使用的實施類型規定相應閾值。本領域普通技術人員能夠輕易修改所述實施例以獲得相似的運行結果。
模式確定邏輯510用於確定是工作在節能的記憶體運行功率模式還是轉會為另一記憶體運行功率模式。在一個實施例中,記憶體運行功率模式可以是以下任意一種:自刷新模式、預充電模式、或活躍省電模式或定義的其他功率模式。邏輯510用於,例如當記憶體訪問後消耗了一定時間時,或者若最緊急記憶體訪問請求的相關時間值(或計數器值)超過迴圈時間(省電時間加上接電時間)或迴圈時間加上附件時間或特定時間值時,使存儲控制器轉換為自刷新運行功率模式。邏輯510還用於根據所接收的配置指示或控制命令進行記憶體運行功率模式轉換。
功率控制邏輯512生成用於控制給暫存器、驅動器和/或記憶元件以及PLL供電的記憶體功率控制命令。邏輯512還生成PLL速率控制信號(在一個實施例中)以規定與所選記憶體運行功率模式相關的PLL振盪頻率或時鐘速率。
在運行中,存儲控制器500將寫入請求存儲到暫存器中從而延遲處理寫入請求直到暫存器中存儲了一定數量的寫入請求,連續處理與記憶體的共用頁面相關的寫入請求,當接下來的訪問需要同一存儲體的新頁面時關閉記憶體的開啟頁面,當執行刷新時關閉記憶體的開啟頁面以及僅當需要處理訪問請求時打開記憶體的頁面。當存儲控制器512處於節能的記憶體運行功率模式時,存儲控制器512通過以下操作轉換為活躍功率模式:檢測已經接收了記憶體訪問請求,它的相關時間值表示需要供電以便在相關時間需求內處理記憶體訪問請求;生成記憶體功率控制命令以便使記憶體退出較低的運行功率模式;生成至少一個PLL功率控制命令以便從第一PLL接收較慢的時鐘;根據較慢的時鐘執行記憶體訪問;然後接收較快的時鐘;以及根據較快的時鐘執行隨後的記憶體訪問。
在一個實施例中,接收較快的時鐘,因為存儲控制器(例如功率控制邏輯512)生成功率控制命令給較快的PLL以促進該較快的PLL生成較高頻振盪來驅動較快的時鐘脈衝。然而,應當理解,當PLL在供電後達到穩定狀態時使用基於較快PLL的時鐘脈衝。
圖11是根據本發明一個實施例的存儲控制器運行方法的流程圖。圖11所示的方法包括存儲控制器接收多個寫入訪問請求(步驟550)並延遲處理至少一個寫入訪問請求(步驟552)。接下來,該方法包括確定處理與記憶體的共同頁面相關的多個寫入訪問請求(步驟554)。在一個實施例中,存儲控制器保持記憶體的頁面開啟直至接下來的操作需要關閉該頁面(步驟556)。當共同存儲體的新頁面需要開啟以便處理記憶體訪問請求時(步驟558)以及當需要執行刷新時(步驟560),存儲控制器關閉開啟的頁面。除此以外,存儲控制器在處理讀取記憶體訪問請求前先處理存儲的寫入記憶體訪問請求(步驟562)。如上所述,在一個實施例中,從用戶端接收寫入記憶體訪問請求後,存儲控制器生成用於表示寫入記憶體訪問已經處理的回復指示給用戶端,或者不處理寫入記憶體訪問請求而是將寫入記憶體訪問請求存儲在暫存器中。相應地,當讀取記憶體訪問請求需要處理時,存儲控制器處理存儲在暫存器中的寫入記憶體請求。在一個實施例中,存儲在暫存器中的所有寫入記憶體訪問訪問請求都在讀取記憶體訪問請求之前進行處理。在另一個實施例中,在處理讀取記憶體訪問請求前,僅僅處理與將要處理的讀取記憶體訪問請求的相同記憶體頁面相關的寫入記憶體請求。
通常,存儲控制器分配和調節時間值,並根據該時間值確定處理讀取記憶體訪問請求及轉換為另一記憶體運行功率模式(步驟564)。因此,在一個實施例中,存儲控制器還延遲處理讀取記憶體訪問請求,並在至少一個讀取記憶體訪問請求需要處理以符合服務時間需求時處理與記憶體的共同頁面相關的多個讀取記憶體訪問請求(步驟566)。
來自特定設備的請求常常顯示週期性(例如螢幕刷新或類似功能)。在本發明的一個實施例中,為每個源設備以及計數器設置週期性指示標記。該標記表示設備是週期性提出記憶體訪問請求(顯示週期性)還是以隨機或非週期性方式請求訪問記憶體。計數器表示週期性用戶端下一次訪問的預期時間。通過硬體設置該值。因此,若設置的標記表示週期性用戶端且計數器值為零,那麼存儲控制器確定它將短暫地接收來自相關設備的訪問,並將執行或開始蘇醒(開始轉換為較高功率模式)。在一個實施例中,通過軟體重置該標記。該標記還可以在發生一定數量的錯過預測(miss-prediction)時(期望時無訪問或不期望時有訪問或訪問間間隔不大)進行重置。根據計數器設置時間,該計數器計數自上一次訪問後的時間並將其與最小值對比。在另一實施例中,可以使用其他的用於設置週期性用戶端的指示的方法。例如,僅僅給記憶體用戶端分配代表記憶體訪問請求間的典型週期的計數器或時鐘,可以充分地允許存儲控制器根據期望的記憶體訪問請求確定給電路或設備供電。
本領域普通技術人員可以理解,術語“基本上”或“大約”,正如這裏可能用到的,對相應的術語和/或元件間的關係提供一種業內可接受的公差。這種業內可接受的公差從小於1%到20%,並對應於,但不限於,元件值、積體電路處理波動、溫度波動、上升和下降時間和/或熱雜訊。元件間的關係從小百分比的差分到巨大的差分。本領域普通技術人員還可以理解,術語“可操作地連接”,正如這裏可能用到的,包括直接連接和通過其他元件、元件、電路或模組間接連接,其中對於間接連接,居間元件、元件、電路或模組並不改變信號的資訊,但可以調整其電流電平、電壓電平和/或功率電平。本領域普通技術人員可知,推斷連接(亦即,一個元件根據推論連接到另一個元件)包括兩個元件之間用相同於“可操作地連接”的方法直接和間接連接。
本發明接受各種修改和替代形式,而在附圖和具體實施例部分中示出的特別實施例僅僅用於舉例。但是,應當理解,附圖和具體實施例部分並不用於將本發明限制於公開的特定形式,相反地,本發明涵蓋落入由權利要求定義的本發明的精神和範圍內的所有修改、等效替換和替代。可以看出,能夠通過很多不同方式修改所描述的實施例,而不脫離本發明的範圍或教導。
04、06、08...網路服務區域
10...網路
12-16...基站或接入點(AP)
18、26...膝上型電腦
20、30...個人數位助手
24、32...個人電腦
22、28...蜂窩電話
34...網路硬體元件
36、38、40...局域網(LAN)連接
42...廣域網(WAN)連接
44...外部網路元件(WAN)
50...處理模組
52...記憶體
54...無線電介面
56...輸出介面
58...輸入介面
60...無線電設備
62...主機介面
65...記憶體
74...本地振盪模組
81-85...天線
92...入站資料
94...出站資料
100...基帶處理模組
102...模式選擇信號
104...出站符號流
106-110...射頻(RF)發送器
112...輸出RF信號
114...發送/接收(T/R)模組
116...入站RF信號
118-122...RF接收器
124...入站符號流
200...存儲控制器
202...埠
204...記憶體訪問用戶端
210...存儲控制器運行邏輯
212...計數生成邏輯
214...閾值設置邏輯
216...通信邏輯
218...訪問請求分級邏輯
220...時鐘邏輯
222...訪問請求分級邏輯
224...請求處理邏輯
226...QoS參數邏輯
228...定序器(sequencer)
230...通信
232...記憶體
234...可配置控制參數
250...存儲控制器
252...CAM
254...FIFO
256...分配邏輯
258...仲裁器
260...位元寄存器
262...請求完成邏輯
400...存儲控制器
402...功率模式邏輯
404...寫處理邏輯
406...讀處理邏輯
408...資源邏輯
410...資源預測邏輯
412...狀態/資源監控邏輯
500...存儲控制器
502...仲裁器
504...序列生成器
506...功率模式邏輯
508...時間值邏輯
510...模式確定邏輯
512...功率控制邏輯
圖1是根據本發明一個實施例的包含電路設備和網路元件的通信系統及其運行的功能框圖;
圖2是無線通信設備18-32的示意框圖,無線通信設備18-32包括多個收發器電路以及根據多個通信協定與其他收發器通信的其他模組;
圖3是包含至少一個無線電設備的無線通信設備的示意框圖;
圖4是根據本發明一個實施例的存儲控制器的功能框圖;
圖5是根據本發明一個實施例的存儲控制器250的功能框圖;
圖6和7是根據本發明各種實施例的用於控制訪問記憶體的流程圖;
圖8是根據本發明一個實施例的包含用於提高功率使用效率的邏輯的存儲控制器400的功能框圖;
圖9是根據本發明一個實施例的用於根據所接收的記憶體訪問請求改變運行功率模式的方法的流程圖;
圖10是根據本發明另一個實施例的存儲控制器的功能框圖;
圖11是根據本發明一個實施例的存儲控制器運行方法的流程圖。
圖9為流程圖,無元件符號說明

Claims (10)

  1. 一種在存儲控制器中基於多個記憶體運行功率模式進行功率控制的方法,其特徵在於,包括:生成功率和資源控制命令以關聯所述多個記憶體運行功率模式其中之一或關聯所述多個記憶體運行功率模式間的轉換;確定從第一記憶體運行功率模式轉換為第二記憶體運行功率模式,其中所述第二記憶體運行功率模式是節能的記憶體運行功率模式,且於所述節能的記憶體運行功率模式中,記憶體訪問請求係被接收而非被處理;監控多個暫存器以確定是否從記憶體用戶端接收讀取記憶體訪問請求;當偵測到所述讀取記憶體訪問請求被處理時,根據所接收的記憶體訪問請求確定從所述第二記憶體運行功率模式轉變為所述第一記憶體運行功率模式;若任一寫入記憶體訪問請求被儲存於所述多個暫存器,則處理儲存於所述多個暫存器中的所述寫入記憶體訪問請求;以及於處理至少一個所述寫入記憶體訪問請求後,處理所述讀取記憶體訪問請求。
  2. 如申請專利範圍第1項所述的方法,其中,監控所述多個暫存器包括同時監控所述多個暫存器中的至少兩個暫存器。
  3. 如申請專利範圍第1項所述的方法,其中,所述功率和資源控制命令包括以下至少一項:用於給記憶元件供電的功率控制命令;用於給暫存器供電的功率控制命令;用於給驅動器供電的功率控制命令;用於給鎖相環電路元件供電的功率控制命令;以及 用於控制鎖相環時鐘速率的控制命令。
  4. 如申請專利範圍第1項所述的方法,其中,還包括接收功率模式超馳指示,並根據所接收的功率模式超馳指示確定工作在其中一個記憶體運行功率模式。
  5. 如申請專利範圍第1項所述的方法,其中,還包括:從第一記憶體用戶端接收寫入記憶體訪問請求;於所述第二記憶體運行功率模式下,將所述寫入記憶體訪問請求存儲在暫存器中;以及於處理所述寫入記憶體訪問請求之前,向所述第一記憶體用戶端發送寫入完成指示。
  6. 如申請專利範圍第5項所述的方法,其中,還包括:從所述第一記憶體用戶端或第二記憶體用戶端其中之一接收讀取記憶體訪問請求;若所述暫存器中存儲有任何寫入記憶體訪問請求,處理存儲在所述暫存器中的寫入記憶體訪問請求;以及於處理至少一個所述寫入記憶體訪問請求後,根據所述讀取記憶體訪問請求之時間需求來處理所述讀取記憶體訪問請求。
  7. 如申請專利範圍第1項所述的方法,其中,還包括邏輯電路:檢測已經接收所述讀取記憶體訪問請求;生成功率和資源控制命令以便使記憶體退出較低的所述第二運行功率模式;生成至少一個鎖相環控制命令以便從第一鎖相環接收較慢的時鐘;根據所述較慢的時鐘執行記憶體訪問;然後接收較快的時鐘;以及根據所述較快的時鐘執行隨後的記憶體訪問。
  8. 申請專利範圍第1項所述的方法,其中,還包括:根據所述記憶體用戶端的ID分配訪問時間值給接收的記憶體訪問請求;以及根據分配給所接收的記憶體訪問請求的訪問時間值確定轉換為所述第二記憶體運行功率模式。
  9. 一種具有用於基於多個記憶體運行功率模式進行功率控制的基於硬體的邏輯的存儲控制器,其特徵在於,包括:功率模式邏輯,用於生成功率和資源控制命令以關聯所述多個記憶體運行功率模式其中之一或關聯所述多個記憶體運行功率模式問的轉換;以及其中所述存儲控制器:確定轉換為節能的記憶體運行功率模式,且於所述節能的記憶體運行功率模式中,寫入記憶體訪問請求係被接收而非被處理;監控多個暫存器以確定是否從記憶體用戶端接收讀取記憶體訪問請求;當偵測到所述讀取記憶體訪問請求被處理時,根據所接收的記憶體訪問請求確定從所述節能的記憶體運行功率模式轉變為供電的記憶體運行功率模式;生成至少一個功率和資源控制命令以增加至少一個電路模組的功率;若任一寫入記憶體訪問請求被儲存於所述多個暫存器,則處理儲存於所述多個暫存器中的所述寫入記憶體訪問請求;以及於處理至少一個所述寫入記憶體訪問請求後,處理所述讀取記憶體訪問請求。
  10. 一種具有用於基於多個記憶體運行功率模式進行功率控制的 基於硬體的邏輯的存儲控制器,其特徵在於,包括:功率模式邏輯,用於生成功率和資源控制命令以關聯所述多個記憶體運行功率模式其中之一或關聯所述多個記憶體運行功率模式間的轉換,所述多個記憶體運行功率模式包括:完全供電的記憶體運行功率模式,其中記憶元件、暫存器和驅動器都接電並準備運行且實中被發送至所述記憶體;以及節能的記憶體運行功率模式,於所述節能的記憶體運行功率模式中,記憶體訪問請求係被接收而非被處理,其中所述節能的記憶體運行功率模式係被選自以下模式;預充電模式,其中記憶元件、暫存器和驅動器都接電且準備運行,但記憶體的所有頁面都關閉;以及活躍省電模式,其中至少一個頁面打開,但沒有向所述記憶體發送時鐘,且記憶元件、暫存器和驅動器都接電並準備運行;其中所述存儲控制器利用邏輯電路同時監控多個暫存器以確定是否已從記憶體用戶端接收讀取記憶體訪問請求;其中當偵測到所述讀取記憶體訪問請求被處理時,所述存儲控制器確定從第一記憶體運行功率模式轉換為第二記憶體運行功率模式;以及其中於處理所述讀取記憶體訪問請求之前,所述存儲控制器處理至少一個儲存於所述多個暫存器中的至少一個所述寫入記憶體訪問請求。
TW100115726A 2010-05-05 2011-05-05 在存儲控制器中進行功率控制的方法及存儲控制器 TWI487406B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/774,479 US8812889B2 (en) 2010-05-05 2010-05-05 Memory power manager

Publications (2)

Publication Number Publication Date
TW201208420A TW201208420A (en) 2012-02-16
TWI487406B true TWI487406B (zh) 2015-06-01

Family

ID=44540523

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100115726A TWI487406B (zh) 2010-05-05 2011-05-05 在存儲控制器中進行功率控制的方法及存儲控制器

Country Status (5)

Country Link
US (1) US8812889B2 (zh)
EP (1) EP2385468B1 (zh)
CN (1) CN102306046B (zh)
HK (1) HK1166144A1 (zh)
TW (1) TWI487406B (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499201B1 (en) * 2010-07-22 2013-07-30 Altera Corporation Methods and systems for measuring and presenting performance data of a memory controller system
JP5699847B2 (ja) * 2011-08-08 2015-04-15 富士通株式会社 制御装置及び方法
US9477586B1 (en) * 2011-11-03 2016-10-25 Altera Corporation Power-aware memory controller circuitry
CN102448147B (zh) * 2011-12-21 2014-12-03 华为技术有限公司 一种无线业务接入方法和装置
US20130290606A1 (en) * 2012-04-30 2013-10-31 Apple Inc. Power management for a system having non-volatile memory
KR20130139066A (ko) 2012-06-12 2013-12-20 삼성전자주식회사 소스라인 전압 발생기를 포함하는 자기 저항 메모리 장치
KR20140042420A (ko) * 2012-09-28 2014-04-07 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US20140136870A1 (en) * 2012-11-14 2014-05-15 Advanced Micro Devices, Inc. Tracking memory bank utility and cost for intelligent shutdown decisions
US20140136873A1 (en) * 2012-11-14 2014-05-15 Advanced Micro Devices, Inc. Tracking memory bank utility and cost for intelligent power up decisions
KR102079630B1 (ko) 2013-03-13 2020-04-07 삼성전자주식회사 지연동기회로를 가지는 동기 반도체 메모리 장치 및 파워 세이빙을 위한 지연동기회로 블록 구동 제어 방법
KR102098246B1 (ko) * 2013-04-29 2020-04-07 삼성전자 주식회사 호스트, 저장 장치, 및 이를 포함하는 시스템의 동작 방법
US9305632B2 (en) 2013-04-29 2016-04-05 Qualcomm Incorporated Frequency power manager
US9767051B2 (en) * 2014-04-04 2017-09-19 Tidal Systems, Inc. Scalable, parameterizable, and script-generatable buffer manager architecture
US9632953B2 (en) 2014-06-03 2017-04-25 Qualcomm Incorporated Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
US9881680B2 (en) * 2014-06-03 2018-01-30 Qualcomm Incorporated Multi-host power controller (MHPC) of a flash-memory-based storage device
US9690720B2 (en) 2014-06-03 2017-06-27 Qualcomm Incorporated Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device
KR102310580B1 (ko) * 2014-10-24 2021-10-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102238652B1 (ko) 2014-11-12 2021-04-09 삼성전자주식회사 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템의 작동 방법
GB2546603B (en) 2015-01-16 2019-05-08 Imagination Tech Ltd Arbiter verification
US20160381673A1 (en) * 2015-06-25 2016-12-29 Qualcomm Incorporated Memory management for reception of wireless communications
JP6886301B2 (ja) * 2017-01-26 2021-06-16 キヤノン株式会社 メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
US20180285732A1 (en) * 2017-03-30 2018-10-04 Intel Corporation Selective noise tolerance modes of operation in a memory
US10628064B2 (en) * 2017-08-17 2020-04-21 Qualcomm Incorporated Parameter override mechanism for memory systems
KR20190132114A (ko) 2018-05-18 2019-11-27 엘지전자 주식회사 이동단말기 및 그 제어방법
US10678478B2 (en) 2018-08-24 2020-06-09 Apple Inc. Ordering memory requests based on access efficiency
BR112021010672A2 (pt) 2018-12-03 2021-08-24 Hewlett-Packard Development Company, L.P. Circuitos lógicos
US11338586B2 (en) 2018-12-03 2022-05-24 Hewlett-Packard Development Company, L.P. Logic circuitry
CN113168457A (zh) 2018-12-03 2021-07-23 惠普发展公司,有限责任合伙企业 逻辑电路系统封装
CA3120980A1 (en) 2018-12-03 2020-06-11 Hewlett-Packard Development Company, L.P. Logic circuitry
ES2955564T3 (es) 2018-12-03 2023-12-04 Hewlett Packard Development Co Sistema de circuitos lógicos
WO2021080607A1 (en) 2019-10-25 2021-04-29 Hewlett-Packard Development Company, L.P. Logic circuitry package
PL3682359T3 (pl) 2018-12-03 2021-05-17 Hewlett-Packard Development Company, L.P. Obwód logiczny
EP3688638B1 (en) 2018-12-03 2023-01-04 Hewlett-Packard Development Company, L.P. Logic circuitry package
US20210001635A1 (en) 2018-12-03 2021-01-07 Hewlett-Packard Development Company, L.P. Logic circuitry
US10894423B2 (en) 2018-12-03 2021-01-19 Hewlett-Packard Development Company, L.P. Logic circuitry
CA3113998C (en) 2018-12-03 2023-06-20 Hewlett-Packard Development Company, L.P. Logic circuitry
CN111026328B (zh) * 2019-11-13 2022-04-22 华为技术有限公司 一种能耗控制方法、装置及存储系统
US11977768B2 (en) * 2021-11-09 2024-05-07 Micron Technology, Inc. Write buffer extensions for storage interface controllers
US11520499B1 (en) * 2022-05-18 2022-12-06 Ambiq Micro, Inc. On-demand activation of memory path during sleep or active modes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182196B1 (en) * 1998-02-20 2001-01-30 Ati International Srl Method and apparatus for arbitrating access requests to a memory
US6618791B1 (en) * 2000-09-29 2003-09-09 Intel Corporation System and method for controlling power states of a memory device via detection of a chip select signal
US20080219083A1 (en) * 2007-03-09 2008-09-11 Shih-Chieh Chang Semiconductor memory device and power control method thereof
US7702846B2 (en) * 2005-03-15 2010-04-20 Panasonic Corporation Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408639A (en) * 1992-07-21 1995-04-18 Advanced Micro Devices External memory access control for a processing system
US6460125B2 (en) 1998-08-07 2002-10-01 Ati Technologies, Inc. Dynamic memory clock control system and method
TW561349B (en) * 2002-03-01 2003-11-11 Via Tech Inc Scheduling method and device of read/write request in control chip
JP4152660B2 (ja) * 2002-04-05 2008-09-17 三菱電機株式会社 メモリバックアップ制御装置
CN1519855A (zh) * 2003-01-22 2004-08-11 捷诚科技股份有限公司 具有省电模式的存储器装置及具有省电模式的存储器的电子装置
KR100591759B1 (ko) 2003-12-03 2006-06-22 삼성전자주식회사 반도체 메모리의 전원 공급장치
US7698498B2 (en) * 2005-12-29 2010-04-13 Intel Corporation Memory controller with bank sorting and scheduling
US7849342B2 (en) * 2007-05-01 2010-12-07 Nvidia Corporation Method and system for implementing generalized system stutter

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182196B1 (en) * 1998-02-20 2001-01-30 Ati International Srl Method and apparatus for arbitrating access requests to a memory
US6618791B1 (en) * 2000-09-29 2003-09-09 Intel Corporation System and method for controlling power states of a memory device via detection of a chip select signal
US7702846B2 (en) * 2005-03-15 2010-04-20 Panasonic Corporation Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
US20080219083A1 (en) * 2007-03-09 2008-09-11 Shih-Chieh Chang Semiconductor memory device and power control method thereof

Also Published As

Publication number Publication date
CN102306046A (zh) 2012-01-04
HK1166144A1 (zh) 2012-10-19
EP2385468A1 (en) 2011-11-09
TW201208420A (en) 2012-02-16
EP2385468B1 (en) 2018-12-26
CN102306046B (zh) 2015-01-21
US8812889B2 (en) 2014-08-19
US20110276817A1 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
TWI487406B (zh) 在存儲控制器中進行功率控制的方法及存儲控制器
US10866625B2 (en) Data rate adaptive link speed configuration for connection between host processor and modem
US8156353B2 (en) Techniques for communications power management based on system states
JP6001023B2 (ja) モバイル・デバイスのためのバッテリ電力管理
JP5648670B2 (ja) 電力を節約するための無線装置および無線装置の電力を節約するための方法
TWI586187B (zh) 訊務無通信計時器之動態調適
US8924753B2 (en) Apparatus and method for adaptive frequency scaling in digital system
US7647515B2 (en) System and method for information handling system adaptive variable bus idle timer
KR20180121531A (ko) 최적의 퍼포먼스 및 전력 절약을 위한 적응적 주변 컴포넌트 상호접속 익스프레스 링크 하위상태 개시
EP2468049B1 (en) Power manager and method
US20110276766A1 (en) Configurable memory controller
US10890962B2 (en) Power management in a configurable bus
US20090177903A1 (en) Method and device for power management
EP3520499B1 (en) Power management techniques for wirelessly-interconnected devices
CN101964735A (zh) 以太网方法和以太网设备中使用的方法
JP6211622B2 (ja) チャネル・アウェアなジョブ・スケジューリング
US9841804B2 (en) Clocking a processor
US20130262679A1 (en) Dataset Processing Using Network Performance Information
US7836316B2 (en) Conserving power in processing systems
Zompakis et al. Systematic exploration of power-aware scenarios for IEEE 802.11 ac WLAN systems
WO2021081813A1 (zh) 多核处理器及其调度方法、设备及存储介质
Sheikh et al. Some Power Management Technology and Algorithm in Mobile Ad Hoc Network
TW201904335A (zh) 自調適業務指示映射設置方法及裝置
Gupta Power Management Considerations for Networked Devices
Lee et al. Enhanced power management scheme for low-power UWB communications

Legal Events

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