TW201423577A - 移動裝置和使用交換其的資料管理方法 - Google Patents
移動裝置和使用交換其的資料管理方法 Download PDFInfo
- Publication number
- TW201423577A TW201423577A TW102144510A TW102144510A TW201423577A TW 201423577 A TW201423577 A TW 201423577A TW 102144510 A TW102144510 A TW 102144510A TW 102144510 A TW102144510 A TW 102144510A TW 201423577 A TW201423577 A TW 201423577A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- page
- exchange
- page data
- type
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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/17—Embedded application
- G06F2212/171—Portable consumer electronics, e.g. mobile phone
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
一種移動裝置,包括存儲部,配置以儲存資料;緩衝記憶體,配置以包含交換犧牲緩衝區及正常資料區;以及應用處理器,配置以選擇要從所述正常資料區交換的頁面資料,且對所選的頁面資料進行交換操作。所述交換操作依據所選的頁面資料的資料型態,進行立即交換操作或怠惰交換操作。
Description
本申請按35 U.S.C §119規定,要求2012年12月11日提交韓國智慧財產局的第10-2012-0143722號韓國專利申請案的優先權,其全部揭露內容以引用方式併入本文中。
本發明涉及的發明概念是關於一種移動裝置以及一種使用交換(swap)來管理資料的方法。
移動裝置如智慧型手機、平板裝置或筆記型電腦上,運行各式各樣的應用程式。多個應用程式是裝載在移動裝置的揮發性記憶體(volatile memory)上。當新的程式裝載在揮發性記憶體上時,多個應用程式中的某幾個,可以被交換到非揮發性記憶體(nonvolatile memory)。
根據本發明概念的一例示性實施例,移動裝置包括:存儲部,配置以儲存資料;緩衝記憶體,配置以包含交換犧牲緩衝區(swap victim buffer area)及正常資料區(normal data area);以及應用處理器,配置以選擇要從該正常資料區交換的頁面資料(page data),且對所選的頁面資料進行交換操作(swapping operation)。所述交換操作依據所選的頁面資料的資料型態來進行立即交換操作(instant swapping operation)或怠惰交換操作(lazy swapping operation)。
根據本發明概念的一例示性實施例,移動裝置包括:非揮發性記憶體;動態隨機存取記憶體(dynamic random access memory,DRAM),配置以包含交換犧牲緩衝及正常資料區;以及應用處理器,耦合至非揮發性記憶體及DRAM。當儲存在正常資料區的頁面資料需要交換時,配置應用處理器以根據頁面資料的型態進行立即交換操作或怠惰交換操作。所述立即交換操作即刻地轉移頁面資料到非揮發性記憶體,而怠惰交換操作壓縮頁面資料,並透過交換犧牲緩衝區來轉移壓縮的資料到非揮發性記憶體。
根據本發明概念的一例示性實施例,應用處理器的資料管理方法包括:決定儲存在DRAM中的頁面資料之資料型態的步驟;以及進行怠惰交換操作和立即交換操作的步驟,其中是在決定的資料型態為怠惰型態時,對頁面資料進行怠惰交換操作,而是在決定的資料型態為立即型態時,對頁面資料進行立即交換操作。
根據本發明概念的一例示性實施例,應用處理器包括:DRAM介面;快閃記憶體(flash memory)介面;直接記憶體存取(direct memory access);以及處理器。配置處理器以決定是否需要交換操作。配置處理器以透過DRAM介面接收要交換的頁面資料。配置處理器以依據頁面資料的資料型態,在立即交換操作或怠惰交換操作中,對頁面資料進行交換操作。在怠惰交換操作中,配置處理器以壓縮頁面資料,並透過DRAM介面來輸出壓縮的頁面資料。配置直接記憶體存取來控制DRAM介面與快閃記憶體介面之間的資料路徑,以將輸出之壓縮的頁面資料從DRAM介面轉移到快閃記憶體介面。
1000‧‧‧移動裝置
1100‧‧‧應用處理器
1110‧‧‧匯流排
1120‧‧‧中央處理單元
1130‧‧‧直接記憶體存取
1140‧‧‧解壓縮器
1150‧‧‧動態隨機存取記憶體介面
1160‧‧‧靜態隨機存取記憶體
1170‧‧‧快閃介面
1200‧‧‧動態隨機存取記憶體
1230‧‧‧交換犧牲緩衝區
1250‧‧‧正常資料區
1300‧‧‧快閃記憶體
1400‧‧‧數據機
1500‧‧‧使用者介面
2000‧‧‧移動裝置
2100‧‧‧應用處理器
2110‧‧‧匯流排
2120‧‧‧中央處理單元
2130‧‧‧直接記憶體存取
2140‧‧‧壓縮器及解壓縮器區塊
2150‧‧‧動態隨機存取記憶體介面
2160‧‧‧靜態隨機存取記憶體
2161‧‧‧交換犧牲緩衝描述符表
2170‧‧‧快閃介面
2200‧‧‧動態隨機存取記憶體
2230‧‧‧交換犧牲緩衝區
2250‧‧‧正常資料區
2300‧‧‧快閃記憶體
2400‧‧‧數據機
2500‧‧‧使用者介面
S110~S130、S210~S240‧‧‧操作
S310~S350、S360~S380‧‧‧操作
S410~S450、S460~S480‧‧‧操作
S510~S520、S610~S660‧‧‧操作
S710~S730、S810~S870、S910~S970‧‧‧操作
為讓本發明概念及其他的特徵能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是根據本發明概念之一例示性實施例繪示移動裝置的方塊圖。
圖2是根據本發明概念之一例示性實施例繪示記憶體階層的方塊圖。
圖3是根據本發明概念之一例示性實施例繪示資料管理方法的流程圖。
圖4是根據本發明概念之一例示性實施例繪示交換的決定方
法的流程圖。
圖5是根據本發明概念之一實施例繪示頁面資料型態的決定方法的流程圖。
圖6是根據本發明概念之一例示性實施例繪示資料型態的決定方法的流程圖。
圖7是根據本發明概念之一例示性實施例繪示頁面資料型態的決定方法的流程圖。
圖8是根據一例示性實施例繪示資料型態的決定方法的流程圖。
圖9是根據本發明概念之一例示性實施例繪示閾值的控制方法的流程圖。
圖10是根據本發明概念之一例示性實施例繪示移動裝置的方塊圖。
圖11是根據本發明概念之一例示性實施例繪示記憶體階層的方塊圖。
圖12是根據本發明概念之一例示性實施例繪示頁面資料型態的決定方法的流程圖。
圖13是根據本發明概念之一例示性實施例繪示立即交換方法的流程圖。
圖14是根據本發明概念之一例示性實施例繪示怠惰交換方法的流程圖。
圖15及16是根據本發明概念之一例示性實施例繪示在
DRAM中進行立即或怠惰交換操作的示意圖。
圖17是繪示被交換的頁面資料的復原方法的流程圖。
本發明概念之例示性實施例參照其相應的示意圖,將詳細描述於下文中。然而,本發明概念可能以不同的形式實施,且不應以本說明書中所提出的實施例為限。其中相同的參照標號能指的是整份說明書及圖示中相同的元件。
應理解的是,所指的一元件耦合至另一元件,該元件可能是直接耦合至另一元件或可能存在有元件介於其中。
圖1是根據本發明概念之一例示性實施例說明移動裝置的方塊圖。參照圖1,移動裝置1000包括應用處理器(application processor,AP)1100、DRAM 1200、快閃記憶體1300、數據機(modem)1400及使用者介面1500。
應用處理器1100控制移動裝置1000整體的操作以及進
行邏輯操作。應用處理器1100可能由系統晶片(system-on-chip,SoC)形成。
應用處理器1100包括匯流排(bus)1110、中央處理單元(Central Processing Unit,CPU)1120、直接記憶體存取(direct memory access,DMA)1130、解壓縮器(decompressor)1140、DRAM介面1150、靜態隨機存取記憶體(Static Random Access Memory,SRAM)1160及快閃介面(flash interface)1170。在圖
1中,未繪出能讓應用處理器1100與數據機1400和使用者介面1500通訊的介面。
匯流排1110在應用處理器1100的組件之中提供通道。CPU 1120進行主運算操作、進行資料處理操作以及進行應用處理器1100的整體控制。直接記憶體存取1130控制記憶體之間的資料交換,所述記憶體包含DRAM 1200及快閃記憶體1300。
DMA 1130根據CPU 1120的控制來操作。舉例來說,DMA 1130是由CPU 1120來程式化,且根據程式化的情況來操作。程式化的DMA 1130在沒有CPU 1120的控制下,控制在移動裝置1000的儲存元件之間的資料流。舉例來說,DMA 1130控制在DRAM 1200、SRAM 1160及快閃記憶體1300之至少其二者之間的資料流。
解壓縮器1140解壓縮被壓縮的頁面資料。解壓縮器1140可能被實現在硬體單元。DRAM介面1150支援與DRAM 1200的通訊。SRAM 1160提供服務如應用處理器1100的快取記憶體(cache memory)、緩衝記憶體(buffer memory)或暫時記憶體(temporary memory)。快閃介面1170支援與快閃記憶體1300的通訊。
DRAM 1200提供服務如移動裝置1000的緩衝記憶體或工作記憶體(working memory)。舉例來說,在一實施例中,繪示移動裝置1000的工作記憶體是由DRAM 1200所形成。然而,移動裝置1000的工作記憶體可能包括各式各樣的記憶體,如
SRAM、非或快閃記憶體(NOR flash memory)、相變隨機存取記憶體(phase change random access memory,PRAM)、磁性隨機存取記憶體(magnetic random access memory,MRAM)、電阻性隨機存取記憶體(resistive random access memory,RRAM)或鐵電隨機存取記憶體(ferroelectric random access memory,FRAM)......等。工作記憶體可能是非揮發性的或揮發性的。
快閃記憶體1300提供服務如儲存裝置以儲存資料。在一例示性實施例中,儲存裝置可能包括硬碟驅動(hard disk drive)或非揮發性記憶體,如PRAM、MRAM、RRAM或FRAM,但不僅限於此。
數據機1400依據應用處理器1100的控制來進行無線或有線通訊。數據機1400使用通訊協定進行通訊,所述通訊協定包括無線保真(Wireless Fidelity,WiFi)、分碼多工多重存取(Code Division Multiple Access,CDMA)、全球移動通信系統(Global System for Mobile communication,GSM)、長期演進技術(Long Term Evolution,LTE)、藍牙(Bluetooth)、近場通訊(Near Field Communication,NFC)......等。舉例來說,數據機1400可能在系統晶片裝置中與應用處理器1100整合。
使用者介面1500與外部裝置交換信號。舉例來說,使用者介面1500可能包括使用者輸入介面,且該使用者輸入介面包括鍵盤、鍵板、按鈕、觸控面板、觸控螢幕、觸控板、觸控球、攝相機、麥克風、陀螺儀感測器(gyroscope sensor)或振動感測器。
使用者介面1500可能進一步包括使用者輸出介面,且該使用者輸出介面包括液晶顯示(Liquid Crystal Display,LCD)、有機發光二極體(Organic Light Emitting Diode,OLED)顯示裝置、主動式有機發光二極體(Active Matrix OLED,AMOLED)顯示裝置、發光二極體(Light Emitting Diode,LED)、揚聲器(speaker)或馬達(motor)。
圖2是繪示圖1之DRAM及快閃記憶體的資料區結構的方塊圖。參照圖2,DRAM 1200包括交換犧牲緩衝區(swap victim buffer area,SVB)1230及正常資料區(normal data area,NDA)1250。
當正常資料區1250的資料交換至快閃記憶體1300,所述的交換資料暫時儲存在交換犧牲緩衝區1230中。舉例來說,儲存在正常資料區1250的資料,至少有一部份移動到交換犧牲緩衝區1230,然後再移動到快閃記憶體1300。
正常資料區1250是由應用處理器1100所驅動的處理程序來存取。舉例來說,處理程序的程式碼或由處理程序管理的資料是儲存在正常資料區1250中。
舉例來說,在DRAM 1200中,資料是由頁面單元來管理。頁面具有由移動裝置1000的作業系統(operating system,OS)所定義的大小。處理程序的程式碼或資料是藉由頁面單元儲存在DRAM 1200中,且是藉由頁面單元從DRAM 1200讀取。在下文中,藉由頁面單元存取的資料可以被稱為頁面資料。
快閃記憶體1300提供服務如移動裝置1000的儲存裝置。快閃記憶體1300儲存使用者資料及交換資料。舉例來說,應用處理器1100儲存處理過的資料(如包含處理程序資料的資料或由處理程序管理的資料)在DRAM 1200中,且交換處理過的資料的一部份至快閃記憶體1300。交換資料可能是被應用處理器1100交換的資料。
圖3是根據本發明概念之一例示性實施例,繪示圖1之移動裝置的資料管理方法的流程圖。舉例來說,圖3中繪示了應用處理器1100的資料管理方法。
在操作S110,其決定是否需要交換操作。應用處理器1100決定儲存在正常資料區1250的頁面資料,是否需要轉移到快閃記憶體1300。若不需要交換操作,則方法結束。若需要交換操作,則方法進入操作S120。操作S110將參照圖4更完整描述於後。
在操作S120,其決定儲存在DRAM 1200的頁面資料的型態。舉例來說,應用處理器1100從儲存在正常資料區1250的頁面資料之中,決定被選為交換目標的頁面資料的型態。操作S120將參照圖5到圖8及圖12更完整描述於後。
在操作S130,根據在操作S120中所決定的資料型態,進行怠惰交換或立即交換的交換操作。操作S130將參照圖13到圖16更完整描述於後。
圖4是根據本發明概念之一例示性實施例,繪示圖3的操作S110的細節的流程圖。參照圖1及4,在操作S210,其決定
應用處理器1100是否執行處理程序,所述處理程序是除了如儲存在DRAM 1200的應用處理器100外的處理程序。在此種情形下,應用處理器1100為了新的處理程序而分配DRAM 1200的記憶體空間。舉例來說,正常資料區1250的一或多個頁面可能被分配給應用處理器1100的新處理程序。
在操作S220,其決定DRAM 1200是否具有自由記憶體空間,以容納應用處理器1100的處理程序。應用處理器1100分配正常資料區1250的一預先決定的頁面數量給處理程序。舉例來說,應用處理器1100基於處理程序的運轉歷史,決定處理程序需要的頁面數量。
當處理程序需要的頁面數量少於正常資料區1250的自由記憶體空間時,判定正常資料區1250具有足夠的自由記憶體空間提供給處理程序,因此不需要交換操作(S230)。
當處理程序需要的頁面數量多於正常資料區1250的自由記憶體空間時,判定正常資料區1250不足以提供給處理程序,因此需要交換操作(S240)。舉例來說,某些儲存在DRAM 1200的處理程序會被轉移到快閃記憶體1300,以對於新處理程序製造記憶體空間。
圖5是根據本發明概念之一實施例,繪示圖3的操作S120的流程圖。
在操作S310,其從正常資料區1250讀取頁面資料,並壓縮所述頁面資料。舉例來說,CPU 1120透過DRAM介面1150從
DRAM 1200的正常資料區1250讀取頁面資料,所述頁面資料是被選擇作為交換的目標。CPU 1120可以壓縮讀取的頁面資料。
在操作S320,其決定壓縮的頁面資料的壓縮率是否高於閾值(threshold value)。舉例來說,CPU 1120壓縮讀取的頁面資料,然後將壓縮的頁面資料的壓縮率與閾值作比較。
若壓縮率沒有高於閾值,在操作S340,其決定讀取的頁面資料的資料型態為立即型態。舉例來說,具有立即型態的頁面資料有比閾值低的壓縮率。當讀取的頁面資料的資料型態被決定為立即型態時,壓縮的頁面資料可以被丟棄。
若壓縮率高於閾值,在操作S330,其決定讀取的頁面資料的資料型態為怠惰型態。舉例來說,具有怠惰型態的頁面資料有比閾值高的壓縮率。當讀取的頁面資料的資料型態被決定為怠惰型態時,壓縮的頁面資料可以被轉移到交換犧牲緩衝區1230。在此種情形下,應用處理器1100可以減少交換操作的次數而能改進系統效能。
在操作S350,其儲存頁面資料為記錄資訊(log information)。舉例來說,CPU 1120以記錄資訊來儲存頁面資料的資料型態在SRAM 1160中。CPU 1120以記錄資訊來儲存使用到頁面資料的處理程序的識別符、表示頁面資料是否為程式碼或資料的資訊以及頁面資料的資料型態。依據預先決定的排程或為了回應特定事件(如電源關閉)的發生,儲存在SRAM 1160中的記錄資訊會週期性地備份在快閃記憶體1300中。當移動裝置的電
源被開啟時,備份在快閃記憶體1300的記錄資訊會複製到SRAM 1160。
圖6是繪示當資料型態根據一例示性實施例被預測時,CPU決定資料型態的方法的流程圖。
在操作S360,其從記錄資訊讀取頁面資料的資料型態。頁面資料的資料型態是根據頁面資料的標頭資訊(header information)來預測。CPU 1120讀取儲存在SRAM 1160的記錄資訊,並決定包含在記錄資訊中的頁面資料的資料型態。
在操作S370,其決定讀取的資料型態是否為怠惰型態。若讀取的資料型態不是怠惰型態,則略過對正常資料區1250中的頁面資料的壓縮,且方法結束。若讀取的資料型態是怠惰型態,在操作S380,其從正常資料區1250讀取頁面資料,並壓縮讀取的頁面資料。壓縮的頁面資料藉由怠惰交換操作被交換。
圖7是根據本發明概念之一例示性實施例,繪示圖3的步驟S120的流程圖。參照圖5中的操作S310至S340的描述,圖7中的操作S410至S440的實行方法與其實質上相同,因此省略描述之。
在操作S450,其用記錄資訊來儲存選為交換目標的頁面資料的壓縮率。舉例來說,CPU 1120以記錄資訊來儲存頁面資料的壓縮率於SRAM 1160中。CPU 1120以記錄資訊來儲存使用到頁面資料的處理程序的識別符、表示頁面資料是否為程式碼或資料的資訊以及頁面資料的壓縮率。
圖8是繪示當圖7中決定的壓縮率(或資料型態)被儲存為記錄資訊,而資料型態需要再重新決定時,CPU決定資料型態的方法的流程圖。
在操作S460,其從記錄資訊讀取頁面資料的壓縮率。CPU 1120讀取儲存在SRAM 1160的記錄資訊,並決定包含在記錄資訊中的頁面資料的壓縮率。
在操作S470,其決定讀取的壓縮率是否高於閾值。若讀取的壓縮率沒有高於閾值,則略過對儲存在正常資料區1250中的頁面資料的壓縮,且方法結束。若讀取的壓縮率高於閾值,在操作S480,其從正常資料區1250讀取頁面資料,並壓縮讀取的頁面資料。壓縮的頁面資料可以用來做交換。
在一例示性實施例中,依據頁面資料的壓縮率決定資料型態。壓縮的頁面資料依據資料型態來做交換或丟棄。
在一例示性實施例中,頁面資料的資料型態被預測,且預測的資料型態以記錄資訊儲存。在此種情形下,資料型態是透過讀取記錄資訊來決定而無壓縮頁面資料。由於資料型態經過核對確認後才進行壓縮,避免了非必要的壓縮(例如非必要的頁面資料的壓縮),且提升了移動裝置1000的性能。
圖9是根據本發明概念之一例示性實施例,繪示CPU的閾值控制方法的流程圖。
在操作S510,其偵測頁面資料或關於頁面資料之處理程序的特性。在操作S520,其依據偵測到的特性來決定閾值。舉例
來說,依據選擇作為交換目標之頁面資料或關於頁面資料之處理程序的特性,決定頁面資料是否要藉由立即或怠惰交換操作來交換而變更閾值。
當移動裝置1000進行各式各樣的處理程序,固定的閾值會變動以平衡怠惰交換操作的數量及立即交換操作的數量。舉例來說,編輯文件的處理程序及其資料可能具有高的壓縮率。若移動裝置100進行具有高壓縮率的處理程序及資料且閾值是固定的,則應用處理器1100可能大部份會進行怠惰交換操作。另一方面,運行動態圖像的處理程序及其資料可能具有低的壓縮率。若應用處理器1100進行具有低壓縮率的處理程序及資料且閾值是固定的,則應用處理器1100可能大部份會進行立即交換操作。
依據處理程序的特性及資料的壓縮率來更動閾值,因此能控制立即交換操作及怠惰交換操作的比例。
圖10是根據本發明概念之一例示性實施例繪示移動裝置的方塊圖。參照圖10,移動裝置2000包括應用處理器2100、DRAM 2200、快閃記憶體2300、數據機2400及使用者介面2500。應用處理器2100包括匯流排2110、CPU 2120、DMA 2130、壓縮器及解壓縮器區塊2140、DRAM介面2150、SRAM 2160及快閃介面2170。
移動裝置2000利用壓縮器及解壓縮器區塊2140,壓縮頁面資料及解壓縮被壓縮的頁面資料。相較圖1的應用處理器1100,應用處理器2100配置壓縮器及解壓縮器區塊2140以進行頁面資
料的壓縮,而不是由CPU 2120來進行之。在圖10中,壓縮或解壓縮是由壓縮器及解壓縮器區塊2140的專用硬體來進行。
圖11是繪示圖10的DRAM、SRAM及快閃記憶體的資料區的階層的方塊圖。參照圖11,DRAM 2200分為交換犧牲緩衝區2230及正常資料區2250。
當儲存在正常資料區2250的資料交換至快閃記憶體2300,交換犧牲緩衝區2230藉由怠惰交換操作來儲存交換的資料。參照圖11,交換犧牲緩衝區2230包括多個入口(例如Entry1至Entry16),每一入口包括多個頁面入口PE1至PEm。頁面入口對應到壓縮資料的頁面。舉例來說,壓縮資料的頁面以頁面入口儲存在交換犧牲緩衝區2230。
多個入口Entry1至Entry16的每一個的一頁面入口,形成資料塊(data chunk,DC)。舉例來說,頁面入口PE1至PEm被安排為具有多個列頁面入口與多個行入口的矩陣形式。頁面入口PE1至PEm的一列,組成一頁面。儲存在不同頁面PE1至PEm的頁面入口的一行,則組成一資料塊DC。
舉例來說,多個入口Entry1至Entry16的每一個的頁面入口PE1至PEm是根據一連接列表來管理。舉例來說,儲存在一入口(例如Entry_K)的第一壓縮頁面資料是儲存如第一頁面入口PE1。儲存在所述入口(例如Entry_K)的第二壓縮頁面資料是儲存如第二頁面入口PE2。第一頁面入口PE1與第二頁面入口PE2連接。同樣地,頁面入口PE1至PEm互相連接。
當連接的頁面入口PE1至PEm的一頁面入口被移除時,更新連接的頁面入口PE1至PEm中的連接關係。舉例來說,若第二頁面入口PE2被移除,則第一和第三頁面入口PE1和PE3互相連接。更新頁面入口PE3至PEm以用頁面入口PE2至PEm-1來管理。之後,新儲存的壓縮頁面資料是儲存到頁面入口PEm。舉例來說,最先儲存的頁面入口PE1位在多個入口Entry1至Entry16的每一個的一側,多個入口Entry1至Entry16的頁面入口PE1形成一資料塊DC。
正常資料區2250是由應用處理器2100所驅動的處理程序(或應用)來存取。舉例來說,處理程序的程式碼或由處理程序管理的資料是儲存在正常資料區2250中。
舉例來說,DRAM 2200中的資料是由頁面單元來管理。頁面具有由移動裝置2000的OS所定義的大小。處理程序的程式碼或資料是藉由頁面單元儲存在DRAM 2200中,或是藉由頁面單元從DRAM 2200讀取。
快閃記憶體2300提供服務如移動裝置2000的存儲部。應用處理器2100儲存處理過的資料(如包含處理程序資料的資料或由處理程序管理的資料)在DRAM 2200中,且交換處理過的資料的一部份至快閃記憶體2300。
圖12是繪示圖10的應用處理器的頁面資料型態決定方法的流程圖。
在操作S610,其開始壓縮頁面資料。舉例來說,從正常
資料區2250讀取被選為交換目標的頁面資料,並傳送讀取的頁面資料到壓縮器及解壓縮器區塊2140。壓縮器及解壓縮器區塊2140可以開始壓縮輸入的頁面資料。
在操作S620,其決定部份頁面資料的壓縮率是否高於閾值。舉例來說,壓縮器及解壓縮器區塊2140在壓縮完成前比較壓縮率及閾值。
若壓縮率高於閾值,在操作S630,其繼續壓縮頁面資料。在操作S640,其決定頁面資料的資料型態為怠惰型態。壓縮的頁面資料被轉移到交換犧牲緩衝區2230。
若壓縮率低於閾值,在操作S650,其停止壓縮頁面資料。在操作S660,其決定頁面資料的資料型態為立即型態。
在一例示性實施例中,藉由與CPU 2120分離的壓縮器及解壓縮器區塊2140來對頁面資料進行壓縮與解壓縮。因此,對頁面資料進行壓縮與解壓縮不會消耗CPU 2120的資源,且壓縮率是在壓縮結束之前決定。在壓縮結束之前比較壓縮率及閾值,可能避免進行非必要的壓縮
在上述的一例示性實施例中,以壓縮的頁面資料的壓縮率來決定頁面資料型態。決定頁面資料型態的方法不僅限於此。舉例來說,在沒有壓縮時預測頁面資料型態。舉例來說,多媒體資料可以具有低的壓縮率,而文字或編碼可以具有高的壓縮率。應用處理器2100可以利用從頁面資料讀取的標頭資訊,來決定頁面資料是否為多媒體資料、文字資料或編碼資料。基於決定的結
果,應用處理器2100決定多媒體資料為具有立即型態的資料,並決定文字或編碼為具有怠惰型態的資料。
圖13是繪示圖12的立即交換方法的流程圖。立即交換操作是在頁面資料被決定為具有立即型態的資料時進行。舉例來說,當頁面資料的壓縮率沒有高於閾值,進行立即交換操作。
參照圖11及圖13,在操作S710,其從正常資料區2250讀取頁面資料。舉例來說,應用處理器2100在高階層級(例如作業系統),從正常資料區2250讀取被選為交換目標的頁面資料。
在操作S720,其轉移讀取的頁面資料到快閃記憶體2300。應用處理器2100儲存讀取的頁面資料在快閃記憶體2300中。
在操作S730,其從正常資料區2250刪除頁面資料。在一例示性實施例中,應用處理器2100覆寫新的處理程序或其資料在頁面資料上。
舉例來說,具有低於閾值之壓縮率的頁面資料的立即型態,交換至快閃記憶體2300而沒有使用交換犧牲緩衝區2230。舉例來說,當需要交換操作以進行新的處理程序且交換目標頁面被決定為立即型態時,應用處理器2100立即交換所述的交換目標頁面至快閃記憶體2300。
圖14是繪示圖12的怠惰交換方法的流程圖。怠惰交換操作是在頁面資料的型態被決定為怠惰型態時進行。舉例來說,當頁面資料的壓縮率高於閾值時,進行怠惰交換操作。(注釋:修
正錯誤)
參照圖11及圖14,在操作S810,其儲存壓縮的頁面資料在交換犧牲緩衝區2230的多個入口之其一。交換犧牲緩衝區2230包括多個入口Entry1至Entry16,其中的每一個具有多個頁面入口PE1至PEm。壓縮的資料頁面會轉移到所選之入口的所選之頁面入口。
在操作S820,其儲存交換犧牲緩衝資訊在SRAM 2160中。交換犧牲緩衝資訊包括儲存在交換犧牲緩衝區2230中的壓縮的頁面資料的資訊。舉例來說,交換犧牲緩衝資訊包括處理識別符、位址及最近最少使用(Least Recently Used,LRU)資訊,所述交換犧牲緩衝資訊與儲存在圖11之交換犧牲緩衝區2230中的頁面資料相關。且所述位址包括正常資料區2250中儲存壓縮頁面資料的位址,或快閃記憶體2300中對應到選為交換目標頁面之壓縮的頁面資料的位址,兩者之間的映射關係。LRU資訊包括壓縮的頁面資料被存取的最近時間的資訊。
在操作S830,其決定是否需要交換犧牲緩衝區2230的交換。應用處理器2100決定是否需要交換犧牲緩衝區2230的交換。舉例來說,當應用處理器進行怠惰交換操作時,交換目標頁面被轉移至交換犧牲緩衝區2230。在此種情形下,應用處理器2100決定交換犧牲緩衝區2230是否具有一些入口以容納交換目標頁面。基於決定的結果,應用處理器2100決定是否需要交換。依據交換犧牲緩衝區2230的自由空間大小決定是否需要交換。
當交換犧牲緩衝區2230不需要交換時,方法結束。進行怠惰交操作而無轉移某些交換犧牲緩衝區2230的頁面入口至快閃記憶體2300。當交換犧牲緩衝區2230需要交換時,方法進入操作S840。
在操作S840,其從交換犧牲緩衝區2230的多個入口,選擇儲存在交換犧牲緩衝區2230之壓縮的頁面資料。舉例來說,應用處理器2100從多個入口的每一個,選擇壓縮資料的一頁面。舉例來說,應用處理器2100在資料塊DC的單元選擇壓縮的頁面資料,其中所述壓縮的頁面資料是在多個入口之中最先儲存的。
在一例示性實施例中,設定資料塊的單元,使得透過直接記憶體存取的資料塊的資料傳輸時間,同於或短於透過應用處理器的資料塊的資料傳輸時間。透過直接記憶體存取的資料塊的資料傳輸時間包括DMA的程式化時間。舉例來說,資料塊的單元具有32千位元組的大小或更大。
在操作S850中,圖10的直接記憶體存取2130轉移所選的壓縮頁面資料至快閃記憶體2300。應用處理器2100程式化直接記憶體存取2130,使得在資料塊DC的單元中所選出的壓縮頁面資料被轉移至快閃記憶體2300。
在操作S860,其將所選的壓縮頁面資料從交換犧牲緩衝區2230中刪除。應用處理器2100將所選的壓縮頁面資料從交換犧牲緩衝區2230中刪除。在一例示性實施例中,交換目標頁面藉由怠惰交換操作覆寫交換犧牲緩衝區2230之所選的壓縮頁面資
料。
在操作S870,其更新SVB資訊。舉例來說,應用處理器2100更新SVB資訊,使得交換之壓縮頁面資料的資訊被刪除。
舉例來說,應用處理器2100使用圖11之SRAM 2160的SVB描述符表2161及記錄資訊來管理SVB資訊。
圖15及圖16是根據本發明概念之一例示性實施例,繪示立即交換操作及怠惰交換操作的實施例的示意圖。在圖15及圖16中,圖11的正常資料區2250可能被配置以儲存多個頁面資料(page data,PD)。為了方便描述,正常資料區2250繪示為矩陣形式,且具有多列R1至Ri及多行C1至Cj。
參照圖15,位於正常資料區2250之第三列R3以及第一和第二行C1和C2的頁面資料PD’被選為立即交換目標。所選的頁面資料PD’被轉移至快閃記憶體2300。之後,所選的頁面資料PD’配置到應用處理器2100的新處理程序。
參照圖16,位於正常資料區2250之第二列R2以及第一和第二行C1和C2的頁面資料PD’被選為怠惰交換目標。所選的頁面資料PD’被壓縮,且壓縮的頁面資料轉移至交換犧牲緩衝區2230。舉例來說,壓縮的頁面資料以頁面入口儲存於第二和第三入口Entry2和Entry3。在此種情形下,應用處理器2100可能減少到快閃記憶體2300的交換操作次數,而改進系統效能。
之後,若滿足交換犧牲緩衝區2230的交換條件,則透過怠惰交換操作轉移壓縮的頁面資料至快閃記憶體2300。舉例來
說,若壓縮的頁面資料以最早儲存在交換犧牲緩衝區2230的壓縮頁面資料形成資料塊DC,則透過怠惰交換以交換壓縮的頁面資料至快閃記憶體2300。
圖17是繪示被交換的頁面資料的復原方法的流程圖。參照圖10及圖17,在操作S910,其決定是否需要交換的頁面資料。舉例來說,在作業系統或應用驅動移動裝置2000以存取交換的頁面資料的情況下,需要交換的頁面。若不需要交換的頁面,則方法結束。若需要交換的頁面,則方法進入操作S920。
在操作S920,其決定交換的頁面資料是否為具有怠惰型態的頁面資料。舉例來說,應用處理器2100利用儲存在SRAM 1160的記錄資訊,決定交換的頁面資料是否為具有怠惰型態的頁面資料。
若交換的頁面資料不是具有怠惰型態的頁面資料,換言之,交換的頁面資料是具有立即型態的頁面資料,則在操作S930中,從快閃記憶體2300讀取需要的頁面資料,且儲存讀取的頁面資料至正常資料區2250。同時,將需要的頁面資料從快閃記憶體2300刪除。具有立即型態的頁面資料是立即交換至快閃記憶體2300的頁面資料。因此,藉由從快閃記憶體2300讀取需要的頁面資料及在正常資料區2250儲存需要的頁面資料,以復原需要的頁面資料。
若交換的頁面資料不是具有怠惰型態的頁面資料,則在操作S940中,決定需要的頁面資料是否儲存在交換犧牲緩衝區
2230。如前述,具有怠惰型態的頁面資料儲存在交換犧牲緩衝區2230,且持續到滿足交換犧牲緩衝區2230的交換條件。因此,復原需要的頁面資料的方法,會依據需要的頁面資料是否儲存在交換犧牲緩衝區2230而變動。
在需要的頁面資料沒有儲存在交換犧牲緩衝區2230的情況下,需要的頁面資料存在於快閃記憶體2300中。因此,在操作S950中,從快閃記憶體2300讀取需要的頁面資料,解壓縮讀取的頁面資料,將解壓縮的頁面資料儲存在正常資料區2250,且將所述需要的頁面資料(如壓縮的頁面資料)從快閃記憶體2300中刪除。
在需要的頁面資料沒有儲存在交換犧牲緩衝區2230的情況下,在操作S960中,需要的頁面資料存在於快閃記憶體2300中。因此,在操作S950中,從交換犧牲緩衝區2230讀取需要的頁面資料,解壓縮讀取的頁面資料,並將解壓縮的頁面資料儲存在正常資料區2250。同時,將需要的頁面資料(如壓縮的頁面資料)從交換犧牲緩衝區2230中刪除。之後,在操作S970,其更新交換犧牲緩衝區2230的交換犧牲緩衝資訊及入口。
交換操作可能造成殘餘(trashing)。殘餘在移動裝置2000過度消耗資源,以交換頁面資料和復原交換的頁面資料(如移頁)時會發生。
在本發明概念的一例示性實施例中,在被交換至快閃記憶體2300之前,壓縮的頁面資料在一預先決定的時間內是儲存在
DRAM 2200的交換犧牲緩衝區2230中。因此,殘餘的可能性降低,而移動裝置2000的性能增加。此外,藉由DMA 2130來交換儲存在交換犧牲緩衝區2230的資料。DMA比應用處理器2100消耗更少的功率,因而降低移動裝置2000的功率消耗。此外,當應用處理2100複製資料時,所述複製的資料是儲存在應用處理2100的快取記憶體中。若資料是藉由DMA來複製,則複製的資料不需要儲存在應用處理2100的快取記憶體中。因此,DMA避免在交換操作中的快取記憶體的汙染,因而提升移動裝置2000的性能。
雖然本發明提出的廣義發明概念已以一些實施例揭露及描述如上,然任何所屬技術領域中具有通常知識者,在不脫離本廣義發明概念的精神和範圍內,當可作形式上或細節上的更動,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
1200‧‧‧動態隨機存取記憶體
1230‧‧‧交換犧牲緩衝區
1250‧‧‧正常資料區
1300‧‧‧快閃記憶體
Claims (32)
- 一種移動裝置,包括:存儲部,配置以儲存資料;緩衝記憶體,配置以包含交換犧牲緩衝區及正常資料區;以及應用處理器,配置以選擇要從該正常資料區被交換的頁面資料,且對該選擇的頁面資料進行交換操作,其中該交換操作依據該選擇的頁面資料的資料型態,進行立即交換操作或怠惰交換操作,且進行該立即交換操作時,該頁面資料從該正常資料區轉移至該存儲部,而進行該怠惰交換操作時,該頁面資料則透過該交換犧牲緩衝區,從該正常資料區轉移至該存儲部。
- 如申請專利範圍第1項所述的移動裝置,其中對於該怠惰交換操作,該應用處理器被配置以壓縮該頁面資料,儲存該壓縮的頁面資料在該交換犧牲緩衝區中,以及轉移該壓縮的頁面資料至該存儲部。
- 如申請專利範圍第2項所述的移動裝置,其中該存儲部是快閃記憶體,而該緩衝記憶體是動態隨機存取記憶體。
- 如申請專利範圍第2項所述的移動裝置,其中當需要儲存在該交換犧牲緩衝區的該壓縮的頁面資料時,該應用處理器被配置以讀取儲存在該交換犧牲緩衝的該壓縮的頁面資料,解壓縮該壓縮的頁面資料,以及儲存該壓縮的資料在該正常資料區中。
- 如申請專利範圍第1項所述的移動裝置,其中對於該立即交換操作,該應用處理器被配置以從該正常資料區轉移該頁面資料至該存儲部,而沒有使用該交換犧牲緩衝區。
- 如申請專利範圍第5項所述的移動裝置,其中當該選擇的頁面資料的壓縮率低於閾值時,配置該應用處理器以進行該立即交換操作。
- 一種移動裝置,包括:非揮發性記憶體;動態隨機存取記憶體,配置以包含交換犧牲緩衝及正常資料區;以及應用處理器,耦合至該非揮發性記憶體及該動態隨機存取記憶體,其中當儲存在該正常資料區的頁面資料需要交換時,該應用處理器被配置以根據該頁面資料的型態進行立即交換操作或怠惰交換操作,其中該立即交換操作轉移該頁面資料至該非揮發性記憶體,而沒有使用該交換犧牲緩衝,且其中該怠惰交換操作壓縮該頁面資料,並透過該交換犧牲緩衝區轉移該壓縮的資料至該非揮發性記憶體。
- 如申請專利範圍第7項所述的移動裝置,其中該應用處理器依據該頁面資料的壓縮率決定該頁面資料的型態。
- 如申請專利範圍第7項所述的移動裝置,其中該應用處理器包括直接記憶體存取,配置以轉移儲存在該交換犧牲的該壓縮的頁面資料至該非揮發性記憶體。
- 如申請專利範圍第7項所述的移動裝置,其中該壓縮的頁面資料以資料塊為單元,從該交換犧牲緩衝轉移至該非揮發性記憶體。
- 如申請專利範圍第10項所述的移動裝置,其中設定該資料塊的該單元,使得該資料塊透過該直接記憶體存取的資料傳輸時間,同於或短於該資料塊透過該應用處理器的資料傳輸時間,且其中該資料塊透過該直接記憶體存取的該資料傳輸時間包括該動態隨機存取記憶體的程式化時間。
- 如申請專利範圍第10項所述的移動裝置,其中該資料塊的該單元具有32千位元組的大小或更大。
- 一種應用處理器的資料管理方法,包括:決定儲存在動態隨機存取記憶體的正常資料區的頁面資料的資料型態;以及當該決定的資料型態為怠惰型態時,對該頁面資料進行怠惰交換操作,並在該決定的資料型態為立即型態時,對該頁面資料進行立即交換操作。
- 如申請專利範圍第13項所述的資料管理方法,其中決定儲存在動態隨機存取記憶體的頁面資料的資料型態的該步驟包括:壓縮該頁面資料;決定該頁面資料的壓縮率;以及當該頁面資料的該壓縮率高於閾值時,決定該頁面資料的資 料型態為該怠惰型態,而當該頁面資料的該壓縮率沒有高於該閾值時,決定該頁面資料的該資料型態為該立即型態。
- 如申請專利範圍第14項所述的資料管理方法,更包括:儲存該頁面資料的該資料型態。
- 如申請專利範圍第13項所述的資料管理方法,更包括:利用該頁面資料的標頭資訊預測該頁面資料的該資料型態;當該資料型態是該怠惰型態時,對該頁面資料進行壓縮操作;以及當該資料型態不是該怠惰型態時,略過對該頁面資料的該壓縮操作。
- 如申請專利範圍第14項所述的資料管理方法,更包括:儲存該頁面資料的該壓縮率。
- 如申請專利範圍第17項所述的資料管理方法,更包括:讀取該儲存的壓縮率;以及若該讀取的壓縮率高於該閾值,則從該動態隨機存取記憶體讀取該頁面資料,以壓縮該讀取的頁面資料,且其中若該讀取的壓縮率沒有高於該閾值,則略過該頁面資料的壓縮。
- 如申請專利範圍第13項所述的資料管理方法,更包括:偵測該頁面資料或關於該頁面資料之處理程序的特性;以及依據該偵測結果更動該閾值。
- 如申請專利範圍第13項所述的資料管理方法,其中決定儲存在該動態隨機存取記憶體的該頁面資料的該資料型態的該步 驟包括:壓縮一部份的該頁面資料;決定該部分的該頁面資料的壓縮率是否高於閾值;以及當該壓縮率高於該閾值時,壓縮該剩下的該頁面資料,並決定該資料型態為該怠惰型態;以及當該頁面資料的該壓縮率沒有高於該閾值時,決定該資料型態為該立即型態,而無壓縮該剩下的該頁面資料。
- 如申請專利範圍第13項所述的資料管理方法,其中該立即交換操作更包括:從該動態隨機存取記憶體轉移該頁面資料至存儲部。
- 如申請專利範圍第13項所述的資料管理方法,其中該怠惰交換操作包括:以壓縮的資料格式轉移該頁面資料至該動態隨機存取記憶體的交換犧牲緩衝區。
- 如申請專利範圍第22項所述的資料管理方法,其中配置該交換犧牲緩衝區以包括多個入口,該些入口的每一個配置有多個頁面入口,其中該頁面資料是儲存在該些入口的一頁面入口,其中該頁面資料是以該壓縮的資料格式來儲存。
- 如申請專利範圍第23項所述的資料管理方法,其中該些入口的每一個的該些頁面入口,是用連接列表來管理。
- 如申請專利範圍第23項所述的資料管理方法,其中該怠惰交換操作更包括:從該交換犧牲緩衝區轉移該壓縮的頁面資料至存儲部。
- 如申請專利範圍第25項所述的資料管理方法,其中當該壓縮的頁面資料是最先儲存在該交換犧牲緩衝區時,選擇該壓縮的頁面資料。
- 如申請專利範圍第26項所述的資料管理方法,更包括:當需要儲存在該交換犧牲緩衝區的該壓縮的頁面資料時,從該些入口讀取該壓縮的頁面資料;解壓縮該壓縮的頁面資料;以及儲存該解壓縮的頁面資料在該正常資料區。
- 如申請專利範圍第13項所述的資料管理方法,其中利用直接記憶體存取進行該怠惰交換操作,而利用處理器進行該立即交換操作。
- 一種應用處理器,包括:動態隨機存取記憶體介面;快閃記憶體介面;直接記憶體存取;以及處理器,配置以決定是否需要交換操作,又配置以透過該動態隨機存取記憶體介面接收要交換的頁面資料,且配置以根據該頁面資料的資料型態,在立即交換操作或怠惰交換操作中,對該頁面資料進行該交換操作,其中在該怠惰交換操作中,該處理器被配置以壓縮該頁面資料,並透過該動態隨機存取記憶體介面來輸出該壓縮的頁面資料,而該直接記憶體存取被配置來控制該動態隨機存取記憶體介面與該快閃記憶體介面之間的資料路徑,以 將該輸出的壓縮的頁面資料從該動態隨機存取記憶體介面轉移到該快閃記憶體介面。
- 如申請專利範圍第29項所述的應用處理器,其中依據該頁面資料的壓縮率決定該頁面資料該資料形態。
- 如申請專利範圍第29項所述的應用處理器,其中依據該頁面資料的標頭資訊來決定該頁面資料該資料形態,而無壓縮該頁面資料。
- 如申請專利範圍第29項所述的應用處理器,其中進行該立即交換操作而無壓縮該頁面資料。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120143722A KR102011135B1 (ko) | 2012-12-11 | 2012-12-11 | 모바일 장치 및 그것의 스왑을 통한 데이터 관리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201423577A true TW201423577A (zh) | 2014-06-16 |
TWI578225B TWI578225B (zh) | 2017-04-11 |
Family
ID=50778273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102144510A TWI578225B (zh) | 2012-12-11 | 2013-12-05 | 移動裝置和使用交換其的資料管理方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9116631B2 (zh) |
JP (1) | JP2014116017A (zh) |
KR (1) | KR102011135B1 (zh) |
CN (1) | CN103870212B (zh) |
AU (1) | AU2013263762A1 (zh) |
DE (1) | DE102013113189A1 (zh) |
NL (1) | NL2011914B1 (zh) |
TW (1) | TWI578225B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI681331B (zh) * | 2018-01-31 | 2020-01-01 | 日商東芝記憶體股份有限公司 | 記憶體系統及其控制方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102148B2 (en) | 2013-06-13 | 2018-10-16 | Microsoft Technology Licensing, Llc | Page-based compressed storage management |
KR101468336B1 (ko) * | 2013-11-25 | 2014-12-04 | 성균관대학교산학협력단 | 데이터 압축률 예측 기법에 기반한 데이터 분산 저장 방법, 이를 이용한 저장 장치 및 시스템 |
US9547447B2 (en) * | 2014-01-03 | 2017-01-17 | Advanced Micro Devices, Inc. | Dedicated interface for coupling flash memory and dynamic random access memory |
US9684625B2 (en) | 2014-03-21 | 2017-06-20 | Microsoft Technology Licensing, Llc | Asynchronously prefetching sharable memory pages |
KR101654724B1 (ko) * | 2014-11-18 | 2016-09-22 | 엘지전자 주식회사 | 적어도 하나의 메모리를 포함하는 디바이스의 제어 방법 및 스마트 tv |
US9632924B2 (en) | 2015-03-02 | 2017-04-25 | Microsoft Technology Licensing, Llc | Using memory compression to reduce memory commit charge |
KR102314138B1 (ko) | 2015-03-05 | 2021-10-18 | 삼성전자 주식회사 | 모바일 장치 및 모바일 장치의 데이터 관리 방법 |
US10037270B2 (en) * | 2015-04-14 | 2018-07-31 | Microsoft Technology Licensing, Llc | Reducing memory commit charge when compressing memory |
CN107925418B (zh) * | 2015-05-21 | 2021-06-01 | 零点科技公司 | 用于混合式数据压缩和解压缩的方法、设备和系统 |
US10452614B2 (en) | 2015-06-12 | 2019-10-22 | International Business Machines Corporation | Storage data reduction analysis and forecast |
US10762030B2 (en) * | 2016-05-25 | 2020-09-01 | Samsung Electronics Co., Ltd. | Storage system, method, and apparatus for fast IO on PCIE devices |
JP7007557B2 (ja) * | 2017-08-24 | 2022-01-24 | 富士通株式会社 | 情報処理装置、プロセス管理方法およびプロセス管理プログラム |
KR102281966B1 (ko) | 2017-11-01 | 2021-07-26 | 삼성전자주식회사 | 데이터 스토리지 장치 및 그 동작 방법 |
KR102533726B1 (ko) | 2018-04-06 | 2023-05-18 | 삼성전자주식회사 | 전자 장치 및 그의 제어방법 |
CN110457235B (zh) * | 2019-08-20 | 2021-10-08 | Oppo广东移动通信有限公司 | 内存压缩方法、装置、终端及存储介质 |
KR102379176B1 (ko) * | 2019-12-31 | 2022-03-28 | 성균관대학교산학협력단 | 메모리 스왑 방법 및 시스템 |
KR20220116650A (ko) * | 2021-02-15 | 2022-08-23 | 삼성전자주식회사 | 이형 메모리들을 포함하는 전자 장치 및 그것의 이형 메모리들 간 압축 데이터 이동 방법 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256642B1 (en) | 1992-01-29 | 2001-07-03 | Microsoft Corporation | Method and system for file system management using a flash-erasable, programmable, read-only memory |
JP2000276363A (ja) | 1999-03-26 | 2000-10-06 | Nec Corp | 記憶階層システムにおけるスワッピング処理方法ならびに装置 |
US6681305B1 (en) | 2000-05-30 | 2004-01-20 | International Business Machines Corporation | Method for operating system support for memory compression |
CA2355473A1 (en) * | 2000-09-29 | 2002-03-29 | Linghsiao Wang | Buffer management for support of quality-of-service guarantees and data flow control in data switching |
US6877081B2 (en) | 2001-02-13 | 2005-04-05 | International Business Machines Corporation | System and method for managing memory compression transparent to an operating system |
US6687185B1 (en) * | 2002-08-29 | 2004-02-03 | Micron Technology, Inc. | Method and apparatus for setting and compensating read latency in a high speed DRAM |
US6762974B1 (en) * | 2003-03-18 | 2004-07-13 | Micron Technology, Inc. | Method and apparatus for establishing and maintaining desired read latency in high-speed DRAM |
EP1870814B1 (en) * | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
WO2007023975A1 (ja) | 2005-08-22 | 2007-03-01 | Ssd Company Limited | マルチプロセッサ、ダイレクトメモリアクセスコントローラ、及びシリアルデータ送受信装置 |
KR100735560B1 (ko) | 2005-11-09 | 2007-07-04 | 삼성전자주식회사 | 가상 메모리를 제어하는 장치 및 방법 |
EP1870813B1 (en) * | 2006-06-19 | 2013-01-30 | Texas Instruments France | Page processing circuits, devices, methods and systems for secure demand paging and other operations |
JP2008140236A (ja) | 2006-12-04 | 2008-06-19 | Nec Corp | メモリ管理システム、情報処理装置及びメモリ管理方法 |
JP5018060B2 (ja) | 2006-12-14 | 2012-09-05 | 日本電気株式会社 | 情報処理装置および情報処理方法 |
JP2008226082A (ja) | 2007-03-15 | 2008-09-25 | Nec Corp | データ圧縮伸張装置、コンピュータに実行させるためのプログラム、及びデータ圧縮伸張方法 |
US8180981B2 (en) | 2009-05-15 | 2012-05-15 | Oracle America, Inc. | Cache coherent support for flash in a memory hierarchy |
KR101612922B1 (ko) * | 2009-06-09 | 2016-04-15 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템 관리 방법 |
CN102473140B (zh) * | 2009-07-17 | 2015-05-13 | 株式会社东芝 | 存储器管理装置 |
JP2011128792A (ja) * | 2009-12-16 | 2011-06-30 | Toshiba Corp | メモリ管理装置 |
KR101739556B1 (ko) * | 2010-11-15 | 2017-05-24 | 삼성전자주식회사 | 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법 |
-
2012
- 2012-12-11 KR KR1020120143722A patent/KR102011135B1/ko active IP Right Grant
-
2013
- 2013-11-28 AU AU2013263762A patent/AU2013263762A1/en not_active Abandoned
- 2013-11-28 DE DE102013113189.1A patent/DE102013113189A1/de active Pending
- 2013-12-05 TW TW102144510A patent/TWI578225B/zh active
- 2013-12-09 NL NL2011914A patent/NL2011914B1/en active
- 2013-12-10 US US14/101,934 patent/US9116631B2/en active Active
- 2013-12-11 CN CN201310675037.XA patent/CN103870212B/zh active Active
- 2013-12-11 JP JP2013256247A patent/JP2014116017A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI681331B (zh) * | 2018-01-31 | 2020-01-01 | 日商東芝記憶體股份有限公司 | 記憶體系統及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20140075416A (ko) | 2014-06-19 |
TWI578225B (zh) | 2017-04-11 |
CN103870212A (zh) | 2014-06-18 |
US9116631B2 (en) | 2015-08-25 |
AU2013263762A1 (en) | 2014-06-26 |
NL2011914B1 (en) | 2019-07-04 |
CN103870212B (zh) | 2018-07-13 |
JP2014116017A (ja) | 2014-06-26 |
DE102013113189A1 (de) | 2014-06-12 |
US20140164686A1 (en) | 2014-06-12 |
NL2011914A (en) | 2014-06-12 |
KR102011135B1 (ko) | 2019-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI578225B (zh) | 移動裝置和使用交換其的資料管理方法 | |
KR102384759B1 (ko) | 호스트 메모리 버퍼를 사용하기 위해 호스트 장치와 속성 정보를 공유하는 스토리지 장치 및 그것을 포함하는 전자 장치 | |
US11006127B2 (en) | System and method for foveated compression of image frames in a system on a chip | |
US9626126B2 (en) | Power saving mode hybrid drive access management | |
TWI744289B (zh) | 使用多個最後階層快取線提供記憶體帶寬壓縮之以一中央處理單元(cpu)為基礎之系統及方法 | |
US20150261686A1 (en) | Systems and methods for supporting demand paging for subsystems in a portable computing environment with restricted memory resources | |
TW201814720A (zh) | 在晶片刪除校正記憶體架構中提供記憶體頻寬壓縮 | |
TW201432612A (zh) | 用於顯示子系統之混和顯示圖框緩衝器 | |
US20170371593A1 (en) | Selective flash memory compression/decompression using a storage usage collar | |
US10102828B2 (en) | Method and apparatus for adaptive graphics compression and display buffer switching | |
CN107850932B (zh) | 用于在处理器中保存和恢复数据以便节省电力的设备和方法 | |
US10061644B2 (en) | Systems and methods for implementing error correcting code in a memory | |
US10838646B2 (en) | Method and apparatus for presearching stored data | |
KR20180092715A (ko) | 동작들의 횟수에 기초하여 복제된 데이터를 관리하는 스토리지 장치 | |
US10848179B1 (en) | Performance optimization and support compatibility of data compression with hardware accelerator | |
US20100211738A1 (en) | Mass storage system with improved usage of buffer capacity | |
JP2008152339A (ja) | 情報処理装置および情報処理方法 | |
US9792974B2 (en) | Memory system including plurality of DRAM devices operating selectively | |
US20210165733A1 (en) | Apparatus and method for writing data in a memory | |
JP6312837B2 (ja) | コンピューティングデバイスにおける消費電力の低減 | |
JP2009020776A (ja) | スワップアウト制御装置 | |
KR101175355B1 (ko) | 스토리지 제어 장치, 이를 포함하는 모바일 장치 및 스토리지 제어 방법 | |
TW202230149A (zh) | 交易加速器操作方法、包括交易加速器之計算元件的操作方法以及包括交易加速器之計算元件 | |
KR20140046815A (ko) | 전력 관리 집적 회로 및 그 구동 방법 |