TWI512469B - 用於存取記憶體之系統及方法 - Google Patents

用於存取記憶體之系統及方法 Download PDF

Info

Publication number
TWI512469B
TWI512469B TW103102162A TW103102162A TWI512469B TW I512469 B TWI512469 B TW I512469B TW 103102162 A TW103102162 A TW 103102162A TW 103102162 A TW103102162 A TW 103102162A TW I512469 B TWI512469 B TW I512469B
Authority
TW
Taiwan
Prior art keywords
memory
region
channel
physical channels
application
Prior art date
Application number
TW103102162A
Other languages
English (en)
Other versions
TW201443646A (zh
Inventor
Robert Walker
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW201443646A publication Critical patent/TW201443646A/zh
Application granted granted Critical
Publication of TWI512469B publication Critical patent/TWI512469B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • 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)
  • Software Systems (AREA)
  • Memory System (AREA)

Description

用於存取記憶體之系統及方法
記憶體系統用於諸如個人數位助理(PDA)、膝上型電腦、行動電話及數位相機之諸多電子裝置中。此等記憶體系統中之某些記憶體系統包含具有用於與記憶體系統之記憶體胞元連通之實體接腳之多個實體通道。藉助某些記憶體映射方案,產生記憶體映射以將使用記憶體系統之應用程式之邏輯位址映射至記憶體系統之實體通道。可基於將在彼記憶體空間中運行之應用程式之效能要求或功率要求映射多個實體通道中之一或多者之部分。在應用程式開始或終止時,可在記憶體映射中產生間隙且其可變得越來越難以在記憶體系統中發現可用區域以適合任何新開始的應用程式之需要。
已提出某些其他記憶體映射方案以將一或多個實體通道映射至一處理器或處理器群組,其中每一通道提供相同的效能點或功率規格。儘管可避免間隙,但此一均一方案可能不會滿足具有變化之效能或功率要求之處理器之需要。
100‧‧‧系統
110‧‧‧處理器
115‧‧‧記憶體控制器
120‧‧‧第一匯流排
125‧‧‧記憶體系統
130‧‧‧第二匯流排
140‧‧‧映射隨機存取記憶體
150‧‧‧作業系統
160‧‧‧應用程式
180‧‧‧指令
210-1至210-8‧‧‧實體通道
310‧‧‧區域
320‧‧‧區域
600‧‧‧邏輯記憶體位址
700‧‧‧區域識別位元
在隨附圖式之各圖中以舉例方式而非限制方式圖解說明所揭示技術之某些實施例,在隨附圖式中:圖1係根據各項實施例之一系統之一圖式;圖2係根據各項實施例之一記憶體系統之一圖式;圖3係根據各項實施例之位址映射之一圖式; 圖4係圖解說明根據各項實施例之用於映射位址之一方法之一流程圖;圖5係圖解說明根據各項實施例之用於對記憶體胞元執行異動之一流程圖;圖6係根據各項實施例之根據一定址方法組態之一位址之一圖式;圖7係根據各項實施例之根據另一定址方法組態之一位址之一圖式;及圖8係圖解說明根據各項實施例之用於分配記憶體之一方法之一流程圖。
圖1係圖解說明根據各項實施例之用於映射及存取一多通道記憶體系統中之記憶體胞元之一系統100之一圖式。系統100可包含經由一第一匯流排120耦合至一記憶體控制器115之一處理器110。記憶體控制器115可經由一第二匯流排130耦合至一記憶體系統125。記憶體控制器115可執行來自處理器110之記憶體異動請求。記憶體控制器115經由第一匯流排120及第二匯流排130在處理器110與記憶體系統125之間傳送資料。第一匯流排120及第二匯流排130可採用一已知協定來將處理器110連接至記憶體控制器115且將記憶體控制器115連接至記憶體系統125。系統100之某些實例可包含個人電腦、膝上型電腦、個人數位助理(PDA)、數位相機、電子遊戲、數位媒體播放機/記錄等。
記憶體系統125可包括一或多個實體裝置(未展示),其各自由一或多個實體通道(未展示)組成,該等實體通道根據儲存在記憶體控制器115中之一映射RAM 140中之一資料結構(在下文藉由舉例方式稱為一「表」)映射至區域。在下文關於圖2更詳細地闡述記憶體系統125及實體裝置與實體通道之間的關係。表可進一步冗餘地儲存在記憶體 控制器115之一第二映射RAM(未展示)上。一或多個映射RAM 140可(例如)為靜態隨機存取記憶體(SRAM)晶片。
處理器110亦可稱為一主裝置,且在系統100中可存在一個以上主裝置。一作業系統(OS)150及一或多個應用程式160可在處理器110上執行。OS 150可代表一或多個應用程式160請求記憶體系統125中之記憶體。OS 150可程式化定義待映射至映射RAM 140中之應用程式160之記憶體系統之一區域的一開始位址及一結束位址。OS 150可進一步程式化用於映射RAM 140中之記憶體系統之區域的通道深度值。
在其他實施例中,記憶體控制器115可與處理器110共定位。在實施例中,處理器110可為一系統單晶片(SOC)且處理器110可使用記憶體控制器115來對記憶體系統125執行記憶體操作。
系統100可包含其上儲存體現本文所闡述之方法或功能中之任何一或多者之一或多個指令集180(例如,軟體)之一機器可讀媒體。指令180可在其由系統100執行期間完全或至少部分地駐存在處理器110或記憶體控制器115內,其中處理器110及記憶體控制器115亦構成機器可讀媒體。
機器可讀媒體可為儲存一或多個指令集之一單個媒體或可為多個媒體(例如,一集中式或散佈式資料庫,及/或相關聯快取記憶體及伺服器)。「機器可讀媒體」可包含能夠儲存、編碼或攜載由機器執行之一指令集之任何非暫時媒體。以舉例方式而非限制方式,「機器可讀媒體」可包含固態記憶體、光學媒體或磁性媒體。
圖2係根據各項實施例之一記憶體系統125之一方塊圖。在說明性實例中,記憶體系統125包括並聯配置之實體通道210-1至210-8。一實體通道可包括用於與記憶體系統125之記憶體庫B0-Bb中之對應記憶體胞元連通之一組實體接腳(未展示)。一實體裝置可包含一或多個實體通道。實體裝置之實例可包含動態隨機存取記憶體(DRAM)裝 置、同步動態隨機存取記憶體(SDRAM)裝置及快閃記憶體裝置。在下文中,術語「實體通道」可解釋為意指一單通道實體裝置之一實體通道、一多通道實體裝置之一實體通道,或多個實體裝置之一實體通道。記憶體系統125可包括任何自然數N個實體裝置及因此任何數目M個實體通道,其中M係N之一自然數倍數。如所展示,一OS頁可橫跨實體通道210-1至210-8中之每一者。下文關於圖3更詳細地闡述OS頁。實體通道210-1至210-8中之每一者可除在圖2中所展示之並聯配置外以一平面方式放置。
記憶體控制器115可根據位址映射方案將自一處理器110接收之位址轉換成裝置位址信號。此等裝置位址信號可包含用於存取記憶體系統125中之實體記憶體之所要部分之庫、列及行位址信號。
某些記憶體控制器(例如)可實施一位址映射方案以跨越一系統之一子組實體通道映射位址,使得映射至一個特定應用程式之一區域可橫跨(例如)八個實體通道中之兩者,而映射至一不同應用程式之一區域可橫跨八個實體通道中之又四者。此外,不同應用程式可具有在變化之記憶體要求且因此所映射區域將包括在變化之數目之記憶體胞元列。儘管以此方式映射該等區域將藉由允許實體通道針對不同應用程式組態於不同通道深度處而允許不同應用程式在不同效能點處或在不同功率用途規範下操作,但在應用程式開始及停止時可在記憶體映射中產生不可填充間隙。例如,某一寬度且包括某一數目之記憶體頁之一間隙可為不可用的,除非稍後起始需要特定介面寬度或記憶體量之一應用程式。
實施例提供非均一記憶體映射方法,其經調適在於記憶體映射中不留下無效間隙之情況下准許針對不同應用程式之不同記憶體效能點。圖3係可在根據某些實施例實施映射方法時產生之一實例性映射之圖式。作為一說明性實例,OS 150可將記憶體系統之一區域310映 射至一請求程序,諸如一應用程式160需要三個OS頁之量之記憶體。每一OS頁橫跨實體通道210-1至210-8以包含實體通道210-1至210-8中之每一者之至少一各別部分。在實施例中,一OS頁包含實體通道210-1至210-8中之每一者中之相同列。每一OS頁包含等於實體通道210-1至210-8之數目乘以每一實體通道210-1至210-8中之庫數目且進一步乘以(例如)一DRAM頁中之位元組數目(通常約為256千位元組或512千位元組)之一記憶體量。
根據實施例,OS 150可將一自然數倍數之OS頁分配至後續應用程式160。一區域可對應於若干記憶體胞元列及記憶體映射中的若干列。因此,假定所請求記憶體量在記憶體系統125中係可用的,則無論一應用程式160之I/O寬度或通道深度需要,可由OS 150基於請求應用程式之記憶體要求分配一適當數目之OS頁而不隨時間產生不可填充間隙。適當數目之OS頁藉此映射至對應應用程式160。使用區域定義,諸如與此等區域之實體開始及結束位址及此等區域之通道深度相關聯儲存之資料值,如下文更詳細地闡述,記憶體控制器115可根據個別應用程式160之效能及/或功率要求控制記憶體異動。
圖4係圖解說明根據各項實施例映射具有兩個或兩個以上實體通道之一記憶體系統之一方法之一流程圖。在實施例中,與應用程式160起動或初始化同時或相關聯地,一應用程式160可向OS 150請求某一記憶體量(在下文稱為一記憶體分配)。OS 150檢查儲存在映射RAM 140中之表以判定具有所要大小之記憶體之一可用部分之開始及結束位址。OS 150將用於應用程式160之一開始位址及一結束位址儲存在表中,從而定義記憶體系統之一區域。該區域將包括所請求大小之記憶體(其為自然數倍數的OS頁),使得每一OS頁包含每一實體通道210-1至210-8之至少一各別部分。OS 150將用於該區域之開始位址及結束位址程式化至映射RAM 140中之一表中,藉此在操作410中將該區域 映射至一請求程序(例如,應用程式160)之一邏輯記憶體。由OS 150映射該區域以包含在實體通道210-1至210-8中之每一者中之相同記憶體胞元列。該區域將未必包括記憶體系統內之連續OS頁。下文關於圖3更詳細地闡述非連續OS頁。
OS 150可儲存與在映射RAM 140中之表中之區域相關聯之一值。該值可指示在映射至該區域之一位址遞增至一不同通道中之前待自兩個或兩個以上實體通道中之每一者存取之位元組之一數目。此值可被稱為一「通道深度」,如下文更詳細地闡述。
在某些實施例中,應用程式160可進一步將一所要通道深度通知OS 150,其中通道深度係將在位址移動(例如,捲動、遞增或橫穿)至另一實體通道中之前自該實體通道存取之位元組之數目。通道深度可反映請求應用程式160之所要效能點及/或所要功率規範。通道深度可根據各項實施例基於功率要求與效能要求之間的一所要平衡來選擇,如下文更詳細地闡述。
在某些實施例中,OS 150可存取其中儲存應用程式160之所要通道深度之一記憶體單元。在某些實施例中,應用程式160可將其所要通道深度通知OS 150。在進一步實施例中,OS 150可(例如)經由收集與應用程式160效能有關之量測資料獲悉用於應用程式160之最佳通道深度。OS 150可然後儲存所要通道深度使得其與映射至彼應用程式160之區域相關聯。如將在下文闡述,記憶體控制器115將使用區域之通道深度以判定如何處置對區域中之記憶體之存取。因為區域映射為OS頁之倍數,所以最小區域大小等於一個OS頁之大小。另外,OS頁係記憶體控制器115將能夠如下所述在操作中藉以控制通道深度之最小粒度。
在一實施例中,記憶體控制器115可冗餘地維持兩個映射RAM(未展示)。OS 150可檢查並程式化映射RAM 140中之一者,同時 記憶體控制器115可使用另一映射RAM(未展示)來控制記憶體系統125之記憶體胞元上之異動。在此一時間處,由於OS 150具有一新區域之經程式化開始及結束位址以及一相關聯通道深度,因此OS 150可通知記憶體控制器115一經更新映射RAM 140係可用的,且記憶體控制器115然後可切換以使用經更新映射RAM 140。
參照圖3,儘管該圖圖解說明連續OS頁之區域,但一區域內之OS頁不需要係連續的。例如,區域310中之一OS頁可位於任何下部可用列(例如,列11)處,而區域310中之其他OS頁位於列0及1處。根據本文闡述之實施例之方法根據類似原理操作,而無論一區域內之OS頁是否係連續的。
區域因此已映射至應用程式160及應用程式效能點,記憶體控制器115(諸如)根據與每一區域相關聯之通道深度基於至少一個映射RAM 140中之表中之區域定義控制對區域內之記憶體之存取。一應用程式160可根據在圖5中圖解說明之方法經由處理器110且在記憶體控制器115之控制下存取記憶體系統125。
在操作500中,記憶體控制器115接收對存取記憶體系統125之一請求。該存取請求包含請求應用程式160之一邏輯記憶體位址。該存取請求可為對記憶體系統125之一(多個)記憶體胞元執行一異動(諸如,一讀取操作或一寫入操作)之一請求。取決於組態區域之方式,邏輯記憶體位址可根據一特定定址方法來組態。下文關於圖6及圖7闡述實例性定址方法。
關於圖6闡述一第一實例性定址方法。在一個實例性實施例中,在製造記憶體系統125時,可在記憶體系統125硬體中固定區域大小。區域可固定至相同大小,或區域可固定至不同大小。在說明性實例中,區域各自包括在實體通道210-1至210-8中之每一者中之四個OS頁(例如,四個記憶體胞元列)。因此,每一區域中之列數目係已知的且 可基於列數目(通常為邏輯記憶體位址600中之上部位元)推斷正定址之區域。記憶體控制器115然後查找在OS 150將區域映射至應用程式160時針對彼區域所定義之通道深度。在一實例中,記憶體控制器115檢查儲存在映射RAM 140(參見圖1)中之一表以查找對應通道深度。
在圖7中所展示之一第二實例性定址方法中,區域可不為固定的且可為或可不為相等大小或對稱的。而是,可在(例如)OS 150代表(例如)應用程式160請求記憶體之分配時判定區域大小。OS 150可包含識別應用程式160所映射至其之區域的區域識別位元700。記憶體控制器115基於邏輯位址中之區域識別位元查找在將區域映射至應用程式160時針對彼區域所定義之通道深度。在一說明性實例中,記憶體控制器115檢查儲存在一映射RAM 140(參見圖1)中之一表,其中該表使一區域(例如,如由區域識別位元所識別的)與用於彼應用程式160之一所要通道深度相關聯。
再次參照圖5,在操作510中,記憶體控制器115自映射RAM 140擷取與對應於所接收邏輯位址之一區域相關聯之一通道深度。如先前所闡述,區域跨兩個或兩個以上實體通道210-1至210-8而散佈以包含兩個或兩個以上實體通道210-1至210-8之各別部分,且該等部分位於一或多個實體通道210-1至210-8中之每一者內之一相同位置處。然後,在操作520中記憶體控制器115基於用於彼區域之經定義通道深度於對應於邏輯記憶體位址之區域中之一記憶體胞元處開始對記憶體系統執行一操作。在以下段落中參照圖3更詳細地闡述操作520。
再次參照圖3,一多通道記憶體系統中之每一區域可具有一不同通道深度。如先前所闡述,每一區域之通道深度儲存在映射RAM 140中使得每一通道深度與通道深度之對應區域相關聯。通道深度可定義為將在位址移動(例如,捲動、遞增或橫穿)至另一通道中之前自該通道存取之位元組之數目。在實施例中,區域之相關聯通道深度將判定 區域之介面將如何顯現給映射至該區域之應用程式160。例如,若區域之通道深度係8位元組,則操作520並行地存取全部八個實體通道使得記憶體系統顯現為如在圖3之區域320中一般具有一×64介面。在此說明性實例中,請求應用程式160可為由於大量通道並行操作而需要低延時及高效能之一應用程式。因此可為需要低延時之應用程式請求較淺通道深度。
另一方面,延時不敏感應用程式可請求較深通道深度,其導致較窄介面。若通道深度將為16位元組,則操作520將並行地存取四個實體通道使得記憶體系統顯現為具有一×32介面。作為一說明性實例,圖3之區域310以一16位元組通道深度映射至一應用程式。如箭頭所展示,在OS頁0之右端處開始,存儲器存取在右邊開始,且朝向左邊發展。若區域列並非連續映射的,則OS 150將保持追蹤下一列之開始位址,且存取將在適當點處繼續進行到彼下一列處。在列0之端部處,存取立即向下移動至列0且自左至右繼續進行。將被存取之四個實體通道將取決於記憶體控制器115在操作400之存取請求期間所接收之異動之邏輯位址。
類似地,若通道深度將為32位元組,則將並行地存取兩個實體通道使得記憶體系統顯現為具有一×16介面。將被存取之兩個實體通道將取決於異動之位址,其中存取根據圖3之指向箭頭繼續進行。最終,若通道深度將為64位元組,則將每次存取一個實體通道使得記憶體系統125顯現為具有一×8介面。待存取之實體通道將取決於異動之位址。
應用程式延時可在通道深度變淺且更多實體通道被平行存取時降低。另一方面,功率要求可隨較淺通道深度而增加。因此,較深通道深度可為較佳的以減小可接受更多延時之應用程式之功率消耗。
圖8係圖解說明根據各項實施例之分配一記憶體系統125中之記 憶體之一方法之一流程圖。在操作800中,一OS 150接收來自一應用程式160之一記憶體分配請求。在操作810中,OS 150基於該請求分配一記憶體系統125中之一區域。如先前所闡述,記憶體系統125包含一或多個實體裝置內之複數個實體通道210-1至210-8。區域經散佈以包含複數個實體通道210-1至210-8中之每一者之一相同部分。對應於包括一區域之若干個OS頁,OS 150將至少一個開始實體位址及對應結束實體位址寫入至記憶體控制器115之映射RAM 140,其中該若干個OS頁包括足夠記憶體以滿足應用程式160之記憶體分配請求。記憶體分配請求可包含應用程式160之一所要通道深度值。如先前所闡述,OS 150可自一應用程式160接收待對記憶體系統125執行之異動之邏輯記憶體位址。邏輯記憶體位址可基於上文關於圖6至圖7闡述之一定址方法來組態。
各項實施例之設備包含或可包含於用於高速電腦中之電子電路、通信及信號處理電路、記憶體模組、可攜式記憶體儲存裝置(例如,隨身碟)、單處理器或多處理器模組、單個或多個嵌入式處理器、多核心處理器、資料交換機及包含多層、多晶片模組之特殊應用模組。此等設備可進一步作為子組件包含於各種電子系統內,諸如電視、記憶體、蜂巢式電話、個人電腦(例如,膝上型電腦、桌上型電腦、掌上型電腦、平板電腦等)、工作站、無線電、視訊播放器、音訊播放器(例如,MP3(動畫專家群組,音訊層3)播放器)、運載工具、醫療裝置(例如,心臟監視器、血壓監視器等)、視訊轉接器及其他。
以上闡述及圖式圖解說明實施例以使熟習此項技術者能夠實踐該等實施例。其他實施例可併入有結構改變、邏輯改變、電改變、程序改變及其他改變。在圖式中,遍及數個視圖,相似特徵或相似元件符號闡述實質上類似特徵。某些實施例之部分及特徵可包含於其他實施例中或替代其他實施例之部分及特徵。在閱讀並理解了以上闡述 後,熟習此項技術者將明瞭諸多其他實施例。
本發明之【發明摘要】經提供以符合37 C.F.R.§1.72(b),需要允許讀者迅速弄清本發明之技術性揭示內容之性質之一發明摘要。提交本說明書摘要是基於以下理解:其將不用來解釋或限制申請專利範圍。
100‧‧‧系統
110‧‧‧處理器
115‧‧‧記憶體控制器
120‧‧‧第一匯流排
125‧‧‧記憶體系統
130‧‧‧第二匯流排
140‧‧‧映射隨機存取記憶體
150‧‧‧作業系統
160‧‧‧應用程式
180‧‧‧指令

Claims (10)

  1. 一種映射具有兩個或兩個以上實體通道之一記憶體系統之方法,該方法包括:將該記憶體系統之一區域映射至一請求程序,其中映射至一各別請求程序之該記憶體系統之每一區域包含該兩個或兩個以上實體通道中之每一者之至少一各別部分;及儲存與該區域相關聯之一通道值,該通道值指示在映射至該區域之一位址移動至一不同實體通道中之前待自該兩個或兩個以上實體通道中之每一者存取之位元組之一數目,其中該記憶體系統之該區域基於與該區域相關聯之通道值被映射至該請求程序。
  2. 如請求項1之方法,其中該通道值基於該請求程序之一效能要求及一功率要求中之至少一者。
  3. 如請求項1之方法,其中該兩個或兩個以上實體通道中之每一者包括各別複數個記憶體胞元列,且該映射包含映射該區域使得該區域跨該兩個或兩個以上實體通道以包含該兩個或兩個以上實體通道中之每一者之一相同記憶體胞元列。
  4. 如請求項3之方法,其中該區域包含該兩個或兩個以上實體通道中之每一者之至少兩個相同的記憶體胞元列,且該至少兩個記憶體胞元列中之一者與該至少兩個記憶體胞元列中之另一者係不連續的。
  5. 一種包括指令之電腦可讀媒體,在於一機器上實施該等指令時 致使該機器執行以下操作:請求對一記憶體系統中之記憶體之一分配,該請求包含指示在該機器上執行之一應用程式之一所要效能點之一效能點值;及基於與該分配相關聯之一通道值將該記憶體系統之分配映射至該請求,其中該通道值指示在映射至該分配之一位址移動至一不同實體通道中之前待自該兩個或兩個以上實體通道中之每一者存取之位元組之一數目。
  6. 如請求項5之電腦可讀媒體,其中該效能點值係將執行該應用程式之記憶體異動之一所要通道深度。
  7. 如請求項5之電腦可讀媒體,其進一步包括用以執行以下操作的指令:判定該應用程式之一所要效能點或功率要求。
  8. 如請求項7之電腦可讀媒體,其中基於該應用程式之類型判定該所要效能點。
  9. 如請求項7之電腦可讀媒體,其中該所要效能點或功率點係基於自該應用程式接收之一值。
  10. 一種維持具有兩個或兩個以上實體通道之一記憶體系統之一記憶體映射之方法,該方法包括:儲存該記憶體映射之一區域之一開始位址及一結束位址,該區域包含該兩個或兩個以上實體通道中之每一者之至少一各別部分且該區域包括分配給一第一應用程式之一記憶體量;基於該第一應用程式之一效能要求及一功率要求中之至少一者儲存一通道深度值,使得該通道深度值與該區域相關聯,其中該通道深度值指示在映射至該區域之一位址移動至一不同實體通道中之前待自該兩個或兩個以上實體通道中之每一者存取 之位元組之一數目;及基於一第二應用程式之一分配請求用一額外開始位址、一額外結束位址及一額外通道深度更新該記憶體映射。
TW103102162A 2013-01-21 2014-01-21 用於存取記憶體之系統及方法 TWI512469B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/746,141 US9183057B2 (en) 2013-01-21 2013-01-21 Systems and methods for accessing memory

Publications (2)

Publication Number Publication Date
TW201443646A TW201443646A (zh) 2014-11-16
TWI512469B true TWI512469B (zh) 2015-12-11

Family

ID=51208685

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103102162A TWI512469B (zh) 2013-01-21 2014-01-21 用於存取記憶體之系統及方法

Country Status (5)

Country Link
US (2) US9183057B2 (zh)
EP (1) EP2946303B1 (zh)
CN (1) CN104995611B (zh)
TW (1) TWI512469B (zh)
WO (1) WO2014113758A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183057B2 (en) 2013-01-21 2015-11-10 Micron Technology, Inc. Systems and methods for accessing memory
US10042750B2 (en) 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US9686191B2 (en) * 2015-08-21 2017-06-20 KnuEdge Incorporation Performing read operations in network on a chip architecture
CN108614732B (zh) * 2016-12-09 2021-07-09 中标软件有限公司 龙芯平台动态前景下的操作系统硬件设备快速映射方法
CN117707998A (zh) 2019-02-13 2024-03-15 谷歌有限责任公司 用于分配缓存资源的方法、系统和存储介质
US11061819B2 (en) * 2019-05-28 2021-07-13 Micron Technology, Inc. Distributed computing based on memory as a service
KR20210034726A (ko) * 2019-09-20 2021-03-31 삼성전자주식회사 메모리 모듈, 그것을 제어하는 메모리 제어기의 에러 정정 방법, 및 그것을포함하는 컴퓨팅 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332882A1 (en) * 2009-06-25 2010-12-30 International Business Machines Corporation Minimizing storage power consumption
US20110138113A1 (en) * 2009-12-08 2011-06-09 Ocz Technology Group, Inc. Raid storage systems having arrays of solid-state drives and methods of operation
TW201324148A (zh) * 2011-09-30 2013-06-16 Intel Corp 實施具有不同操作模式之多階記憶體階層的設備與方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG45399A1 (en) 1994-01-12 1998-01-16 Sun Microsystems Inc Logically addressable physical memory for a virtual memory computer system that support multiple page sizes
US5765032A (en) * 1996-01-11 1998-06-09 Cisco Technology, Inc. Per channel frame queuing and servicing in the egress direction of a communications network
US6226724B1 (en) 1997-09-03 2001-05-01 Motorola, Inc. Memory controller and method for generating commands to a memory
US6477612B1 (en) 2000-02-08 2002-11-05 Microsoft Corporation Providing access to physical memory allocated to a process by selectively mapping pages of the physical memory with virtual memory allocated to the process
US6523104B2 (en) 2001-07-13 2003-02-18 Mips Technologies, Inc. Mechanism for programmable modification of memory mapping granularity
ATE410830T1 (de) * 2004-03-10 2008-10-15 Ericsson Telefon Ab L M Addressgenerator für einen verschachtelungsspeicher und einen entschachtelungsspeicher
US7269708B2 (en) 2004-04-20 2007-09-11 Rambus Inc. Memory controller for non-homogenous memory system
US7882307B1 (en) 2006-04-14 2011-02-01 Tilera Corporation Managing cache memory in a parallel processing environment
US8135936B2 (en) 2009-12-23 2012-03-13 Intel Corporation Adaptive address mapping with dynamic runtime memory mapping selection
US8266337B2 (en) 2007-12-06 2012-09-11 International Business Machines Corporation Dynamic logical data channel assignment using channel bitmap
US20130132704A1 (en) 2010-09-10 2013-05-23 Rambus Inc. Memory controller and method for tuned address mapping
US8892844B2 (en) 2011-03-07 2014-11-18 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers
WO2012161659A1 (en) 2011-05-24 2012-11-29 Agency For Science, Technology And Research A memory storage device, and a related zone-based block management and mapping method
US9183057B2 (en) 2013-01-21 2015-11-10 Micron Technology, Inc. Systems and methods for accessing memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332882A1 (en) * 2009-06-25 2010-12-30 International Business Machines Corporation Minimizing storage power consumption
US20110138113A1 (en) * 2009-12-08 2011-06-09 Ocz Technology Group, Inc. Raid storage systems having arrays of solid-state drives and methods of operation
TW201324148A (zh) * 2011-09-30 2013-06-16 Intel Corp 實施具有不同操作模式之多階記憶體階層的設備與方法

Also Published As

Publication number Publication date
WO2014113758A1 (en) 2014-07-24
EP2946303A1 (en) 2015-11-25
US10061709B2 (en) 2018-08-28
US20140208060A1 (en) 2014-07-24
EP2946303B1 (en) 2019-01-16
CN104995611B (zh) 2017-04-12
TW201443646A (zh) 2014-11-16
US9183057B2 (en) 2015-11-10
CN104995611A (zh) 2015-10-21
US20160062909A1 (en) 2016-03-03
EP2946303A4 (en) 2017-02-08

Similar Documents

Publication Publication Date Title
TWI512469B (zh) 用於存取記憶體之系統及方法
KR102367982B1 (ko) 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
JP6097444B2 (ja) メモリシステムの温度情報に基づくメモリシステム管理のためのシステム及び方法
CN106294194B (zh) 数据存储装置和具有该数据存储装置的数据处理系统
US10248328B2 (en) Direct data move between DRAM and storage on a memory module
US10198350B2 (en) Memory module having volatile and non-volatile memory subsystems and method of operation
JP6765322B2 (ja) メモリシステムおよび制御方法
US20140215177A1 (en) Methods and Systems for Managing Heterogeneous Memories
TW201706850A (zh) 電腦系統以及非揮發性記憶體的操作方法
US20190278507A1 (en) Data Migration Method, Host, and Solid State Disk
EP2863312A1 (en) Methods and systems for managing heterogeneous memories
WO2015180649A1 (zh) 存储设备间移动数据的方法、控制器和存储系统
KR20190070915A (ko) 분산된 gpu들을 위해 데이터 로컬리티를 개선하기 위한 매커니즘
TWI539286B (zh) 記憶體系統及存取記憶體之方法
CN107710175B (zh) 存储器模块以及操作系统和方法
TW201714090A (zh) 記憶體裝置、記憶體定址方法與包括有形儲存媒體的物品
US20150220369A1 (en) Distributed procedure execution in multi-core processors
KR20160111124A (ko) 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US11182284B2 (en) Memory module having volatile and non-volatile memory subsystems and method of operation
KR20210092460A (ko) 복수의 어드레스 맵핑 테이블들을 저장하는 메모리 컨트롤러, 시스템 온 칩, 및 전자 장치
EP3353664B1 (en) Method and apparatus for pinning memory pages in a multi-level system memory
KR20170128012A (ko) 플래시 기반 저장 장치 및 이를 포함하는 컴퓨팅 디바이스
KR102397582B1 (ko) 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 이의 작동 방법
EP3227787B1 (en) Systems and methods for providing improved latency in a non-uniform memory architecture
US20240176539A1 (en) Novel data cache scheme for high performance flash memories