TWI823637B - 藉由記憶體控制器執行用於管理給單晶片系統(SoC)之記憶體子系統之一或多個用戶端信用分配之方法、藉由SoC之記憶體子系統之信用控制器管理之方法、及藉由SoC之用戶端執行之方法 - Google Patents

藉由記憶體控制器執行用於管理給單晶片系統(SoC)之記憶體子系統之一或多個用戶端信用分配之方法、藉由SoC之記憶體子系統之信用控制器管理之方法、及藉由SoC之用戶端執行之方法 Download PDF

Info

Publication number
TWI823637B
TWI823637B TW111139575A TW111139575A TWI823637B TW I823637 B TWI823637 B TW I823637B TW 111139575 A TW111139575 A TW 111139575A TW 111139575 A TW111139575 A TW 111139575A TW I823637 B TWI823637 B TW I823637B
Authority
TW
Taiwan
Prior art keywords
memory
controller
credit
client
memory controller
Prior art date
Application number
TW111139575A
Other languages
English (en)
Other versions
TW202307679A (zh
Inventor
那加拉 亞席克 普蒂
阿布拉 巴格其
凡亞格里斯瓦魯度 德加 奈納拉
文卡提司瓦然 安納森那拉雅南
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 TW202307679A publication Critical patent/TW202307679A/zh
Application granted granted Critical
Publication of TWI823637B publication Critical patent/TWI823637B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

本文件描述用於在記憶體子系統中調變信用分配之系統及技術。該等所描述系統及技術可向一信用控制器提供一回饋機制以改良一記憶體介面處之頻寬。記憶體控制器監測與伺服至該記憶體子系統之一或多個隨機存取記憶體(RAM)之交易請求相關聯之統計資料。接著,該記憶體控制器可向該信用控制器或一或多個用戶端提供建議以調變分配給一或多個用戶端之信用之數目。以此方式,該等所描述系統及技術可改良該記憶體控制器在管理該等交易請求及該記憶體介面處之該頻寬方面之效率。

Description

藉由記憶體控制器執行用於管理給單晶片系統(SoC)之記憶體子系統之一或多個用戶端信用分配之方法、藉由SoC之記憶體子系統之信用控制器管理之方法、及藉由SoC之用戶端執行之方法
本案說明書描述用於在記憶體子系統中調變信用分配之系統及技術。
單晶片系統(SoC)中之記憶體控制器可包含用以在將交易發送至記憶體之前暫時儲存該等交易的一緩衝區。緩衝區允許一記憶體控制器排程交易且最大化至記憶體之一介面之頻寬。為進一步管理頻寬,記憶體控制器通常將緩衝區細分成信用。SoC可基於存取記憶體之用戶端之一所要或所需服務品質(QoS)將信用分配給用戶端或用戶端之不同訊務類別。然而,分配給一訊務類別之信用之數目通常係靜態的且可能未基於記憶體處之實際交易訊務而最大化記憶體介面處之頻寬。
所描述系統及技術可向一記憶體子系統之一信用控制器或一或多個用戶端提供一回饋機制以改良一記憶體介面處之頻寬。記憶體控制器監測與伺服於記憶體子系統之一或多個隨機存取記憶體(RAM)之交易請求相關聯之統計資料。接著,記憶體控制器可向信用控制器或一或多個 用戶端提供建議以調變分配給存取RAM之一或多個用戶端之信用之數目。以此方式,所描述系統及技術可改良記憶體控制器在管理交易請求及記憶體介面處之頻寬方面之效率。
舉例而言,一單晶片系統(SoC)之一記憶體子系統包含一信用控制器及一記憶體控制器。信用控制器將各自數目個信用分配給記憶體子系統之一或多個用戶端。記憶體控制器可操作地連接至一或多個RAM。記憶體控制器包含一緩衝區,該緩衝區可儲存來自用戶端之交易請求以存取RAM中之資料。記憶體控制器可針對各用戶端監測由記憶體控制器伺服之交易請求之統計資料且基於該等統計資料產生一信號以指示信用控制器調變分配給用戶端之至少一者之信用之各自數目。
本文件亦描述用於在記憶體子系統中調變信用分配之其他方法、組態及系統。
提供本發明內容以介紹用於在記憶體子系統中調變信用分配之簡化概念,此在下文在實施方式及圖式中進一步描述。本發明內容不意欲識別所主張標的之基本特徵,亦不意欲用於判定所主張標的之範疇。
100:例示性裝置圖
102:使用者裝置
102-1:行動電話
102-2:平板裝置
102-3:膝上型電腦
102-4:桌上型電腦
102-5:電腦化手錶
102-6:可穿戴電腦
102-7:視訊遊戲機
102-8:語音輔助系統
104:射頻(RF)收發器
106:單晶片系統(SoC)
108:用戶端
108-1:用戶端A
108-2:用戶端B
108-3:用戶端C
110:記憶體子系統
112:隨機存取記憶體(RAM)
114:記憶體控制器
116:信用控制器
118:電腦可讀儲存媒體(CRM)
200:例示性裝置圖
202:即時訊務
204:非即時訊務
206-1:同步動態隨機存取記憶體(SDRAM)
206-2:同步動態隨機存取記憶體(SDRAM)
208:緩衝區
210:統計監測模組
212:信用分配回饋模組
300:例示性圖
302-1:虛擬通道
302-2:虛擬通道
302-3:虛擬通道
304:內部匯流排
306-1:內部匯流排
306-2:內部匯流排
308:邊帶通道
310:邊帶通道
312:構體
400:圖表
402:差異值
404:時間窗
406:時間窗
408:時間窗
410:時間窗
412:時間窗
414:最大值
416:最小值
502:圖表
504:信用
506:信用
508:信用
510:時間窗
512:時間窗
514:時間窗
516:時間窗
518:圖表
520:回饋信號
522:時脈週期
600:操作
602:步驟
604:步驟
606:步驟
608:步驟
610:步驟
612:步驟
在本文件中參考以下圖式描述在記憶體子系統中調變信用分配之一或多個態樣之細節。貫穿多個圖式使用相同元件符號以引用相同特徵及組件。
圖1繪示其中可實施用於在一記憶體子系統中調變信用分配之系統及技術之一使用者裝置之一例示性裝置圖。
圖2繪示其中可實施用於在一SoC之一記憶體子系統中調變信用分配之系統及技術之SoC之一例示性裝置圖。
圖3繪示可調變信用分配之一記憶體子系統之一例示性圖。
圖4繪示繪示藉由一記憶體控制器之一統計監測模組監測之一差異(disparity)度量之一例示性圖表。
圖5繪示繪示基於一佔用度量及一差異度量分配給一用戶端之信用之一例示性圖表及繪示來自一記憶體控制器之一回饋信號之一例示性圖表。
圖6係繪示在記憶體子系統中調變信用分配之例示性操作之一流程圖。
概述
本文件描述用以在記憶體子系統中調變信用分配之系統及技術。SoC中之記憶體控制器可將一內部緩衝區細分成信用。一信用控制器可將信用分配給不同用戶端或用戶端之訊務類別。以此方式,記憶體控制器可分配其緩衝區且排程交易以最大化一記憶體介面處之頻寬。
記憶體子系統可將一訊務類別定義為需要一特定處理以保證一特定服務品質(QoS)或獲得一特定系統效能的一組記憶體交易。SoC或信用控制器可將一不同虛擬通道識別(VCID)分配給各訊務類別以簡化信用分配。
現有記憶體控制器可包含一相對較大緩衝區以改良將交易伺服至記憶體之效率且改良記憶體介面處之頻寬。此等記憶體子系統通常靜態地分配指派給用戶端及訊務類別之信用之數目。然而,此等記憶體子系統無法回應於實際記憶體交易而動態地調整所分配信用以改良記憶體介 面處之頻寬。
相比之下,所描述系統及技術基於伺服交易之即時統計資料而調變至用戶端、訊務類別或VCID之信用分配。以此方式,所描述系統及技術可建議所分配信用之調變。記憶體控制器亦可向一信用控制器或至少一些用戶端提供一閉合回饋機制以實現交易請求之有效管理及遞送。因此,所描述系統及技術可增加記憶體介面處之頻寬。
作為一非限制實例,一SoC之一記憶體子系統包含一信用控制器及一記憶體控制器。信用控制器可將各自數目個信用分配給一或多個用戶端。記憶體控制器可操作地連接至一或多個RAM及信用控制器。記憶體控制器亦包含一緩衝區,該緩衝區可儲存來自用戶端之交易請求以存取RAM中之資料。記憶體控制器可針對一或多個用戶端之各用戶端監測藉由記憶體控制器伺服之交易請求之統計資料。接著,記憶體控制器可基於統計資料來判定是否將藉由增加或減少分配給一或多個用戶端之至少一個用戶端之信用之一各自數目而增加記憶體處理量。記憶體控制器可基於將增加記憶體處理量之一判定而產生一輸出信號。輸出信號可向信用控制器指示應增加或減少分配給至少一個用戶端之信用之各自數目。
此實例僅為在記憶體子系統中調變信用分配以改良一記憶體介面處之頻寬的一個圖解。在本文件通篇描述其他例示性組態及方法。本文件現描述記憶體子系統中之信用分配之所描述調變之額外例示性方法、組態及組件。
例示性裝置
圖1繪示可實施用於在一記憶體子系統中調變信用分配之系統及技術之一使用者裝置102之一例示性裝置圖100。使用者裝置102可 包含為了清楚起見從圖1省略之額外組件及介面。
使用者裝置102可為各種消費者電子裝置。作為非限制實例,使用者裝置102可為一行動電話102-1、一平板裝置102-2、一膝上型電腦102-3、一桌上型電腦102-4、一電腦化手錶102-5、一可穿戴電腦102-6、一視訊遊戲機102-7或一語音輔助系統102-8。
使用者裝置102可包含用於經由無線網路通信之一或多個射頻(RF)收發器104。使用者裝置102可將RF收發器104及支援電路(例如,天線、前端模組、放大器)調諧至藉由各種通信標準定義之一或多個頻帶。
使用者裝置102亦包含SoC 106。SoC 106通常將使用者裝置102之數個組件整合成一單個晶片,包含一中央處理單元、記憶體、及輸入及輸出埠。SoC 106可包含一單個核心或多個核心。在所描繪實施方案中,SoC 106包含一或多個用戶端108及一記憶體子系統110。SoC 106可包含其他組件,包含通信單元(例如,數據機)、輸入/輸出控制器及系統介面。
用戶端108提供交易請求以將資料讀取或寫入至記憶體子系統110之隨機存取記憶體(RAM)112。作為非限制實例,用戶端108可包含一顯示系統、一圖形處理單元、一中央處理單元、一通信單元、輸入/輸出控制器及SoC 106之系統介面。
記憶體子系統110包含RAM 112、一記憶體控制器114及一信用控制器116。RAM 112係用以儲存可由用戶端108存取之資料之一適合儲存裝置(例如,靜態RAM(SRAM)、動態RAM(DRAM)、非揮發性RAM(NVRAM)、同步動態RAM(SDRAM))。在其他實施方案中,可將 RAM 112定位於SoC 106外部。
記憶體控制器114管理用戶端108至RAM 112之交易請求。記憶體控制器114可緩衝且伺服至RAM 112之交易請求以增加記憶體子系統110之頻寬。特定言之,記憶體控制器可排程交易請求以改良RAM 112與記憶體控制器114之間之一介面之頻寬。記憶體控制器114可包含硬體、韌體、軟體或其等之一組合。
信用控制器116可將記憶體控制器114中之緩衝區之一部分分配給用戶端108。緩衝區之所分配部分(在本文件中被稱為「信用」)表示RAM 112處之各自用戶端108之一頻寬保證。信用控制器116可包含硬體、韌體、軟體或其等之一組合。
一構體(圖1中未繪示)經由各自虛擬通道可操作地連接至用戶端108。構體可將交易請求從用戶端108轉送至記憶體控制器114。在一些實施方案中,構體係一多工器。信用控制器116可在構體中、在任何或全部用戶端108中、作為SoC 106中之一獨立組件、或作為SoC 106外部之一獨立組件實施。
記憶體控制器114亦可監測與伺服至RAM 112之交易有關之統計資料。基於統計資料,記憶體控制器114可向信用控制器116及/或用戶端108提供回饋以潛在地調變(例如,減少、增加、維持)分配給用戶端108之一或多者之信用。以此方式,所描述系統及技術可動態地調變用戶端108間之信用分配且改良用戶端108之QoS。
使用者裝置102亦包含電腦可讀儲存媒體(CRM)118。CRM 118係用以儲存使用者裝置102之裝置資料之一適合儲存裝置(例如,隨機存取記憶體(RAM)、靜態RAM(SRAM)、動態RAM(DRAM)、非揮 發性RAM(NVRAM)、唯讀記憶體(ROM)、快閃記憶體)。裝置資料可包含一作業系統、一或多個應用程式、使用者資料及多媒體資料。在其他實施方案中,CRM 118可儲存作業系統及SoC 106之應用程式、使用者資料及多媒體資料之一子集。
作業系統通常管理使用者裝置102之硬體及軟體資源且提供共同服務。通常可藉由SoC 106執行作業系統及應用程式以實現與使用者裝置102之通信及與使用者互動,此可需要存取記憶體子系統110之RAM 112中之資料。
圖2繪示其中可實施用於在SoC 106之記憶體子系統110中調變信用分配之系統及技術之SoC 106之一例示性裝置圖200。SoC 106及記憶體子系統110可包含圖2中未繪示之額外組件。
SoC 106包含多個用戶端108及記憶體子系統110。在所描繪實施方案中,用戶端108包含一用戶端A 108-1、一用戶端B 108-2及一用戶端C 108-3。SoC 106可包含較少或額外用戶端108。在此實例中,將用戶端108定位於記憶體子系統110外部。在其他實施方案中,可將用戶端108或用戶端108之一部分定位於記憶體子系統110中。
如上文描述,用戶端108可提供交易請求以將資料讀取或寫入至RAM 112。一或多個用戶端108可向記憶體子系統110提供即時訊務202及非即時訊務204。在此實例中,用戶端A 108-1之交易請求包含即時訊務202及非即時訊務204。
記憶體子系統110包含RAM 112、記憶體控制器114及信用控制器116。RAM 112包含至少一個儲存裝置。在所描繪實施方案中,RAM 112包含兩個儲存裝置:一SDRAM 206-1及一SDRAM 206-2。 SDRAM 206-1及SDRAM 206-2可儲存用戶端108之資料或可由用戶端108存取之資料。SDRAM 206-1及SDRAM 206-2可操作地連接至記憶體控制器114。
記憶體控制器114可包含一緩衝區208、一統計監測模組210及一信用分配回饋模組212。緩衝區208暫時儲存用戶端108之交易請求。緩衝區208或記憶體控制器114之另一組件亦可將交易請求發送至SDRAM 206-1及SDRAM 206-2以增加記憶體介面處之頻寬。
統計監測模組210可監測伺服至SDRAM 206-1及SDRAM 206-2之交易請求。舉例而言,統計監測模組210可判定關於命中數目(例如,SDRAM 206-1或SDRAM 206-2處之頁面命中)、衝突(例如,SDRAM 206-1或SDRAM 206-2在打開一所請求頁面之前關閉一頁面)、用戶端108之所分配頻寬(例如,指派給伺服交易請求之用戶端108之訊務類別)、交易請求之一效率及一所要頻寬之統計資料。可在記憶體控制器114中以硬體、數位邏輯或其等之一組合實施統計監測模組210。
信用分配回饋模組212可向信用控制器116或用戶端108提供回饋。回饋可提供一建議以調變分配給一或多個用戶端108之信用。舉例而言,信用分配回饋模組212可建議信用控制器116減少分配給用戶端B 108-2之信用之數目。記憶體控制器114通常不知道分配給一特定訊務類別或VCID之信用之數目。因此,信用分配回饋模組212可不論信用分配的情況如何而基於藉由統計監測模組210判定之統計資料提供回饋。
本文件關於圖3更詳細地描述記憶體子系統110之操作(明確言之記憶體控制器114及信用控制器116之操作)。
例示性組態
本章節繪示用以調變信用分配之一基於硬體之記憶體子系統之一例示性組態,其等可單獨發生或全部或部分一起發生。為便於閱讀,本章節描述關於一圖式之例示性組態。
圖3繪示可調變信用分配之記憶體子系統110之一例示性圖300。記憶體子系統110可包含圖3中未繪示之額外組件。記憶體子系統110提供一硬體實施方案以基於藉由記憶體控制器114聚集之統計資料將回饋發送至上游用戶端108或信用控制器116。回饋可建議分配給一特定訊務類別或一特定用戶端之信用之數目之調變。回饋迴路藉由作用於回饋且調變信用分配之用戶端108或信用控制器116完成。以此方式,記憶體控制器114可提高記憶體子系統110之效能。
類似於圖2,記憶體子系統110包含一或多個RAM 112(例如,SDRAM 206-1、SDRAM 206-2)、記憶體控制器114、信用控制器116、構體312及一或多個用戶端108(例如,用戶端A 108-1、用戶端B 108-2、用戶端C 108-3)。用戶端108經由內部匯流排可操作地連接至構體312。本文件將內部匯流排稱為虛擬通道302。各虛擬通道302被指派一唯一識別,該唯一識別在本文件中被稱為一虛擬通道識別(VCID)。構體312、信用控制器116或用戶端108可將VCID指派給一特定訊務類別。如上文描述,一訊務類別表示交易請求滿足用戶端108之一特定QoS所需之一特定處理。舉例而言,即時訊務202(例如,來自一顯示用戶端)可需要不同於非即時訊務204之QoS處理。
在所描繪實施方案中,用戶端A 108-1經由虛擬通道302-1可操作地連接至構體312。用戶端B 108-2經由虛擬通道302-2可操作地連接至構體312,且用戶端C 108-3經由虛擬通道302-3可操作地連接至構體 312。
信用控制器116可將記憶體控制器114之緩衝區208(圖3中未繪示)細分成信用且將信用分配給不同訊務類別以管理可用於不同訊務類別之頻寬。分配給不同訊務類別及因此不同VCID之信用轉化為記憶體控制器114之緩衝區208處之各VCID之一頻寬保證。在其他實施方案中,信用控制器116可基於一自由池在用戶端108間分配信用。一自由池允許信用控制器116基於來自記憶體控制器114之回饋、一訊務類別指派、可用自由信用之數目或其等之一組合將信用動態分配給用戶端108。
構體312經由內部匯流排304可操作地連接至記憶體控制器114。構體312經由內部匯流排304將記憶體交易從用戶端108發送至記憶體控制器114。記憶體控制器114將交易請求暫時儲存於緩衝區208中。
記憶體控制器114經由內部匯流排306可操作地連接至SDRAM 206。在所描繪實施方案中,記憶體控制器114分別經由內部匯流排306-1及306-2可操作地連接至SDRAM 206-1及206-2。記憶體控制器114經由各自內部匯流排306將交易請求伺服至SDRAM 206。如關於圖2描述,統計監測模組210(圖3中未繪示)監測伺服至SDRAM 206之記憶體交易之統計資料。
記憶體控制器114亦經由一邊帶通道308可操作地連接至信用控制器116。在一些實施方案中,記憶體控制器114亦可經由一邊帶通道310可操作地連接至一或多個用戶端108。在其他實施方案中,記憶體控制器114可經由邊帶通道310可操作地連接至用戶端108但不經由邊帶通道308可操作地連接至信用控制器116。
基於藉由統計監測模組210產生之統計資料,信用分配回 饋模組212(圖3中未繪示)可建議針對一或多個用戶端108調變信用分配。以此方式,記憶體控制器114可確保緩衝區208最大程度有效。若一特定VCID可用一較小信用分配達成相同處理量,則信用控制器116或用戶端108可將備用信用分配給將受益於額外信用之一不同VCID、訊務類別或用戶端108。
舉例而言,記憶體控制器114可經由邊帶通道308或邊帶通道310來發送表1中列出之建議信號之至少一者。舉例而言,建議信號r_decrease_credits及w_decrease_credits建議減少分配給用戶端108之一或多者之信用之數目。以此方式,信用控制器116或用戶端108可使用建議信號來針對一特定VCID動態調變緩衝區208之一最大佔用。在一自由池分配系統中,信用控制器116或用戶端108考量建議信號以調變VCID間之信用分配。在調變信用分配方面,信用控制器116亦在調變分配給一特定VCID之信用時考量最小信用分配、QoS規範及基於緊急度之考量。
Figure 111139575-A0305-02-0013-1
在操作中,統計監測模組210可監測數個度量以輔助信用分配回饋模組212。特定言之,統計監測模組210可針對記憶體子系統110之各時脈週期判定藉由記憶體控制器114伺服之交易請求之一差異度量及一佔用度量。交易請求包含VCID或識別伺服交易請求之用戶端108之其 他資料。以此方式,統計監測模組210可判定一或多個用戶端108之各者之差異度量及佔用度量。在其他實施方案中,統計監測模組210可判定且監測額外度量。關於圖4更詳細地描述表示至SDRAM 206之一介面處之一特定VCID所見之一效率之差異度量。關於圖5更詳細地描述推斷分配給一特定VCID之信用之數目之佔用度量。
如圖3中描繪,記憶體子系統110可在硬體中實施信用分配之管理及調變。在其他實施方案中,可在內核級或一驅動程序級實施信用管理及重新平衡。
圖4繪示繪示藉由記憶體控制器114之統計監測模組210監測之差異度量之一例示性圖表400。在此實施方案中,統計監測模組210監測記憶體子系統110之一特定VCID之差異度量。
差異度量表示至SDRAM 206之一或兩者之介面處之一VCID之一效率。作為一實例,相較於具有導致一較高比例之衝突之更多隨機交易請求之一VCID,具有導致一相對較大比例之命中之交易請求之一VCID將具有更大效率。在本文件中,一命中係指SDRAM 206處之一頁面命中。當交易請求之SDRAM 206之一所需頁面(例如,列)已打開時,可發生一頁面命中。一未命中係指在SDRAM 206處關閉之一頁面之一交易請求。一衝突係指具有不同於一交易請求所需之一頁面打開,從而導致打開頁面被關閉之一SDRAM 206。
SDRAM 206處之一交易請求通常導致一特定序列之命令。舉例而言,一讀取(RD)或寫入(WR)命令首先涉及發送一啟動(ACT)命令。ACT命令將SDRAM 206之一整個頁面載入至列緩衝區中。對該頁面之一行定址之一隨後RD命令返回資料。類似地,對該頁面定址之一隨 後WR命令將交易請求中之資料寫入至經定址行中。在該頁面之存取完成之後,SDRAM 206藉由發出一預充電(PRE)命令而關閉頁面。一般而言,SDRAM 206之一交易請求可涉及打開、存取及關閉頁面。若交易請求對當前未打開之一頁面或列緩衝區定址,則交易請求引發關閉已打開頁面之一額外損害。
記憶體控制器114試圖最大化至SDRAM 206之介面處之頻寬,而亦同時滿足交易請求之QoS參數。此兩個要求可導致記憶體控制器114無序地伺服交易請求。相較於經歷許多衝突者,發送導致一系列命中之交易請求之用戶端108、訊務類別或VCID將具有較低延時。因此,信用分配回饋模組212可使用關於命中、衝突、所分配頻寬及所要頻寬之統計資料來定義效能度量。接著,信用分配回饋模組212可使用效能度量來建議調變分配給不同用戶端108、訊務類別或VCID之信用以改良系統效能。
統計監測模組210可將一特定VCID之差異度量定義為命中總和減去衝突總和:差異[VC i ]=Σ命中-Σ衝突 (1)
差異度量可為具有某一初始偏移值(例如,32)之一8位元不帶正負號值。每當一交易請求在記憶體控制器114之一請求排程器中接收到許可時,統計監測模組210在下一時脈週期中更新屬於該VCID之命中及衝突之數目且更新差異值。以此方式,統計監測模組210可使用計數器來判定與一特定VCID相關聯之一效率同時避免對使用除法或乘法來產生差異度量的需要。統計監測模組210通常不考量未命中,此係因為各衝突最終導致一未命中。在另一實施方案中,統計監測模組210可依據未命中 而非衝突來定義差異度量。統計監測模組210亦可使差異度量飽和於一最大值414(例如,255)及一最小值416(例如,0)以避免差異值翻轉(例如,以避免一整數上溢或下溢,此可導致差異度量之值之一誤差)。
圖表400繪示藉由統計監測模組210針對時間窗404、406、408、410及412針對用戶端A 108-1產生之一例示性差異值402。在時間窗404之開始,用戶端A 108-1之差異值402以一初始偏移值32開始。在時間窗404期間,記憶體控制器114未伺服用戶端A 108-1之任何交易請求,且差異值402保持於一值32。
在時間窗406期間,記憶體控制器114伺服導致頁面命中之交易請求,且差異值402具有一正斜率。差異值402在特定數目個頁面命中之後飽和於最大值414。
在時間窗408期間,統計監測模組210包含一衰減因數,當不存在該VCID之交易請求時,該衰減因數將差異值402緩慢地帶回至初始偏移值。以此方式,統計監測模組210可避免一舊的交易請求線程之命中率影響一當前交易請求線程之回饋信號。
在時間窗410期間,差異值402藉由降至初始偏移值以下以及升至初始偏移值以上而圍繞該初始偏移值振盪。差異值402之振盪可由於導致一衝突且接著導致一頁面命中之一系列交易請求所致。在一交易請求被發送且導致一衝突之後考量,相同交易請求成為一頁面命中且導致抵消負分數之一正分數。在時間窗412期間,記憶體控制器114未伺服VCID之任何交易請求,且差異值402保持於初始偏移值。
回應於一低差異值402,信用分配回饋模組212不一定建議減少至一特定VCID之信用分配。可能已在記憶體控制器114處向VCID指 派少數信用且預期一小頻寬。因此,預期至SDRAM 206之介面處之相對較低效率或頻寬且其不觸發減少分配給該VCID之信用的建議。為此,信用分配回饋模組212使用關於圖5描述之佔用度量以及差異度量來產生信用分配回饋。
圖5繪示繪示基於一佔用度量及差異度量分配給一用戶端108之信用504之一例示性圖表502及繪示來自記憶體控制器114之一回饋信號520之一例示性圖表518。在此實施方案中,統計監測模組210監測記憶體子系統110之一特定VCID之佔用度量。
如上文描述,佔用度量表示總計監測模組210對分配給一VCID之信用504之數目之推斷。由於藉由信用控制器116及/或一或多個用戶端108管理信用之分配,故記憶體控制器114不直接知道分配給一特定VCID之信用504之數目。統計監測模組210可使用由一特定VCID使用之緩衝區208中之條目之數目來推斷分配給VCID之信用504。換言之,一特定虛擬通道之佔用度量係由該虛擬通道使用之緩衝區條目之數目。
信用分配回饋模組212可基於藉由統計監測模組210收集之佔用度量及差異度量而判定各VCID之回饋信號520,如下:K×佔用[VC i ]-差異[VC i ]>臨限值[VC i ], (2)其中K係一恆定比例因數以使佔用度量及差異度量兩者在相同範圍內。若前述為真,則信用分配回饋模組212建議減少分配給VCID之信用504。信用控制器116及/或用戶端108可使用回饋信號520以執行最大數目個信用504之一連續近似以分配給VCID。
作為一實例,圖表502繪示分配給一特定用戶端108(例如,用戶端B 108-2)之信用504。圖表518繪示由信用分配回饋模組212提 供給信用控制器116之關於用於調變分配給用戶端B 108-2之信用504之建議的回饋信號520。在時間窗510期間,信用控制器116將最大數目個信用506(例如,12個信用)分配給用戶端B 108-2。信用分配回饋模組212在時間窗510期間將一保持建議發送至用戶端B 108-2之信用控制器116。
在時間窗512中,統計監測模組210判定與用戶端B 108-2相關聯之VCID之佔用度量超過大於此VCID之差異度量之一臨限值。作為回應,信用分配回饋模組212將一r_decrease_credits信號發送至記憶體控制器114。當信用控制器116在T數目個時脈週期522中看見減少建議時,信用控制器116可將分配給用戶端B 108-2之信用504之數目朝向最小數目個信用508向下調變達若干信用。分配給用戶端B 108-2之信用504之數目之減少可繼續直至回饋信號520不再包含一r_decrease_credits建議。分配給用戶端B 108-2之信用504之數目通常將不降低至信用508之最小數目以下。
在時間窗514及516期間,回饋信號520在T數目個時脈週期522中不再包含一r_decrease_credits建議,且分配給用戶端B 108-2之信用504之數目往回朝向信用506之最大數目增加。
信用控制器116可將從用戶端B 108-2拿走之信用分配給一不同用戶端或分配給信用之一自由池。以此方式,記憶體子系統110可藉由調變分配給不同VCID之信用而有效地利用記憶體控制器114之緩衝區208。另外,信用控制器通常試圖在缺少來自記憶體控制器114之一減少信用建議之情況下將最大數目個信用506分配給用戶端108。
例示性方法
圖6係繪示在記憶體子系統中調變信用分配之例示性操作 600之一流程圖。在圖1及圖2之記憶體子系統110之背景內容中描述操作600。可以一不同順序或運用額外或較少操作執行操作600。
在602,藉由一信用控制器將各自數目個信用分配給一或多個用戶端。舉例而言,信用控制器116可將各自數目個信用分配給一或多個用戶端108。
在604,藉由一記憶體控制器儲存來自一或多個用戶端之用以存取一或多個RAM中之資料之交易請求。記憶體控制器可操作地連接至一或多個RAM及信用控制器。舉例而言,記憶體控制器114可操作地連接至一或多個RAM 112(例如,SDRAM 206-1、SDRAM 206-2)及信用控制器116。記憶體控制器114包含緩衝區208以儲存來自一或多個用戶端108之交易請求以存取一或多個RAM 112中之資料。
在606,藉由記憶體控制器針對一或多個用戶端之各用戶端監測伺服至一或多個RAM之交易請求之統計資料。舉例而言,記憶體控制器114可針對一或多個用戶端108之各用戶端108監測伺服至一或多個RAM 112之交易請求之統計資料。
在608,記憶體控制器基於統計資料來判定是否將藉由增加或減少分配給一或多個用戶端之至少一個用戶端之信用之各自數目而增加記憶體處理量。舉例而言,記憶體控制器114可基於統計資料來判定是否將藉由增加或減少分配給一或多個用戶端108之至少一個用戶端108之信用之各自數目而增加記憶體處理量。
在610,藉由記憶體控制器產生一輸出信號以指示應增加或減少信用之各自數目。輸出信號係基於記憶體處理量將增加之判定。藉由記憶體控制器將輸出信號發送至信用控制器。舉例而言,記憶體控制器 114可產生一輸出信號以指示應增加或減少信用之各自數目。輸出信號係基於將增加至RAM 112之記憶體處理量之一判定。記憶體控制器114可經由側通道308將輸出信號發送至信用控制器116。記憶體控制器114亦可將輸出信號直接發送至一或多個用戶端108之至少一者。
在612,藉由信用控制器且基於輸出信號調變分配給一或多個用戶端之至少一個用戶端之信用之各自數目。舉例而言,信用控制器116可基於輸出信號而調變分配給一或多個用戶端108之至少一個用戶端108之信用之各自數目。
實例
在以下章節中,提供實例。
實例1:一種一單晶片系統(SoC)之記憶體子系統,其包括:一記憶體控制器,其可操作地連接至一信用控制器,該記憶體控制器包括經組態以儲存來自一或多個用戶端之交易請求以存取一或多個RAM中之資料的一緩衝區,該記憶體控制器經組態以:針對該一或多個用戶端之各用戶端監測藉由該記憶體控制器伺服之該等交易請求之統計資料;基於該等統計資料來判定是否將藉由增加或減少分配給該一或多個用戶端之至少一個用戶端之信用之一各自數目而增加記憶體處理量;且基於將增加該記憶體處理量之一判定而產生一輸出信號,該輸出信號經組態以向一信用控制器指示應增加或減少分配給該一或多個用戶端之該至少一個用戶端之信用之該各自數目。
實例2:如實例1之記憶體子系統,其中:該信用控制器經由各自虛擬通道可操作地連接至該一或多個用戶端,該等虛擬通道與一各自虛擬通道識別(VCID)相關聯;且該記憶體控制器進一步經組態以使各 用戶端之該等統計資料與該各自VCID相關聯。
實例3:如任何前述實例之記憶體子系統,其中:該記憶體控制器進一步經組態以經由一側通道將建議發送至該信用控制器。
實例4:如任何前述實例之記憶體子系統,其中該等統計資料包括該一或多個RAM中之頁面命中之一數目、需要在可打開另一頁面之前關閉該一或多個RAM之一頁面之衝突之一數目、或分配給該用戶端之信用之該各自數目之一推斷之至少兩者。
實例5:如實例4之記憶體子系統,其中該記憶體控制器進一步經組態以:針對該一或多個用戶端之各用戶端定義表示頁面命中之該數目減去衝突之該數目之一差異度量;且針對該一或多個用戶端之各用戶端定義表示分配給該用戶端之信用之該各自數目之該推斷之一佔用度量,其中調變分配給該一或多個用戶端之該至少一個用戶端之信用之該各自數目之該建議係基於針對該一或多個用戶端之各用戶端之該佔用度量與該差異度量之一比較。
實例6:如實例5之記憶體子系統,其中該差異度量包括:一最大臨限值,其表示該差異度量之一最大值;及一預設臨限值,其表示該差異度量之一初始偏移值。
實例7:如實例6之記憶體子系統,其中該差異度量進一步包括一衰減因數,該衰減因數導致該差異度量在無任何交易請求之一時間段之後回歸至該預設臨限值。
實例8:如實例4至7中任一項之記憶體子系統,其中該記憶體控制器基於由該一或多個用戶端之各用戶端使用之該緩衝區中之條目之一數目而判定該佔用度量。
實例9:如任何前述實例之記憶體子系統,其中該一或多個RAM包括低功率雙倍資料速率同步動態隨機存取記憶體(LPDDR SDRAM)。
實例10:如任何前述實例之記憶體子系統,其中該記憶體控制器包括一特定應用積體電路(ASIC)記憶體控制器。
實例11:如任何前述實例之記憶體子系統,其中將該SoC嵌入於一使用者裝置中。
實例12:如實例11之記憶體子系統,其中該使用者裝置係一行動電話、一膝上型電腦、一平板電腦、一可攜式視訊遊戲機或一可穿戴裝置。
實例13:一種信用控制器,該信用控制器經組態以:將各自數目個信用分配給一單晶片系統(SoC)之一記憶體子系統之一或多個用戶端,該一或多個用戶端經組態以發送交易請求以存取一或多個RAM中之資料;從該記憶體控制器且基於藉由該記憶體控制器監測之統計資料接收指示應增加或減少分配給該一或多個用戶端之信用之該各自數目之一信號;且基於該信號而動態改變分配給該一或多個用戶端之信用之該各自數目。
實例14:如實例13之信用控制器,其中:該信用控制器經由各自虛擬通道可操作地連接至該一或多個用戶端,該等虛擬通道與一各自虛擬通道識別(VCID)相關聯;且藉由該記憶體控制器針對該一或多個用戶端之各用戶端監測之該等統計資料與該各自VCID相關聯。
實例15:如實例13及14中任一項之信用控制器,其中該信用控制器經由一側通道從該記憶體控制器接收建議。
實例16:一種一單晶片系統(SoC)之用戶端,該用戶端經組態以:將一交易請求發送至該SoC之一記憶體子系統之一記憶體控制器以存取一或多個RAM中之資料;從該記憶體控制器且基於藉由該記憶體控制器監測之統計資料接收指示應增加或減少分配給該用戶端之信用之一數目之一信號;且基於該信號而動態改變用於未來交易請求之信用之該數目。
總結
雖然已依特定於特徵及/或方法之語言描述用於在記憶體子系統中調變信用分配之各種組態及方法,但應瞭解,隨附發明申請專利範圍之主體不一定限於所描述之特定特徵或方法。實情係,特定特徵及方法被揭示為在記憶體子系統中調變信用分配之非限制實例。
108-1:用戶端A
108-2:用戶端B
108-3:用戶端C
114:記憶體控制器
116:信用控制器
206-1:同步動態隨機存取記憶體(SDRAM)
206-2:同步動態隨機存取記憶體(SDRAM)
300:例示性圖
302-1:虛擬通道
302-2:虛擬通道
302-3:虛擬通道
304:內部匯流排
306-1:內部匯流排
306-2:內部匯流排
308:邊帶通道
310:邊帶通道
312:構體

Claims (15)

  1. 一種藉由一記憶體控制器執行用於管理給一單晶片系統(SoC)之一記憶體子系統之一或多個用戶端信用分配之方法,該方法包括:針對該一或多個用戶端之各用戶端監測藉由該記憶體控制器所伺服之交易請求之統計資料,該等交易請求儲存於該記憶體控制器之一緩衝區中,該記憶體控制器可操作地耦接至該記憶體子系統之一信用控制器;基於該等統計資料來判定是否將藉由增加或減少分配給該一或多個用戶端之至少一個用戶端之信用之一各自數目而增加記憶體處理量;及基於將增加該記憶體處理量之一判定而產生一輸出信號,該輸出信號經組態以向該信用控制器指示應增加或減少分配給該一或多個用戶端之該至少一個用戶端之信用之該各自數目。
  2. 如請求項1之方法,其中:該信用控制器經由各自虛擬通道可操作地連接至該一或多個用戶端,該等虛擬通道與一各自虛擬通道識別(VCID)相關聯;且該方法進一步包括使該一或多個用戶端之各用戶端之該等統計資料與該各自虛擬通道之該各自VCID相關聯,其中該用戶端係藉由該通道之該各自VCID可操作地連接至該信用控制器。
  3. 如請求項1之方法,其進一步包括:該記憶體控制器進一步經組態以經由在該記憶體控制器與該信用控制器之間的一側通道將該輸出信號發送至該信用控制器。
  4. 如請求項1之方法,其中該等統計資料包括一或多個隨機存取記憶體(RAM)中之頁面命中(page hits)之一數目、需要在可打開另一頁面之前關閉該一或多個RAM之一頁面之衝突之一數目、或分配給該用戶端之信用之該各自數目之一推斷之至少兩者。
  5. 如請求項4之方法,其中其進一步包括:針對該一或多個用戶端之各用戶端定義表示頁面命中之該數目減去衝突之該數目之一差異度量(disparity metric);且針對該一或多個用戶端之各用戶端定義表示分配給該用戶端之信用之該各自數目之該推斷之一佔用度量,其中調變分配給該一或多個用戶端之該至少一個用戶端之信用之該各自數目之所產生之該輸出信號係基於針對該一或多個用戶端之各用戶端之該佔用度量與該差異度量之一比較。
  6. 如請求項5之方法,其中該差異度量包括:一最大臨限值,其表示該差異度量之一最大值;及一預設臨限值,其表示該差異度量之一初始偏移值。
  7. 如請求項6之方法,其中該差異度量進一步包括一衰減因數,該衰減因數導致該差異度量在無任何交易請求之一時間段之後回歸至該預設臨限值。
  8. 如請求項5之方法,其進一步包括:基於由該一或多個用戶端之各用戶端使用之該緩衝區中之條目之一數目而判定該佔用度量。
  9. 如請求項4之方法,其中該一或多個RAM包括低功率雙倍資料速率同步動態隨機存取記憶體(LPDDR SDRAM)。
  10. 如請求項1之方法,其中該記憶體控制器包括一特定應用積體電路(ASIC)記憶體控制器。
  11. 如請求項1之方法,其中:將該SoC嵌入於一使用者裝置中;或該SoC嵌入於其中之該使用者裝置包括一行動電話、一膝上型電腦、一平板電腦、一可攜式視訊遊戲機或一可穿戴裝置。
  12. 一種藉由一單晶片系統(SoC)之一記憶體子系統之一信用控制器管理之方法,該方法包括:將信用之一各自數目分配給該記憶體子系統之一或多個用戶端,該一或多個用戶端經組態以發送交易請求至該記憶體子系統之一記憶體控制器以存取該記憶體子系統之一或多個隨機存取記憶體中之資料;從該記憶體控制器且基於藉由該記憶體控制器監測之統計資料接收指示應增加或減少分配給該一或多個用戶端之信用之該各自數目之一信號;且 基於該信號而動態改變分配給該一或多個用戶端之信用之該各自數目。
  13. 如請求項12之方法,其中:該信用控制器經由各自虛擬通道可操作地連接至該一或多個用戶端,該等虛擬通道與一各自虛擬通道識別(VCID)相關聯;且使該一或多個用戶端之各用戶端之由該記憶體控制器所監測的該等統計資料與該各自虛擬通道之該各自VCID相關聯,其中該用戶端係藉由該通道之該各自VCID可操作地連接至該信用控制器。
  14. 如請求項13之方法,其中該信用控制器經由在該記憶體子系統之該信用控制器與該記憶體控制器之間的一側通道從該記憶體控制器接收該信號。
  15. 一種藉由一單晶片系統(SoC)之一用戶端執行之方法,該方法包括:將一交易請求發送至該SoC之一記憶體子系統之一記憶體控制器以存取該記憶體子系統之一或多個隨機存取記憶體中之資料;從該記憶體控制器且基於藉由該記憶體控制器監測之統計資料接收指示應增加或減少由該用戶端使用之信用之一數目之一信號;且基於該信號而動態改變由該用戶端使用之信用之該數目以用於經發送至該記憶體控制器之未來交易請求之信用之該數目。
TW111139575A 2020-10-26 2021-02-24 藉由記憶體控制器執行用於管理給單晶片系統(SoC)之記憶體子系統之一或多個用戶端信用分配之方法、藉由SoC之記憶體子系統之信用控制器管理之方法、及藉由SoC之用戶端執行之方法 TWI823637B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
WOPCT/US20/57293 2020-10-26
PCT/US2020/057293 WO2022093165A1 (en) 2020-10-26 2020-10-26 Modulating credit allocations in memory subsystems

Publications (2)

Publication Number Publication Date
TW202307679A TW202307679A (zh) 2023-02-16
TWI823637B true TWI823637B (zh) 2023-11-21

Family

ID=73455804

Family Applications (2)

Application Number Title Priority Date Filing Date
TW111139575A TWI823637B (zh) 2020-10-26 2021-02-24 藉由記憶體控制器執行用於管理給單晶片系統(SoC)之記憶體子系統之一或多個用戶端信用分配之方法、藉由SoC之記憶體子系統之信用控制器管理之方法、及藉由SoC之用戶端執行之方法
TW110106527A TWI783386B (zh) 2020-10-26 2021-02-24 單晶片系統(SoC)之記憶體子系統、信用控制器及單晶片系統之用戶端

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW110106527A TWI783386B (zh) 2020-10-26 2021-02-24 單晶片系統(SoC)之記憶體子系統、信用控制器及單晶片系統之用戶端

Country Status (5)

Country Link
US (1) US20240004551A1 (zh)
EP (1) EP4211566A1 (zh)
CN (1) CN116584075A (zh)
TW (2) TWI823637B (zh)
WO (1) WO2022093165A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201439771A (zh) * 2013-01-17 2014-10-16 Intel Corp 經由共享記憶體組織來仲裁記憶體存取之技術
TW201539196A (zh) * 2014-01-13 2015-10-16 Advanced Risc Mach Ltd 用於處理多個交易之資料處理系統及方法
TW201812565A (zh) * 2016-03-17 2018-04-01 聯發科技股份有限公司 管理記憶體功耗之方法及其系統

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7362705B2 (en) * 2004-05-13 2008-04-22 International Business Machines Corporation Dynamic load-based credit distribution
RU2556443C2 (ru) * 2010-09-16 2015-07-10 Эппл Инк. Многопортовый контроллер запоминающего устройства с портами, ассоциированными с классами трафика
US9954792B2 (en) * 2014-12-20 2018-04-24 Intel Corporation Shared flow control credits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201439771A (zh) * 2013-01-17 2014-10-16 Intel Corp 經由共享記憶體組織來仲裁記憶體存取之技術
TW201539196A (zh) * 2014-01-13 2015-10-16 Advanced Risc Mach Ltd 用於處理多個交易之資料處理系統及方法
TW201812565A (zh) * 2016-03-17 2018-04-01 聯發科技股份有限公司 管理記憶體功耗之方法及其系統

Also Published As

Publication number Publication date
TW202217579A (zh) 2022-05-01
WO2022093165A1 (en) 2022-05-05
TWI783386B (zh) 2022-11-11
TW202307679A (zh) 2023-02-16
EP4211566A1 (en) 2023-07-19
US20240004551A1 (en) 2024-01-04
CN116584075A (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
CN105205014B (zh) 一种数据存储方法和装置
KR102380670B1 (ko) 메모리 제어기에서의 세분화된 대역폭 프로비저닝
US10528481B2 (en) Apparatus and method for managing storage of data blocks
US10795837B2 (en) Allocation of memory buffers in computing system with multiple memory channels
US8400924B2 (en) Credit management when resource granularity is larger than credit granularity
CN103210382A (zh) 基于总线装置健康信息和相关功率管理而仲裁通信总线上的总线事务
EP1820107A2 (en) Streaming memory controller
US20080240110A1 (en) Memory system with apparatus and method to enable balanced bandwidth utilization
US8549181B2 (en) Semiconductor memory device and method of operating the semiconductor memory device
US20060277126A1 (en) Ring credit management
CN108710583A (zh) Ssd写缓存区的管理方法、装置、计算机设备及介质
US10514848B2 (en) Data storage method for selectively storing data in a buffer preset in a memory of an electronic device or an inherent buffer in an SSD
US10951551B2 (en) Queue management method and apparatus
TWI823637B (zh) 藉由記憶體控制器執行用於管理給單晶片系統(SoC)之記憶體子系統之一或多個用戶端信用分配之方法、藉由SoC之記憶體子系統之信用控制器管理之方法、及藉由SoC之用戶端執行之方法
US20190266110A1 (en) Scalable, parameterizable, and script-generatable buffer manager architecture
CN109992536A (zh) 数据处理方法、固态硬盘以及计算机设备
US20120066471A1 (en) Allocation of memory buffers based on preferred memory performance
WO2023184930A1 (zh) 存储器的磨损均衡方法和装置、存储器和电子设备
US20160232125A1 (en) Storage apparatus and method for processing plurality of pieces of client data
CN115622945A (zh) 一种报文处理方法及装置
CN110633226A (zh) 融合存储器、存储系统及深度学习计算方法
CN111831397B (zh) 处理io请求的方法、装置、设备及存储介质
WO2024045846A1 (zh) 存储介质的迁移带宽调整方法、装置、系统以及芯片
CN118151837A (zh) 基于fpga的分散/聚集处理方法、电子设备及存储介质
KR20230013828A (ko) 시스템 온 칩 및 시스템 온 칩의 동작 방법