[go: up one dir, main page]

TWI902165B - 記憶體操作方法、電子裝置及非暫態電腦可讀取媒體 - Google Patents

記憶體操作方法、電子裝置及非暫態電腦可讀取媒體

Info

Publication number
TWI902165B
TWI902165B TW113109065A TW113109065A TWI902165B TW I902165 B TWI902165 B TW I902165B TW 113109065 A TW113109065 A TW 113109065A TW 113109065 A TW113109065 A TW 113109065A TW I902165 B TWI902165 B TW I902165B
Authority
TW
Taiwan
Prior art keywords
volatile memory
data area
compressed
compressed data
format file
Prior art date
Application number
TW113109065A
Other languages
English (en)
Other versions
TW202536662A (zh
Inventor
周開祥
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW113109065A priority Critical patent/TWI902165B/zh
Priority to US18/909,959 priority patent/US20250291483A1/en
Publication of TW202536662A publication Critical patent/TW202536662A/zh
Application granted granted Critical
Publication of TWI902165B publication Critical patent/TWI902165B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)
  • Storing Facsimile Image Data (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

一種記憶體操作方法,包含:利用壓縮演算法壓縮在非揮發性記憶體中的至少一應用程式成至少一壓縮格式檔;將至少一壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區;依據預載至壓縮資料區之至少一壓縮格式檔取得壓縮資料區之映像,並將映像寫回非揮發性記憶體;以及在揮發性記憶體中解壓縮至少一壓縮格式檔成至少一應用程式。

Description

記憶體操作方法、電子裝置及非暫態電腦可讀取媒體
本發明是有關於一種操作方法,且特別是有關於一種記憶體操作方法、電子裝置及非暫態電腦可讀取媒體。
在諸如過頂服務(over-the-top/OTT services)、數位視訊轉換盒(set-up-box,STB)的應用當中,開啟應用程式的速度快慢往往將影響使用者體驗。一般而言,為了加速開啟應用程式的速度,現今較為普遍的作法係將相對較常用、相對較重要的應用程式預載至高速記憶體中,例如雙倍資料率同步動態隨機存取記憶體(DDR SDRAM)。然而,隨著成本上升而使得記憶體規格縮水(例如記憶體容量減少),進一步導致可預載至記憶體的應用程式數量減少;若應用程式不能預載至記憶體中,就必須在使用者點擊應用程式後從非揮發性記憶體載入高速記憶體中。以現今的技術而言,先預載至高速記憶體再行開啟(即第二次開啟)應用程式約略費時1至2秒,而由非揮發性記憶體載入(即第一次開啟)應用程式約略費時7至8秒。顯而易見地,兩種應用程式載入記憶體方式的耗時存在顯著差異。
本發明的目的是在於提供一種記憶體操作方法及電子裝置,在記憶體資源有限的條件下,將使用頻率較高的應用程式以更快的速度載入至記憶體中以執行。
本發明之一方面為提供一種記憶體操作方法,包含:利用壓縮演算法壓縮在非揮發性記憶體中的至少一應用程式成至少一壓縮格式檔;將至少一壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區;依據預載至壓縮資料區之至少一壓縮格式檔取得壓縮資料區之映像(image),並將映像寫回(write back)非揮發性記憶體;以及在揮發性記憶體中解壓縮至少一壓縮格式檔成至少一應用程式。
在一些實施例中,所述非揮發性記憶體符合eMMC(Embedded MultiMediaCard)快閃記憶體(flash memory)標準。
本發明之另一方面為提供一種電子裝置,包含非揮發性記憶體、揮發性記憶體及處理器。非揮發性記憶體配置以儲存至少一應用程式。揮發性記憶體配置以儲存至少一壓縮格式檔,其中揮發性記憶體更包含壓縮資料區。處理器配置以利用壓縮演算法壓縮在非揮發性記憶體中的至少一應用程式成至少一壓縮格式檔,並將至少一壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區,接著在依據預載至壓縮資料區之至少一壓縮格式檔取得壓縮資料區之映像後將映像寫回非揮發性記憶體,再於揮發性記憶體中解壓縮至少一壓縮格式檔成至少一應用程式。
在一些實施例中,所述處理器更配置以在將至少一應用程式之至少一壓縮格式檔中的每一者預載至揮發性記憶體中之壓縮資料區後,移除至少一應用程式共用之至少一函式庫。
在一些實施例中,所述處理器移除至少一應用程式共用之至少一函式庫的操作係以離線方式進行。
在一些實施例中,所述處理器更配置以在依據預載至壓縮資料區之至少一壓縮格式檔取得壓縮資料區之映像前,調整縮小壓縮資料區。
在一些實施例中,所述處理器調整縮小壓縮資料區的操作係以離線方式進行。
在一些實施例中,所述處理器將至少一壓縮格式檔由非揮發性記憶體載入至揮發性記憶體中之壓縮資料區的操作係以離線方式進行。
在一些實施例中,所述處理器依據載入至壓縮資料區之至少一壓縮格式檔取得壓縮資料區之映像的操作係以離線方式進行。
本發明之又一方面為提供一種非暫態(non-transitory)電腦可讀取媒體,用以儲存一或多個電腦程式指令,當此些電腦程式指令由處理器執行時,使處理器進行下列操作:利用壓縮演算法壓縮在非揮發性記憶體中的至少一應用程式成至少一壓縮格式檔;將至少一壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區;依據預載至壓縮資料區之至少一壓縮格式檔取得壓縮資料區之映像,並將映像寫回非揮發性記憶體;以及在揮發性記憶體中解壓縮至少一壓縮格式檔成至少一應用程式。
以下仔細討論本發明的實施例。可以理解的是,實施例提供許多可應用的觀念,其可實施於各式各樣的特定內容中。所討論、揭示之實施例僅供說明,並非用以限定本發明之範圍。
圖1為依據本發明實施例之記憶體操作方法100的流程圖。記憶體操作方法100包含步驟S110至步驟S140,分述如下。
步驟S110:利用壓縮演算法壓縮在非揮發性記憶體中的至少一應用程式成至少一壓縮格式檔。此步驟係說明,處理器利用壓縮演算法將非揮發性記憶體中相對重要性、使用頻率較高的應用程式壓縮成壓縮格式檔,並將壓縮格式檔以區塊形式(block-based)儲存於非揮發性記憶體中。需說明的是,此非揮發性記憶體符合eMMC(Embedded MultiMediaCard)快閃記憶體(flash memory)標準。在本發明之一實施例中,壓縮演算法可以是LZ4壓縮演算法、LZO壓縮演算法或zlib壓縮演算法,但不限於此。
步驟S120:將至少一壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區。此步驟係說明,處理器將壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區,且接著將壓縮格式檔以分頁形式(page-based)儲存於揮發性記憶體中。在本發明之一實施例中,處理器將壓縮格式檔由非揮發性記憶體載入至揮發性記憶體中之壓縮資料區的操作可以離線(offline)方式進行。
在一些實施例中,若欲提高將壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區的載入速度,可於非揮發性記憶體(例如快閃記憶體)中預留一塊記憶體空間用於對映(mapping)至揮發性記憶體中之壓縮資料區的分頁(page),在壓縮格式檔之載入過程中可利用直接記憶體存取(direct memory access,DMA)技術將壓縮格式檔載入至揮發性記憶體中之壓縮資料區,相較於一般應用程式從非揮發性記憶體以區塊形式載入至揮發性記憶體之壓縮資料區並於揮發性記憶體中以分頁形式(by page)執行,透過直接記憶體存取技術將壓縮格式檔載入至揮發性記憶體中之壓縮資料區的方式可提高應用程式之壓縮格式檔由非揮發性記憶體預載至揮發性記憶體之載入速度。
在一些實施例中,當具有複數組常用之應用程式集合時,可在揮發性記憶體中配置一或多個壓縮資料區(例如ZRAM)供複數組應用程式集合中的每一組個別使用。具體而言,處理器將針對每一組應用程式集合分別由非揮發性記憶體預載個別之壓縮格式檔至揮發性記憶體中個別配置之壓縮資料區。
步驟S130:依據預載至壓縮資料區之至少一壓縮格式檔取得壓縮資料區之映像(image),並將映像寫回(write back)非揮發性記憶體。此步驟係說明,處理器依據預載至壓縮資料區之壓縮格式檔取得壓縮資料區之映像,並將此壓縮資料區之映像寫回非揮發性記憶體,以供下一次預載同一批常用之應用程式所用。在一些實施例中,處理器也可不將此映像寫回非揮發性記憶體。
在本發明之一實施例中,在將每一壓縮格式檔預載至揮發性記憶體中之該壓縮資料區後,處理器將移除應用程式共用之至少一函式庫,以減少應用程式重複占用之記憶體空間。需說明的是,處理器移除應用程式共用之函式庫的操作可以離線方式進行。
在本發明之另一實施例中,在依據預載至壓縮資料區之壓縮格式檔取得壓縮資料區之映像前,處理器將調整縮小壓縮資料區,以儘量提高壓縮資料區的使用率,進而盡可能地節省壓縮資料區所占揮發性記憶體之記憶體空間,需說明的是,處理器調整縮小壓縮資料區的操作係可以離線方式進行。
在本發明之又一實施例中,處理器依據載入至壓縮資料區之壓縮格式檔取得壓縮資料區之映像的操作可以離線方式進行。
一般而言,處理器係以線上(online)方式進行步驟S110至步驟S130,以取得由常用之應用程式之壓縮格式檔組成之揮發性記憶體中之壓縮資料區的映像,需說明的是,在處理器以線上方式進行步驟S110至步驟S130的過程中,可使用任意壓縮演算法諸如LZ4壓縮演算法、LZO壓縮演算法或zlib壓縮演算法,但不限於此。進一步地,步驟S110至步驟S130也可以離線方式進行,具體而言,包含諸如處理器將壓縮格式檔由非揮發性記憶體載入至揮發性記憶體中之壓縮資料區、處理器移除應用程式共用之函式庫、處理器依據預載至壓縮資料區之壓縮格式檔調整縮小壓縮資料區、處理器依據載入至壓縮資料區之壓縮格式檔取得壓縮資料區之映像的操作皆可以離線方式進行,並於非揮發性記憶體中預留一塊記憶體空間用於對映至揮發性記憶體中之壓縮資料區,在電子裝置(例如智慧型手機、智慧型手環、平板電腦等)開機時將非揮發性記憶體中之預留的記憶體空間載入揮發性記憶體,並依據取得之映像建立揮發性記憶體中之壓縮資料區。相較於線上方式載入,以離線方式進行步驟S110至步驟S130的過程中,由於已經以離線方式完成步驟S110至步驟S130,因此使用的壓縮演算法已經選定,且處理器以離線方式載入應用程式之壓縮格式檔的載入速度相較於處理器以線上方式載入應用程式之壓縮格式檔的載入速度更快。
步驟S140:在揮發性記憶體中解壓縮至少一壓縮格式檔成至少一應用程式。此步驟係說明,處理器將由非揮發性記憶體預載至揮發性記憶體之壓縮格式檔於揮發性記憶體中解壓縮成應用程式。一般而言,處理器係在執行階段(runtime)時將非揮發性記憶體中之壓縮格式檔解壓縮成應用程式後再載入至揮發性記憶體。相較之下,先將壓縮格式檔由非揮發性記憶體預載至揮發性記憶體,接著於揮發性記憶體中將壓縮格式檔解壓縮成應用程式的方式,可顯著提升應用程式之載入速度。
在本發明之一實施例中,當揮發性記憶體(例如雙倍資料率同步動態隨機存取記憶體)可使用之記憶體空間即將用盡而需使用到壓縮資料區之空間時,處理器將自揮發性記憶體之壓縮資料區中移除(swap out)閒置於壓縮資料區中過長時間未被使用的應用程式之壓縮格式檔,當未來再次需使用應用程式時,處理器再將應用程式壓縮成一或多個壓縮格式檔並再次預載至揮發性記憶體中的壓縮資料區。
圖2為依據本發明實施例之系統單晶片(system on a chip,SOC)軟體啟動方法200的流程圖。一般而言,系統單晶片軟體啟動方法200包含步驟S210至步驟S230,分述如下。
步驟S210:將唯讀記憶體由積體電路(integrated circuit,IC)內部之唯讀記憶體載入至隨機存取記憶體,並初始化非揮發性記憶體及揮發性記憶體。需說明的是,非揮發性記憶體符合eMMC快閃記憶體標準,而揮發性記憶體為雙倍資料率同步動態隨機存取記憶體(DDR SDRAM)。
步驟S220:將作業系統由非揮發性記憶體(例如快閃記憶體)載入至揮發性記憶體(例如雙倍資料率同步動態隨機存取記憶體),並初始化輸入/輸出(input/output,I/O)介面及一或多個暫存器。
步驟S230:將應用程式由非揮發性記憶體載入至揮發性記憶體,而處理器將對載入至揮發性記憶體中的每一應用程式配置一塊記憶體空間。
記憶體操作方法100可用於系統單晶片軟體啟動方法200之應用程式載入速度的改良,即針對步驟S230所述將應用程式由非揮發性記憶體載入至揮發性記憶體的部分進行優化,提升應用程式之載入速度。具體而言,首先透過步驟S110利用壓縮演算法壓縮在非揮發性記憶體中的至少一應用程式成至少一壓縮格式檔;接著透過步驟S120將至少一壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區,再透過步驟S130依據預載至壓縮資料區之至少一壓縮格式檔取得壓縮資料區之映像,並將此映像寫回非揮發性記憶體;最後透過步驟S140在揮發性記憶體中解壓縮至少一壓縮格式檔成至少一應用程式。因此,透過記憶體操作方法100之步驟S110至步驟S140之操作,在此些應用程式執行前利用壓縮演算法進行壓縮後再載入至揮發性記憶體,並取得揮發性記憶體之壓縮資料區的映像,可有效提升應用程式之載入速度,而開機速度相較於未進行預載的一般應用程式載入方法更快。
圖3為依據本發明實施例之電子裝置300的功能方塊圖。電子裝置300包含非揮發性記憶體310、揮發性記憶體320及處理器330。非揮發性記憶體310配置以儲存至少一應用程式,其可以是唯讀記憶體(read-only memory,ROM)、可程式化唯讀記憶體(programmable read-only memory,PROM)、電子可改寫唯讀記憶體(electrically alterable read only memory,EAROM)、可抹除可程式化唯讀記憶體(erasable programmable read only memory,EPROM)、電子可抹除可程式化唯讀記憶體(electrically erasable programmable read only memory,EEPROM)、快閃記憶體、非揮發性隨機存取記憶體(non-volatile random access memory,NVRAM)、由電池供電的靜態隨機存取記憶體或其他類似元件或上述元件的組合,但不限於此。揮發性記憶體320配置以儲存壓縮格式檔。揮發性記憶體320可包含壓縮資料區322,且可以是隨機存取記憶體(random access memory,RAM),例如動態隨機存取記憶體(dynamic random access memory,DRAM)、靜態隨機存取記憶體(static random access memory,SRAM)、其他類似元件或上述元件的組合,但不限於此。處理器330配置以利用壓縮演算法壓縮在非揮發性記憶體310中的應用程式成壓縮格式檔,並將壓縮格式檔由非揮發性記憶體310預載至揮發性記憶體320中之壓縮資料區322,接著在依據預載至壓縮資料區322之壓縮格式檔取得壓縮資料區322之映像後將映像寫回非揮發性記憶體310,再於揮發性記憶體320中解壓縮壓縮格式檔成應用程式。處理器330可以是中央處理單元(central processing unit,CPU)、圖形處理器(graphics processing unit,GPU)、微控制器單元(microcontroller unit,MCU)、微處理器、系統單晶片(system-on-chip,SoC)、數位信號處理器(digital signal processor,DSP)、特殊應用積體電路(application-specific integrated circuit,ASIC)、可程式化邏輯控制器(programmable logic controller,PLC)或上述元件的組合,但不限於此。
處理器330利用壓縮演算法將非揮發性記憶體310中相對重要性、使用頻率較高應用程式壓縮成壓縮格式檔,接著將壓縮格式檔以區塊形式儲存於非揮發性記憶體310中。需說明的是,此非揮發性記憶體符合eMMC快閃記憶體標準。在本發明之一實施例中,壓縮演算法可以是LZ4壓縮演算法、LZO壓縮演算法或zlib壓縮演算法,但不限於此。
處理器330將壓縮格式檔由非揮發性記憶體310預載至揮發性記憶體320中之壓縮資料區322,接著再將壓縮格式檔以分頁形式儲存於揮發性記憶體320中。需說明的是,揮發性記憶體320為雙倍資料率同步動態隨機存取記憶體。在本發明之一實施例中,處理器330將壓縮格式檔由非揮發性記憶體310載入至揮發性記憶體320中之壓縮資料區322的操作可以離線方式進行。
在一些實施例中,若欲提高將壓縮格式檔由非揮發性記憶體310預載至揮發性記憶體320中之壓縮資料區322的載入速度,可於非揮發性記憶體310中預留一塊記憶體空間用於對映至壓縮資料區322的分頁,在壓縮格式檔之載入過程中可利用直接記憶體存取技術將壓縮格式檔載入至壓縮資料區322。相較於一般應用程式從非揮發性記憶體310以區塊形式載入至揮發性記憶體320之壓縮資料區322並於揮發性記憶體320中以分頁形式執行,透過直接記憶體存取技術將壓縮格式檔載入至揮發性記憶體320中之壓縮資料區322的方式,可加快應用程式之壓縮格式檔由非揮發性記憶體310預載至揮發性記憶體320之速度。
在一些實施例中,當具有多組常用之應用程式集合時,可在揮發性記憶體320中配置一或多個壓縮資料區322(例如ZRAM)以分別供應用程式集合使用。具體而言,處理器330將針對應用程式集合由非揮發性記憶體310分別預載應用程式之壓縮格式檔至揮發性記憶體320中之壓縮資料區322。
處理器330依據預載至壓縮資料區322之應用程式之壓縮格式檔取得壓縮資料區322之映像,並將壓縮資料區322之映像寫回非揮發性記憶體310,以供下一次預載同一批常用之應用程式所用。在一些實施例中,處理器330也可不將此映像寫回非揮發性記憶體310。
在本發明之一實施例中,在將每一壓縮格式檔預載至揮發性記憶體320中之壓縮資料區322後,處理器330將移除應用程式共用之函式庫,以減少應用程式重複占用之記憶體空間,需說明的是,處理器330移除應用程式共用之函式庫的操作可以離線方式進行。
在本發明之另一實施例中,在依據預載至壓縮資料區322之應用程式之壓縮格式檔取得壓縮資料區322之映像前,處理器330將調整縮小壓縮資料區322,以儘量提高壓縮資料區322的使用率,進而盡可能地節省壓縮資料區322所占揮發性記憶體320之記憶體空間,需說明的是,處理器330調整縮小壓縮資料區322的操作可以離線方式進行。
在本發明之又一實施例中,處理器330依據載入至壓縮資料區322之壓縮格式檔取得壓縮資料區322之映像的操作可以離線方式進行。
記憶體操作方法100可經編程而成為電腦程式指令,其可由處理器(例如圖3中所繪示之處理器330)執行,且可儲存於非暫態(non-transitory)電腦可讀取媒體中。當電腦程式指令由處理器執行時,處理器將進行下列操作:利用壓縮演算法壓縮在非揮發性記憶體中的至少一應用程式成至少一壓縮格式檔;將至少一壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區;依據預載至壓縮資料區之至少一壓縮格式檔取得壓縮資料區之映像,並將映像寫回非揮發性記憶體;以及在揮發性記憶體中解壓縮至少一壓縮格式檔成至少一應用程式。非暫態電腦可讀取媒體可以是唯讀記憶體、非揮發性記憶體、軟碟、硬碟、光碟、通用序列匯流排(USB)隨身碟、磁帶、可在網際網路上存取的資料庫、或其他對所屬技術領域中具有通常知識者為顯而易見的電腦可讀取媒體。
綜上所述,本發明之記憶體操作方法及電子裝置首先利用壓縮演算法將應用程式壓縮成壓縮格式檔,接著將壓縮格式檔由非揮發性記憶體預載至揮發性記憶體中之壓縮資料區,再取得壓縮資料區之映像,並將此映像寫回非揮發性記憶體供未來再次載入應用程式時使用。透過上述操作可在記憶體資源有限的條件下,將使用頻率較高的應用程式以更快的速度載入至揮發性記憶體並解壓縮以執行。
雖然本發明已以實施例揭露如上,然而其並非用以限定本發明之範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神與範圍內,當可做各種改變、替換與更動,因此本發明的保護範圍當以後附之申請專利範圍所界定者為準。
100:記憶體操作方法 200:系統單晶片軟體啟動方法 300:電子裝置 310:非揮發性記憶體 320:揮發性記憶體 322:壓縮資料區 330:處理器 S110,S120,S130,S140,S210,S220,S230:步驟
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下: 圖1為依據本發明實施例之記憶體操作方法的流程圖; 圖2為依據本發明實施例之系統單晶片(system on a chip,SOC)軟體啟動程序的流程圖;以及 圖3為依據本發明實施例之電子裝置的功能方塊圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
100:記憶體操作方法 S110,S120,S130,S140:步驟

Claims (9)

  1. 一種記憶體操作方法,包含: 利用一壓縮演算法壓縮在一非揮發性記憶體中的至少一應用程式成至少一壓縮格式檔; 將該至少一壓縮格式檔由該非揮發性記憶體預載至一揮發性記憶體中之一壓縮資料區,並在將該至少一應用程式之該至少一壓縮格式檔中的每一者預載至該揮發性記憶體中之該壓縮資料區後,移除該至少一應用程式共用之至少一函式庫; 依據預載至該壓縮資料區之該至少一壓縮格式檔取得該壓縮資料區之一映像(image),並將該映像寫回(write back)該非揮發性記憶體;以及 在該揮發性記憶體中解壓縮該至少一壓縮格式檔成該至少一應用程式。
  2. 如請求項1所述之記憶體操作方法,其中該非揮發性記憶體符合eMMC(Embedded MultiMediaCard)快閃記憶體(flash memory)標準。
  3. 一種電子裝置,包含: 一非揮發性記憶體,配置以儲存至少一應用程式; 一揮發性記憶體,配置以儲存至少一壓縮格式檔,其中該揮發性記憶體更包含一壓縮資料區;以及 一處理器,配置以利用一壓縮演算法壓縮在該非揮發性記憶體中的該至少一應用程式成該至少一壓縮格式檔,並將該至少一壓縮格式檔由該非揮發性記憶體預載至該揮發性記憶體中之該壓縮資料區,接著在依據預載至該壓縮資料區之該至少一壓縮格式檔取得該壓縮資料區之一映像後將該映像寫回該非揮發性記憶體,再於該揮發性記憶體中解壓縮該至少一壓縮格式檔成該至少一應用程式, 其中所述處理器更配置以在將該至少一應用程式之該至少一壓縮格式檔中的每一者預載至該揮發性記憶體中之該壓縮資料區後,移除該至少一應用程式共用之至少一函式庫。
  4. 如請求項3所述之電子裝置,其中所述處理器移除該至少一應用程式共用之該至少一函式庫的操作係以離線方式進行。
  5. 如請求項3所述之電子裝置,其中所述處理器更配置以在依據預載至該壓縮資料區之該至少一壓縮格式檔取得該壓縮資料區之該映像前,調整縮小該壓縮資料區。
  6. 如請求項5所述之電子裝置,其中所述處理器調整縮小該壓縮資料區的操作係以離線方式進行。
  7. 如請求項3所述之電子裝置,其中所述處理器將該至少一壓縮格式檔由該非揮發性記憶體載入至該揮發性記憶體中之該壓縮資料區的操作係以離線方式進行。
  8. 如請求項3所述之電子裝置,其中所述處理器依據載入至該壓縮資料區之該至少一壓縮格式檔取得該壓縮資料區之該映像的操作係以離線方式進行。
  9. 一種非暫態(non-transitory)電腦可讀取媒體,用以儲存一或多個電腦程式指令,當該一或多個電腦程式指令由一處理器執行時,使該處理器進行下列操作: 利用一壓縮演算法壓縮在一非揮發性記憶體中的至少一應用程式成至少一壓縮格式檔; 將該至少一壓縮格式檔由該非揮發性記憶體預載至一揮發性記憶體中之一壓縮資料區,並在將該至少一應用程式之該至少一壓縮格式檔中的每一者預載至該揮發性記憶體中之該壓縮資料區後,移除該至少一應用程式共用之至少一函式庫; 依據預載至該壓縮資料區之該至少一壓縮格式檔取得該壓縮資料區之一映像,並將該映像寫回該非揮發性記憶體;以及 在該揮發性記憶體中解壓縮該至少一壓縮格式檔成該至少一應用程式。
TW113109065A 2024-03-12 2024-03-12 記憶體操作方法、電子裝置及非暫態電腦可讀取媒體 TWI902165B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW113109065A TWI902165B (zh) 2024-03-12 2024-03-12 記憶體操作方法、電子裝置及非暫態電腦可讀取媒體
US18/909,959 US20250291483A1 (en) 2024-03-12 2024-10-09 Method of memory operation, electronic device and non-transitory computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW113109065A TWI902165B (zh) 2024-03-12 2024-03-12 記憶體操作方法、電子裝置及非暫態電腦可讀取媒體

Publications (2)

Publication Number Publication Date
TW202536662A TW202536662A (zh) 2025-09-16
TWI902165B true TWI902165B (zh) 2025-10-21

Family

ID=97028793

Family Applications (1)

Application Number Title Priority Date Filing Date
TW113109065A TWI902165B (zh) 2024-03-12 2024-03-12 記憶體操作方法、電子裝置及非暫態電腦可讀取媒體

Country Status (2)

Country Link
US (1) US20250291483A1 (zh)
TW (1) TWI902165B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471494B2 (en) * 2013-12-20 2016-10-18 Intel Corporation Method and apparatus for cache line write back operation
TW201738753A (zh) * 2016-02-23 2017-11-01 谷歌公司 管理硬體協助資料壓縮之記憶體片段儲存
CN114968838A (zh) * 2022-05-27 2022-08-30 深圳大普微电子科技有限公司 数据压缩方法及闪存设备
CN115421662A (zh) * 2022-09-13 2022-12-02 海信电子科技(深圳)有限公司 内存数据的回写方法、装置及设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074035B1 (en) * 2003-07-22 2011-12-06 Acronis, Inc. System and method for using multivolume snapshots for online data backup
US8447948B1 (en) * 2008-04-25 2013-05-21 Amazon Technologies, Inc Dynamic selective cache compression
US20090313416A1 (en) * 2008-06-16 2009-12-17 George Wayne Nation Computer main memory incorporating volatile and non-volatile memory
US9772936B2 (en) * 2008-07-10 2017-09-26 Micron Technology, Inc. Data collection and compression in a solid state storage device
US8370544B2 (en) * 2009-07-23 2013-02-05 Stec, Inc. Data storage system with compression/decompression
JP2013061795A (ja) * 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、コントローラ、およびリードコマンド実行方法
US8780632B2 (en) * 2012-11-09 2014-07-15 Sandisk Technologies Inc. De-duplication techniques using NAND flash based content addressable memory
US9959072B2 (en) * 2013-12-20 2018-05-01 Sandisk Technologies Llc Systems and methods of compressing data
US10140033B2 (en) * 2015-06-15 2018-11-27 Xitore, Inc. Apparatus, system, and method for searching compressed data
US9817713B2 (en) * 2016-02-04 2017-11-14 International Business Machines Corporation Distributed cache system utilizing multiple erasure codes
US10824371B2 (en) * 2017-06-19 2020-11-03 Micron Technology, Inc. Managed NAND data compression
US20200042500A1 (en) * 2018-08-02 2020-02-06 Alibaba Group Holding Limited Collaborative compression in a distributed storage system
US11994950B2 (en) * 2021-12-28 2024-05-28 Seagate Technology Llc Secondary key allocation to storage drive failure domains
JP7757218B2 (ja) * 2022-03-17 2025-10-21 キオクシア株式会社 情報処理システム、及びメモリシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471494B2 (en) * 2013-12-20 2016-10-18 Intel Corporation Method and apparatus for cache line write back operation
TW201738753A (zh) * 2016-02-23 2017-11-01 谷歌公司 管理硬體協助資料壓縮之記憶體片段儲存
CN114968838A (zh) * 2022-05-27 2022-08-30 深圳大普微电子科技有限公司 数据压缩方法及闪存设备
CN115421662A (zh) * 2022-09-13 2022-12-02 海信电子科技(深圳)有限公司 内存数据的回写方法、装置及设备

Also Published As

Publication number Publication date
TW202536662A (zh) 2025-09-16
US20250291483A1 (en) 2025-09-18

Similar Documents

Publication Publication Date Title
US10936327B2 (en) Method of implementing magnetic random access memory (MRAM) for mobile system-on-chip boot
US8645723B2 (en) Asynchronous management of access requests to control power consumption
CN103329112B (zh) 用于减少页面错误发生时压缩页面加载时间的方法和装置
CN102460384A (zh) 程序、控制方法以及控制装置
TW202006552A (zh) 能夠快速產生或更新有效頁數目對照表之內容的快閃記憶體控制器、方法及對應的儲存裝置
TWI507883B (zh) 記憶卡存取裝置、其控制方法與記憶卡存取系統
WO2021057665A1 (zh) 数据存储方法、装置、移动终端及存储介质
TWI634421B (zh) 用以存取資料之電子裝置及其資料存取方法
TWI902165B (zh) 記憶體操作方法、電子裝置及非暫態電腦可讀取媒體
CN111290848B (zh) 一种内存优化方法、终端和计算机可读存储介质
US20090138655A1 (en) Method and terminal for demand paging at least one of code and data requiring real-time response
CN110767265A (zh) 一种针对大数据基因组比对文件排序的并行加速方法
US9471584B2 (en) Demand paging method for mobile terminal, controller and mobile terminal
CN110688325B (zh) 一种固态硬盘的垃圾回收方法、装置、设备及存储介质
CN120687020A (zh) 存储器操作方法、电子装置及非暂态计算机可读取媒体
CN100578452C (zh) 应用于嵌入式系统的数据处理方法
US9904559B2 (en) Information processing apparatus and activation method therefor for processing data of a hibernation image
JP6080492B2 (ja) 情報処理装置、起動方法およびプログラム
US12430075B2 (en) Electronic device and operation method thereof
CN117666968B (zh) 一种固态盘存储系统的选择性数据压缩方法及装置
US11941252B2 (en) Method for reducing solid-state device (SSD) open time and system thereof
US20230153005A1 (en) Block Storage Device and Method for Data Compression
TWI588746B (zh) 電子裝置及其控制方法
CN120705075A (zh) 一种数据存储方法、数据读取方法及图形处理器
CN118606283A (zh) 文件压缩方法、文件解压方法、电子设备及存储介质