TWI503661B - 移動智慧型終端及其記憶體動態管理方法 - Google Patents
移動智慧型終端及其記憶體動態管理方法 Download PDFInfo
- Publication number
- TWI503661B TWI503661B TW098128224A TW98128224A TWI503661B TW I503661 B TWI503661 B TW I503661B TW 098128224 A TW098128224 A TW 098128224A TW 98128224 A TW98128224 A TW 98128224A TW I503661 B TWI503661 B TW I503661B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- smart terminal
- mobile smart
- user
- configuration
- Prior art date
Links
Landscapes
- Telephone Function (AREA)
Description
本發明係關於一種移動智慧型終端及其記憶體動態管理方法。
在電腦系統或嵌入式系統中,記憶體的使用頻率很高。而隨著電子技術不斷發展,手機、PDA、數位相機等移動智慧型終端已經在生活中被廣泛使用,因此如何使得移動智慧型終端的記憶體得到高效的使用顯得十分的重要。
目前,移動智慧型終端常用的記憶體管理方法為分區塊記憶體管理方法,這種記憶體管理方法需要預先配置可供分配的記憶體區塊的個數和記憶體區塊的大小,所配置的記憶體區塊個數以及記憶體區塊大小是固定的,這樣可能導致有些大小的記憶體區塊不夠使用而有些大小的記憶體區塊卻又沒有被利用,因此使得記憶體不能夠得到高效的使用。
鑒於以上內容,有必要提供一種移動智慧型終端及其記憶體動態管理方法,其可在移動智慧型終端開機的時候根據該移動智慧型終端在上一次關機時所存儲的用戶對記憶體的實際使用狀況對記憶體的配置進行動態調整。
所述移動智慧型終端,包括記憶體和動態記憶體管理單元,所述
記憶體包括:動態記憶體配置列表,用於存儲用戶對該移動智慧型終端記憶體的實際使用狀況;所述記憶體管理單元包括:讀取模組,用於讀取記憶體中存儲的用戶對該移動智慧型終端記憶體的實際使用狀況;配置模組,用於根據上述所讀取的用戶對記憶體的實際使用狀況調整該移動智慧型終端的記憶體配置;統計模組,用於當對該移動智慧型終端的記憶體配置進行調整後即時統計用戶對記憶體的實際使用狀況;存儲模組,用於當該移動智慧型終端關機時將上述所統計的用戶對記憶體的實際使用狀況存儲在記憶體的動態記憶體配置列表中。
所述移動智慧型終端記憶體動態管理方法,該移動智慧型終端包括動態記憶體管理單元和記憶體,該方法包括如下步驟:(a)當該移動智慧型終端開機時,判斷該移動智慧型終端是否為第一次開機使用,若為第一次開機使用,動態記憶體管理單元讀取所述記憶體中存儲的默認記憶體配置狀況並對記憶體進行初始化配置,然後轉入步驟(c),否則讀取所述記憶體中存儲的用戶對記憶體的實際使用狀況,轉入步驟(b);(b)動態記憶體管理單元根據上述所讀取的用戶對記憶體的實際使用狀況對該移動智慧型終端的記憶體配置進行動態調整;(c)動態記憶體管理單元即時統計用戶對該移動智慧型終端的記憶體的實際使用狀況;(d)當該移動智慧型終端關機時,動態記憶體管理單元將上述所統計的用戶對記憶體的實際使用狀況存儲在記憶體中。
相較於習知技術,所述的移動智慧型終端及其記憶體動態管理方法,可根據用戶對記憶體的實際使用狀況對移動智慧型終端的記憶體配置進行動態調整,使得記憶體在充分滿足用戶需求的同時
也提高了記憶體的使用效率。
1‧‧‧移動智慧型終端
2‧‧‧動態記憶體管理單元
3‧‧‧記憶體
21‧‧‧讀取模組
22‧‧‧配置模組
23‧‧‧統計模組
24‧‧‧存儲模組
31‧‧‧默認記憶體配置列表
32‧‧‧動態記憶體配置列表
S00‧‧‧移動智慧型終端開機
S01‧‧‧是否為第一次開機?
S02‧‧‧讀取記憶體中的動態記憶體配置列表
S03‧‧‧調整移動智慧型終端的記憶體配置
S04‧‧‧即時統計記憶體的實際使用狀況
S05‧‧‧是否關機?
S06‧‧‧將記憶體的實際使用狀況存儲於動態記憶體配置列表中
S010‧‧‧讀取記憶體中的默認記憶體配置列表
S011‧‧‧初始化移動智慧型終端的記憶體配置
圖1係為本發明移動智慧型終端較佳實施例的架構圖。
圖2係為本發明較佳實施例中根據用戶對不同記憶體分區中記憶體區塊的使用峰值和使用頻率來動態調整記憶體配置的示意圖。
圖3係為本發明移動智慧型終端記憶體動態管理方法的流程圖。
如圖1所示,係本發明移動智慧型終端較佳實施例的架構圖。該移動智慧型終端1可以為手機、數位相機或PDA等可移動智慧設備,其包含一動態記憶體管理單元2和一記憶體3。所述動態記憶體管理單元2用於根據用戶對移動智慧型終端1的記憶體的實際使用狀況對該記憶體的配置進行動態調整。所述記憶體3包含一默認記憶體配置列表31和一動態記憶體配置列表32。所述默認記憶體配置列表31用於存儲所述移動智慧型終端1的默認記憶體配置狀況,其用於對該移動智慧型終端1在第一次開機使用時進行初始化記憶體配置;所述動態記憶體配置列表32用於存儲用戶對所述移動智慧型終端1的記憶體的實際使用狀況,其用於對所述移動智慧型終端1的記憶體配置進行動態調整。所述記憶體的實際使用狀況是指用戶對該記憶體的不同記憶體分區中記憶體區塊的使用峰值以及使用頻率,如圖2中所示的用戶對大小為30Bytes的記憶體區塊所屬記憶體分區的使用頻率為650次,使用峰值為400個記憶體區塊,該使用峰值和使用頻率是指所述移動智慧型終端1在本次開機前所統計的各記憶體分區中記憶體區塊的最大使用個數以及使用次數。
所述動態記憶體管理單元2包括一讀取模組21、一配置模組22、一統計模組23以及一存儲模組24。所述讀取模組21用於讀取所述記憶體3中存儲的記憶體配置列表,具體而言,當所述移動智慧型終端1為第一次開機使用時,則讀取所述默認記憶體配置列表31中存儲的默認記憶體配置狀況,否則讀取所述動態記憶體配置列表32中存儲的用戶對該移動智慧型終端1的記憶體的實際使用狀況。所述配置模組22用於根據所述讀取模組21讀取的默認記憶體配置狀況對記憶體進行初始化配置,或根據用戶對該記憶體的使用峰值及使用頻率對記憶體的配置進行動態調整;所述統計模組23用於即時統計用戶對該移動智慧型終端1的記憶體中各分區的實際使用狀況。所述存儲模組24用於當所述移動智慧型終端1關機時將上述統計模組23所統計的用戶對記憶體的實際使用狀況存儲在所述動態記憶體配置列表32中,具體而言,該存儲方法需要先將該動態記憶體配置列表32清空,然後再將該統計模組23所統計的用戶對記憶體的使用峰值及使用頻率存儲在該動態記憶體配置列表32中。
如圖2所示,係本發明較佳實施例中根據用戶對不同記憶體分區中記憶體區塊的使用峰值和使用頻率來動態調整記憶體配置的示意圖。如圖所示,所述記憶體區塊大小分別為30Bytes、50Bytes、80Bytes、100Bytes、150Bytes、200Bytes所屬的記憶體分區中記憶體區塊個數的原始配置分別為500、1000、700、500、300、200,該記憶體的總容量為256000Bvtes。其中,所述的使用頻率與使用峰值均為所述移動智慧型終端1於本次開機前所統計的用戶對不同記憶體分區中記憶體區塊的使用峰值和使用頻率,並於關機時將該統計的資料保存在所述記憶體3的動態記憶體配置
列表32中;在本較佳實施例中,所述移動終端1在每次開機時根據用戶對記憶體的實際使用狀況對記憶體的配置進行調整,所述的原始配置是指該移動智慧型終端1在本次開機之前的記憶體配置狀況,或者是該移動智慧型終端1在第一次開機使用時的默認記憶體配置狀況。本較佳實施例中根據用戶對不同記憶體分區中記憶體區塊的使用峰值動態調整記憶體區塊的配置通過以下公式來實現:依使用峰值調整後記憶體區塊個數=記憶體區塊使用峰值/k;其中0<k<1,可以根據需要設置k的取值,為方便說明,在本實施例中,取k的值為0.8。如圖2所示,30Bytes記憶體分區中的記憶體區塊原始配置為500個,使用峰值為400個,當該移動智慧型終端1再次開機時通過以上所述公式對該30Bytes記憶體分區中的記憶體區塊的個數重新調整為400/0.8=500,該個數與原始配置相同,其中所述30Bytes記憶體分區是指該記憶體分區中所有的記憶體區塊大小為30Bytes;50Bytes記憶體分區的記憶體區塊原始配置為1000個,使用峰值為580個,通過以上公式對該50Bytes記憶體分區中的記憶體區塊的個數重新調整為580/0.8=725;同理,根據上述方法將80Bytes記憶體分區、100Bytes記憶體分區、150Bytes記憶體分區以及200Bytes記憶體分區的記憶體區塊由原始配置的記憶體區塊個數700、500、300、200分別調整為875、400、250、250。
圖2中,依使用頻率配置剩餘記憶體是指將通過使用峰值調整記憶體區塊的配置以後,將所剩餘的記憶體容量按比例分配到使用頻率較高的n個記憶體區塊中,n可以按實際記憶體分區的個數而
具體設定,為方便說明,在本實施例中將所述的剩餘記憶體容量分配到使用頻率排在前三的記憶體區塊中。從圖2中可以看出,通過依使用峰值調整記憶體區塊配置以後,所有分區的總容量之和為248750Bytes,還剩餘的記憶體容量為256000Bytes-248750Bytes=7250Bytes,然後從圖2中可以看出使用頻率排在前三的記憶體分區分別是50Bytes記憶體分區、200Bytes記憶體分區和80Bytes記憶體分區中的記憶體區塊,其使用頻率的比例為2:2:1,因此需要將剩餘的7250Bytes的記憶體容量按2:2:1的比例分配到上述50Bytes記憶體分區、200Bytes記憶體分區和80Bytes記憶體分區中,具體而言,50Bytes的記憶體區塊可分得7250Bytes×0.4=2900Bytes,其可組成大小為50Bytes的記憶體區塊個數為2900Bytes/50Bytes=58,因此將剩餘的記憶體容量分配以後50Bytes分區中的記憶體區塊個數為725+58=783;按同樣的方法將剩餘的容量分配到200Bytes記憶體分區和80Bytes記憶體分區以後,80Bytes記憶體分區中記憶體區塊的個數為875+18=893,200Bytes記憶體分區中記憶體區塊的個數為250+14=264,而其他記憶體分區中記憶體區塊的個數仍保持為依使用峰值調整後的個數。
如圖3所示,係本發明移動智慧型終端記憶體動態管理方法的流程圖。
步驟S00,將移動智慧型終端1開機。
步驟S01,判斷該移動智慧型終端1是否為第一次開機使用。
若在步驟S01中判斷該移動智慧型終端1為第一次開機使用,則轉入步驟S010,否則轉入步驟S02。
步驟S010,讀取模組21讀取記憶體3中的默認記憶體配置列表31。
步驟S011,配置模組22根據上述讀取模組21讀取的默認記憶體配置列表31中存儲的默認記憶體配置狀況初始化所述移動智慧型終端1的記憶體配置,轉入步驟S04。
步驟S02,讀取模組21讀取記憶體3中的動態記憶體配置列表32。
步驟S03,配置模組22根據上述讀取模組21讀取的動態記憶體配置列表32中存儲的用戶對記憶體的實際使用狀況對移動智慧型終端1的記憶體配置進行動態調整。
步驟S04,統計模組23即時統計用戶對移動智慧型終端1的記憶體的實際使用狀況。
步驟S05,判斷移動智慧型終端1是否關機。
若步驟S05中判斷移動智慧型終端1關機,則轉入步驟S06,否則返回步驟S04。
步驟S06,存儲模組24將統計模組23所統計的用戶對移動智慧型終端1的記憶體的實際使用狀況存儲於記憶體3的動態記憶體配置列表32中。
以上所述僅為本發明之較佳實施例而已,且已達廣泛之使用功效,凡其他未脫離本發明所揭示之精神下所完成之均等變化或修飾
,均應包含在下述之申請專利範圍內。
S00‧‧‧移動智慧型終端開機
S01‧‧‧是否為第一次開機?
S02‧‧‧讀取記憶體中的動態記憶體配置列表
S03‧‧‧調整移動智慧型終端的記憶體配置
S04‧‧‧即時統計記憶體的實際使用狀況
S05‧‧‧是否關機?
S06‧‧‧將記憶體的實際使用狀況存儲於動態記憶體配置列表中
S010‧‧‧讀取記憶體中的默認記憶體配置列表
S011‧‧‧初始化移動智慧型終端的記憶體配置
Claims (7)
- 一種移動智慧型終端,包括記憶體和動態記憶體管理單元,所述記憶體包括:動態記憶體配置列表,用於存儲用戶對該移動智慧型終端記憶體的實際使用狀況;所述動態記憶體管理單元包括:讀取模組,用於當該移動智慧型終端開機時讀取記憶體中存儲的用戶對該移動智慧型終端記憶體的實際使用狀況;配置模組,用於根據上述所讀取的用戶對記憶體的實際使用狀況調整該移動智慧型終端的記憶體配置,其中,該調整記憶體配置包括步驟(b1)將使用者對各記憶體分區中記憶體區塊的使用峰值除以常數k的值配置為各記憶體分區中記憶體區塊的個數,其中,k為預設值,且0<k<1,(b2)確定使用者對記憶體使用頻率較高的n個記憶體分區的使用頻率之比,其中,n為預設值,以及(b3)將在步驟(b1)中對記憶體區塊進行配置後所剩餘的記憶體容量按上述頻率之比分配到上述的n個記憶體分區中;統計模組,用於當對該移動智慧型終端的記憶體配置進行調整後即時統計用戶對記憶體的實際使用狀況;存儲模組,用於當該移動智慧型終端關機時將上述所統計的用戶對記憶體的實際使用狀況存儲在記憶體的動態記憶體配置列表中。
- 如申請專利範圍第1項所述的移動智慧型終端,所述記憶體還包括:默認記憶體配置列表,用於存儲該移動智慧型終端記憶體的默認配置狀況;所述讀取模組,還用於當該移動智慧型終端為第一次開機使用時讀取記 憶體中存儲的記憶體的默認配置狀況;及所述配置模組,還用於當該移動智慧型終端為第一次開機使用時根據上述讀取的記憶體的默認配置狀況對該移動智慧型終端的記憶體進行初始化配置。
- 如申請專利範圍第1項所述的移動智慧型終端,所述記憶體的實際使用狀況是指用戶對不同記憶體分區中記憶體區塊的使用峰值以及使用頻率。
- 如申請專利範圍第1項所述的移動智慧型終端,該移動智慧型終端為手機、數位相機或PDA。
- 一種移動智慧型終端記憶體動態管理方法,該移動智慧型終端包括動態記憶體管理單元和記憶體,該方法包括如下步驟:(a)當該移動智慧型終端開機時,判斷該移動智慧型終端是否為第一次開機使用,若為第一次開機使用,動態記憶體管理單元讀取所述記憶體中存儲的默認記憶體配置狀況並對記憶體進行初始化配置,然後轉入步驟(c),否則讀取所述記憶體中存儲的用戶對記憶體的實際使用狀況,然後轉入步驟(b);(b)動態記憶體管理單元根據上述所讀取的用戶對記憶體的實際使用狀況對該移動智慧型終端的記憶體配置進行調整,其中,該調整記憶體配置包括步驟(b1)將使用者對各記憶體分區中記憶體區塊的使用峰值除以常數k的值配置為各記憶體分區中記憶體區塊的個數,其中,k為預設值,且0<k<1,(b2)確定使用者對記憶體使用頻率較高的n個記憶體分區的使用頻率之比,其中,n為預設值,以及(b3)將在步驟(b1)中對記憶體區塊進行配置後所剩餘的記憶體容量按上述頻率之比分配到上述的n個記憶體分區中;(c)動態記憶體管理單元即時統計用戶對該移動智慧型終端的記憶體的實際使用狀況; (d)當該移動智慧型終端關機時,動態記憶體管理單元將上述所統計的用戶對記憶體的實際使用狀況存儲在記憶體中。
- 如申請專利範圍第5項所述的移動智慧型終端記憶體動態管理方法,所述記憶體的實際使用狀況是指用戶對不同記憶體分區中記憶體區塊的使用峰值以及使用頻率。
- 如申請專利範圍第5項所述的移動智慧型終端記憶體動態管理方法,該移動智慧型終端為手機、數位相機或PDA。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098128224A TWI503661B (zh) | 2009-08-21 | 2009-08-21 | 移動智慧型終端及其記憶體動態管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098128224A TWI503661B (zh) | 2009-08-21 | 2009-08-21 | 移動智慧型終端及其記憶體動態管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201107969A TW201107969A (en) | 2011-03-01 |
TWI503661B true TWI503661B (zh) | 2015-10-11 |
Family
ID=44835462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098128224A TWI503661B (zh) | 2009-08-21 | 2009-08-21 | 移動智慧型終端及其記憶體動態管理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI503661B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363468B1 (en) * | 1999-06-22 | 2002-03-26 | Sun Microsystems, Inc. | System and method for allocating memory by partitioning a memory |
TW200500877A (en) * | 2003-02-20 | 2005-01-01 | Ibm | Dynamic processor redistribution between partitions in a computing system |
US6985976B1 (en) * | 2002-02-22 | 2006-01-10 | Teja Technologies, Inc. | System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks |
US20070143359A1 (en) * | 2005-12-19 | 2007-06-21 | Yahoo! Inc. | System and method for recovery from failure of a storage server in a distributed column chunk data store |
CN101221527A (zh) * | 2007-01-08 | 2008-07-16 | 上海宇梦通信科技有限公司 | Linux平台物理内存信息监测系统 |
-
2009
- 2009-08-21 TW TW098128224A patent/TWI503661B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363468B1 (en) * | 1999-06-22 | 2002-03-26 | Sun Microsystems, Inc. | System and method for allocating memory by partitioning a memory |
US6985976B1 (en) * | 2002-02-22 | 2006-01-10 | Teja Technologies, Inc. | System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks |
TW200500877A (en) * | 2003-02-20 | 2005-01-01 | Ibm | Dynamic processor redistribution between partitions in a computing system |
US7290260B2 (en) * | 2003-02-20 | 2007-10-30 | International Business Machines Corporation | Dynamic processor redistribution between partitions in a computing system |
US20070143359A1 (en) * | 2005-12-19 | 2007-06-21 | Yahoo! Inc. | System and method for recovery from failure of a storage server in a distributed column chunk data store |
CN101221527A (zh) * | 2007-01-08 | 2008-07-16 | 上海宇梦通信科技有限公司 | Linux平台物理内存信息监测系统 |
Also Published As
Publication number | Publication date |
---|---|
TW201107969A (en) | 2011-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230418523A1 (en) | Managing Operational State Data in Memory Module | |
US10983697B2 (en) | Apparatus and method to share host system RAM with mass storage memory RAM | |
CN109617829B (zh) | 一种业务请求数据的处理方法、装置及系统 | |
CN101937397B (zh) | 移动智能终端及其内存动态管理方法 | |
CN110209348B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
US9117531B2 (en) | User selectable balance between density and reliability | |
US20200264795A1 (en) | Data deposition method | |
CN103838353A (zh) | 一种控制处理器运行的方法及终端 | |
KR20110121362A (ko) | 메모리 풀에서 메모리 단편화를 방지하는 데이터 관리 방법 | |
WO2018072443A1 (zh) | 一种充电方法、设备及存储介质 | |
WO2024060682A9 (zh) | 内存管理方法、装置、内存管理器、设备及存储介质 | |
TWI503661B (zh) | 移動智慧型終端及其記憶體動態管理方法 | |
CN113064551A (zh) | 数据写入、搬移、清理信息发送方法、装置及文件系统 | |
WO2015135281A1 (zh) | 基于自动精简配置的资源分配方法及装置 | |
CN107670276A (zh) | 游戏应用控制方法及设备 | |
WO2016023276A1 (zh) | 一种存储卡的数据处理方法及装置 | |
CN108446078B (zh) | 一种信息的存储控制方法 | |
CN114138622A (zh) | 一种业务处理方法、系统、设备及计算机可读存储介质 | |
US7246132B2 (en) | Method of storing compressed data | |
CN113259975A (zh) | 网络游戏连接方法、电子设备和计算机可读介质 | |
KR100758282B1 (ko) | 비트맵 메모리를 이용한 메모리 관리 장치 및 그 방법 | |
CN110719229B (zh) | 云卡流量的均衡方法、云卡服务器及计算机可读存储介质 | |
CN109982110A (zh) | 用于视频播放的方法和装置 | |
CN116938849A (zh) | 流表规格智能调整方法及相关设备 | |
KR102398567B1 (ko) | 소형 셀 캐시 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |