TWI653573B - 管理記憶體功耗之方法及其系統 - Google Patents
管理記憶體功耗之方法及其系統 Download PDFInfo
- Publication number
- TWI653573B TWI653573B TW106107917A TW106107917A TWI653573B TW I653573 B TWI653573 B TW I653573B TW 106107917 A TW106107917 A TW 106107917A TW 106107917 A TW106107917 A TW 106107917A TW I653573 B TWI653573 B TW I653573B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage
- memory
- column
- storage column
- power consumption
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 203
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 claims abstract description 275
- 239000000872 buffer Substances 0.000 claims abstract description 56
- 238000012544 monitoring process Methods 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 230000005012 migration Effects 0.000 description 9
- 238000013508 migration Methods 0.000 description 9
- 239000003990 capacitor Substances 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 102100036725 Epithelial discoidin domain-containing receptor 1 Human genes 0.000 description 1
- 101710131668 Epithelial discoidin domain-containing receptor 1 Proteins 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40618—Refresh operations over multiple banks or interleaving
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40622—Partial refresh of memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
本發明提出一種管理記憶體功耗之方法及其系統。該記憶體係揮發性記憶體並且該揮發性記憶體包含存儲通道中之至少兩個存儲列之存儲單元,該管理記憶體功耗之方法包含:監測緩衝區中用於存取該揮發性記憶體中每個存儲列之請求;以及一旦從該請求中檢測出在超出特定時間門檻之特定時間週期內,該至少兩個存儲列中之特定存儲列處於空閒狀態,則命令該特定存儲列進入自更新模式。
Description
本發明係有關於一種揮發性記憶體(volatile memory)之管理方法。更具體地,本發明係有關於一種為了降低功耗之管理揮發性記憶體之方法及其系統。
當今,處理器系統對主記憶體之頻寬與容量具有越來越高之需求。因此,主記憶體之功耗也會隨之增大,並且上述功耗係整個系統功耗之重要組成部分。
典型主記憶體由揮發性記憶體構成,例如,動態隨機存取記憶體(Dynamic Random-Access Memory,DRAM)。當將揮發性記憶體斷電時,揮發性記憶體中之資料將很快消失。DRAM不僅需要恒定供電以維持資料,其記憶體單元也需要週期性進行更新。DRAM將每個資料位元存儲在帶電/放電之電容器中,其中上述兩種狀態(帶電或放電)可表示位元之兩種值(即,0與1)。帶電電容器可隨著時間推移而緩慢地漏電。因此,需要週期性更新電容器以補充電量,從而維持存儲之資訊。
同步動態隨機存取記憶體(Synchronous Dynamic Random-Access Memory,SDRAM)係一種DRAM裝置,其中, 外部時鐘信號協調外部引腳接口之操作。現代計算系統中廣泛採用之SDRAM包含雙倍數據率隨機存取記憶體集合,例如,DDR1、DDR2、DDR3、DDR4。
在典型場景中,控制器可管理DRAM裝置之更新操作,其以特定速率發送自動更新命令以更新每個記憶體晶片(chip)之特定數量行。在完成自動更新操作後,恢復正常記憶體操作。除了更新操作所需之電量,延遲鎖相迴路(Delay Locked Loop,DLL)以及週邊邏輯電路也消耗後台電量,因此,自動更新操作消耗大量供電。為了節省後台電量,DRAM裝置可選擇進入自更新模式(self-refresh mode),其中,裝置內部使用自建時鐘生成更新脈衝。換句話說,當裝置處於自更新模式時,禁能所有外部輸入/輸出(I/O)引腳,關閉DLL,以及在不需要存儲控制器之情況下上述裝置可保存資料。許多DDR裝置支援部分陣列自更新(Partial Array Self-Refresh,PASR)選項,其中,控制器可安排裝置僅更新記憶體之特定部分。
現代計算系統使用上述功率管理技術以降低功耗。然而,在計算系統中,揮發性記憶體裝置仍佔用很大比例之功耗。因此,亟需一種進一步降低揮發性記憶體功耗之方法。
有鑑於此,本發明揭露一種管理記憶體功耗之方法及其系統。
本發明實施例揭露一種管理記憶體功耗之系統,包含:一存儲接口,耦接一揮發性記憶體,其中,該揮發性記憶體包含存儲通道中之至少兩個存儲列之存儲單元,該存儲接 口進一步包含:一緩衝區,配置該緩衝區存儲用於存取該揮發性記憶體之請求;一控制器,耦接該緩衝區,用於控制存取該揮發性記憶體;一監測電路,耦接該控制器,用於監測存取該緩衝區中每個存儲列之該請求;以及一發送電路,其中,一旦該監測電路從該請求中檢測出在超出特定時間門檻之特定時間週期內,該至少兩個存儲列中之特定存儲列處於空閒狀態,則該發送電路向該控制器發訊以命令該特定存儲列進入自更新模式。
本發明另一實施例揭露一種管理記憶體功耗之系統,包含:一控制器,耦接一揮發性記憶體,用於控制存取該揮發性記憶體,其中,該揮發性記憶體包含存儲通道中之至少兩個存儲列之存儲單元;以及一處理器,耦接該控制器,配置該處理器執行作業系統內核以跨過特定存儲列而從該至少兩個存儲列中之優先存儲列開始優先分配記憶體,並且將已分配存儲區塊從該特定存儲列遷移至該優先存儲列,以增加該特定存儲列之空閒可能性。
本發明另一實施例揭露一種管理記憶體功耗之方法,其中該記憶體係一揮發性記憶體並且該揮發性記憶體包含存儲通道中之至少兩個存儲列之存儲單元,該管理記憶體功耗之方法包含:監測緩衝區中用於存取該揮發性記憶體中每個存儲列之請求;以及一旦從該請求中檢測出在超出特定時間門檻之特定時間週期內,該至少兩個存儲列中之特定存儲列處於空閒狀態,則命令該特定存儲列進入自更新模式。
本發明另一實施例揭露一種管理記憶體功耗之方 法,包含:跨過特定存儲列而從揮發性記憶體之優先存儲列開始優先分配記憶體,其中該揮發性記憶體包含存儲通道中之至少兩個存儲列之存儲單元;以及將已分配存儲區塊從該特定存儲列遷移至該優先存儲列,以增加該特定存儲列之空閒可能性。
本發明提供之管理記憶體功耗之方法及其系統可降低記憶體功耗。
其他實施方式與優勢將在下面作詳細描述。上述概要並非以界定本發明為目的。本發明由申請專利範圍第範圍所界定。
100‧‧‧處理系統
110‧‧‧處理器
120‧‧‧存儲接口
130‧‧‧記憶體
150‧‧‧互聯模組
125‧‧‧存儲控制器
126‧‧‧緩衝區
121‧‧‧緩衝管理器
160‧‧‧配置管理器
210‧‧‧順序
220‧‧‧記憶體存取請求
310‧‧‧使用者空間
320‧‧‧系統空間
400、500‧‧‧空閒清單
600、700‧‧‧方法
610、620、710、720‧‧‧步驟
第1圖係依據本發明實施例描述之耦接記憶體之處理系統之示意圖;第2圖係依據本發明實施例描述之對記憶體存取請求進行組合並重排之示意圖;第3A圖係依據本發明實施例描述之記憶體分割之示意圖;第3B圖係依據本發明實施例描述之將已分配頁遷移後之示意圖;第4圖係依據本發明實施例描述之配置管理器執行操作之示意圖;第5圖係依據本發明另一實施例描述之配置管理器執行操作之示意圖; 第6圖係依據本發明實施例描述之管理揮發性記憶體功耗之方法之流程圖;第7圖係依據本發明實施例描述之管理揮發性記憶體功耗之方法之流程圖。
在說明書及後續之申請專利範圍當中使用了某些詞彙來指稱特定元件。所屬領域中具有通常知識者應可理解,製造商可能會用不同名詞來稱呼同一個元件。本說明書及後續之申請專利範圍並不以名稱之差異來作為區分元件之方式,而是以元件在功能上之差異來作為區分之準則。在通篇說明書及後續請求項當中所提及之「包括」和「包含」係為一開放式用語,故應解釋成「包含但不限定於」。此外,「耦接」一詞在此係包含任何直接及間接之電氣連接手段。間接電氣連接手段包括透過其他裝置進行連接。
關於本發明之複數個實施例將作為詳細參考,附圖係描述本發明之實施例所作。接下來之描述係實現本發明之最佳實施例,其係為了描述本發明原理之目之,並非對本發明限制。可以理解地是,本發明實施例可由軟體、硬體、韌體或其任意結合來實現。
本發明實施例提供一種管理揮發性記憶體功耗之系統及其方法。處理系統可透過一個或複數個通道存取揮發性記憶體。在每個通道中,揮發性記憶體進一步包含至少兩個存儲列(rank)。硬體、軟體或兩者結合可管理記憶體之功耗。不依賴於其他存儲列之更新模式,可命令每個存儲列進入自更 新模式。在實施例中,存儲接口監測緩衝區中之記憶體存取請求,並且一旦從上述請求中檢測到特定存儲列在超出門檻之時間週期內處於空閒狀態,則命令該特定存儲列進入自更新模式。基於複數個存儲列可重新排列緩衝區中之記憶體存取請求,以延遲存取特定存儲列。在另一實施例中,對於記憶體配置,可指定存儲列為優先存儲列。已分配之存儲區塊(例如,已分配頁)可從其他存儲列遷移至優先存儲列以增加其他存儲列之空閒可能性。
在本發明中,術語“自更新模式”涉及揮發性記憶體之更新模式,其中,在無需存儲控制器干涉情況下,揮發性記憶體內部生成更新脈衝。禁能(即,無效)來自存儲控制器之時鐘啟用信號。本發明中之自更新模式包含局部陣列自更新(PASR)模式,其中揮發性記憶體僅更新特定部分,例如揮發性記憶體之特定存儲列或複數個存儲列中之已分配片段。在PASR模式中,可遮蔽未使用之記憶體片段使之不進行更新操作。
第1圖係依據本發明實施例描述之耦接記憶體130之處理系統100之示意圖。記憶體130係揮發性記憶體,例如DRAM、SDRAM、DDR、LPDDR等。處理系統100可包含一個或複數個中央處理單元(CPU)或其他類型處理器(例如,處理器110)。在本示例中,記憶體130包含兩個存儲通道(例如,CH0與CH1),其中,處理系統100可透過各自存儲接口120以及互聯模組150存取上述記憶體。每個存儲通道進一步包含複數個存儲列(例如,存儲列_0(R0)以及存儲列_1(R1), 為了簡化起見用虛線AA進行分割)。每個存儲列包含一個或複數個存儲庫(chip)或顆粒(die),例如,D0、D1、D2、D3之每一個代表一個存儲庫。雖然第1圖顯示了特定數量之通道、存儲列以及存儲庫,但可以理解的是,記憶體130可包含任意數量之通道、存儲列與存儲庫。記憶體130中之每個存儲庫進一步包含複數個存儲體(bank),並且每個存儲體包含行列架構之存儲單元。由於每個存儲庫中之具體存儲架構不影響接下來描述之基於存儲列之記憶體功率管理方法,所以第1圖中未詳細顯示每個存儲庫中之存儲架構。
在實施例中,每個存儲接口120包含一存儲控制器125。每個存儲控制器125生成時鐘啟用信號(CKE0與CKE1)以啟用或禁能提供至相應存儲列之外部時鐘。當使得時鐘啟用信號有效(例如,CKE0變高)時,則相應存儲列(存儲列_0)處於正常狀態,並且處理系統100存取存儲列_0中之存儲資料。當使得時鐘啟用信號無效(例如,CKE0變低)時,則相應存儲列(存儲列_0)處於斷電狀態,並且不能存取存儲列_0中之存儲資料。在兩種狀態中,存儲列中之存儲單元需要時常進行更新以防止資料丟失。通常地,為更新存儲單元設定預定時間限制。在時間限制內之固定時間間隔週期性更新每個存儲單元,或者在時間限制內當不存取時更新每個存儲單元。
當存儲列處於正常狀態時,通常地,其存儲單元處於自動更新模式。在自動更新模式中,存儲控制器125控制在每個存儲列之行與存儲體上執行更新操作之時序。當存儲列處於斷電狀態時,透過存儲控制器125發出之更新命令,存儲 列可保持在自動更新模式。可替換地,存儲列可進入自更新模式,利用其自身內部更新時鐘以及內部更新位址寄存器來控制更新操作。如前所述,自更新模式比自動更新模式更加高效。
在實施例中,當將特定存儲列在一段時間內不用於讀寫之情況通知存儲控制器125時,存儲控制器125可使得特定存儲列之時鐘啟用信號無效,並且將特定存儲列帶入自更新模式。在實施例中,緩衝管理器121可將存儲列之預測空閒情況通知存儲控制器125。緩衝管理器121可為硬體、韌體、軟體或上述結合。在實施例中,每個存儲接口120包含作為緩衝管理器121之電路,用於管理在緩衝區126(例如,緩衝區_0與緩衝區_1)之相應緩衝區中待定之記憶體存取請求。緩衝區126中之上述請求可不按順序進行執行。
緩衝管理器121時常監測緩衝區126中之記憶體存取請求。如果緩衝管理器121檢測到任意存儲列在超出門檻之一段時間內不進行存取操作時,緩衝管理器121使得該存儲列之空閒信號(例如,R0_idle或R1_idle)有效。如果緩衝管理器121檢測到在特定時間內存取任意存儲列時,緩衝管理器121使得該存儲列之空閒信號無效。可將空閒信號發送至存儲控制器125。當存儲列之空閒信號有效時,存儲控制器125使得存儲列之時鐘啟用信號(即,CKE)無效。當存儲列之空閒信號無效時,存儲控制器125使得存儲列之時鐘啟用信號有效。
在實施例中,緩衝管理器121可透過存儲列組合緩衝區126中之記憶體存取請求,並且重新排列上述請求以延遲存取一個或複數個特定存儲列(例如,除了存儲列_0之其他 存儲列),從而使得特定存儲列在擴展時間週期內處於空閒狀態。
第2圖係依據本發明實施例描述之將一個存儲通道之緩衝區126中之記憶體存取請求進行組合並重排之示意圖。作為示例,緩衝區126存儲8個記憶體存取請求220。可以理解的是,緩衝區126可存儲不同數量之記憶體存取請求,並且可將相同之重排技術運用於所有存儲通道。
為了簡化起見,透過待存取之存儲列標識第2圖中之每個記憶體存取請求220。此後之描述假設使用存儲列_0存儲系統軟體與系統資訊。可將非系統資料(例如,使用者應用)存儲在第1圖中記憶體130之任意存儲列中。在緩衝區126中排列記憶體存取請求220,並且根據順序210(例如,第2圖所示之緩衝區126之從上到下之順序)進行執行。在第2圖之示例中,緩衝管理器121監測並重排緩衝區126中之請求,從而使得存取存儲列_0之優先順序高於存取存儲列_1之優先順序。因此,將存儲列_1存取請求進行組合並且延遲執行上述存取請求,以使得存儲列_1在擴展時間週期內處於空閒狀態。由於非系統資料(例如,使用者應用)通常不具有延遲敏感性,所以系統更能容忍存儲列_1之存取延遲。
具體地,在第2圖中,在時刻T1,存儲列_0與存儲列_1皆處於正常模式,並且使得R0_idle與R1_idle信號無效。在該時刻,緩衝管理器121檢測到存取存儲列_1之兩個請求位於緩衝區126中,並且可將上述兩個請求推至緩衝區126之底部。因此,在時刻T2,存取存儲列_0之6個連續命令位 於存取存儲列_1之2個命令前面,其指示至少在執行存取存儲列0之6個連續請求之時間週期(Td)內,不存取存儲列_1。在實施例中,緩衝管理器121可保持延遲存取存儲列_1直到達到存取存儲列_1請求資料之時間限制為止。
參考第1圖,在實施例中,如果週期Td大於預定門檻,緩衝管理器121使得R0_idle信號有效。作為回應,相應通道(例如,CH0)之存儲控制器125使得CKE0信號無效,以將D0設置為自更新模式。緩衝管理器121執行之重排操作係動態的,即,在不會導致系統停機情況下,在系統工作期間執行上述重排操作。可以理解的是,可將第2圖之動態儲存裝置列切換操作應用於包含兩個或複數個存儲列之存儲單元之記憶體,以允許每個存儲列(存儲系統軟體與資訊之不同於存儲列_0之其他存儲列)動態開啟(即,正常狀態)或關閉(即,斷電狀態與自更新模式)。每個存儲列切換之粒性(granularity)可與執行緩衝區126中預定數量請求花費之時間一樣小。
在實施例中,處理系統100可進一步包含配置管理器160,用於管理記憶體配置。配置管理器160可為軟體模組,作為處理系統100上執行之OS核心之一部分;以及可為硬體或韌體。配置管理器160分配來自標識可用頁之空閒清單中之一個或複數個頁(例如,4K位元存儲區塊),以回應配置請求。空閒清單可包含來自所有存儲列之頁。在處理系統100工作期間,可按照隨機模式,釋放不同存儲列之已分配頁用於重用,這樣導致第3A圖之示例所示之分割使用情況。
第3A圖係依據本發明實施例描述之記憶體分割之 示意圖。記憶體130中之黑色方塊代表分配至使用者空間(user space)310之存儲區塊(例如,頁)。在實施例中,可將存儲列_0之連續頁分配至系統空間320用於存儲OS核心、系統軟體(例如,數據機、連接軟體模組)。使用者空間頁分散於兩個存儲列。第3B圖係依據本發明實施例描述之將已分配頁遷移後之示意圖。如第3B圖所示,配置管理器160可將已分配頁從存儲列_1遷移至存儲列_0。當基本不使用記憶體130時,存儲列_1可不包含已分配頁或者包含極少已分配頁。存儲列_1中已分配頁之減少意味著很少存取存儲列_1用於讀寫。因此,存儲列_1幾乎處於空閒狀態。
第4圖係依據本發明實施例描述之配置管理器160執行操作之示意圖。本實施例顯示包含兩個存儲列(存儲列_0與存儲列_1)之頁之空閒清單400。如第3A與3B圖之示例所示,存儲列_0係用於存儲系統軟體與資訊之存儲列。在這兩個存儲列示例中,配置管理器160透過減少存儲列_1中已分配頁之數量,從而增大存儲列_1空閒之可能性,即,透過將存儲列_0之優先順序設定為比存儲列_1更高,實現上述操作。在本示例中,可將存儲列_0指定為優先存儲列。
在實施例中,配置管理器160可將空閒清單400中之可用頁進行分類,從而使得優先存儲列位於空閒清單400之頂部用於分配,即,優先存儲列(例如,存儲列_0)比其他存儲列(例如,存儲列_1)優先分配。
在空閒清單400之示例中,合併或組合存儲列_0之頁(即,R0頁),並且合併或組合存儲列_1之頁(即,R1 頁)。R0頁具有比R1頁更高之分配優先順序。在實施例中,僅當耗盡空閒清單400中之R0頁時,分配R1頁。
在第4圖之示例中,空閒清單400係鏈表(linked list)。然而,可使用不同之資料結構作為空閒清單400。在所示之鏈表中,R0頁位於鏈表上部,R1頁位於鏈表下部。按照從鏈表上部到下部之循序執行分配操作。因此,僅當耗盡空閒清單400中之R0頁時,分配R1頁。第4圖之最左側圖表顯示在對頁進行初始分組後之時刻T1之空閒清單400。
在執行分配期間,可釋放某些已分配頁並將其重新加入空閒清單400。可將已釋放R0頁返回至可用R0頁組合,在第4圖之鏈表示例中,可將已釋放R0頁返回至空閒清單400之最頂部。可將已釋放R1頁返回至可用R1頁組合,在第4圖之鏈表示例中,可將已釋放R1頁返回至空閒清單400之最底部。在執行分配操作之時刻T2,即使大量R0頁可用於分配,但仍存在大量已分配R1頁。這樣係第3A圖所示之記憶體分割引起之,其中已分配使用者空間頁310分散於記憶體130之不同存儲列中。在實施例中,可將幾個或所有已分配R1頁重新分配(例如,遷移)至存儲列_0以減少存儲列_1記憶體之使用。作為上述遷移操作之結果,釋放更多R1頁,並且增大存儲列_1空閒之可能性。第4圖之最右側圖表顯示在從存儲列_1至存儲列_0之頁遷移後之時刻T3之空閒清單400。
第5圖係依據本發明另一實施例描述之配置管理器160執行操作之示意圖。本實施例顯示包含四個存儲列(存儲列_0、存儲列_1、存儲列_2、存儲列_3)之頁之空閒清單500。 如第3A與3B圖之示例所示,存儲列_0係用於存儲系統軟體與資訊之存儲列。在這四個存儲列示例中,配置管理器160透過減少三個存儲列(存儲列_1、存儲列_2、存儲列_3)中已分配頁之數量,從而增大這三個存儲列空閒之可能性,即,透過將存儲列_0之優先順序設定為比其他三個存儲列更高,實現上述操作。在本示例中,可將存儲列_0指定為優先存儲列。
在實施例中,配置管理器160可將空閒清單500中之可用頁進行分類,從而使得優先存儲列位於空閒清單500之頂部用於分配,即,優先存儲列(例如,存儲列_0)比其他存儲列(例如,存儲列_1、存儲列_2、存儲列_3)優先分配。
在空閒清單500之示例中,合併或組合R0頁,並且合併或組合其他存儲列之頁(即,R1頁、R2頁、R3頁)。R0頁具有比其他頁更高之分配優先順序。在實施例中,僅當耗盡空閒清單500中之R0頁時,分配非R0頁。
與第4圖之空閒清單400類似,空閒清單500係鏈表。然而,可使用不同之資料結構作為空閒清單500。在所示之鏈表中,R0頁位於列表上部,非R0頁位於列表下部。按照從列表上部到下部之循序執行分配操作。因此,僅當耗盡空閒清單500中之R0頁時,分配非R0頁。第5圖之最左側圖表顯示在對頁進行初始分組後之時刻T1之空閒清單500。
在第5圖所示之鏈表中,可將已釋放非R0頁返回至空閒清單500之最底部。在執行分配操作之時刻T2,雖然大量R0頁可用於分配,但仍存在大量已分配非R0頁。在實施例中,可將幾個或所有已分配非R0頁重新分配(例如,遷移) 至存儲列_0以減少其他存儲列之記憶體使用。作為上述遷移操作之結果,釋放更多非R0頁,並且增大其他存儲列空閒之可能性。第5圖之最右側圖表顯示在從其他存儲列至存儲列_0之頁遷移後之時刻T3之空閒清單500。
在實施例中,可透過複製頁內容至另一頁實現特定頁之遷移,然後刪除上述特定頁之所有參考。第4圖與第5圖所示之遷移操作可在低訊務時段(例如,午夜)在後台執行,以回應週期性耗盡之計時器、使用者命令(例如,透過命令線接口或類似按鈕之圖像使用者接口)及/或來自硬體指示特定存儲列在超出預定時間門檻之時間週期內未進入自更新模式之信號。可以理解的是,可將第4圖與第5圖之遷移操作應用於包含至少兩個存儲列之記憶體。在實施例中,可從緩衝區126中用於存取非存儲列_0記憶體之請求減少看出分配非R0頁之減少。
第6圖係依據本發明實施例描述之管理揮發性記憶體功耗之方法600之流程圖。在實施例中,處理系統(例如,第1圖之處理系統100)可執行方法600,特別地,每個存儲接口120可執行方法600,以存取包含至少兩個存儲列之存儲單元之揮發性記憶體,其中,上述至少兩個存儲列之存儲單元位於一個或複數個存儲通道中之一個存儲通道上。在方法600之開始,處理系統監測緩衝區中用於存取揮發性記憶體之每個存儲列之請求(步驟610)。一旦從請求中檢測到在超出特定時間門檻之特定時間週期內至少兩個存儲列中之特定存儲列處於空閒狀態,則不依賴其他存儲列之更新模式,處理系統命令 特定存儲列進入自更新模式(步驟620)。在實施例中,存儲列可組合或重排緩衝區中之請求以延遲存取特定存儲列。
第7圖係依據本發明實施例描述之管理揮發性記憶體功耗之方法700之流程圖。在實施例中,處理系統(例如,第1圖之處理系統100)可執行方法700,特別地,執行OS核心之處理系統可執行方法700,以分配包含至少兩個存儲列存儲單元之揮發性記憶體中之存儲區塊,其中,上述至少兩個存儲列之存儲單元位於一個或複數個存儲通道中之一個存儲通道上。跨過特定存儲列,OS核心優先分配揮發性記憶體之優先存儲列(步驟710)。OS核心進一步將已分配存儲區塊從特定存儲列遷移至優先存儲列以增加特定存儲列空閒之可能性(步驟720)。
在其他實施例中,硬體(例如,電路、專用邏輯、程式設計邏輯、微代碼等)、軟體(例如,運行在處理裝置上之指令)、韌體或其組合可執行方法600與700。
本發明參考第1圖所示之實施例描述了第6圖與第7圖之流程。然而,可以理解的是,本發明之其他實施例可執行第6圖與第7圖之流程,以及第1圖所示之實施例可執行不同於上述流程之其他操作。雖然第6圖與第7圖之流程圖顯示了執行操作之特定順序,但可以理解的是,上述順序僅為示例(例如,本發明之替換實施例可按照不同循序執行操作、可結合特定操作、重複特定操作等)。
呈現上述描述以允許本領域技術人員根據特定應用以及其需要之內容實施本發明。所述實施例之各種修改對於 本領域技術人員來說係顯而易見的,並且可將上述定義之基本原則應用於其他實施例。因此,本發明不局限於所述之特定實施例,而是符合與揭露之原則及新穎特徵相一致之最寬範圍。在上述細節描述中,為了提供對本發明之徹底理解,描述了各種特定細節。然而,本領域技術人員可以理解本發明是可實施的。
在不脫離本發明精神或本質特徵之情況下,可以其他特定形式實施本發明。描述示例被認為說明之所有方面並且無限制。因此,本發明之範圍由申請專利範圍第書指示,而非前面描述。所有在申請專利範圍第等同之方法與範圍中之變化皆屬於本發明之涵蓋範圍。
Claims (26)
- 一種管理記憶體功耗之系統,包含:一存儲接口,耦接一揮發性記憶體,其中,該揮發性記憶體包含一存儲通道中之至少兩個存儲列之存儲單元,該存儲接口進一步包含:一緩衝區,配置該緩衝區存儲用於存取該揮發性記憶體之請求;一控制器,耦接該緩衝區,用於控制存取該揮發性記憶體;一緩衝管理器,耦接該控制器,用於監測存取該緩衝區中每個存儲列之該請求;以及一旦該緩衝管理器從該請求中檢測出在超出特定時間門檻之特定時間週期內,該至少兩個存儲列中之特定存儲列處於空閒狀態,則該緩衝管理器向該控制器發訊以命令該特定存儲列進入自更新模式。
- 如申請專利範圍第1項所述之管理記憶體功耗之系統,其中,該存儲接口進一步將該緩衝區中之該請求按照存儲列進行分組;並且將該緩衝區中之該請求進行重排以延遲存取該特定存儲列。
- 如申請專利範圍第1項所述之管理記憶體功耗之系統,其中,進一步包含:處理器,耦接該存儲接口,其中該處理器執行作業系統內核以跨過該特定存儲列而從該至少兩個存儲列中之優先存儲列開始優先分配記憶體。
- 如申請專利範圍第3項所述之管理記憶體功耗之系統,其中,該處理器進一步將一已分配存儲區塊從該特定存儲列 遷移至該優先存儲列,以增加該特定存儲列之空閒可能性。
- 如申請專利範圍第4項所述之管理記憶體功耗之系統,其中,當檢測出在超過門檻之時間週期內該特定存儲列未進入該自更新模式時,該處理器進一步將該已分配存儲區塊從該特定存儲列遷移至該優先存儲列。
- 如申請專利範圍第4項所述之管理記憶體功耗之系統,其中,該處理器將已分配存儲區塊從該特定存儲列遷移至該優先存儲列,以回應使用者命令或週期耗盡之計時器。
- 如申請專利範圍第1項所述之管理記憶體功耗之系統,其中,該自更新模式包含局部陣列自更新模式,其中,在該局部陣列自更新模式中,自更新該特定存儲列中之部分頁。
- 一種管理記憶體功耗之系統,包含:一控制器,耦接一揮發性記憶體,用於控制存取該揮發性記憶體,其中,該揮發性記憶體包含一存儲通道中之至少兩個存儲列之存儲單元;以及一處理器,耦接該控制器,配置該處理器執行作業系統內核以跨過該至少兩個存儲列中之特定存儲列而從該至少兩個存儲列中之優先存儲列開始優先分配記憶體,並且將一已分配存儲區塊從該特定存儲列遷移至該優先存儲列,以增加該特定存儲列之空閒可能性。
- 如申請專利範圍第8項所述之管理記憶體功耗之系統,其中,當檢測出在超過門檻之時間週期內該特定存儲列未進入該自更新模式時,該處理器將該已分配存儲區塊從該特定存儲列遷移至該優先存儲列。
- 如申請專利範圍第8項所述之管理記憶體功耗之系統,其中,該處理器將該已分配存儲區塊從該特定存儲列遷移至該優先存儲列,以回應使用者命令或週期耗盡之計時器。
- 如申請專利範圍第8項所述之管理記憶體功耗之系統,其中,進一步包含:一存儲接口,耦接該處理器,其中,配置該存儲接口監測緩衝區中用於存取該揮發性記憶體之每個存儲列之請求;以及一旦該存儲接口從該請求中檢測出在超出特定時間門檻之特定時間週期內,該至少兩個存儲列中之該特定存儲列處於空閒狀態,則該存儲接口命令該特定存儲列進入自更新模式。
- 如申請專利範圍第11項所述之管理記憶體功耗之系統,其中,該自更新模式包含局部陣列自更新模式,其中,在該局部陣列自更新模式中,自更新該特定存儲列中之部分頁。
- 如申請專利範圍第11項所述之管理記憶體功耗之系統,其中,該存儲接口進一步將該緩衝區中之該請求按照存儲列進行分組;並且將該緩衝區中之該請求進行重排以延遲存取該特定存儲列。
- 一種管理記憶體功耗之方法,其中該記憶體係一揮發性記憶體並且該揮發性記憶體包含存儲通道中之至少兩個存儲列之存儲單元,該管理記憶體功耗之方法包含:監測緩衝區中用於存取該揮發性記憶體中每個存儲列之請求;以及一旦從該請求中檢測出在超出特定時間門檻之特定時間週期內,該至少兩個存儲列中之特定存儲列處於空閒狀態, 則命令該特定存儲列進入自更新模式。
- 如申請專利範圍第14項所述之管理記憶體功耗之方法,其中,進一步包含:將該緩衝區中之該請求按照存儲列進行分組;以及將該緩衝區中之該請求進行重排以延遲存取該特定存儲列。
- 如申請專利範圍第14項所述之管理記憶體功耗之方法,其中,進一步包含:跨過該特定存儲列而從該至少兩個存儲列中之優先存儲列開始優先分配記憶體。
- 如申請專利範圍第16項所述之管理記憶體功耗之方法,其中,進一步包含:將一已分配存儲區塊從該特定存儲列遷移至該優先存儲列,以增加該特定存儲列之空閒可能性。
- 如申請專利範圍第17項所述之管理記憶體功耗之方法,其中,當在超過門檻之時間週期內該特定存儲列未進入該自更新模式時,將該已分配存儲區塊從該特定存儲列遷移至該優先存儲列。
- 如申請專利範圍第17項所述之管理記憶體功耗之方法,其中,將該已分配存儲區塊從該特定存儲列遷移至該優先存儲列,以回應使用者命令或週期耗盡之計時器。
- 如申請專利範圍第14項所述之管理記憶體功耗之方法,其中,該自更新模式包含局部陣列自更新模式,其中,在該局部陣列自更新模式中,自更新該特定存儲列中之部分頁。
- 一種管理記憶體功耗之方法,包含:跨過特定存儲列而從一揮發性記憶體之優先存儲列開始優先分配記憶體,其中該揮發性記憶體包含存儲通道中之至 少兩個存儲列之存儲單元,其中,該特定存儲列位於該至少兩個存儲列中;以及將一已分配存儲區塊從該特定存儲列遷移至該優先存儲列,以增加該特定存儲列之空閒可能性。
- 如申請專利範圍第21項所述之管理記憶體功耗之方法,其中,當檢測出在超過門檻之時間週期內該特定存儲列未進入該自更新模式時,將該已分配存儲區塊從該特定存儲列遷移至該優先存儲列。
- 如申請專利範圍第21項所述之管理記憶體功耗之方法,其中,將該已分配存儲區塊從該特定存儲列遷移至該優先存儲列,以回應使用者命令或週期耗盡之計時器。
- 如申請專利範圍第21項所述之管理記憶體功耗之方法,其中,進一步包含:監測緩衝區中用於存取該揮發性記憶體之每個存儲列之請求;以及一旦從該請求中檢測出在超出特定時間門檻之特定時間週期內,該至少兩個存儲列中之該特定存儲列處於空閒狀態,則命令該特定存儲列進入自更新模式。
- 如申請專利範圍第24項所述之管理記憶體功耗之方法,其中,該自更新模式包含局部陣列自更新模式,其中,在該局部陣列自更新模式中,自更新該特定存儲列中之部分頁。
- 如申請專利範圍第24項所述之管理記憶體功耗之方法,其中,進一步包含:將該緩衝區中之該請求按照存儲列進行分組;並且將該緩衝區中之該請求進行重排以延遲存取該特定存儲列。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662309484P | 2016-03-17 | 2016-03-17 | |
US62/309,484 | 2016-03-17 | ||
US15/299,702 US10268405B2 (en) | 2016-03-17 | 2016-10-21 | Dynamic rank switching for low power volatile memory |
US15/299,702 | 2016-10-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201812565A TW201812565A (zh) | 2018-04-01 |
TWI653573B true TWI653573B (zh) | 2019-03-11 |
Family
ID=59855571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106107917A TWI653573B (zh) | 2016-03-17 | 2017-03-10 | 管理記憶體功耗之方法及其系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10268405B2 (zh) |
CN (1) | CN107203336A (zh) |
TW (1) | TWI653573B (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10379748B2 (en) * | 2016-12-19 | 2019-08-13 | International Business Machines Corporation | Predictive scheduler for memory rank switching |
US10490251B2 (en) | 2017-01-30 | 2019-11-26 | Micron Technology, Inc. | Apparatuses and methods for distributing row hammer refresh events across a memory device |
US10332582B2 (en) | 2017-08-02 | 2019-06-25 | Qualcomm Incorporated | Partial refresh technique to save memory refresh power |
US10437499B2 (en) * | 2017-12-22 | 2019-10-08 | Nanya Technology Corporation | Hybrid memory system and method of operating the same |
US10825486B2 (en) * | 2018-04-09 | 2020-11-03 | Nxp Usa, Inc. | High performance method for reduction of memory power consumption employing RAM retention mode control with low latency and maximum granularity |
WO2019222960A1 (en) | 2018-05-24 | 2019-11-28 | Micron Technology, Inc. | Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling |
US10573370B2 (en) | 2018-07-02 | 2020-02-25 | Micron Technology, Inc. | Apparatus and methods for triggering row hammer address sampling |
US10535393B1 (en) * | 2018-07-21 | 2020-01-14 | Advanced Micro Devices, Inc. | Configuring dynamic random access memory refreshes for systems having multiple ranks of memory |
US10685696B2 (en) | 2018-10-31 | 2020-06-16 | Micron Technology, Inc. | Apparatuses and methods for access based refresh timing |
US11256437B2 (en) | 2018-11-19 | 2022-02-22 | Micron Technology, Inc. | Data migration for memory operation |
US11163473B2 (en) | 2018-11-19 | 2021-11-02 | Micron Technology, Inc. | Systems, devices, techniques, and methods for data migration |
US10782911B2 (en) * | 2018-11-19 | 2020-09-22 | Micron Technology, Inc. | Data migration dynamic random access memory |
US11182090B2 (en) | 2018-11-19 | 2021-11-23 | Micron Technology, Inc. | Systems, devices, and methods for data migration |
CN113168861B (zh) | 2018-12-03 | 2024-05-14 | 美光科技公司 | 执行行锤刷新操作的半导体装置 |
CN111354393B (zh) * | 2018-12-21 | 2023-10-20 | 美光科技公司 | 用于目标刷新操作的时序交错的设备和方法 |
US10957377B2 (en) | 2018-12-26 | 2021-03-23 | Micron Technology, Inc. | Apparatuses and methods for distributed targeted refresh operations |
US11615831B2 (en) | 2019-02-26 | 2023-03-28 | Micron Technology, Inc. | Apparatuses and methods for memory mat refresh sequencing |
US11227649B2 (en) | 2019-04-04 | 2022-01-18 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of targeted refresh operations |
US11069393B2 (en) | 2019-06-04 | 2021-07-20 | Micron Technology, Inc. | Apparatuses and methods for controlling steal rates |
US10978132B2 (en) | 2019-06-05 | 2021-04-13 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of skipped refresh operations |
US10991413B2 (en) * | 2019-07-03 | 2021-04-27 | Micron Technology, Inc. | Memory with programmable die refresh stagger |
US11302374B2 (en) | 2019-08-23 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic refresh allocation |
US11302377B2 (en) | 2019-10-16 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic targeted refresh steals |
CN111562888B (zh) * | 2020-05-14 | 2023-06-23 | 上海兆芯集成电路有限公司 | 存储器自更新的调度方法 |
US11309010B2 (en) | 2020-08-14 | 2022-04-19 | Micron Technology, Inc. | Apparatuses, systems, and methods for memory directed access pause |
US11380382B2 (en) | 2020-08-19 | 2022-07-05 | Micron Technology, Inc. | Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit |
US11348631B2 (en) | 2020-08-19 | 2022-05-31 | Micron Technology, Inc. | Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed |
US11557331B2 (en) | 2020-09-23 | 2023-01-17 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh operations |
US20240004551A1 (en) * | 2020-10-26 | 2024-01-04 | Google Llc | Modulating Credit Allocations in Memory Subsystems |
US11222686B1 (en) | 2020-11-12 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh timing |
US11264079B1 (en) | 2020-12-18 | 2022-03-01 | Micron Technology, Inc. | Apparatuses and methods for row hammer based cache lockdown |
US11755246B2 (en) | 2021-06-24 | 2023-09-12 | Advanced Micro Devices, Inc. | Efficient rank switching in multi-rank memory controller |
US12112787B2 (en) | 2022-04-28 | 2024-10-08 | Micron Technology, Inc. | Apparatuses and methods for access based targeted refresh operations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011421A1 (en) | 2005-07-07 | 2007-01-11 | Keller Thomas W Jr | Method and system for decreasing power consumption in memory arrays having usage-driven power management |
US20110131432A1 (en) | 2009-12-02 | 2011-06-02 | Dell Products L.P. | System and Method for Reducing Power Consumption of Memory |
US20130212330A1 (en) | 2012-02-13 | 2013-08-15 | Ibm Corporation | Memory recorder queue biasing preceding high latency operations |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7236416B2 (en) | 2004-05-21 | 2007-06-26 | Qualcomm Incorporated | Method and system for controlling refresh in volatile memories |
US20110296095A1 (en) * | 2010-05-25 | 2011-12-01 | Mediatek Inc. | Data movement engine and memory control methods thereof |
US9104413B2 (en) | 2012-11-05 | 2015-08-11 | Qualcomm Incorporated | System and method for dynamic memory power management |
TWI503662B (zh) * | 2012-12-27 | 2015-10-11 | Ind Tech Res Inst | 記憶體控制裝置及方法 |
US9111596B2 (en) * | 2013-08-15 | 2015-08-18 | Arm Limited | Memory access control in a memory device |
US9684465B2 (en) | 2014-03-28 | 2017-06-20 | International Business Machines Corporation | Memory power management and data consolidation |
KR102464801B1 (ko) | 2015-04-14 | 2022-11-07 | 삼성전자주식회사 | 반도체 장치의 동작 방법 및 반도체 시스템 |
-
2016
- 2016-10-21 US US15/299,702 patent/US10268405B2/en active Active
-
2017
- 2017-01-10 CN CN201710018427.8A patent/CN107203336A/zh not_active Withdrawn
- 2017-03-10 TW TW106107917A patent/TWI653573B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011421A1 (en) | 2005-07-07 | 2007-01-11 | Keller Thomas W Jr | Method and system for decreasing power consumption in memory arrays having usage-driven power management |
US20110131432A1 (en) | 2009-12-02 | 2011-06-02 | Dell Products L.P. | System and Method for Reducing Power Consumption of Memory |
US20130212330A1 (en) | 2012-02-13 | 2013-08-15 | Ibm Corporation | Memory recorder queue biasing preceding high latency operations |
Also Published As
Publication number | Publication date |
---|---|
TW201812565A (zh) | 2018-04-01 |
US10268405B2 (en) | 2019-04-23 |
CN107203336A (zh) | 2017-09-26 |
US20170269861A1 (en) | 2017-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI653573B (zh) | 管理記憶體功耗之方法及其系統 | |
US7590021B2 (en) | System and method to reduce dynamic RAM power consumption via the use of valid data indicators | |
Bhati et al. | DRAM refresh mechanisms, penalties, and trade-offs | |
US9293188B2 (en) | Memory and memory controller for high reliability operation and method | |
Mukundan et al. | Understanding and mitigating refresh overheads in high-density DDR4 DRAM systems | |
EP2936272B1 (en) | Reducing power consumption of volatile memory via use of non-volatile memory | |
US7549034B2 (en) | Redistribution of memory to reduce computer system power consumption | |
US8010764B2 (en) | Method and system for decreasing power consumption in memory arrays having usage-driven power management | |
US20180276150A1 (en) | Dynamic memory remapping to reduce row-buffer conflicts | |
US9281046B2 (en) | Data processor with memory controller for high reliability operation and method | |
KR100685547B1 (ko) | 메모리 제어 시스템 및 메모리 뱅크 리프레쉬 방법 | |
US20140244960A1 (en) | Computing device, memory management method, and program | |
US10878880B2 (en) | Selective volatile memory refresh via memory-side data valid indication | |
Cui et al. | DTail: a flexible approach to DRAM refresh management | |
US10157657B2 (en) | Selective refresh with software components | |
CN115516563A (zh) | 用于dram的刷新管理 | |
Lee et al. | Greendimm: Os-assisted dram power management for dram with a sub-array granularity power-down state | |
US20190095122A1 (en) | Memory management system, computing system, and methods thereof | |
US12118247B2 (en) | Performance of bank refresh | |
KR20230108274A (ko) | 휴대용 컴퓨팅 디바이스의 메모리를 리프레싱하는 방법 및 시스템 | |
JPH1196756A (ja) | 半導体記憶装置 | |
JP2012221534A (ja) | 半導体記憶装置および半導体記憶装置のリフレッシュ方法 |