TWI707230B - 電腦系統、記憶體管理方法與非暫態電腦可讀取媒體 - Google Patents
電腦系統、記憶體管理方法與非暫態電腦可讀取媒體 Download PDFInfo
- Publication number
- TWI707230B TWI707230B TW107141735A TW107141735A TWI707230B TW I707230 B TWI707230 B TW I707230B TW 107141735 A TW107141735 A TW 107141735A TW 107141735 A TW107141735 A TW 107141735A TW I707230 B TWI707230 B TW I707230B
- Authority
- TW
- Taiwan
- Prior art keywords
- data area
- memory
- storage space
- data
- controller circuit
- Prior art date
Links
Images
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/061—Improving I/O performance
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
電腦系統操作於一系統平台,並包含複數個記憶體以及控制器電路。複數個記憶體包含一第一記憶體與一第二記憶體,其中第一記憶體包含一第一儲存空間與一第二儲存空間,且第二記憶體的總儲存空間相同於第一儲存空間。該些記憶體並聯耦接至控制器電路,且控制器電路用以基於系統平台的一內核配置至少一第一資料區至第一儲存空間與第二記憶體,並配置一第二資料區至第二儲存空間。第二資料區的一資料存取頻率低於至少一第一資料區的一資料存取頻率。
Description
本案是有關於一種電腦系統與記憶體管理方法,且特別是有關於應用於不對稱記憶體空間的電腦系統、記憶體管理方法與其非暫態電腦可讀取媒體。
影音應用的相關電子裝置常使用記憶體來儲存影像處理資料。然而,當記憶體中有不對稱的儲存空間時,系統的傳輸頻寬也會因此受限。如此,將造成電子裝置的效能下降並降低使用者體驗。
為了解決上述問題,本案之一些態樣提供一種電腦系統,其操作於一系統平台,並包含複數個記憶體以及控制器電路。複數個記憶體包含一第一記憶體與一第二記憶體,其中該第一記憶體包含一第一儲存空間與一第二儲存空間,且該第二記憶體的總儲存空間相同於該第一儲存空間。該些記憶體
並聯耦接至該控制器電路,且該控制器電路用以基於該系統平台的一內核配置至少一第一資料區至該第一儲存空間與該第二記憶體,並配置一第二資料區至該第二儲存空間。該第二資料區的一資料存取頻率低於該至少一第一資料區的一資料存取頻率。
本案之一些態樣提供一種記憶體管理方法,其包含下列操作:基於一系統平台的一內核配置至少一第一資料區至一第一記憶體的一第一儲存空間與一第二記憶體,其中該第二記憶體的總儲存空間相同於該第一儲存空間;以及基於該內核配置一第二資料區至該第一記憶體的一第二儲存空間,其中該第二資料區的一資料存取頻率低於該至少一第一資料區的一資料存取頻率。
本案之一些態樣提供一種非暫態電腦可讀取媒體,其具有一電腦程式,其中該電腦程式被一處理器執行時,使該處理器執行複數個操作,且該些操作包含:基於一系統平台的一內核配置至少一第一資料區至一第一記憶體的一第一儲存空間與一第二記憶體,其中該第二記憶體的總儲存空間相同於該第一儲存空間;以及基於該內核配置一第二資料區至該第一記憶體的一第二儲存空間,其中該第二資料區的一資料存取頻率低於該至少一第一資料區的一資料存取頻率。
綜上所述,本案實施例提供的電腦系統、記憶體管理方法與非暫態電腦可讀取媒體可兼顧傳輸頻寬的效能以及儲存空間的有效利用,以降低不對稱的儲存空間帶來的影響。
100‧‧‧電腦系統
120‧‧‧控制器電路
140、142‧‧‧記憶體
100A‧‧‧系統平台
R11、R12‧‧‧儲存空間
R2‧‧‧總儲存空間
200‧‧‧記憶體管理方法
S210、S220‧‧‧操作
S230‧‧‧操作
Normal‧‧‧普通資料區
HighMem‧‧‧高端資料區
Movable‧‧‧可搬移資料區
zRAM‧‧‧記憶體壓縮資料區
0x0‧‧‧位址
0x40000000‧‧‧位址
0x60000000‧‧‧位址
S3-3‧‧‧倒退次序
S3-1、S3-2‧‧‧倒退次序
310、320‧‧‧資料區
本案所附圖式之說明如下:第1圖為根據本案的一些實施例所繪示之電腦系統的示意圖;第2圖為根據本案的一些實施例所繪示之記憶體管理方法的流程圖;以及第3圖為根據本案的一些實施例所繪示第1圖中的記憶體的配置方式的示意圖。
本文所使用的所有詞彙具有其通常的意涵。上述之詞彙在普遍常用之字典中之定義,在本說明書的內容中包含任一於此討論的詞彙之使用例子僅為示例,不應限制到本揭示內容之範圍與意涵。同樣地,本揭示內容亦不僅以於此說明書所示出的各種實施例為限。
在本文中,使用第一、第二與第三等等之詞彙,是用於描述各種元件、組件、區域、層與/或區塊是可以被理解的。但是這些元件、組件、區域、層與/或區塊不應該被這些術語所限制。這些詞彙只限於用來辨別單一元件、組件、區域、層與/或區塊。因此,在下文中的一第一元件、組件、區域、層與/或區塊也可被稱為第二元件、組件、區域、層與/或區塊,而不脫離本案的本意。本文中所使用之『與/或』包含一或多個相關聯的項目中的任一者以及所有組合。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。
於本文中,用語『電路系統(circuitry)』泛指包含一或多個電路(circuit)所形成的單一系統。用語『電路』泛指由一或多個電晶體與/或一或多個主被動元件按一定方式連接以處理訊號的物件。
參照第1圖,第1圖為根據本案的一些實施例所繪示之電腦系統100的示意圖。於一些實施例中,電腦系統100可為一嵌入式系統。例如,電腦系統100可應用於影音相關應用的電路系統(例如為顯示卡),但本案並不以此為限。
於一些實施例中,電腦系統100可耦接至一系統平台100A內的一或多個元件或功能單元(例如為處理器、暫存器等等電路),並依據此系統平台100A的內核(Kernel)的相關規則配置電腦系統100中的相關元件。
於一些實施例中,電腦系統100包含控制器電路120以及多個記憶體140與142。多個記憶體140與142並聯耦接至控制器電路120。控制器電路120用以控制多個記憶體140與142的存取運作。於一些實施例中,多個記憶體140與142為動態隨機存取記憶體。於一些實施例中,多個記憶體140與142為雙倍資料率(DDR)記憶體或是靜態隨機存取記憶體。於一些實施例中,控制器電路120可為一數位訊號處理電路、一處理器或一控制晶片等等電路。
如第1圖所示,記憶體140包含儲存空間R11與儲
存空間R12,且記憶體142之總儲存空間R2相同於儲存空間R11。換言之,記憶體140與記憶體142的資料容量互相不對稱。於本例中,記憶體142的資料容量小於記憶體140的資料容量。舉例而言,記憶體140的總儲存空間(即儲存空間R11與R12之總和)為1十億位元組(gigabyte,GB),記憶體142的總儲存空間R2為512百萬位元組(megabyte,MB),其中儲存空間R11與R12各自為512MB。
於一些實施例中,控制器電路120與記憶體140與記憶體142中每一者之間的傳輸頻寬為相同。例如,控制器電路120對記憶體140與記憶體142中每一者之間的傳輸頻寬可為16位元。於一些實施例中,電腦系統100應用的系統平台100A所支援的傳輸頻寬可為32位元。於此條件下,控制器電路120可以同時存取儲存空間R11與總儲存空間R2內的資料。如此,電腦系統100可以同時存取兩個記憶體140與142的資料,來達到更高的運作效能。
於一些相關技術中,若欲存取不對稱的記憶體區(例如為儲存空間R12)內的資料時,系統整體的傳輸頻寬將降低為一半(例如為降低至16位元)。於此些情況下,由於傳輸頻寬降低,系統會增加額外的資料等待時間而降低整體運作效能。
相較於上述相關技術,於一些實施例中,控制器電路120可執行後述第2圖的記憶體管理方法200中的相關操作,以基於系統平台100A的管理規則配置記憶體140與142。如此,可降低電腦系統100因不對稱的資料空間所受到的影
響,以改善整體運作效能。
一併參照第2圖與第3圖,第2圖為根據本案的一些實施例所繪示之記憶體管理方法200的流程圖,且第3圖為根據本案的一些實施例所繪示第1圖中的記憶體140與142的配置方式的示意圖。為易於理解,以下說明將一併參照第1圖的電腦系統100。
於操作S210,基於系統平台100A的一內核配置至少一資料區310至儲存空間R11與記憶體142。
於操作S220,基於系統平台100A的一內核配置資料區320至儲存空間R12,其中資料區320的資料存取頻率低於至少一資料區310的資料存取頻率。
於一些實施例中,系統平台100A為一Linux作業系統。於此些實施例中,如第3圖所示,基於Linux系統內核的記憶體管理規則,至少一資料區310可包含普通(Normal)資料區Normal、高端(HighMem)資料區HighMem與/或可搬移(Moveable)資料區Movable中的至少一者。普通資料區Normal可供存放與系統內核相關的驅動器等資料。高端資料區HighMem與可搬移資料區Movable可供用戶存放一般資料。於此條件下,如第3圖所示,控制器電路120可基於此記憶體管理規則配置普通資料區Normal、高端資料區HighMem與可搬移資料區Movable至儲存空間R11與總儲存空間R2(即記憶體142)。於一些實施例中,控制器電路120可映射至少一資料區310至記憶體140與142的對應位址。
例如,如第3圖所示,位址0x0至位址0x40000000
之間的記憶體區的傳輸頻寬為32位元,且此記憶體區對應至第1圖的儲存空間R11與總儲存空間R2。位址0x40000000至位址0x60000000之間的記憶體區的傳輸頻寬為16位元,且此記憶體區對應至第1圖的儲存空間R12。於一些實施例中,控制器電路120將普通資料區Normal、高端資料區HighMem與可搬移資料區Movable配置於傳輸頻寬為32位元的記憶體區內。
再者,於一些實施例中,控制器電路120可映射資料區320至記憶體140的對應位址。如此,控制器電路120可將資料區320配置於傳輸頻寬為16位元的記憶體區裡。於一些實施例中,資料區320的資料存取頻率低於至少一資料區310的資料存取頻率。於一些實施例中,資料區320每次被存取的時間短於至少一資料區310每次被存取的時間。
於一些實施例中,資料區320用於儲存對記憶體頻寬要求較低的相關應用的資料。於一些實施例中,資料區320不會用以儲存影音解碼器所處理的相關資料,例如可為影像資料、聲音資料、使用者操作介面等等。於一些實施例中,資料區320不會用以儲存用於高影格率(frame per second,FPS)的影像資料的硬體所產生的資料。於一些實施例中,前述的高FPS至少可為60FPS。
舉例而言,如第3圖所示,在系統平台100A為一Linux作業系統的實施例中,資料區320可包含記憶體壓縮(zRAM)資料區zRAM。記憶體壓縮資料區zRAM用於儲存經壓縮後的資料,其中此些資料為久未被存取的資料。藉由上述設置方式,料存取頻率較高的至少一資料區310被配置給傳輸
頻寬較高的記憶體區內,且資料存取頻率相對較低的資料區320被配置給傳輸頻寬較低的記憶體區內。相較於前述的相關技術,傳輸頻寬較低的記憶體區對效能的影響可被降低。
繼續參照第2圖,於操作S230,當至少一資料區310的一使用空間不足時,延伸至少一資料區310至記憶體142。
於一些實施例中,當資料區320的資料量不會耗盡儲存空間R12且至少一資料區310的使用空間不足時,控制器電路120可進一步延伸至少一資料區310至儲存空間R12。
舉例而言,基於Linux系統的內核的記憶體管理規則,記憶體配置是由位址較高的區域往位址較低的區域倒退(fallback)。例如,如倒退次序S3-2所示,當可搬移資料區Movable的資料容量滿了時候,控制器電路120要求位址較低的高端資料區HighMem提供可使用的儲存空間。若當資料容量仍不足夠時,如倒退次序S3-1所示,控制器電路120進一步要求位址更低的普通資料區Normal提供可使用的儲存空間。
倘若資料容量仍不足,如倒退次序S3-3所示,控制器電路120將改要求記憶體142提供可使用的儲存空間。於此情形下,若記憶體壓縮資料區zRAM的資料量沒有佔滿儲存空間R12時,儲存空間R12的部分空間可配置給至少一資料區310。等效而言,控制器電路120延伸至少一資料區310的空間至儲存空間R12。
藉由此種配置方式,可確保記憶體140與142的儲存空間能夠被充分地利用,並同時有效率地使用傳輸頻寬,以
確保整體系統效能。
於一些實施例中,至少一資料區310可為記憶體140內的多個儲存區塊(未繪示),且資料區320可為記憶體142內的多個儲存區塊(未繪示)。於一些實施例中,此些儲存區塊可為記憶體區塊、頁面等等。
上述關於Linux作業系統以及各個類型的資料區用於示例,且本案並不以此為限。各種可適用的作業系統與各個類型的資料區皆為本案所涵蓋的範圍。
上述記憶體管理方法200的多個步驟僅為示例,並非限於上述示例的順序執行。在不違背本揭示內容的各實施例的操作方式與範圍下,在記憶體管理方法200下的各種操作當可適當地增加、替換、省略或以不同順序執行。
於各個實施例中,控制器電路120或記憶體管理方法200的實施方式可為軟體、硬體與/或韌體。舉例而言,控制器電路120中的各個電路或單元可整合為單一積體電路。於一些實施例中,記憶體管理方法200可由具有相應指令的軟體或電腦程式實現,並儲存於一非暫態電腦可讀取媒體內,以供一處理器執行前述的各個操作。或者,控制器電路120可由執行記憶體管理方法200的數位訊號處理電路實現。於另一些實施例中,控制器電路120中的各個電路或單元亦可同時採用軟體、硬體及韌體協同作業。於不同實施例中,控制器電路120與/或記憶體管理方法200的具體實施方式可視實際需求選擇。
於一些實施例中,前述的非暫態電腦可讀取媒體可包含電性、磁性、光學、紅外線與/或半導體系統(或設備或
裝置)。例如,可為半導體或固態記憶體、磁帶、可移除式電腦磁碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、硬磁碟與/或光學磁碟。在使用光學磁碟的一或多個實施例中,非暫態電腦可讀取媒體包含唯讀記憶光碟(CD-ROM)、可重複錄寫光碟(CD-R/W)與/或數位影音光碟(DVD)。
綜上所述,本案實施例提供的電腦系統、記憶體管理方法與非暫態電腦可讀取媒體可兼顧傳輸頻寬的效能以及儲存空間的有效利用,以降低不對稱的儲存空間帶來的影響。
雖然本案已以實施方式揭露如上,然其並非限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧電腦系統
120‧‧‧控制器電路
140、142‧‧‧記憶體
100A‧‧‧系統平台
R11、R12‧‧‧儲存空間
R2‧‧‧總儲存空間
Claims (10)
- 一種電腦系統,操作於一系統平台,該電腦系統包含:複數個記憶體,包含一第一記憶體與一第二記憶體,其中該第一記憶體包含一第一儲存空間與一第二儲存空間,且該第二記憶體的總儲存空間相同於該第一儲存空間;以及一控制器電路,其中該些記憶體並聯耦接至該控制器電路,且該控制器電路用以基於該系統平台的一內核配置至少一第一資料區至該第一儲存空間與該第二記憶體,並配置一第二資料區至該第二儲存空間,其中該第二資料區的一資料存取頻率低於該至少一第一資料區的一資料存取頻率。
- 如請求項1所述的電腦系統,其中當該至少一第一資料區的一資料容量不足時,該控制器電路更用以延伸該至少一第一資料區至該第二儲存空間。
- 如請求項2所述的電腦系統,其中當該至少一第一資料區的該資料容量不足時,該控制器電路更用以要求該第二記憶體提供一可使用儲存空間至該至少一第一資料區,以延伸該至少一第一資料區至該第二儲存空間。
- 如請求項1所述的電腦系統,其中當該系統平台為一Linux作業系統時,該至少一第一資料區包含一普通(Normal)資料區、一高端(HighMem)資料區或一可搬移 (Moveable)資料區中至少一者。
- 如請求項1所述的電腦系統,其中當該系統平台為一Linux作業系統時,該第二資料區包含一記憶體壓縮(zRAM)資料區。
- 一種記憶體管理方法,包含:基於一系統平台的一內核配置至少一第一資料區至一第一記憶體的一第一儲存空間與一第二記憶體,其中該第二記憶體的總儲存空間相同於該第一儲存空間;以及基於該內核配置一第二資料區至該第一記憶體的一第二儲存空間,其中該第二資料區的一資料存取頻率低於該至少一第一資料區的一資料存取頻率。
- 如請求項6所述的記憶體管理方法,更包含:當該至少一第一資料區的一資料容量不足時,延伸該至少一第一資料區至該第二儲存空間。
- 如請求項7所述的記憶體管理方法,其中延伸該至少一第一資料區至該第二儲存空間包含:當該至少一第一資料區的該資料容量不足時,要求該第二記憶體提供一可使用儲存空間至該至少一第一資料區,以延伸該至少一第一資料區至該第二儲存空間。
- 如請求項6所述的記憶體管理方法,其中當 該系統平台為一Linux作業系統時,該第二資料區包含一記憶體壓縮(zRAM)資料區。
- 一種非暫態電腦可讀取媒體,其具有一電腦程式,其中該電腦程式被一處理器執行時,使該處理器執行複數個操作,且該些操作包含:基於一系統平台的一內核配置至少一第一資料區至一第一記憶體的一第一儲存空間與一第二記憶體,其中該第二記憶體的總儲存空間相同於該第一儲存空間;以及基於該內核配置一第二資料區至該第一記憶體的一第二儲存空間,其中該第二資料區的一資料存取頻率低於該至少一第一資料區的一資料存取頻率。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107141735A TWI707230B (zh) | 2018-11-22 | 2018-11-22 | 電腦系統、記憶體管理方法與非暫態電腦可讀取媒體 |
US16/423,585 US10852950B2 (en) | 2018-11-22 | 2019-05-28 | Computer system, memory management method, and non-transitory computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107141735A TWI707230B (zh) | 2018-11-22 | 2018-11-22 | 電腦系統、記憶體管理方法與非暫態電腦可讀取媒體 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202020667A TW202020667A (zh) | 2020-06-01 |
TWI707230B true TWI707230B (zh) | 2020-10-11 |
Family
ID=70770411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107141735A TWI707230B (zh) | 2018-11-22 | 2018-11-22 | 電腦系統、記憶體管理方法與非暫態電腦可讀取媒體 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10852950B2 (zh) |
TW (1) | TWI707230B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11379117B2 (en) * | 2020-06-19 | 2022-07-05 | Western Digital Technologies, Inc. | Storage system and method for using host-assisted variable zone speed grade modes to minimize overprovisioning |
CN113885787B (zh) * | 2021-06-08 | 2022-12-13 | 荣耀终端有限公司 | 一种存储器管理方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201333696A (zh) * | 2007-11-19 | 2013-08-16 | Lsi Corp | 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 |
TW201342068A (zh) * | 2008-09-17 | 2013-10-16 | Silicon Motion Inc | 快閃記憶裝置及其運作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU1447295A (en) * | 1993-12-30 | 1995-08-01 | Connectix Corporation | Virtual memory management system and method using data compression |
KR101439844B1 (ko) * | 2007-11-14 | 2014-09-17 | 삼성전자주식회사 | 저장 공간 할당 방법 및 장치 |
US20120278532A1 (en) * | 2010-11-24 | 2012-11-01 | Wladyslaw Bolanowski | Dynamically configurable embedded flash memory for electronic devices |
KR20140035769A (ko) * | 2012-09-14 | 2014-03-24 | 삼성전자주식회사 | 연속 촬영 이미지 데이터를 처리할 수 있는 방법들과 장치들 |
US9767529B1 (en) * | 2013-12-18 | 2017-09-19 | Mediatek Inc. | Method and apparatus for accessing compressed data and/or uncompressed data of image frame in frame buffer |
US9792227B2 (en) * | 2014-08-19 | 2017-10-17 | Samsung Electronics Co., Ltd. | Heterogeneous unified memory |
-
2018
- 2018-11-22 TW TW107141735A patent/TWI707230B/zh active
-
2019
- 2019-05-28 US US16/423,585 patent/US10852950B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201333696A (zh) * | 2007-11-19 | 2013-08-16 | Lsi Corp | 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 |
TW201342068A (zh) * | 2008-09-17 | 2013-10-16 | Silicon Motion Inc | 快閃記憶裝置及其運作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200167073A1 (en) | 2020-05-28 |
US10852950B2 (en) | 2020-12-01 |
TW202020667A (zh) | 2020-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6378325B2 (ja) | 非対称な記憶容量を有する複数チャネルメモリアーキテクチャにわたってデータを均一にインターリーブするためのシステムおよび方法 | |
US9304828B2 (en) | Hierarchy memory management | |
JP6553828B1 (ja) | 奇数モジュラスメモリチャネルインターリービングのためのシステムおよび方法 | |
US9983930B2 (en) | Systems and methods for implementing error correcting code regions in a memory | |
JP6297208B2 (ja) | システムオンチップ用のメモリを拡張するためのシステムおよび方法 | |
TWI707230B (zh) | 電腦系統、記憶體管理方法與非暫態電腦可讀取媒體 | |
WO2015156937A1 (en) | Multi-level memory hierarchy | |
JP6674460B2 (ja) | 不均一メモリアーキテクチャにおける改善されたレイテンシのためのシステムおよび方法 | |
US10061644B2 (en) | Systems and methods for implementing error correcting code in a memory | |
JP5706833B2 (ja) | グラフィクスメモリの非グラフィクス使用 | |
US9530466B1 (en) | System and method for memory access dynamic mode switching | |
JP6676052B2 (ja) | 不均一メモリアーキテクチャにおける改善されたレイテンシを可能にするためのシステムおよび方法 | |
TWM528459U (zh) | 資料儲存系統以及電子裝置 | |
US11392470B2 (en) | Information handling system to allow system boot when an amount of installed memory exceeds processor limit | |
CN111240576A (zh) | 计算机系统、存储器管理方法与非暂态计算机可读介质 | |
US20230205420A1 (en) | Flexible memory system | |
US20160077959A1 (en) | System and Method for Sharing a Solid-State Non-Volatile Memory Resource | |
US20130308409A1 (en) | Integrated circuit device, power management module and method for providing power management | |
TW201541250A (zh) | 嵌入式裝置、嵌入式裝置之記憶體硬碟以及存取嵌入式裝置之記憶體硬碟之方法 |