TWI588746B - 電子裝置及其控制方法 - Google Patents

電子裝置及其控制方法 Download PDF

Info

Publication number
TWI588746B
TWI588746B TW101131208A TW101131208A TWI588746B TW I588746 B TWI588746 B TW I588746B TW 101131208 A TW101131208 A TW 101131208A TW 101131208 A TW101131208 A TW 101131208A TW I588746 B TWI588746 B TW I588746B
Authority
TW
Taiwan
Prior art keywords
data
compressed data
memory
compressed
code
Prior art date
Application number
TW101131208A
Other languages
English (en)
Other versions
TW201409355A (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 TW101131208A priority Critical patent/TWI588746B/zh
Priority to US13/964,183 priority patent/US9268680B2/en
Publication of TW201409355A publication Critical patent/TW201409355A/zh
Application granted granted Critical
Publication of TWI588746B publication Critical patent/TWI588746B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

電子裝置及其控制方法
本發明與利用記憶體的技術相關,並且尤其與節省記憶體的技術相關。
一般而言,在電子產品出廠後便不再更動的程式碼和資料會被燒錄於唯讀記憶體中。近年來,消費性電子產品的發展趨勢之一是將多種功能整合進單一產品中,比方說令手機除了通話功能之外亦得以拍照、上網。多樣化的功能通常意味著較龐大複雜的程式碼。若欲儲存較多的程式碼和資料,電子產品中之唯讀記憶體的容量就必須相對應地隨之增加,因而導致硬體成本上升。
針對上述問題,現行的解決方案是將資料和程式碼壓縮後燒入唯讀記憶體。以一應用程式之程式碼被壓縮並燒錄在唯讀記憶體中的狀況為例,需要該應用程式時,電子裝置首先自唯讀記憶體讀取該壓縮後程式碼,再利用解壓縮器將該程式碼解壓縮至電子裝置中的隨機存取記憶體,供其處理器執行。
現行做法是以應用程式為壓縮/解壓縮的單位。易言之,在需要某個應用程式時,電子裝置必須將該應用程式的所有程式碼解壓縮至隨機存取記憶體,才能夠使用該應用程式。這種做法的缺點在於,隨機存取記憶體的容量必須相當的大,才足 以容納各種被解壓縮後的程式碼。然而,隨機存取記憶體的價格高昂,無疑又造成電子產品的硬體成本上升。
為解決上述問題,本發明提出一種新的電子裝置及其控制方法。藉由改以經適當分割後的程式碼或資料為壓縮/解壓縮的單位,並配合隨選分頁(demand paging)技術,根據本發明之電子裝置及其控制方法可有效減少需要的隨機存取記憶體空間,進而降低電子裝置的硬體成本。
根據本發明之一具體實施例為一種電子裝置,其中包含一唯讀記憶體、一隨機存取記憶體、一處理模組、一隨選分頁模組及一解壓縮模組。該唯讀記憶體中儲存有複數筆壓縮後資料。每一筆壓縮後資料各自對應於一壓縮前資料。該等壓縮前資料係分割自同一筆原始資料。該隨選分頁模組係用以根據與該筆原始資料相關且來自該處理模組之一需求,自該複數筆壓縮後資料中選擇一筆或多筆壓縮後資料。解壓縮模組則係用以將該隨選分頁模組所選擇之該一筆或多筆壓縮後資料解壓縮後存入該隨機存取記憶體,供該處理模組使用。
根據本發明之另一具體實施例為一種應用於一電子裝置之控制方法。該電子裝置包含一唯讀記憶體及一隨機存取記憶體。該唯讀記憶體中儲存有複數筆壓縮後資料。每一筆壓縮後資料各自對應於一壓縮前資料。該等壓縮前資料係分割自同一 筆原始資料。回應於與該筆原始資料相關之一需求,該控制方法首先執行一選擇步驟,自該複數筆壓縮後資料中選擇一筆或多筆壓縮後資料。接著,該控制方法執行一解壓縮步驟,將被選擇之該一筆或多筆壓縮後資料解壓縮後存入該隨機存取記憶體。隨後,該控制方法執行一操作步驟,根據將該一筆或多筆壓縮後資料解壓縮後所產生之一解壓縮後資料,執行與該筆原始資料相關之一操作。
根據本發明之另一具體實施例為一種電腦可讀取儲存媒體,其中儲存有可由一控制器讀取並執行之一程式碼。該程式碼係用以控制一電子裝置。該電子裝置包含一唯讀記憶體及一隨機存取記憶體。該唯讀記憶體中儲存有複數筆壓縮後資料。每一筆壓縮後資料各自對應於一壓縮前資料。該等壓縮前資料係分割自同一筆原始資料。回應於與該筆原始資料相關之一需求,該程式碼包含之一第一程式碼自該複數筆壓縮後資料中選擇一筆或多筆壓縮後資料。一第二程式碼係用以將被選擇之該一筆或多筆壓縮後資料解壓縮後存入該隨機存取記憶體。一第三程式碼則係用以根據將該一筆或多筆壓縮後資料解壓縮後所產生之一解壓縮後資料,執行與該筆原始資料相關之一操作。
關於本發明的優點與精神可以藉由以下發明詳述及所附圖式得到進一步的瞭解。
根據本發明之一具體實施例為圖一所示之電子裝置100,其中包含唯讀記憶體11、隨機存取記憶體12、處理模組13、隨選分頁(demand paging)模組14和解壓縮模組15。於實際應用中,電子裝置100可為各種利用唯讀記憶體儲存其資料/程式碼的裝置,例如智慧型手機、個人數位助理、筆記型電腦、遊戲機台或平板電腦,但不以此為限。
唯讀記憶體11中儲存有複數筆壓縮後資料。實務上,該等壓縮後資料可分別對應於各種程式碼、軟體資料或使用者資料。圖二(A)係繪示唯讀記憶體11之一儲存內容範例。壓縮後資料A1’~An’係對應於一應用程式A,並且各自包含應用程式A之壓縮後程式碼的一部份;壓縮後資料B1’、B2’係對應於一軟體資料B,並且各自包含壓縮後軟體資料B的一部份。此外,本範例中的唯讀記憶體11還儲存有一筆未經壓縮的使用者資料C。
圖二(B)係用以表示壓縮後資料A1’~An’與應用程式A的對應關係。應用程式A在受壓縮前被分割為A1~An等n個部份。這n個部份隨後被各自壓縮,成為壓縮後資料A1’~An’。換句話說,壓縮後資料A1’~An’各自對應的壓縮前資料A1~An係分割自同一原始資料(亦即應用程式A的程式碼)。實務上,分割應用程式A之程式碼的依據可為資料量大小,例如將應 用程式A之程式碼分割為大小相同的n等分。或者,分割應用程式A之程式碼的依據亦可為模組類型。舉例而言,資料A1~An可能係各自關聯於應用程式A中的不同功能模組。須說明的是,一筆原始資料被分割之後產生的資料筆數不以特定數值為限。
當處理模組13針對應用程式A提出使用需求,隨選分頁模組14會判斷(例如根據一對應關係查找表)處理模組13所需要的程式碼是包含於壓縮後資料其中哪幾筆,假設處理模組13所需要的程式碼係包含於壓縮後資料A1’~A3’。一例中,處理模組13令隨選分頁模組14即自唯讀記憶體11擷取出壓縮後資料A1’~A3’,並將壓縮後資料A1’~A3’一併提供給解壓縮模組15處理。隨後,解壓縮模組15會將解壓縮後產生的資料(被還原後的壓縮前資料A1)存放於隨機存取記憶體12,供處理模組15使用。另一例中,處理模組13令隨選分頁模組14一次處理一筆壓縮後資料,例如先處理A1’。壓縮後資料A1’先被解壓縮後將解壓縮後產生的資料(被還原後的壓縮前資料A1)存放至隨機存取記憶體12的某一區塊12a,並且該解壓縮後產生的資料A1會被執行。接著,隨選分頁模組14對壓縮後資料A2’進行相同的動作,並將解壓縮後產生的資料A2儲存於隨機存取記憶體12的另一區塊12b並進行執行。最後,若相對應於A1’的解壓縮後資料已經被執行完畢,則第三筆壓 縮後資料A3’的解壓縮後資料A3可被儲存於相同於相對應於A1’的解壓縮後資料儲存於隨機存取記憶體12的同一區塊,也就是覆寫區塊12a中已經執行完畢的資料A1。
在上述範例中,隨機存取記憶體12的大小只需足以存放壓縮前資料A1~A3或A1~A2即可。也就是說,隨機存取記憶體12的容量不需要被設計為足以容納應用程式A的所有程式碼(包含壓縮前資料A1~An)。同理,若處理模組13針對軟體資料B提出之使用需求中需要的資料係包含於壓縮後資料B2’,隨選分頁模組14亦將僅自唯讀記憶體11選取壓縮後資料B2’,而非同時選取壓縮後資料B1’、B2’。除了保有利用壓縮技術節省唯讀記憶體空間的優點之外,這種做法顯然能夠降低對隨機存取記憶體12的容量需求。
另一方面,若處理模組13針對使用者資料C提出使用需求,處理模組13可直接自唯讀記憶體11擷取並使用使用者資料C。須說明的是,在隨機存取記憶體12之剩餘空間不足的情況下,處理模組13可下令刪除或覆寫其中目前已不需要的資料,以謄出容納解壓縮模組15之最新輸出的空間。
於一實施例中,隨機存取記憶體12被分割為兩個區域:第一區域用以存放解壓縮模組15產生之解壓縮後資料,第二區域則是用以存放解壓縮模組15之輸出以外的其他資料。該第一區域的大小可為固定,亦可被設計為受處理模組13的控 制而動態調整。舉例而言,在希望提升處理模組13執行應用程式A之效能時,處理模組13可將該第一區域擴大、將第二區域縮小,並且令隨選分頁模組14和解壓縮模組15將壓縮後資料A1’~A3’全部解壓縮至隨機存取記憶體12,使處理模組13能快速使用應用程式A的所有程式碼。相對地,若應用程式A被判定為重要性較低的應用程式,處理模組13可將該第一區域的大小限制為僅能容納單一筆解壓縮後資料。
根據本發明之另一具體實施例為一種應用於一電子裝置之控制方法,其流程圖如圖三所示。該電子裝置包含一唯讀記憶體及一隨機存取記憶體。該唯讀記憶體中儲存有複數筆壓縮後資料。每一筆壓縮後資料各自對應於一壓縮前資料。該等壓縮前資料係分割自同一筆原始資料。回應於與該筆原始資料相關之一需求,該控制方法首先執行步驟S32,自該複數筆壓縮後資料中選擇一筆或多筆壓縮後資料。接著,該控制方法執行步驟S34,將被選擇之該一筆或多筆壓縮後資料解壓縮後存入該隨機存取記憶體。隨後,該控制方法執行步驟S36,根據將該一筆或多筆壓縮後資料解壓縮後所產生之一解壓縮後資料,執行與該原始資料相關之一操作。
先前在介紹電子裝置100時描述的各種變化(例如壓縮前資料的分割方式)皆可應用至圖三所繪示的控制方法中,其細節不再贅述。
根據本發明之另一具體實施例為一種電腦可讀取儲存媒體,其中儲存有可由一控制器讀取並執行之一程式碼。該程式碼係用以控制一電子裝置。該電子裝置包含一唯讀記憶體及一隨機存取記憶體。該唯讀記憶體中儲存有複數筆壓縮後資料。每一筆壓縮後資料各自對應於一壓縮前資料。該等壓縮前資料係分割自同一原始資料。回應於與該原始資料相關之一使用需求,該程式碼包含之一第一程式碼自該複數筆壓縮後資料中選擇一筆或多筆壓縮後資料。一第二程式碼係用以將被選擇之該一筆或多筆壓縮後資料解壓縮後存入該隨機存取記憶體。一第三程式碼則係用以根據將該一筆或多筆壓縮後資料解壓縮後所產生之一解壓縮後資料,執行與該原始資料相關之一操作。
如上所述,本發明提出一種新的電子裝置及其控制方法。藉由改以經適當分割後的程式碼或資料為壓縮/解壓縮的單位,並配合隨選分頁技術,根據本發明之電子裝置及其控制方法可有效減少需要的隨機存取記憶體空間,進而降低電子裝置的硬體成本。
藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。
100‧‧‧電子裝置
11‧‧‧唯讀記憶體
12‧‧‧隨機存取記憶體
13‧‧‧處理模組
14‧‧‧隨選分頁模組
15‧‧‧解壓縮模組
A‧‧‧應用程式
B‧‧‧軟體資料
A1’~An’、B1’、B2’‧‧‧壓縮後資料
A1~An‧‧‧壓縮前資料
C‧‧‧未經壓縮的使用者資料
S32~S36‧‧‧流程步驟
圖一為根據本發明之一具體實施例中的電子裝置方塊圖。
圖二(A)係繪示根據本發明之唯讀記憶體的儲存內容範例;圖二(B)係用以表示壓縮後資料與其原始資料的對應關係。
圖三為根據本發明之一具體實施例中的控制方法圖。
100‧‧‧電子裝置
11‧‧‧唯讀記憶體
12‧‧‧隨機存取記憶體
13‧‧‧處理模組
14‧‧‧隨選分頁模組
15‧‧‧解壓縮模組

Claims (12)

  1. 一種電子裝置,包含:一唯讀記憶體,其中儲存有複數筆壓縮後資料,各自對應於一壓縮前資料,該等壓縮前資料係分割自同一筆原始資料;一隨機存取記憶體;一處理模組,耦接至該唯讀記憶體與該隨機存取記憶體;一隨選分頁模組,接收該處理模組提出之一需求,判斷該需求係針對該筆原始資料之一壓縮前資料所對應之一筆壓縮後資料,並選擇該筆壓縮後資料;以及一解壓縮模組,耦接至該隨選分頁模組,將該隨選分頁模組所選擇之該筆壓縮後資料解壓縮後存入該隨機存取記憶體,供該處理模組使用。
  2. 如申請專利範圍第1項所述之電子裝置,其中該筆原始資料為一程式碼、一軟體資料或一使用者資料。
  3. 如申請專利範圍第1項所述之電子裝置,其中該等壓縮前資料係根據一資料量大小或一模組類型自該筆原始資料被分割。
  4. 如申請專利範圍第1項所述之電子裝置,其中該隨機存取記憶體包含一記憶體區域,用以存放該解壓縮模組將該筆壓縮後資料解壓縮後所產生之一解壓縮後資料;以及,該處理模組動態調整該記憶體區域之大小。
  5. 一種應用於一電子裝置之控制方法,該電子裝置包含一唯讀記憶體及一隨機存取記憶體,該唯讀記憶體中儲存有複數筆壓縮後資料,每一筆壓縮後資料各自對應於一壓縮前資料,該等壓縮前資料係分割自同一筆原始資料,該控制方法包含 下列步驟:回應於與該筆原始資料相關之一需求,選擇該筆原始資料之一壓縮前資料所對應之一筆壓縮後資料;將被選擇之該筆壓縮後資料解壓縮後存入該隨機存取記憶體;以及根據將該筆壓縮後資料解壓縮後所產生之一解壓縮後資料,執行與該筆原始資料相關之一操作。
  6. 如申請專利範圍第5項所述之控制方法,其中該筆原始資料為一程式碼、一軟體資料或一使用者資料。
  7. 如申請專利範圍第5項所述之控制方法,其中該等壓縮前資料係根據一資料量大小或一模組類型自該筆原始資料被分割。
  8. 如申請專利範圍第5項所述之控制方法,其中該隨機存取記憶體包含一記憶體區域,用以存放該解壓縮模組將該筆壓縮後資料解壓縮後所產生之一解壓縮後資料;該控制方法進一步包含:動態調整該記憶體區域之大小。
  9. 一種電腦可讀取儲存媒體,其中儲存有可由一控制器讀取並執行之一程式碼,該程式碼係用以控制一電子裝置,該電子裝置包含一唯讀記憶體及一隨機存取記憶體,該唯讀記憶體中儲存有複數筆壓縮後資料,每一筆壓縮後資料各自對應於一壓縮前資料,該等壓縮前資料係分割自同一筆原始資料,該程式碼包含:一第一程式碼,回應於與該筆原始資料相關之一需求,該第一程式碼選擇該筆原始資料之一壓縮前資料所對應之一筆壓縮後資料; 一第二程式碼,用以將被選擇之該筆壓縮後資料解壓縮後存入該隨機存取記憶體;以及一第三程式碼,用以根據將該筆壓縮後資料解壓縮後所產生之一解壓縮後資料,執行與該筆原始資料相關之一操作。
  10. 如申請專利範圍第9項所述之電腦可讀取儲存媒體,其中該筆原始資料為一程式碼、一軟體資料或一使用者資料。
  11. 如申請專利範圍第9項所述之電腦可讀取儲存媒體,其中該等壓縮前資料係根據一資料量大小或一模組類型自該筆原始資料被分割。
  12. 如申請專利範圍第9項所述之電腦可讀取儲存媒體,其中該隨機存取記憶體包含一記憶體區域,用以存放該解壓縮模組將該筆壓縮後資料解壓縮後所產生之一解壓縮後資料;該控制方法進一步包含:一第四程式碼,用以動態調整該記憶體區域之大小。
TW101131208A 2012-08-28 2012-08-28 電子裝置及其控制方法 TWI588746B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101131208A TWI588746B (zh) 2012-08-28 2012-08-28 電子裝置及其控制方法
US13/964,183 US9268680B2 (en) 2012-08-28 2013-08-12 Electronic apparatus with compressed data storage and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101131208A TWI588746B (zh) 2012-08-28 2012-08-28 電子裝置及其控制方法

Publications (2)

Publication Number Publication Date
TW201409355A TW201409355A (zh) 2014-03-01
TWI588746B true TWI588746B (zh) 2017-06-21

Family

ID=50189089

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101131208A TWI588746B (zh) 2012-08-28 2012-08-28 電子裝置及其控制方法

Country Status (2)

Country Link
US (1) US9268680B2 (zh)
TW (1) TWI588746B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160320972A1 (en) * 2015-04-29 2016-11-03 Qualcomm Incorporated Adaptive compression-based paging

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1188784C (zh) * 2000-05-30 2005-02-09 国际商业机器公司 用于支持存储器压缩的操作系统的方法和系统
CN101188833B (zh) * 2006-11-22 2011-05-18 三星电子株式会社 用于便携式终端中的高效率存储器利用的装置和方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995018996A2 (en) * 1993-12-30 1995-07-13 Connectix Corporation Lossless data compression system and method
US6349375B1 (en) * 1994-02-02 2002-02-19 Compaq Computer Corporation Compression of data in read only storage and embedded systems
US20090254705A1 (en) * 2008-04-07 2009-10-08 International Business Machines Corporation Bus attached compressed random access memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1188784C (zh) * 2000-05-30 2005-02-09 国际商业机器公司 用于支持存储器压缩的操作系统的方法和系统
CN101188833B (zh) * 2006-11-22 2011-05-18 三星电子株式会社 用于便携式终端中的高效率存储器利用的装置和方法

Also Published As

Publication number Publication date
US9268680B2 (en) 2016-02-23
US20140068141A1 (en) 2014-03-06
TW201409355A (zh) 2014-03-01

Similar Documents

Publication Publication Date Title
US10261910B2 (en) Cache line compaction of compressed data segments
CN106537327B (zh) 快闪存储器压缩
US9116631B2 (en) Mobile device and method of managing data using swap thereof
US11006127B2 (en) System and method for foveated compression of image frames in a system on a chip
CN111352861B (zh) 内存压缩方法、装置及电子设备
CN107077423B (zh) 用于请求分页的高效解压缩局部性系统
US10146680B2 (en) Data processing system and method of operating the same
CN110457235B (zh) 内存压缩方法、装置、终端及存储介质
WO2014188528A1 (ja) メモリ装置、計算機システム及びメモリ装置の制御方法
US20130179670A1 (en) Booting method of multimedia device and multimedia device
CN104281528A (zh) 一种数据存储方法及装置
TWI634421B (zh) 用以存取資料之電子裝置及其資料存取方法
CN115357389A (zh) 内存管理方法、装置及电子设备
TWI588746B (zh) 電子裝置及其控制方法
KR102533726B1 (ko) 전자 장치 및 그의 제어방법
KR20140073955A (ko) 메모리 시스템 및 그 구동 방법
CN102792296B (zh) 移动终端中请求页面调度方法、控制器以及移动终端
KR20170062621A (ko) 메모리 시스템 및 그의 동작 방법
US20160320972A1 (en) Adaptive compression-based paging
CN111880743B (zh) 一种数据存储方法、装置、设备及存储介质
CN103678153A (zh) 电子装置及其控制方法
KR20170133116A (ko) 전자 장치 및 그것의 동작 방법
KR20240103414A (ko) 전자 장치에서 데이터 저장/독출 장치 및 방법
CN117389645A (zh) 应用运行方法、装置、电子设备和可读存储介质
CN117375625A (zh) 地址空间的动态解压缩方法、地址解压器、设备及介质

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees