TWI450091B - System and method for managing a memory - Google Patents
System and method for managing a memory Download PDFInfo
- Publication number
- TWI450091B TWI450091B TW097149789A TW97149789A TWI450091B TW I450091 B TWI450091 B TW I450091B TW 097149789 A TW097149789 A TW 097149789A TW 97149789 A TW97149789 A TW 97149789A TW I450091 B TWI450091 B TW I450091B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- memory block
- block
- peak usage
- blocks
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 15
- 238000007726 management method Methods 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 claims 2
- 238000000354 decomposition reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000013467 fragmentation Methods 0.000 description 7
- 238000006062 fragmentation reaction Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
- Memory System (AREA)
Description
本發明涉及一種記憶體管理系統及方法,尤其涉及一種應用於移動裝置中的記憶體管理系統及方法。 The present invention relates to a memory management system and method, and more particularly to a memory management system and method for use in a mobile device.
動態記憶體配置在電腦或嵌入式系統中關係到軟體的執行效率,包括配置/釋放速度與同時可執行的程式數目。 Dynamic memory configuration is related to the execution efficiency of software in a computer or embedded system, including configuration/release speed and the number of programs that can be executed at the same time.
在即時作業系統(Real-Time Operating System,RTOS)中,特別強調應用程式的反應速度,因此經常會採用記憶體區塊資源區(Partition Memory Pool)來動態配置記憶體。這種方法的優點是配置及釋放速度快,配置時間在任何情況下是一致的,不隨使用狀況而變化。 In the Real-Time Operating System (RTOS), the application's response speed is especially emphasized. Therefore, the Memory Partition Memory Pool is often used to dynamically configure the memory. The advantage of this method is that the configuration and release speed is fast, the configuration time is consistent in any case, and does not change with the use condition.
但是,這種方法的缺點是:(1)需事先規劃每一個記憶體區塊劃分後得到的子區塊的大小與數目;(2)存在內部碎裂的問題。 However, the disadvantages of this method are: (1) the size and number of sub-blocks obtained after each memory block division are planned in advance; (2) there is a problem of internal fragmentation.
鑒於以上內容,有必要提供一種記憶體管理系統及方法,當移動裝置啟動後,可根據實際使用狀況動態調整記憶體區塊的配置。 In view of the above, it is necessary to provide a memory management system and method, and when the mobile device is activated, the configuration of the memory block can be dynamically adjusted according to actual usage conditions.
一種記憶體管理系統,應用於移動裝置中,所述系統包括:初始化模組,用於當移動裝置啟動時,初始化記憶體區塊;統計模組 ,用於統計記憶體區塊的尖峰使用率及平均破碎率,同時記錄統計次數T;所述統計模組,還用於在每次記錄統計次數T時,判斷該移動裝置是否是第一次進行記憶體區塊配置,及當第一次進行記憶體區塊配置時判斷是否T>T1,或者當不是第一次進行記憶體區塊配置時判斷是否T>T2,其中,T1和T2為預設值,且T1 T2;第一調整模組,用於當T>T1或T>T2時,重置統計次數T,並調整尖峰使用率最高與最低的記憶體區塊P1、P2,將尖峰使用率最低的的記憶體區塊P2轉換成尖峰使用率最高的記憶體區塊P1;第二調整模組,用於調整尖峰使用率大於預設的尖峰使用率中平均破碎率最高的記憶體區塊P3,及區塊大小恰小於P3的記憶體區塊P4,當P3的實際使用大小接近於P3本身時,將P3調小,當P3的實際使用大小接近於P4的大小時,將P4調大;組合模組,用於將第一調整模組和第二調整模組中調整後剩餘的部分R1和R2組合成數個P1區塊,剩餘部分記為R3,R3可於下一次調整記憶體區塊的配置時被重複利用。 A memory management system is applied to a mobile device, the system comprising: an initialization module, configured to initialize a memory block when the mobile device is started; a statistical module For counting the peak usage rate and the average breaking rate of the memory block, and recording the statistical number T; the statistical module is further configured to determine whether the mobile device is the first time each time the statistical number T is recorded Perform memory block configuration, and determine whether T>T1 when the memory block configuration is performed for the first time, or determine whether T>T2 when not the first memory block configuration, where T1 and T2 are Preset value, and T1 T2; the first adjustment module is used to reset the statistical number T when T>T1 or T>T2, and adjust the memory block P1 and P2 with the highest and lowest peak usage rate. The memory block P2 with the lowest peak usage rate is converted into the memory block P1 with the highest peak usage rate; the second adjustment module is used for adjusting the memory with the highest average breaking rate among the peak usage rates of the preset spikes. The body block P3, and the block size is just smaller than the memory block P4 of P3. When the actual use size of P3 is close to P3 itself, P3 is adjusted to be small. When the actual use size of P3 is close to the size of P4, P4 is adjusted; the combination module is used to adjust the first adjustment module and the second After adjusting the whole module in the remaining part of R1 and R2 are combined into a plurality of blocks P1, the remaining portion referred to as R3, R3 may be an adjustment to be reused when the memory block is arranged.
一種記憶體管理方法,應用於移動裝置中,該方法包括如下步驟:當移動裝置啟動時,初始化記憶體區塊,並開始統計記憶體區塊的尖峰使用率及平均破碎率;每隔設定的間隔次數,重新調整一次記憶體區塊的配置,包括:調整尖峰使用率最高與最低的記憶體區塊P1、P2,將尖峰使用率最低的的記憶體區塊P2轉換成尖峰使用率最高的記憶體區塊P1,剩餘部分記為R1;調整尖峰使用率大於預設的尖峰使用率中平均破碎率最高的記憶體區塊P3,及區塊大小恰小於P3的記憶體區塊P4,當P3的實際使用大小接近於P3本身時,將P3調小,當P3的實際使用大小接近於P4的大小時,將P4調大,剩餘部分記為R2;將調整後剩餘的部分R1和R2組合成 數個P1區塊,剩餘部分記為R3,R3可於下一次調整記憶體區塊的配置時被重複利用。 A memory management method is applied to a mobile device, the method comprising the steps of: initializing a memory block when the mobile device is started, and starting to measure a peak usage rate and an average breaking rate of the memory block; The number of intervals, re-adjust the configuration of the memory block, including: adjusting the memory block P1 and P2 with the highest and lowest peak usage, and converting the memory block P2 with the lowest peak usage to the highest peak usage. The memory block P1, the remaining part is denoted as R1; the adjusted peak usage rate is greater than the memory peak block P3 with the highest average breaking rate among the preset peak usage rates, and the memory block P4 whose block size is just smaller than P3, when When the actual use size of P3 is close to P3 itself, P3 is reduced. When the actual use size of P3 is close to the size of P4, P4 is increased, and the rest is recorded as R2; the remaining parts R1 and R2 are combined after adjustment. to make Several P1 blocks, the remainder is denoted as R3, and R3 can be reused the next time the memory block configuration is adjusted.
相較於習知技術,所述的記憶體管理系統及方法,當移動裝置啟動後,可根據實際使用狀況動態調整記憶體區塊的配置,提高了記憶體的使用效率,降低了記憶體區塊中的內部碎裂。 Compared with the prior art, the memory management system and method can dynamically adjust the configuration of the memory block according to the actual use condition after the mobile device is started, thereby improving the use efficiency of the memory and reducing the memory area. Internal fragmentation in the block.
1‧‧‧微處理器 1‧‧‧Microprocessor
2‧‧‧儲存器 2‧‧‧Storage
3‧‧‧輸入/輸出設備 3‧‧‧Input/output devices
20‧‧‧記憶體管理單元 20‧‧‧Memory Management Unit
21‧‧‧記憶體 21‧‧‧ memory
200‧‧‧初始化模組 200‧‧‧Initialization module
201‧‧‧統計模組 201‧‧‧Statistical Module
202‧‧‧第一調整模組 202‧‧‧First adjustment module
203‧‧‧第二調整模組 203‧‧‧Second adjustment module
204‧‧‧組合模組 204‧‧‧ combination module
S41‧‧‧初始化記憶體區塊 S41‧‧‧ Initialize memory block
S42‧‧‧統計記憶體區塊的尖峰使用率及平均破碎率,記錄統計次數T S42‧‧‧ Peak usage rate and average fragmentation rate of statistical memory blocks, record statistics number T
S43‧‧‧判斷是否是第一次記憶體區塊配置 S43‧‧‧Determination of whether it is the first memory block configuration
S44‧‧‧判斷是否T>T2 S44‧‧‧Judge whether T>T2
S45‧‧‧判斷是否T>T1 S45‧‧‧Judge whether T>T1
S46‧‧‧重置T,調整尖峰使用率最高與最低的記憶體區塊P1、P2 S46‧‧‧Reset T to adjust the highest and lowest peak memory blocks P1 and P2
S47‧‧‧調整尖峰使用率大於Ub中平均破碎率最高的記憶體區塊P3及區塊大小恰小於P3的記憶體區塊P4 S47‧‧‧ Adjusting the peak usage rate is higher than the memory block P3 with the highest average breaking rate in Ub and the memory block P4 with the block size just smaller than P3
S48‧‧‧將調整後剩餘的部分組合成數個P1區塊 S48‧‧‧ Combine the remaining parts of the adjustment into several P1 blocks
圖1係本發明一種記憶體管理系統較佳實施方式的硬體架構圖。 1 is a hardware architecture diagram of a preferred embodiment of a memory management system of the present invention.
圖2係圖1中記憶體管理單元的功能模組圖。 2 is a functional block diagram of the memory management unit of FIG. 1.
圖3係本發明一種記憶體管理方法較佳實施方式的流程圖。 3 is a flow chart of a preferred embodiment of a memory management method of the present invention.
圖4係本發明記憶體區塊的示意圖。 Figure 4 is a schematic illustration of a memory block of the present invention.
圖5係圖4中步驟S46的記憶體調整示意圖。 FIG. 5 is a schematic diagram of the memory adjustment of step S46 in FIG. 4.
圖6係圖4中步驟S46的具體流程圖。 FIG. 6 is a specific flowchart of step S46 in FIG.
圖7係圖4中步驟S47的記憶體調整示意圖。 FIG. 7 is a schematic diagram of the memory adjustment of step S47 in FIG. 4.
圖8係圖4中步驟S47的具體流程圖。 FIG. 8 is a specific flowchart of step S47 in FIG.
圖9係圖4中步驟S48的記憶體調整示意圖。 FIG. 9 is a schematic diagram of the memory adjustment of step S48 in FIG. 4.
參閱圖1所示,係本發明一種記憶體管理系統較佳實施方式的硬體架構圖。該系統主要包括微處理器1、儲存器2及輸入/輸出設備3,所述微處理器1與所述儲存器2和輸入/輸出設備3相連。其中,所述儲存器2包括記憶體21和記憶體管理單元20。所述記憶體21用於儲存各種資料(如短信或MMS,其來源可能是其他移動裝置,或是從網路下載得到)。所述記憶體21可以是動態隨機存 取記憶體(Dynamic Random Access Memory,DRAM)或同步動態隨機存取記憶體(Synchronous DRAM,SDRAM)等。輸入/輸出設備3包括LCD液晶顯示幕和鍵盤等,分別用於顯示資料及輸入資訊。 Referring to FIG. 1, a hardware architecture diagram of a preferred embodiment of a memory management system of the present invention is shown. The system mainly comprises a microprocessor 1, a memory 2 and an input/output device 3, which is connected to the storage 2 and the input/output device 3. The storage 2 includes a memory 21 and a memory management unit 20. The memory 21 is used to store various materials (such as short messages or MMS, which may be sourced from other mobile devices or downloaded from the Internet). The memory 21 can be dynamically stored Take a memory (Dynamic Random Access Memory, DRAM) or Synchronous DRAM (SDRAM). The input/output device 3 includes an LCD liquid crystal display screen and a keyboard, etc., for displaying data and inputting information, respectively.
所述微處理器1用於調用所述記憶體管理單元20,並控制所述記憶體管理單元20的執行。所述記憶體管理單元20用於當移動裝置啟動後,根據實際使用狀況動態調整記憶體21的配置。 The microprocessor 1 is used to call the memory management unit 20 and control the execution of the memory management unit 20. The memory management unit 20 is configured to dynamically adjust the configuration of the memory 21 according to actual usage conditions after the mobile device is activated.
參閱圖2所示,係圖1中所示記憶體管理單元20的功能模組圖。所述記憶體管理單元20包括初始化模組200、統計模組201、第一調整模組202、第二調整模組203及組合模組204。本發明所稱的模組是完成一特定功能的電腦程式段,比程式更適合於描述軟體在電腦中的執行過程,因此在本發明以下對軟體描述中都以模組描述。 Referring to FIG. 2, it is a functional block diagram of the memory management unit 20 shown in FIG. 1. The memory management unit 20 includes an initialization module 200, a statistics module 201, a first adjustment module 202, a second adjustment module 203, and a combination module 204. The module referred to in the present invention is a computer program segment for performing a specific function, and is more suitable for describing the execution process of the software in the computer than the program. Therefore, the following description of the software is described in the module.
所述初始化模組200用於當移動裝置啟動時,初始化記憶體區塊。在本實施方式中,以P1、P2、…、Pm記錄不同的記憶體區塊,N1、N2、…、Nm記錄記憶體區塊P1、P2、…、Pm中所含子區塊的數目(每個子區塊的大小都相等),S1、S2、…、Sm記錄記憶體區塊P1、P2、…、Pm中每一個子區塊的大小。其中,一個記憶體區塊Pm的大小=Sm*Nm。如圖4所示,是本發明記憶體區塊的示意圖。在圖4中,記憶體區塊P5、P6、P7、和P8中各子區塊的大小分別為1個位元組、2個位元組、3個位元組和4個位元組,記憶體區塊P5、P6、P7和P8所包含的子區塊數目分別為18個、12個、4個和3個。因此,記憶體區塊P5、P6、P7和P8的大小分別為1*18=18(位元組)、2*12=24(位元組)、3*4=12(位元組)和 4*3=12(位元組)。 The initialization module 200 is configured to initialize a memory block when the mobile device is started. In the present embodiment, different memory blocks are recorded at P1, P2, ..., Pm, and the number of sub-blocks included in the memory blocks P1, P2, ..., Pm is recorded in N1, N2, ..., Nm ( Each sub-block is equal in size), and S1, S2, ..., Sm record the size of each of the memory blocks P1, P2, ..., Pm. Among them, the size of one memory block Pm = Sm * Nm. As shown in FIG. 4, it is a schematic diagram of a memory block of the present invention. In FIG. 4, the size of each sub-block in the memory blocks P5, P6, P7, and P8 is 1 byte group, 2 byte groups, 3 byte groups, and 4 byte groups, respectively. The number of sub-blocks included in the memory blocks P5, P6, P7, and P8 are 18, 12, 4, and 3, respectively. Therefore, the sizes of the memory blocks P5, P6, P7, and P8 are 1*18=18 (bytes), 2*12=24 (bytes), 3*4=12 (bytes), and 4*3=12 (bytes).
所述統計模組201用於統計記憶體區塊的尖峰使用率及平均破碎率,同時記錄統計次數T。所述尖峰使用率是指記憶體使用率的最高值,所述平均破碎率是指記憶體碎片在記憶體區塊中所占比例的平均值,所述記憶體碎片是指:當分配的記憶體區塊大於所需的記憶體大小時,多餘的記憶體空間。例如,需求為35Bytes,而分配到的記憶體區塊大小為50Bytes,多餘的15Bytes稱為記憶體碎片,該記憶體區塊的破碎率為15/50=30%。所述統計次數是指統計記憶體區塊尖峰使用率及平均破碎率的次數。 The statistical module 201 is configured to count the peak usage rate and the average breaking rate of the memory block, and record the statistical number T. The peak usage rate refers to the highest value of the memory usage rate, which is the average value of the proportion of the memory fragments in the memory block, and the memory fragment refers to: when the memory is allocated Excess memory space when the body block is larger than the required memory size. For example, the demand is 35 Bytes, and the allocated memory block size is 50 Bytes. The extra 15 Bytes is called memory fragmentation, and the memory block has a fragmentation rate of 15/50=30%. The number of statistics refers to the number of times the statistical memory block peak usage rate and the average breaking rate are used.
所述統計模組201,還用於在每次記錄統計次數T時,判斷該移動裝置是否是第一次進行記憶體區塊配置,及判斷是否T>T1或者T>T2。其中,T1和T2為預設值,且T1 T2。其中,可以用一個變數記錄是否是第一次進行記憶體區塊配置,如果是第一次進行記憶體區塊配置,則將該變數設置為1,判斷該變數是否為1即可知道是否是第一次進行記憶體區塊配置。 The statistic module 201 is further configured to determine, when each time the number of statistics is recorded T, whether the mobile device is configured for the first time, and whether T>T1 or T>T2. Among them, T1 and T2 are preset values, and T1 T2. Wherein, it is possible to record whether the memory block configuration is performed for the first time by using a variable. If the memory block configuration is performed for the first time, the variable is set to 1, and it is determined whether the variable is 1 or not. The memory block configuration is performed for the first time.
所述第一調整模組202,用於當T>T1或T>T2時,重置統計次數T(即將變數T置為0),並調整尖峰使用率最高與最低的記憶體區塊P1、P2,將尖峰使用率最低的的記憶體區塊P2轉換成尖峰使用率最高的記憶體區塊P1。在本實施方式中,系統預設有三個尖峰使用率:第一尖峰使用率Ua、第二尖峰使用率Ub和最低額定使用率Un,其中,Ua>Ub>Un。在本實施方式中,如果記憶體區塊P1和P2的尖峰使用率都大於或等於第一尖峰使用率Ua,則第一調整模組202不進行調整;如果一個記憶體區塊的尖峰使用率小於最低額定使用率Un,則進行計算時以最低額定使用率Un作為該記憶體區 塊的尖峰使用率。 The first adjustment module 202 is configured to reset the statistical number T (ie, set the variable T to 0) when T>T1 or T>T2, and adjust the memory block P1 with the highest and lowest peak usage rate. P2 converts the memory block P2 with the lowest peak usage rate into the memory block P1 with the highest peak usage rate. In the present embodiment, the system is pre-configured with three peak usage rates: a first peak usage rate Ua, a second peak usage rate Ub, and a lowest rated usage rate Un, where Ua>Ub>Un. In this embodiment, if the peak usage rates of the memory blocks P1 and P2 are both greater than or equal to the first peak usage rate Ua, the first adjustment module 202 does not perform adjustment; if the peak usage rate of one memory block Less than the minimum rated usage rate Un, the minimum rated usage rate Un is used as the memory area when calculating The peak usage of the block.
具體而言,如果尖峰使用率最高的記憶體區塊P1是較大的記憶體區塊,而尖峰使用率最低的記憶體區塊P2是較小的記憶體區塊,則第一調整模組202組合數個較小的記憶體區塊P2成一個較大的記憶體區塊P1,剩餘部分記為R1(參見圖5a);如果尖峰使用率最高的記憶體區塊P1是較小的記憶體區塊,而尖峰使用率最低的記憶體區塊P2是較大的記憶體區塊,則第一調整模組202分解較大的記憶體區塊變P2成為數個較小的記憶體區塊P1,剩餘部分記為R1(參見圖5b)。在本實施方式中,所述較大的記憶體區塊是指記憶體子區塊較大的記憶體區塊,所述剩餘部分是指調整後多出來的記憶體空間。具體過程參閱圖3中步驟S46所述。 Specifically, if the memory block P1 with the highest peak usage rate is a larger memory block, and the memory block P2 with the lowest peak usage rate is a smaller memory block, the first adjustment module 202 combines several smaller memory blocks P2 into one larger memory block P1, the remainder is denoted as R1 (see Figure 5a); if the highest peak usage memory block P1 is a smaller memory The body block, and the memory block P2 with the lowest peak usage rate is a larger memory block, and the first adjustment module 202 decomposes the larger memory block to become a smaller memory area. Block P1, the remainder is denoted as R1 (see Figure 5b). In the present embodiment, the larger memory block refers to a memory block having a larger memory sub-block, and the remaining portion refers to a memory space that is extra after adjustment. The specific process is described in step S46 in FIG.
所述第二調整模組203,用於調整尖峰使用率大於預設的第二尖峰使用率Ub中平均破碎率最高的記憶體區塊P3,及區塊大小恰小於P3的記憶體區塊P4,如果記憶體區塊P3的實際使用大小接近於P3本身,則將記憶體區塊P3調小,如果記憶體區塊P3的實際使用大小接近於記憶體區塊P4的大小,則將記憶體區塊P4調大,使得調整後的記憶體區塊大小更接近實際需求,降低破碎率,更有效地利用記憶體。具體而言,第二調整模組203先計算O4=((S3*(1-F3%)/S4)-1)*100,其中,S3和S4代表記憶體區塊P3和P4中每個記憶體子區塊的大小,F3代表記憶體區塊P3的平均破碎率。 The second adjusting module 203 is configured to adjust the memory block P3 with the peak breaking rate higher than the preset second peak usage rate Ub, and the memory block P4 whose block size is just smaller than P3. If the actual use size of the memory block P3 is close to P3 itself, the memory block P3 is turned down. If the actual use size of the memory block P3 is close to the size of the memory block P4, the memory will be The block P4 is adjusted to be larger, so that the adjusted memory block size is closer to the actual demand, the breakage rate is reduced, and the memory is utilized more effectively. Specifically, the second adjustment module 203 first calculates O4=((S3*(1-F3%)/S4)-1)*100, where S3 and S4 represent each memory in the memory blocks P3 and P4. The size of the body block, F3 represents the average breaking rate of the memory block P3.
如果F3<O4(即記憶體區塊P3的實際使用大小接近於P3本身),則第二調整模組203將記憶體區塊P3調小D%,記憶體區塊P3的記憶體子區塊的數目不變,剩餘部分記為R2(參見圖7a);如果F3 O4(即記憶體區塊P3的實際使用大小接近於記憶體區塊P4的大小),則第二調整模組203將記憶體區塊P4調大D%,記憶體區塊P4的記憶體子區塊的數目減少,剩餘部分記為R2(參見圖7b)。在其他實施方式中,為符合實際需要,可以限制最大的記憶體區塊不做調小的動作。具體過程參閱圖3中步驟S47所述。在本實施方式中,D%為一個預設值,在其他實施方式中,D%值的大小可以根據記憶體區塊的大小動態調整。 If F3<O4 (ie, the actual use size of the memory block P3 is close to the P3 itself), the second adjustment module 203 reduces the memory block P3 by D%, and the memory sub-block of the memory block P3. The number is the same, the remainder is recorded as R2 (see Figure 7a); if F3 O4 (ie, the actual use size of the memory block P3 is close to the size of the memory block P4), the second adjustment module 203 increases the memory block P4 by D%, and the memory block of the memory block P4. The number of blocks is reduced and the remainder is noted as R2 (see Figure 7b). In other embodiments, in order to meet the actual needs, the largest memory block can be restricted from being reduced. The specific process is described in step S47 in FIG. In this embodiment, D% is a preset value. In other embodiments, the size of the D% value may be dynamically adjusted according to the size of the memory block.
所述組合模組204,用於將第一調整模組202和第二調整模組203中調整後剩餘的部分R1和R2組合成數個P1區塊,剩餘部分記為R3,R3可於下一次調整記憶體區塊的配置時被重複利用(參見圖9)。在圖9中,左邊的R3代表上一次組合後的剩餘部分,右邊的R3代表本次組合完成後的剩餘部分。 The combination module 204 is configured to combine the remaining portions R1 and R2 of the first adjustment module 202 and the second adjustment module 203 into a plurality of P1 blocks, and the remaining part is denoted as R3, and R3 can be next time. The configuration of the memory block is re-used (see Figure 9). In Fig. 9, R3 on the left represents the remainder after the last combination, and R3 on the right represents the remainder after the completion of the combination.
參閱圖3所示,係本發明一種記憶體管理方法較佳實施方式的流程圖。 Referring to FIG. 3, a flow chart of a preferred embodiment of a memory management method according to the present invention is shown.
步驟S41,當移動裝置啟動時,初始化模組200初始化記憶體區塊。 In step S41, when the mobile device is activated, the initialization module 200 initializes the memory block.
步驟S42,統計模組201統計記憶體區塊的尖峰使用率及平均破碎率,同時記錄統計次數T。 In step S42, the statistical module 201 counts the peak usage rate and the average breaking rate of the memory block, and records the statistical number T.
步驟S43,統計模組201判斷該移動裝置是否是第一次進行記憶體區塊配置,如果是,執行步驟S45,如果不是,執行步驟S44。系統在第一次開機之時,記憶體區塊是以預設的方式進行管理。隨後,統計模組201統計記憶體區塊的實際使用狀況(包括尖峰使用率及平均破碎率),統計次數累積到預設的統計次數T1後,開 始調整記憶體區塊的配置。之後每多統計T2(T1 T2)次後,調整一次記憶體區塊的配置,並取最近的T1數目作為計算尖峰使用率及平均破碎率的基礎。例如,T1=5,T2=3,則統計次數達到5次後,開始調整記憶體區塊的配置,統計次數達到8(5+3)次後,再次調整記憶體區塊的配置,並取第4、5、6、7、8次的統計資料作為計算尖峰使用率及平均破碎率的基礎。當T1=T2時,該步驟也可以取消,直接判斷是否T>T1或T>T2即可。 In step S43, the statistic module 201 determines whether the mobile device is the first time to perform the memory block configuration. If yes, step S45 is performed, and if not, step S44 is performed. At the first boot of the system, the memory block is managed in a preset manner. Subsequently, the statistical module 201 counts the actual usage status of the memory block (including the peak usage rate and the average breaking rate), and the statistical number is accumulated to the preset statistical number T1, and then Start adjusting the configuration of the memory block. After each multi-statistic T2 (T1 T2) times, the configuration of the memory block is adjusted once, and the nearest T1 number is taken as the basis for calculating the peak usage rate and the average breaking rate. For example, if T1=5 and T2=3, after the number of statistics reaches 5 times, the configuration of the memory block is adjusted. After the number of statistics reaches 8 (5+3) times, the configuration of the memory block is adjusted again and taken. The 4th, 5th, 6th, 7th and 8th statistic data are used as the basis for calculating the peak usage rate and the average breaking rate. When T1=T2, this step can also be canceled, and it is directly judged whether T>T1 or T>T2.
步驟S44,統計模組201判斷是否T>T2,如果T>T2,執行步驟S46,否則,流程返回步驟S42,繼續統計記憶體區塊的尖峰使用率及平均破碎率。 In step S44, the statistic module 201 determines whether T>T2. If T>T2, step S46 is performed. Otherwise, the flow returns to step S42 to continue counting the peak usage rate and the average breaking rate of the memory block.
步驟S45,統計模組201判斷是否T>T1,如果T>T1,執行步驟S46,否則,流程返回步驟S42,繼續統計記憶體區塊的尖峰使用率及平均破碎率。 In step S45, the statistic module 201 determines whether T>T1. If T>T1, step S46 is performed. Otherwise, the flow returns to step S42 to continue counting the peak usage rate and the average fragmentation rate of the memory block.
步驟S46,第一調整模組202重置統計次數T,並調整尖峰使用率最高與最低的記憶體區塊P1、P2,將尖峰使用率最低的的記憶體區塊P2轉換成尖峰使用率最高的記憶體區塊P1,具體流程參見圖6的說明。如果尖峰使用率最高的記憶體區塊P1是較大的記憶體區塊,而尖峰使用率最低的記憶體區塊P2是較小的記憶體區塊,則第一調整模組202組合數個較小的記憶體區塊P2成一個較大的記憶體區塊P1,剩餘部分記為R1(參見圖5a);如果尖峰使用率最高的記憶體區塊P1是較小的記憶體區塊,而尖峰使用率最低的記憶體區塊P2是較大的記憶體區塊,則第一調整模組202分解較大的記憶體區塊變P2成為數個較小的記憶體區塊P1,剩餘部分記為R1(參見圖5b)。在本實施方式中,如果記憶體區塊P1和P2的 尖峰使用率都大於或等於第一尖峰使用率Ua,則不執行此步驟。 In step S46, the first adjustment module 202 resets the statistical number T, and adjusts the memory blocks P1 and P2 with the highest and lowest peak usage rates, and converts the memory block P2 with the lowest peak usage rate into the highest peak usage rate. The memory block P1, the specific process is shown in the description of FIG. If the memory block P1 with the highest peak usage rate is a larger memory block, and the memory block P2 with the lowest peak usage rate is a smaller memory block, the first adjustment module 202 combines several The smaller memory block P2 becomes a larger memory block P1, the remainder is denoted as R1 (see Figure 5a); if the highest peak usage memory block P1 is a smaller memory block, The memory block P2 with the lowest peak usage rate is a larger memory block, and the first adjustment module 202 decomposes the larger memory block into a smaller memory block P1, and the remaining Part is denoted as R1 (see Figure 5b). In the present embodiment, if the memory blocks P1 and P2 are If the spike usage is greater than or equal to the first spike usage Ua, then this step is not performed.
步驟S47,第二調整模組203調整尖峰使用率大於第二尖峰使用率Ub中平均破碎率最高的記憶體區塊P3,及區塊大小恰小於P3的記憶體區塊P4,如果記憶體區塊P3的實際使用大小接近於P3本身,則將記憶體區塊P3調小,如果記憶體區塊P3的實際使用大小接近於記憶體區塊P4的大小,則將記憶體區塊P4調大,具體流程參見圖8的說明。具體而言,第二調整模組203先計算O4=((S3*(1-F3%)/S4)-1)*100。其中,S3和S4代表記憶體區塊P3和P4中每個記憶體子區塊的大小,F3代表記憶體區塊P3的平均破碎率。如果F3<O4(即記憶體區塊P3的實際使用大小接近於P3本身),則第二調整模組203將記憶體區塊P3調小D%,記憶體區塊P3的記憶體子區塊的數目不變,剩餘部分記為R2(參見圖7a);如果F3 O4(即記憶體區塊P3的實際使用大小接近於P4),則第二調整模組203將記憶體區塊P4調大D%,記憶體區塊P4的記憶體子區塊的數目減少,剩餘部分記為R2(參見圖7b)。在其他實施方式中,為符合實際需要,可以限制最大的記憶體區塊不做調小的動作。 Step S47, the second adjustment module 203 adjusts the memory block P3 whose peak use rate is greater than the average peak break rate of the second peak use rate Ub, and the memory block P4 whose block size is just smaller than P3, if the memory area If the actual use size of the block P3 is close to P3 itself, the memory block P3 is reduced. If the actual use size of the memory block P3 is close to the size of the memory block P4, the memory block P4 is increased. For the specific process, refer to the description of FIG. 8. Specifically, the second adjustment module 203 first calculates O4=((S3*(1-F3%)/S4)-1)*100. Among them, S3 and S4 represent the size of each memory sub-block in the memory blocks P3 and P4, and F3 represents the average breaking rate of the memory block P3. If F3<O4 (ie, the actual use size of the memory block P3 is close to the P3 itself), the second adjustment module 203 reduces the memory block P3 by D%, and the memory sub-block of the memory block P3. The number is the same, the remainder is denoted as R2 (see Figure 7a); if F3 O4 (ie, the actual usage size of the memory block P3 is close to P4), the second adjustment module 203 increases the memory block P4 D%, the number of memory sub-blocks of the memory block P4 is reduced, and the remainder is denoted as R2 (see Fig. 7b). In other embodiments, in order to meet the actual needs, the largest memory block can be restricted from being reduced.
步驟S48,組合模組204將步驟S46和步驟S47中調整後剩餘的部分R1和R2組合成數個P1區塊,剩餘部分記為R3,R3可於下一次調整記憶體區塊的配置時被重複利用(參見圖9)。 In step S48, the combination module 204 combines the remaining portions R1 and R2 in steps S46 and S47 into a plurality of P1 blocks, and the remaining portion is denoted as R3, and R3 can be repeated when the configuration of the memory block is adjusted next time. Use (see Figure 9).
參閱圖6所示,係圖4中步驟S46的具體流程圖。步驟S50,第一調整模組202找出尖峰使用率最高與最低的記憶體區塊P1和P2。 Referring to FIG. 6, a specific flowchart of step S46 in FIG. 4 is shown. In step S50, the first adjustment module 202 finds the memory blocks P1 and P2 with the highest and lowest peak usage rates.
步驟S51,第一調整模組202判斷記憶體區塊P2的尖峰使用率是否小於第一尖峰使用率Ua。如果P2的尖峰使用率小於Ua,執行步驟 S52,如果P2的尖峰使用率大於或等於Ua,則執行步驟S47。 In step S51, the first adjustment module 202 determines whether the peak usage rate of the memory block P2 is smaller than the first peak usage rate Ua. If the peak usage of P2 is less than Ua, perform the steps. S52. If the peak usage rate of P2 is greater than or equal to Ua, step S47 is performed.
步驟S52,第一調整模組202判斷記憶體區塊P1中一個記憶體子區塊的大小S1是否大於記憶體區塊P2中一個記憶體子區塊的大小S2。如果S1>S2,執行步驟S53,如果S1S2,則執行步驟S55。 In step S52, the first adjustment module 202 determines whether the size S1 of one memory sub-block in the memory block P1 is greater than the size S2 of one memory sub-block in the memory block P2. If S1>S2, step S53 is performed, and if S1S2, step S55 is performed.
步驟S53,第一調整模組202判斷是否符合條件1,條件1為:N2-(S1/S2)>N2*U2(即記憶體區塊P2調整後的子區塊數目大於調整前的實際使用數目),並且N2-(S1/S2)>N0(即記憶體區塊P2調整後的子區塊數目大於預設的最少額定數目)。如果符合條件1,執行步驟S54,如果不符合條件1,則執行步驟S57。其中,N2代表記憶體區塊P2調整前的子區塊數目,U2代表記憶體區塊P2實際統計出的尖峰使用率,N0代表記憶體子區塊的最少額定數目。 In step S53, the first adjustment module 202 determines whether the condition 1 is met, and the condition 1 is: N2-(S1/S2)>N2*U2 (that is, the number of sub-blocks adjusted by the memory block P2 is greater than the actual use before the adjustment. Number), and N2-(S1/S2)>N0 (ie, the number of sub-blocks adjusted by the memory block P2 is greater than a preset minimum number of ratings). If condition 1 is met, step S54 is performed, and if condition 1 is not met, step S57 is performed. Where N2 represents the number of sub-blocks before the memory block P2 is adjusted, U2 represents the peak usage rate actually counted by the memory block P2, and N0 represents the minimum rated number of the memory sub-blocks.
步驟S54,第一調整模組202組合數個記憶體區塊P2成為一個記憶體區塊P1,剩餘部分記為R1,然後,流程轉到步驟S47。 In step S54, the first adjustment module 202 combines the plurality of memory blocks P2 into one memory block P1, and the remaining portion is denoted as R1, and then the flow proceeds to step S47.
步驟S55,第一調整模組202判斷是否符合條件2,條件2為:N2-1>N2*U2(即記憶體區塊P2調整後的子區塊數目大於調整前的實際使用數目),並且N2-1>N0(即記憶體區塊P2調整後的子區塊數目大於預設的最少額定數目)。如果符合條件2,執行步驟S56,如果不符合條件2,則流程轉到步驟S47。 In step S55, the first adjustment module 202 determines whether the condition 2 is met, and the condition 2 is: N2-1>N2*U2 (that is, the number of sub-blocks adjusted by the memory block P2 is greater than the actual number of uses before the adjustment), and N2-1>N0 (that is, the number of sub-blocks adjusted by the memory block P2 is greater than a preset minimum number of ratings). If condition 2 is met, step S56 is performed, and if condition 2 is not met, the flow proceeds to step S47.
步驟S56,第一調整模組202分解一個記憶體區塊P2成為數個記憶體區塊P1,剩餘部分記為R1,然後流程轉到步驟S47。 In step S56, the first adjustment module 202 decomposes one memory block P2 into a plurality of memory blocks P1, and the remaining portion is denoted as R1, and then the flow proceeds to step S47.
步驟S57,第一調整模組202判斷是否符合條件:(N2-N2*U2)<(N2-N0),如果符合該條件,執行步驟S59,如果不符合該條件,則執行步驟S58。 In step S57, the first adjustment module 202 determines whether the condition is met: (N2-N2*U2)<(N2-N0), if the condition is met, step S59 is performed, and if the condition is not met, step S58 is performed.
步驟S58,第一調整模組202以(N2-N0)*S2的數值記錄R1的大小,然後流程轉到步驟S47。 In step S58, the first adjustment module 202 records the size of R1 with the value of (N2-N0)*S2, and the flow proceeds to step S47.
步驟S59,第一調整模組202以(N2-N2*U2)*S2的數值記錄R1的大小,然後流程轉到步驟S47。 In step S59, the first adjustment module 202 records the size of R1 with the value of (N2-N2*U2)*S2, and the flow proceeds to step S47.
參閱圖8所示,係圖4中步驟S47的具體流程圖。步驟S60,第二調整模組203找出尖峰使用率大於第二尖峰使用率U2中平均破碎率最高的記憶體區塊P3,及區塊大小恰小於P3的記憶體區塊P4。 Referring to FIG. 8, a specific flowchart of step S47 in FIG. 4 is shown. In step S60, the second adjustment module 203 finds the memory block P3 whose peak use rate is higher than the average peak break rate in the second peak use rate U2, and the memory block P4 whose block size is just smaller than P3.
步驟S61,第二調整模組203判斷是否符合條件3,條件3為:F3<((S3*(1-F3%)/S4)-1)*100(即記憶體區塊P3的實際使用大小接近於P3本身。如果符合條件3,執行步驟S62,如果不符合條件3,則執行步驟S64。其中,F3代表記憶體區塊P3的平均破碎率(破碎率總和/統計次數)。 In step S61, the second adjustment module 203 determines whether the condition 3 is met, and the condition 3 is: F3<((S3*(1-F3%)/S4)-1)*100 (that is, the actual use size of the memory block P3) Close to P3 itself. If condition 3 is met, step S62 is performed, and if condition 3 is not met, step S64 is performed, where F3 represents the average breaking rate (sum of breaking rate/statistics) of the memory block P3.
步驟S62,第二調整模組203判斷是否符合條件5,條件5為:S3*(1-D%)>S4(即記憶體區塊P3調整後的子區塊大小大於記憶體區塊P4的子區塊大小)。如果符合條件5,執行步驟S63,如果不符合條件5,則流程轉到步驟S48。其中,D%為預設的調整比例。 In step S62, the second adjustment module 203 determines whether the condition 5 is met, and the condition 5 is: S3*(1-D%)>S4 (that is, the adjusted sub-block size of the memory block P3 is larger than the memory block P4. Subblock size). If the condition 5 is met, step S63 is performed, and if the condition 5 is not met, the flow proceeds to step S48. Among them, D% is the preset adjustment ratio.
步驟S63,第二調整模組203將記憶體區塊P3調小D%,記憶體子區塊的數目不變,剩餘部分記為R2,然後,流程轉到步驟S48。 In step S63, the second adjustment module 203 reduces the memory block P3 by D%, the number of memory sub-blocks is unchanged, and the remaining part is denoted as R2, and then the flow proceeds to step S48.
步驟S64,第二調整模組203判斷是否符合條件4,條件4為:(N4*S4)/(S4*(1+D%))>N4*U4(即記憶體區塊P4調整後的子區塊數目大於調整前的實際使用數目),並且(N4*S4)/(S4*(1+D%))>N0(即記憶體區塊P4調整後的子區塊數目大於預設的最少額定數目)。如果符合條件4,執行步驟S65,如 果不符合條件4,則執行步驟S67。其中,N4代表記憶體區塊P4調整前的子區塊數目,U4代表記憶體區塊P4實際統計出的尖峰使用率。 In step S64, the second adjustment module 203 determines whether the condition 4 is met, and the condition 4 is: (N4*S4)/(S4*(1+D%))>N4*U4 (that is, the adjusted sub-block of the memory block P4) The number of blocks is greater than the actual number of uses before the adjustment), and (N4*S4)/(S4*(1+D%))>N0 (that is, the number of sub-blocks adjusted by the memory block P4 is greater than the preset minimum) Rated number). If the condition 4 is met, step S65 is performed, such as If the condition 4 is not met, step S67 is performed. Among them, N4 represents the number of sub-blocks before the memory block P4 is adjusted, and U4 represents the peak usage rate actually counted by the memory block P4.
步驟S65,第二調整模組203判斷是否符合條件6,條件6為:調整後S4<S3。如果符合條件6,執行步驟S66,如果不符合條件6,則流程轉到步驟S48。 In step S65, the second adjustment module 203 determines whether the condition 6 is met, and the condition 6 is: S4 < S3 after the adjustment. If the condition 6 is met, step S66 is performed, and if the condition 6 is not met, the flow proceeds to step S48.
步驟S66,第二調整模組203將記憶體區塊P4調大D%,記憶體子區塊的數目減少,剩餘部分記為R2,然後,流程轉到步驟S48。 In step S66, the second adjustment module 203 increases the memory block P4 by D%, reduces the number of memory sub-blocks, and records the remainder as R2. Then, the flow proceeds to step S48.
步驟S67,第二調整模組203判斷是否符合條件:(N4-N4*U4)<(N4-N0),如果符合該條件,執行步驟S68,如果不符合該條件,則執行步驟S70。 In step S67, the second adjustment module 203 determines whether the condition is met: (N4-N4*U4)<(N4-N0), if the condition is met, step S68 is performed, and if the condition is not met, step S70 is performed.
步驟S68,第二調整模組203判斷是否符合條件6,如果符合條件6,執行步驟S69,如果不符合條件6,則流程轉到步驟S48。 In step S68, the second adjustment module 203 determines whether the condition 6 is met. If the condition 6 is met, step S69 is performed. If the condition 6 is not met, the flow proceeds to step S48.
步驟S69,第二調整模組203將記憶體區塊P4調大(N4-N4*U4)*S4/(N4*U4),且數目為N4*U4,剩餘部分記為R2,然後,流程轉到步驟S48。其中,N4代表記憶體區塊P4調整前的子區塊數目,U4代表記憶體區塊P4實際統計出的尖峰使用率。 In step S69, the second adjustment module 203 increases the memory block P4 (N4-N4*U4)*S4/(N4*U4), and the number is N4*U4, and the remaining part is recorded as R2, and then the flow is changed. Go to step S48. Among them, N4 represents the number of sub-blocks before the memory block P4 is adjusted, and U4 represents the peak usage rate actually counted by the memory block P4.
步驟S70,第二調整模組203判斷是否符合條件6,如果符合條件6,執行步驟S71,如果不符合條件6,則流程轉到步驟S48。 In step S70, the second adjustment module 203 determines whether the condition 6 is met. If the condition 6 is met, step S71 is performed. If the condition 6 is not met, the flow proceeds to step S48.
步驟S71,第二調整模組203將記憶體區塊P4調大(N4-N0)*S4/N0,且數目為N0,剩餘部分記為R2,然後,流程轉到步驟S48。 In step S71, the second adjustment module 203 increases the memory block P4 by (N4-N0)*S4/N0, and the number is N0, and the remaining part is denoted as R2, and then the flow proceeds to step S48.
本實施方式中的移動裝置可以為手機、數碼相機或PDA( Personal Digital Assistant,個人數位助理)等具有資料處理功能的電子設備。 The mobile device in this embodiment may be a mobile phone, a digital camera or a PDA ( Electronic devices with data processing functions such as Personal Digital Assistant.
本發明記憶體管理系統及方法,雖以較佳實施方式揭露如上,然其並非用以限定本發明。任何熟悉此項技藝之人士,在不脫離本發明之精神及範圍內,當可做更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。 The memory management system and method of the present invention are disclosed above in the preferred embodiments, but are not intended to limit the present invention. Any person skilled in the art will be able to make changes and refinements without departing from the spirit and scope of the invention, and the scope of the invention is defined by the scope of the appended claims.
S41‧‧‧初始化記憶體區塊 S41‧‧‧ Initialize memory block
S42‧‧‧統計記憶體區塊的尖峰使用率及平均破碎率,記錄統計次數T S42‧‧‧ Peak usage rate and average fragmentation rate of statistical memory blocks, record statistics number T
S43‧‧‧判斷是否是第一次記憶體區塊配置 S43‧‧‧Determination of whether it is the first memory block configuration
S44‧‧‧判斷是否T>T2 S44‧‧‧Judge whether T>T2
S45‧‧‧判斷是否T>T1 S45‧‧‧Judge whether T>T1
S46‧‧‧重置T,調整尖峰使用率最高與最低的記憶體區塊P1、P2 S46‧‧‧Reset T to adjust the highest and lowest peak memory blocks P1 and P2
S47‧‧‧調整尖峰使用率大於Ub中平均破碎率最高的記憶體區塊P3及區塊大小恰小於P3的記憶體區塊P4 S47‧‧‧ Adjusting the peak usage rate is higher than the memory block P3 with the highest average breaking rate in Ub and the memory block P4 with the block size just smaller than P3
S48‧‧‧將調整後剩餘的部分組合成數個P1區塊 S48‧‧‧ Combine the remaining parts of the adjustment into several P1 blocks
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW097149789A TWI450091B (en) | 2008-12-19 | 2008-12-19 | System and method for managing a memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW097149789A TWI450091B (en) | 2008-12-19 | 2008-12-19 | System and method for managing a memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201024999A TW201024999A (en) | 2010-07-01 |
| TWI450091B true TWI450091B (en) | 2014-08-21 |
Family
ID=44852398
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW097149789A TWI450091B (en) | 2008-12-19 | 2008-12-19 | System and method for managing a memory |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI450091B (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI226539B (en) * | 2003-10-31 | 2005-01-11 | Phison Electronics Corp | Control method for optimizing performance of random access flash memory |
| US20060253680A1 (en) * | 2005-04-18 | 2006-11-09 | Research In Motion Limited | Method and system for centralized memory management in wireless terminal devices |
| US7320057B2 (en) * | 2004-02-25 | 2008-01-15 | Research In Motion Limited | Memory management system and method for a mobile device |
| TW200844787A (en) * | 2006-11-07 | 2008-11-16 | Spansion Llc | Multiple stakeholder secure memory partitioning and access control |
-
2008
- 2008-12-19 TW TW097149789A patent/TWI450091B/en not_active IP Right Cessation
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI226539B (en) * | 2003-10-31 | 2005-01-11 | Phison Electronics Corp | Control method for optimizing performance of random access flash memory |
| US7320057B2 (en) * | 2004-02-25 | 2008-01-15 | Research In Motion Limited | Memory management system and method for a mobile device |
| US20060253680A1 (en) * | 2005-04-18 | 2006-11-09 | Research In Motion Limited | Method and system for centralized memory management in wireless terminal devices |
| TW200844787A (en) * | 2006-11-07 | 2008-11-16 | Spansion Llc | Multiple stakeholder secure memory partitioning and access control |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201024999A (en) | 2010-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106997351B (en) | A resource cache management method, system and device | |
| WO2022057391A1 (en) | Cache memory adjustment method, apparatus, and computer device | |
| US20090319255A1 (en) | Maximizing throughput for a garbage collector | |
| WO2020238065A1 (en) | Media file downloading method and apparatus, and terminal and medium | |
| WO2019174391A1 (en) | Method and apparatus for controlling data stream in storage device, storage device, and storage medium | |
| CN1311696C (en) | Adaptive Cost of Service for Communication Networks Based on Network Congestion Hierarchy | |
| CN116708315A (en) | Flow rate limiting method and device, electronic equipment and storage medium | |
| CN118625903A (en) | A server heat dissipation control method, device, equipment and storage medium | |
| CN112711387A (en) | Method and device for adjusting capacity of buffer area, electronic equipment and readable storage medium | |
| CN114691024B (en) | Data pre-fetching method, device and equipment | |
| WO2021164164A1 (en) | Storage service quality control method, apparatus and device, and storage medium | |
| WO2020155958A1 (en) | Internet speed measuring method and device, computer equipment and readable storage medium | |
| TWI450091B (en) | System and method for managing a memory | |
| JP4659008B2 (en) | Peripheral circuit with host load adjustment function | |
| CN115827507A (en) | Method, device, electronic device and storage medium for data prefetching | |
| CN115268616A (en) | Frequency control method and device for memory, electronic device and storage medium | |
| CN113468442A (en) | Resource bit flow distribution method, computing device and computer storage medium | |
| CN101751342B (en) | Memory management system and method | |
| CN118506234A (en) | Video detection method, device, computer equipment and storage medium | |
| CN118585344A (en) | An operating system for scheduling and running digital twin models | |
| CN116610477A (en) | Method, device, equipment and storage medium for adjusting power consumption of graphic processor | |
| CN111143411A (en) | Dynamic streaming pre-calculation method and device and storage medium | |
| US8051419B2 (en) | Method of dynamically adjusting number of task request | |
| CN119356915B (en) | A method, apparatus, device and storage medium for adaptive generation of water level lines | |
| CN118035514B (en) | Sensitive information filtering method, device, equipment and medium based on blockchain system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |