TW201447750A - 合併記憶體存取請求之技術 - Google Patents

合併記憶體存取請求之技術 Download PDF

Info

Publication number
TW201447750A
TW201447750A TW103106078A TW103106078A TW201447750A TW 201447750 A TW201447750 A TW 201447750A TW 103106078 A TW103106078 A TW 103106078A TW 103106078 A TW103106078 A TW 103106078A TW 201447750 A TW201447750 A TW 201447750A
Authority
TW
Taiwan
Prior art keywords
memory
request
access
workflow
requests
Prior art date
Application number
TW103106078A
Other languages
English (en)
Inventor
Melvin K Benedict
Original Assignee
Hewlett Packard Development Co
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 Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW201447750A publication Critical patent/TW201447750A/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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • 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/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2272Latency related aspects

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一計算系統可包括一處理器及一記憶體。該計算系統也可包括一記憶體控制器以介接於該處理器與該記憶體間。該記憶體控制器合併存取一記憶體列的請求以形成存取該記憶體列的一單一請求。

Description

合併記憶體存取請求之技術
本發明係有關於合併記憶體存取請求之技術。
發明背景
計算系統典型地包括一記憶體以儲存欲藉一處理器執行之指令及暫時儲存資料。該記憶體可為動態隨機存取記憶體(DRAM)。DRAM包括DRAM電路之模組或排組。一記憶體控制器典型地介接於該處理器與該記憶體間。
依據本發明之一實施例,係特地提出一種計算系統包括一處理器,一記憶體,及一記憶體控制器以介接於該處理器與該記憶體間,該記憶體控制器合併存取一記憶體列的請求以形成存取該記憶體列的一單一請求。
100‧‧‧計算系統
102‧‧‧中央處理單元(CPU)
104、204‧‧‧記憶體、記憶體裝置
106‧‧‧匯流排
108‧‧‧顯示介面
110‧‧‧顯示裝置
112‧‧‧輸入/輸出(I/O)裝置介面
114‧‧‧I/O裝置
116‧‧‧網路介面卡(NIC)
118‧‧‧儲存裝置
120‧‧‧應用程式
122、202‧‧‧記憶體控制器
124、208‧‧‧工作流程管理器
200‧‧‧記憶體系統
206‧‧‧工作流程
300、400‧‧‧方法
302-306、402-410‧‧‧方塊
某些實施例將於後文詳細說明部分及參考附圖描述,附圖中:圖1為一計算系統之一實施例之方塊圖;圖2為一記憶體系統之一實施例之方塊圖;圖3為重新排序一記憶體存取請求之一方法之一 實施例之處理流程圖;及圖4為重新排序一記憶體存取請求之一方法之一實施例之處理流程圖。
較佳實施例之詳細說明
記憶體可能因錯誤機制造成故障。故障可能因多種錯誤機制引起,包括但非僅限於在一特定字元線重複地存取以讀或寫資料。在一特定字元線重複地存取以讀或寫資料可能影響實體上與該被重複地存取或活化的字元線相鄰的其它字元線相聯結的儲存元件(亦即實體記憶體儲存組件)之內容。重複地存取一字元線可能造成相鄰字元線之放電。
為了減輕重複存取(亦即「千錘百鍊」或「傳送閘」錯誤機制)的影響,記憶體控制器可追蹤列位址活性以執行列存取策略。但追蹤列位址活性可能給記憶體控制器增加複雜度。
頁面開啟策略可減低DRAM之活化速率。頁面開啟策略為一種頁面(記憶體位址之一區塊)管理策略,其中一頁面係呈一陣列儲存於一緩衝器。該頁面係含在該緩衝器內直到存取一不同頁面為止。但頁面開啟策略可能增加列衝突的發生。一列衝突為其中請求存取儲存於該緩衝器之該頁面以外之一頁面的一衝突。由於列衝突的結果,發生延遲,於該期間該頁面從該緩衝器被清除,及被請求頁面係呈一陣列儲存於該緩衝器。由於列衝突所造成的延遲, DRAM記憶體之效率減低。
當檢測得列衝突時,列衝突可能藉於記憶體控制器工作流程之重新排序請求予以解決。為了重新排序請求,在該記憶體控制器內工作的全部列位址經追蹤,一接收的請求與在該工作流程中之全部請求作比較。此種方法可能複雜。此外,重新排序讀取可能增加延遲,從重新排序寫入操作回送的資料在回送至該處理器之前可重新排序。
藉由比較在一記憶體列之位址空間中存取一位址的一輸入請求,存取該記憶體列之請求可合併以形成存取該記憶體列之一單一請求。結果,可減少記憶體列之活化。由於記憶體列之活化減少,與重複活化相關的故障也減少。
圖1為一計算系統之一實施例的方塊圖。計算系統100可為例如桌上型電腦、伺服器、膝上型電腦、平板電腦、個人數位助理器(PDA)、小區式電路諸如智慧型手機等。計算系統100可包括一中央處理單元(CPU)102以執行所儲存的指令,以及一記憶體裝置104其儲存可由該CPU 102執行的指令。此外,該CPU 102可為單核心處理器、多核心處理器、或任何多種其它組態。此外,計算系統100可包括多於一個CPU 102。舉例言之,計算系統100可包括多個計算節點,各個計算節點包括單一或多個處理器。
CPU 102可藉一匯流排106耦接至該記憶體裝置104。於一實施例中,記憶體裝置104可包括動態隨機存取 記憶體(DRAM),諸如DRAM含多個模組或BANK。計算系統100也可包括多個記憶體104。例如一記憶體104可耦接至各個CPU 102。於一實施例中,計算系統100包括多個記憶體104,各個記憶體耦接至一計算節點,或各個記憶體104可由含括於該計算系統100之全部計算節點存取。
CPU 102可透過匯流排106鏈接至一顯示介面108以連結該計算系統100至一顯示裝置110。該顯示裝置110可包括一顯示幕,其為該計算系統100之一內建組件。該顯示裝置110也可包括一電腦監視器、電視、或投影機等,其係連結至該計算系統100外部。
該CPU 102也可透過該匯流排106連結至一輸入/輸出(I/O)裝置介面112以連結該計算系統100至一或多個I/O裝置114。該等I/O裝置114可包括例如一鍵盤及一指標裝置,其中該指標裝置可包括一觸控墊或一觸控螢幕等。該I/O裝置114可為該計算系統100之內建組件,或可為外部連結至該計算系統100之裝置。
一網路介面卡(NIC)116可經由該系統匯流排106連結該計算系統100至一網路(圖中未顯示)。該網路(圖中未顯示)可為廣域網路(WAN)、區域網路(LAN)、或網際網路等。於一實施例中,該計算系統100可透過一有線連結或一無線連結而連結至一網路。
該計算系統100也包括一儲存裝置118。該儲存裝置118為實體記憶體諸如硬碟機、光碟機、隨身碟、安全數位(SD)卡、微SD卡、一驅動裝置陣列或其任一項組合等。 該儲存裝置118也可包括遠端儲存裝置驅動裝置。該儲存裝置118包括在計算系統100上跑之任意數量的應用程式120。
計算系統也包括用以存取記憶體104的一記憶體控制器122。於一實施例中,該計算系統可包括多個記憶體控制器122,各個記憶體控制器122與一記憶體104相聯結。該記憶體控制器122包括一工作流程管理器124。存取記憶體104之請求係接收於記憶體控制器122。該請求所請求存取的該記憶體列係由該記憶體控制器決定。工作流程管理器124決定存取該記憶體列之一請求是否存在於該記憶體控制器122之該工作流程。若存取該記憶體列之一請求係存在於該工作流程,則該工作流程管理器124合併(亦即組合)該所接收的請求與在該工作流程中的該請求以形成存取該列之一單一請求。
舉例言之,針對一讀取操作,該記憶體控制器可藉重排該等請求之順序,或若該請求存取與前一個請求相同的快取記憶體則消除該請求而合併對記憶體之該請求。記憶體可以該讀取請求之接收順序應答於該請求器。針對一寫入請求,多個寫入至一給定記憶體位置若其為不同「污穢」位元組(一資料寫入被中斷的一記憶體位置)則可予組合,或合併成一單一寫入,而該寫入之該組合複本係為發送至該記憶體的複本。
須瞭解圖1之方塊圖並非意圖指示計算系統100係將包括圖1於任何情況下所顯示的全部組件。又,取決於該特定具現之細節,許多額外組件可含括於該計算系統100 內。
圖2為一記憶體系統200之一實施例之方塊圖。該記憶體系統200包括一記憶體控制器202。該記憶體控制器202與一記憶體204互動及控制存取至該記憶體。舉例言之,該記憶體控制器可介接於一處理器諸如CPU 102與該記憶體204間。於一實施例中,該記憶體204可為動態隨機存取記憶體(DRAM)。舉例言之,該記憶體204可包括多個模組或BANK。各個模組包括多個記憶體位址。該等記憶體位址係藉該等位址所在該等記憶體模組內之位置定義,包括列、欄、頁面等。
存取記憶體204之請求係接收於記憶體控制器202。該請求可為一讀取請求(亦即讀取儲存於該記憶體204之資料的一請求)或為一寫入請求(亦即將資料寫入該記憶體204之一請求)。該請求可包括定義在該記憶體204中欲存取的位置之資訊。舉例言之,該請求可包括列、欄、頁面資訊等。當該請求被接收於記憶體控制器202時,該位置資訊被擷取。
該記憶體控制器包括一工作流程206。該工作流程204為欲被處理的記憶體請求之一佇列或多佇列。舉例言之,工作流程206可包括含排程欲被處理的一執行佇列。工作流程206也可包括在該執行佇列中等待被排程的一佇列之請求。在該工作流程206之該佇列中之各個請求位置可以任一種適當方式決定。舉例言之,各個請求位置可根據先前排程之請求的位置指定。
記憶體控制器202也包括一工作流程管理器208。該工作流程管理器208分析所擷取的位置資訊以決定所接收的請求所指稱的該記憶體204之該列。工作流程管理器208也決定存取所接收的該請求所指稱的該列之一請求是否存在於工作流程206。若存取該列之一請求係存在於工作流程206,則該工作流程管理器208將所接收之請求與工作流程206中之該請求合併以形成單一請求以存取該列。
當該合併請求已經處理之後,資料可回送至該處理器。在將資料回送至該處理器之前,記憶體控制器202可重新排序該資料。舉例言之,記憶體控制器202可重新排序該資料以符合該計算系統之排序規則。排序規則為在一計算系統將進行寫入的規劃順序。若中間沒有介入一讀取請求,則可合併多個寫入至一共通位置。若中間沒有介入一寫入請求,則可合併讀取請求。該控制器可追蹤該等接受處理的讀及寫請求,及以規劃順序回送合宜資料。該資料可為任何型別的資料,諸如儲存於記憶體204的請求日期。例如,該資料可為通知完成或通知未能完成資料之寫入至該記憶體204。
若存取該列之一請求係不存在於工作流程206,則該工作流程管理器208可將所接收之請求置於工作流程206。將所接收之請求置於工作流程206之位置可以任何合宜方式決定。舉例言之,於包括多個並列處理的請求之一計算系統中,該所接收之請求可置於工作流程206,使得不會產生BANK衝突。一BANK衝突乃當一系統內並列地處理 記憶體存取請求的一處理器試圖存取一記憶體排組而該排組已經是一記憶體的存取對象時所引發的衝突。
圖3為重新排序一記憶體存取請求之方法300的一實施例之處理流程圖。於方塊302,存取一記憶體位址之一請求可接收於一記憶體控制器。該請求可為讀取儲存於該記憶體位址之一請求,或為將資料寫入該記憶體位址之一請求。於一實施例中,該記憶體位址可為動態隨機存取記憶體(DRAM)中之一記憶體位址。該請求可包括描述該記憶體位址之位置之資訊,諸如列、欄、頁面資訊等。
於方塊304,該記憶體控制器可決定存取該記憶體列之一請求是否存在於一記憶體控制器工作流程。分析於該記憶體控制器工作流程之請求的任何合宜方法皆可使用。
於方塊308,該所接收之請求可合併於該記憶體控制器工作流程之該請求以形成存取該記憶體列之一單一請求。於該記憶體控制器工作流程之該等請求可被重新排序以合併該等請求。舉例言之,該所接收之請求可置於該工作流程與已在該工作流程之請求以輔助合併該等請求。於一實施例中,於該記憶體控制器工作流程之一請求可包括多個合併請求。該所接收之請求可與先前已合併之請求合併以形成一新合併請求。
在該合併請求經處理後,資料可回送至該處理器。該資料可為請求自該記憶體的資料,或該資料可為通知完成或通知未能完成一請求資料之寫入至該記憶體。於 回送該資料至該處理器之前,記憶體控制器可重新排序該資料。舉例言之,記憶體控制器可重新排序該資料以符合採用方法300之計算系統的排序規則。於一實施例中,該方法之多個方塊可經管線化。
須瞭解圖3之處理流程圖並非意圖指示方法300之方塊將以任何特定順序執行,或於每種情況下將含括方法300之全部方塊。又,取決於特定具現之細節,圖3中未顯示的任何數目之額外方塊可含括於方法300內。
圖4為重新排序一記憶體存取請求之一方法400之一實施例之處理流程圖。於方塊402,存取一記憶體位址之一請求可接收於一記憶體控制器。該請求可為讀取儲存於該記憶體位址之資料之一請求,或為將資料寫至該記憶體位址之一請求。一處理器諸如CPU 102可起始該請求。於一實施例中,該記憶體位址可為動態隨機存取記憶體(DRAM)中之一記憶體位址。
於方塊404,該記憶體控制器可決定存取該記憶體中之該列的一請求是否存在於該記憶體控制器工作流程。若不存在存取該列之一請求,則於方塊406該記憶體控制器可將該所接收之請求置於該工作流程。該所接收之請求可以任何合宜方式置於該工作流程,諸如根據先前已經排程在該工作流程之請求。例如該所接收之請求可置於該工作流程使得避免一BANK衝突。
若存取該列的一請求係存在於該記憶體控制器工作流程,則於方塊408該所接收之請求可置於該工作流 程,而該請求係存在於該工作流程。於方塊410,所接收之請求可與存在於該工作流程之該請求合併以形成存取一記憶體列的一單一請求。存在於該工作流程之該請求可重新排序以合併所接收之請求與存在於該工作流程之存取該記憶體列之該請求。
在該合併請求經處理後,資料可回送至該處理器。該資料可為請求自該記憶體的資料,或該資料可為通知完成或通知未能完成一請求資料之寫入至該記憶體。於回送該資料至該處理器之前,記憶體控制器可重新排序該資料。舉例言之,記憶體控制器可重新排序該資料以符合採用方法300之計算系統的排序規則。於一實施例中,該方法之多個方塊可經管線化。
須瞭解圖4之處理流程圖並非意圖指示方法400之方塊將以任何特定順序執行,或於每種情況下將含括方法400之全部方塊。又,取決於特定具現之細節,圖4中未顯示的任何數目之額外方塊可含括於方法400內。
實施例1
此處描述一計算系統。該計算系統可包括一處理器及一記憶體。該計算系統也可包括一記憶體控制器以介接於該處理器與該記憶體間。該記憶體控制器係合併存取一記憶體列的請求以形成存取該記憶體列的單一請求。
該記憶體可包括含多個記憶體模組之動態隨機存取記憶體(DRAM)。請求可經重新排序以合併該等請求。在存取該記憶體列的單一請求之處理期間所取回的資料係 經重新排序以滿足系統排序規則。
實施例2
此處描述一種方法。該方法包括於一記憶體控制器內接收存取一記憶體列之一請求。該方法也包括決定存取該記憶體列之一請求是否存在於一記憶體控制器工作流程。該方法進一步包括合併一所接收之請求與於該記憶體控制器工作流程中之該請求以形成存取該記憶體列之一單一請求。
該方法可進一步包括重新排序存取該記憶體列之請求以合併該等請求。該方法也可包括重新排序得自處理該單一請求之資料以存取該記憶體列而符合系統排序規則。該工作流程可包括管線化的記憶體存取請求。記憶體可包括含多個記憶體模組之動態隨機存取記憶體(DRAM)。
實施例3
此處描述一記憶體系統。該記憶體系統可包括一記憶體及存取該記憶體之一記憶體控制器。該記憶體控制器可包括一工作流程及決定一記憶體存取請求所指稱的一記憶體列之一工作流程管理器。該工作流程管理器也可合併該請求與指稱該記憶體列的在該工作流程中之一記憶體存取請求以形成存取該記憶體列之一單一請求。
該工作流程可包括管線化的記憶體存取請求。該記憶體控制器可重新排序得自該記憶體列之資料以符合系統排序規則。該工作流程管理器可合併記憶體存取請求以減少記憶體活化。該等記憶體存取請求可被重新排序以合 併該等請求。該記憶體可包括含多個記憶體模組之動態隨機存取記憶體(DRAM)。
100‧‧‧計算系統
102‧‧‧中央處理單元(CPU)
104‧‧‧記憶體裝置
106‧‧‧匯流排
108‧‧‧顯示介面
110‧‧‧顯示裝置
112‧‧‧輸入/輸出(I/O)裝置介面
114‧‧‧I/O裝置
116‧‧‧網路介面卡(NIC)
118‧‧‧儲存裝置
120‧‧‧應用程式
122‧‧‧記憶體控制器
124‧‧‧工作流程管理器

Claims (15)

  1. 一種計算系統,其包含:一處理器;一記憶體;及一記憶體控制器以介接於該處理器與該記憶體間,該記憶體控制器合併存取一記憶體列的請求以形成存取該記憶體列的一單一請求。
  2. 如請求項1之計算系統,其中該記憶體包含含多個記憶體模組之動態隨機存取記憶體(DRAM)。
  3. 如請求項1之計算系統,其中請求係經重新排序以合併該等請求。
  4. 如請求項3之計算系統,其中於存取該記憶體列之該單一請求之處理期間所取回的資料係經重新排序以滿足系統排序規則。
  5. 一種方法,其包含:於一記憶體控制器接收存取一記憶體列之一請求;決定存取該記憶體列之一請求是否存在於一記憶體控制器工作流程;及合併一所接收之請求與於該記憶體控制器工作流程中之該請求以形成存取該記憶體列之一單一請求。
  6. 如請求項5之方法,其進一步包含重新排序存取該記憶體列之請求以合併該等請求。
  7. 如請求項5之方法,其進一步包含重新排序得自存取該 記憶體列之該單一請求之資料以符合系統排序規則。
  8. 如請求項5之方法,其中該工作流程包含管線化之記憶體存取請求。
  9. 如請求項5之方法,其中記憶體包含含多個記憶體模組之動態隨機存取記憶體(DRAM)。
  10. 一種記憶體系統,其包含:一記憶體;及存取該記憶體之一記憶體控制器,包含:一工作流程;及一工作流程管理器以決定一記憶體存取請求所指稱之一所指稱之一記憶體列,及以合併該請求與指稱該記憶體列之於該工作流程中之一記憶體存取請求以形成存取該記憶體列之一單一請求。
  11. 如請求項10之記憶體系統,其中該工作流程包含管線化之記憶體存取請求。
  12. 如請求項10之記憶體系統,其中該記憶體控制器重新排序得自存取該記憶體列之資料以符合系統排序規則。
  13. 如請求項10之記憶體系統,其中該工作流程管理器合併記憶體存取請求以減少記憶體活化。
  14. 如請求項10之記憶體系統,其中該等記憶體存取請求係經重新排序以合併該等請求。
  15. 如請求項10之記憶體系統,其中該記憶體包含含多個記憶體模組之動態隨機存取記憶體(DRAM)。
TW103106078A 2013-04-30 2014-02-24 合併記憶體存取請求之技術 TW201447750A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/038861 WO2014178846A1 (en) 2013-04-30 2013-04-30 Coalescing memory access requests

Publications (1)

Publication Number Publication Date
TW201447750A true TW201447750A (zh) 2014-12-16

Family

ID=51843816

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103106078A TW201447750A (zh) 2013-04-30 2014-02-24 合併記憶體存取請求之技術

Country Status (5)

Country Link
US (1) US20160077751A1 (zh)
EP (1) EP2992437A4 (zh)
CN (1) CN105190577A (zh)
TW (1) TW201447750A (zh)
WO (1) WO2014178846A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701040B (zh) * 2014-11-28 2018-12-07 杭州华为数字技术有限公司 一种激活内存的方法及装置
US10776118B2 (en) 2016-09-09 2020-09-15 International Business Machines Corporation Index based memory access using single instruction multiple data unit
US10162522B1 (en) * 2016-09-30 2018-12-25 Cadence Design Systems, Inc. Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode
US10261698B2 (en) * 2017-05-16 2019-04-16 Dell Products Systems and methods for hardware-based raid acceleration for variable-length and out-of-order transactions
US11698754B2 (en) 2020-10-05 2023-07-11 Seagate Technology Llc Coalescing read commands by location from a host queue
CN113553292B (zh) * 2021-06-28 2022-04-19 睿思芯科(深圳)技术有限公司 一种向量处理器及相关数据访存方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0444136A (ja) * 1990-06-11 1992-02-13 Nec Corp メモリアクセス制御装置
US7149857B2 (en) * 2002-05-14 2006-12-12 Micron Technology, Inc. Out of order DRAM sequencer
US7376803B1 (en) * 2004-10-19 2008-05-20 Nvidia Corporation Page stream sorter for DRAM systems
US7624221B1 (en) * 2005-08-01 2009-11-24 Nvidia Corporation Control device for data stream optimizations in a link interface
US7492368B1 (en) * 2006-01-24 2009-02-17 Nvidia Corporation Apparatus, system, and method for coalescing parallel memory requests
CN100565485C (zh) * 2006-12-21 2009-12-02 扬智科技股份有限公司 读取外部存储器的方法与装置
US8219786B1 (en) * 2007-03-20 2012-07-10 Nvidia Corporation Request coalescing for instruction streams
CN101340569A (zh) * 2007-07-06 2009-01-07 扬智科技股份有限公司 高速缓存及其数据处理方法
US8266389B2 (en) * 2009-04-29 2012-09-11 Advanced Micro Devices, Inc. Hierarchical memory arbitration technique for disparate sources
US8775762B2 (en) * 2012-05-07 2014-07-08 Advanced Micro Devices, Inc. Method and apparatus for batching memory requests

Also Published As

Publication number Publication date
WO2014178846A1 (en) 2014-11-06
CN105190577A (zh) 2015-12-23
US20160077751A1 (en) 2016-03-17
EP2992437A1 (en) 2016-03-09
EP2992437A4 (en) 2017-01-11

Similar Documents

Publication Publication Date Title
TW201447750A (zh) 合併記憶體存取請求之技術
US10067911B2 (en) High performance inplace transpose operations
US20160132237A1 (en) Data storage device, data processing system and method of operation
US10152423B2 (en) Selective population of secondary cache employing heat metrics
US9323664B2 (en) Techniques for identifying read/write access collisions for a storage medium
EP3017372B1 (en) Memory controlled data movement and timing
KR102402630B1 (ko) 캐시 제어 인지 메모리 컨트롤러
JP2006309757A (ja) メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム
US20200301857A1 (en) Multi-port storage device multi-socket memory access system
US10614004B2 (en) Memory transaction prioritization
US10176098B2 (en) Method and apparatus for data cache in converged system
US11023313B2 (en) Look-aside RAID controller storage-device-assisted data update system
US9087561B2 (en) Hybrid cache
US11494266B2 (en) Raid storage-device-assisted parity update data storage system
TWI275992B (en) A method to reduce memory latencies by performing two levels of speculation
US20160188252A1 (en) Method and apparatus for presearching stored data
US9620215B2 (en) Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode
US10303472B2 (en) Bufferless communication for redundant multithreading using register permutation
US9703599B2 (en) Assignment control method, system, and recording medium
US9053039B2 (en) Installation cache
US10169235B2 (en) Methods of overriding a resource retry
US11003391B2 (en) Data-transfer-based RAID data update system
US11093180B2 (en) RAID storage multi-operation command system
CN109213424B (zh) 并发io命令的无锁处理方法
US9684602B2 (en) Memory access control device, cache memory and semiconductor device