TWI574203B - 用以分割快取記憶體的方法及相關儲存媒體與裝置 - Google Patents
用以分割快取記憶體的方法及相關儲存媒體與裝置 Download PDFInfo
- Publication number
- TWI574203B TWI574203B TW104116810A TW104116810A TWI574203B TW I574203 B TWI574203 B TW I574203B TW 104116810 A TW104116810 A TW 104116810A TW 104116810 A TW104116810 A TW 104116810A TW I574203 B TWI574203 B TW I574203B
- Authority
- TW
- Taiwan
- Prior art keywords
- software
- segment
- segments
- cache information
- pinned
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 34
- 230000011218 segmentation Effects 0.000 claims description 9
- 230000006266 hibernation Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009257 reactivity Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000006757 chemical reactions by type Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- 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
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- 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/60—Details of cache memory
- G06F2212/6042—Allocation of cache space to multiple users or processors
-
- 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本發明係關於分段式快取記憶體。
一運算裝置可包括諸如一快閃記憶體之一快速儲存裝置,其具有一相對快速的存取時間。該快速儲存裝置可被使用來作為一快取記憶體,用以儲存經常被存取的資訊。然而,相較於諸如一硬式磁碟驅動器(HDD)之其他具有較慢存取時間的儲存裝置,快速儲存裝置的儲存單位價格可為相對昂貴的。
因此,該快速儲存裝置可能會有相對小的儲存容量。如果該快速儲存裝置的容量滿載的話,該運算裝置的性能會受影響。製造商被挑戰要更有效率地使用該快速儲存裝置,以改善該運算裝置的性能。
本發明係提供一種用以分割一快取記憶體的方法,包含:將用以儲存快取資訊之一第一非依電性記憶體劃分為多數區段;和將多種軟體之一第一種軟體釘連(pin)至該等多數區段之一第一區段,其中,該第一被釘連區段儲存與該第一種軟體相關聯之快取資訊。
本發明亦提供一種儲存指令之非暫態電腦可讀
取儲存媒體,該等指令如果被一裝置之一處理器執行的話,會致使該處理器去:將用以儲存快取資訊之一第一非依電性記憶體分割成多數區段;以及將多種軟體之一第一種軟體釘連至該等多數區段之一第一區段,其中,該第一被釘連區段儲存與該第一種軟體相關聯之快取資訊。
本發明還提供一種裝置,包含:一第一非依電性記憶體,用以儲存快取資訊;一分割模組,用以將該第一非依電性記憶體劃分為多數區段;以及一釘連模組,用以將多種軟體之一第一種軟體釘連至該等多數區段之一第一區段,其中,該第一被釘連區段儲存與該第一種軟體相關聯之該快取資訊。
100‧‧‧裝置
110‧‧‧處理器
120‧‧‧分割模組
130‧‧‧釘連模組
140‧‧‧第一非依電性記憶體
142-1‧‧‧第一區段
142-2‧‧‧第二區段
142-3‧‧‧第三區段
142-4‧‧‧第四區段
142-5‧‧‧第五區段
142-6‧‧‧第六區段
142-n‧‧‧第n區段
300‧‧‧裝置
310‧‧‧處理器
320‧‧‧儲存媒體
322‧‧‧分割指令
324‧‧‧釘連指令
400‧‧‧方法
410‧‧‧方塊
420‧‧‧方塊
500‧‧‧方法
510‧‧‧方塊
520‧‧‧方塊
530‧‧‧方塊
下文之詳細描述參考下列圖式,其中:圖1係一裝置之一範例方塊圖,該裝置具有包括多數區段之一第一非依電性記憶體;圖2係圖1之該第一非依電性記憶體的一範例方塊圖;圖3係一裝置之一範例方塊圖,該裝置包括用以分割和釘連一第一非依電性記憶體的指令;圖4係一範例流程圖,其係關於一種用以分割和釘連一第一非依電性記憶體的方法;以及圖5係另一範例流程圖,其係關於一種用以分割和釘連一第一非依電性記憶體的方法。
在下列敘述中特定細節係被提出,以提供對實施例之透徹理解。然而,在此技藝領域中具有通常知識者將理解的是,實施例可在沒有這些特定細節之下被實施。舉例而言,系統可被以方塊圖顯示,以避免實施例被不必要的細節混淆。在其他情況中,眾所周知的程序、結構和技巧可在缺乏不必要的細節下被呈現,以避免混淆實施例。
一運算裝置可包括諸如一快閃記憶體之一較快儲存裝置,外加諸如一硬式磁碟驅動器(HDD)之一較慢儲存裝置。相較於該較慢儲存裝置,該較快儲存裝置可具有一較低潛伏期(latency)。該運算裝置可藉由將例如快取資訊之較頻繁被存取的資訊儲存在該較快儲存裝置而非該較慢儲存裝置,來提高性能。舉例而言,該運算裝置可使用該較快儲存裝置來作為一快取記憶體,以儲存包括頻繁被存取的軟體碼和/或其資料之快取資訊。該運算裝置可立即(寫入(write-through))或者在一期間之後(寫回(write-back))將位於該較快儲存裝置之已更新的快取資訊寫入該較慢儲存裝置。例如,在該快取記憶體被清除後,該較快儲存裝置中的非暫時性檔案可被鏡像複製(mirror)到該較慢儲存裝置中。
然而,該較快儲存裝置可能沒有一個足夠大的儲存容量來儲存該運算裝置使用中的所有快取資訊。而且,如果該快取資訊不能從該較快儲存裝置被擷取的話,例如在一快取未中(cache miss),遺失的快取資訊可自該較慢儲存裝置被擷取。因此,該較快儲存裝置之一儲存容量可間
接地成為該運算裝置之性能的瓶頸。再者,由於該較快儲存裝置的每一記憶體單位價格通常比該較慢儲存裝置昂貴,該較快儲存裝置之儲存容量通常無法被提高。
此外,因為一第一應用程式係持續地被一使用者使用,其較多的快取資訊可填入該較快儲存裝置,使該第一應用程式的性能漸漸變得更有反應和/或更進步。舉例而言,該第一應用程式可逐漸更迅速地啟動或運作。然而,假如該使用者開始使用一第二應用程式,此反應性可能會因為該第二應用程式之快取資訊逐漸地填入該較快儲存裝置而消失。
況且,因為該較快儲存裝置之有限的儲存容量,該第一應用程式之快取資訊可被該第二應用程式之快取資訊覆寫。因此,萬一該使用者切換回該第一應用程式,該第一應用程式一開始可能會比從前較無反應。因而,一新啟動的應用程式可能不會立即有反應和/或當回到一先前使用的應用程式時,反應性可能會消失,因為要等待該較快儲存裝置被目前使用中的應用程式之快取資訊所填入。
實施例可允許諸如該第一應用程式之軟體能夠立即有反應或者於初始時較有反應,即使是該第一應用程式之一第一次存取,或即便有諸如該第二應用程式之另一個應用程式在該第一應用程式之多次存取間被大量地使用。舉例而言,在實施例中,該較快儲存裝置可被分割為多個區段。這些區段之至少一者,例如一第一區段,可被釘連至(pinned)諸如該第一應用程式之一種軟體,以便僅儲
存該種軟體之快取資訊。再者,該種軟體之快取資訊甚至可在該種軟體被存取之前,就填入被釘連至它的區段。
舉例而言,該第一應用程式可被釘連至該第一區段。因此,該第一應用程式之快取資訊的至少部份,例如用以啟動該第一應用程式之軟體碼,可在該第一應用程式被存取之前,就被儲存在該第一區段中。如此一來,即使在該使用者之首次存取時,第一應用程式可藉由啟動較快速而為較有反應者。該使用者可大量使用該第二應用程式,然後再切換回該第一應用程式。不過,該第一應用程式將會保時其反應,因為其快取資訊將被保留在該第一區段中。
現在參照圖式,圖1係具有一第一非依電性記憶體140之一裝置100的一個範例方塊圖,該第一非依電性記憶體140包括多數區段142-1到142-n。該裝置100之範例可包括一筆記型電腦、一桌上型電腦、一多功能系統、一平板運算裝置、一攜帶式讀取裝置、一無線電郵裝置、一行動電話和類似者。在圖1之實施例中,該裝置100包括一處理器110、一分割模組120、一釘連(pinning)模組130和該第一非依電性記憶體140。該第一非依電性記憶體140更包括該等多數區段142-1到142-n,其中n係大於一的自然數。
該處理器110可為一CPU、一GPU或者一微處理器,其係適用於自該第一非依電性記憶體140和/或電子電路迴路擷取和執行指令,該等電子電路迴路係被組配來執行描述於下之該等模組120、130的任何一者的功能。該第
一非依電性記憶體140可為一或更多非依電性機器可讀取儲存媒體,例如即使沒供電時依舊能保留該被儲存資訊之電子、磁性、光學或其他實體儲存裝置。該第一非依電性記憶體140的範例可包括一固態磁碟驅動器(SSD)或一快閃記憶體。
該等模組120、130之每一者可包括,例如,多個硬體裝置,其等包括用以實踐下文將描述之功能的電子電路迴路。附加或擇一地,每個模組可被實踐為編碼在諸如該第一非依電性記憶體140之一機器可讀取儲存媒體中且可被該處理器110所執行的一系列指令。在實施例中,該等模組120、130之某些可被實踐為硬體裝置,而其他模組係被實踐為可執行的指令。舉例而言,該等模組120、130可被實踐為由一作業系統(OS)(未示)運行之一應用程式的部份,該作業系統係運行在該裝置100上。
該第一非依電性記憶體140可被使用來作為一快取記憶體,用以儲存快取資訊。相較於該裝置100之一第二非依電性記憶體(未示),該第一非依電性記憶體140可具有一較低的潛伏期。該第二非依電性記憶體可儲存該等多種軟體,例如第一和/或第二種軟體。該第二非依電性記憶體可為一或更多非依電性機器可讀取儲存媒體,例如即使沒供電時依舊能保留該被儲存資訊之電子、磁性、光學或其他實體儲存裝置。該第二非依電性記憶體的範例可包括一固態磁碟驅動器(SSD)或一快閃記憶體。
該快取資訊可包括很可能被再度使用或經常使
用的資訊,例如軟體指令和/或與其相關的資料,該等資料係例如元資料(metadata)和/或由該使用者或軟體所產生或修改過的資料。舉例而言,例如該作業系統、一應用程式、或網頁瀏覽器、或諸如該處理器110或其他記憶體之硬體等多種軟體之快取資訊可被儲存在該第一非依電性記憶體140中,以對該快取資料有較快速的存取。
該分割模組120係被該第一非依電性記憶體140劃分成該等多數區段142-1到142-n。區段142-1到142-n的數量以及該等區段142-1到142-n之每一者的尺寸可以是可變的。該釘連模組130可將多種軟體之一或更多者釘連至該等區段142-1到142-n之一或更多者。舉例而言,該釘連模組130可將該等多種軟體之該第一種軟體釘連至該等多數區段142-1到142-n之一第一區段142-1。
該釘連模組130亦可,例如,將該等多種軟體之該第二種軟體釘連至該等多數區段142-1到142-n之一第二區段142-2,該第二區段142-2用以儲存與該第二種軟體相關聯的快取資訊。該第二區段142-2可為該等多數區段142-1到142-n之尚未被釘連的任何一者。實施例可包括該等多數區段142-1到142-n之全部都被釘連者。然而,一般而言,該等多數區段142-1到142-n之一者,例如一第三區段142-3,可維持在未釘連狀態,以作為一個通用快取記憶體。一個範例第一非依電性記憶體140將參照圖2作詳盡的說明於下。
釘連該等區段142-1到142-n之一者可涉及針對
一特定用途將該被釘連區段之一記憶體空間保留或設為永久。因此,如果該第一種軟體係被釘連至第一區段142-1,則該第一被釘連區段142-1可儲存與該第一種軟體相關聯之快取資訊。再者,該第一被釘連區段142-1不能儲存任何與該第一種軟體不相關聯的快取資訊,例如與該第二種軟體相關聯的快取資訊。該等種類的軟體之範例可包括一作業系統、諸如一啟動、關閉或休眠程序之程序、一網頁瀏覽器、諸如一圖形編輯軟體或CAD程式編輯器之產能工具、一軟體架構、一使用者應用程式、一販售者應用程式和類似者之至少部份。
當諸如該第一種軟體之該等種類的軟體當中的一者係被釘連至諸如該第一區段142-1之該等區段142-1到142-n當中之一者時,該釘連模組130可在該第一區段142-1中儲存最常被使用之與該第一種軟體相關的例如檔案或邏輯區塊位址(LBA)的程式碼和/或資料。舉例而言,該程式碼可包括原始碼和/或執行期碼,而該資料可包括元資料和/或使用者資料。此外,即使是在該第一種軟體被初次發動之前,諸如用以發動該第一種軟體的程式碼之該程式碼的至少某些可被儲存在該第一區段142-1中,以較迅速地發動該第一種軟體。在這種情況下,針對該第一種軟體之呼叫可從該第二非依電性記憶體被指引至該第一非依電性記憶體140。
再者,當該第一種軟體被發動和/或修改,以及當該第一區段142-1被存取時,該第一區段142-1可被更新以
該第一種軟體之該程式碼。擇一或附加地,該第一區段142-1可基於該第一種軟體之使用率被更新。該使用率可指在一特定期間內該種軟體被存取和/或修改的次數。舉例而言,假如該第一種軟體之使用率係大於一臨界使用率,則該釘連模組130可更新該第一區段142-1。該釘連模組130可藉由將被儲存在該第二非依電性記憶體中之一更新版本的該第一種軟體的檔案或邏輯區塊位址推向該第一區段142-1以取代其先前版本,來更新該第一區段142-1。
雖然圖1僅描繪了單一種類的軟體被釘連至該等區段142-1到142-n之其中一者,然而實施例可包括不只一種軟體被釘連至該等區段142-1到142-n之其中一者。該等區段142-1到142-n之尺寸和數量,以及被釘連至該等區段142-1到142-n之其中任一者的該種軟體可由例如一販售者、一使用者和/或該等模組120和130判定。此外,在實施例中,該等區段142-1到142-n之尺寸、數量和釘連可為靜態或動態地改變。靜態一詞可指一固定或不能改變的條件。例如,被釘連至該靜態區段之該軟體的尺寸或種類不能被該使用者改變。該釘連模組130可基於該等軟體種類的使用率來判定該等軟體種類的何者要被釘連至該等區段142-1到142-n的何者。
在一範例中,該販售者可企圖確保裝置100能快速地啟動。因此,該販售者可創造該第一區段142-1,並靜態地將諸如該啟動程序之該作業系統程序釘連至該第一區段142-1,以降低該裝置100之一啟動時間。由於該第一非
依電性記憶體140可在沒提供電力的情況下保留資訊,假如該裝置100沒電時,關於該啟動程序之該快取資訊將不會消失。
在另一範例中,該使用者可透過一圖形使用者介面(GUI)來改變該等區段142-1到142-n的尺寸,清除或新增該等區段142-1到142-n和/或改變哪種軟體要被釘連至該等區段142-1到142-n。該圖形使用者介面可運行在該裝置100之該作業系統上,並透過一應用程式介面(API)與該第一非依電性記憶體140互動。
在又另一個範例中,該分割和/或釘連模組120和130可透過可適性演算法動態地改變該等區段142-1到142-n之尺寸、數量和/或釘連。舉例而言,該分割模組120可自動地縮小該等區段142-1到142-n之一較不常完全被填滿者的尺寸,或擴大該等區段142-1到142-n之另一較常完全被填滿者的尺寸。該種軟體之反應性可為被釘連至它的一區段之一尺寸的函數。該分割模組120亦可清除該等區段142-1到142-n中被釘連至不常被存取的軟體種類者,以擴大該等區段142-1到142-n中另一較常被存取者之尺寸。
該裝置100亦可包括單種軟體之多個實例。舉例來說,該裝置100可包括兩個網頁瀏覽器,例如Internet Explorer和Firefox。在此情況下,該種網頁瀏覽器軟體之所有實例的快取資訊可被指引到一個被釘連至該種網頁瀏覽器軟體的區段,例如一第三區段142-3。擇一地,該使用者、該販售者和/或該釘連模組130可判定該種軟體之哪個實
例將被釘連。例如,因為該使用者使用火狐多於Internet Explorer,該使用者可將火狐釘連至該第三區段142-3,而不將Internet Explorer釘連至該第三區段142-3。該釘連模組130可基於使用率來判斷該單一種軟體之哪個實例將被釘連。舉例來講,該釘連模組130可釘連具有最高使用率之該實例。
在一實施例中,該裝置100可包括一記憶體控制器(未示),其用以控制該第一非依電性記憶體140和該第二非依電性記憶體,例如假如該第一非依電性記憶體140和該第二非依電性記憶體係一混合驅動器之部分時。在此情況中,該等分割和釘連模組120和130可透過該作業系統與該記憶體控制器通信,以對該等區段142-1到142-n進行產生和釘連之至少一者。舉例而言,該等分割和釘連模組120和130可透過一SATA介面、一PATA介面、被標籤之短命令檔或其他混合驅動器通信機制來與該記憶體控制器通信。
如上註明者,與RAM不同的,即使該裝置100係在一電源關閉狀態中,該快取資訊仍將被保留在該第一非依電性記憶體140。然而,該使用者和/或販售者不一定希望所有的快取資訊都被保留。舉例而言,該使用者和/或販售者可能希望諸如個人或私有的資訊之機密快取資訊和/或諸如該裝置100元件的暫時性內容資訊之非必要快取資訊等被清除。不過,該使用者和/或販售者仍可企圖保留其餘的快取資訊,例如該啟動程序的快取資訊,以使該裝置100能較快速地啟動,或者關於該使用者應用程式,以
使該使用者應用程式能較快速地發動和/或運行。
該裝置100可包括一清除模組(未示),其係用以在假如該作業系統之至少一者將進入一降低電力狀態而且該使用者選擇該等區段中之一或更多者要來清除時,個別地清除該等區段142-1到142-n其中一或更多者。該降低電力狀態之範例可包括該裝置100進入一關閉電力狀態、一冬眠狀態或一休眠狀態。舉例而言,該使用者和/或販售者可將該裝置100設定成自動地在進入該降低電力狀態前,清除該等區段142-1到142-n其中一或更多者。此外,該使用者可在該裝置100之運作期間透過例如該圖形使用者介面來清除該等區段142-1到142-n其中一或更多者。在該等區段142-1到142-n其中一或更多者已經被成功清除之後,該使用者可被通知。該清除模組將參照圖5被描述得更詳細於下。
關於該第一和/或第二區段142-1和142-2所描述之任何操作或性質也可適用到其他多數區段142-1到142-n之任何一者。因此,實施例可改善該等種類的軟體的一反應性,例如藉由透過降低該快取資訊之存取時間來減少一啟動或運轉時間。再者,該等區段142-1到142-n可允許此反應度在該種軟體之第一次啟動時發生和/或在不同種軟體之間切換時被維持。此外,該販售者能夠改善該裝置100出盒子(OBE)的性能。
圖2係圖1之該第一非依電性記憶體140的一範例方塊圖。在此實施例中,該第一非依電性記憶體140包括六個區段142-1到142-6,例如,n是6。該第一區段142-1係被
顯示為用以儲存有關於諸如一作業系統程序之一第一種軟體的快取資訊。該作業系統程序之範例可包括一啟動、冬眠、關閉或休眠程序。該第二區段142-2係被顯示為用以儲存有關於諸如一販售者應用程式之一第二種軟體的快取資訊。該販售者應用程式之範例可包括被預先安裝在該裝置100上的軟體,例如專屬軟體(proprietary software)或對該裝置100之一硬體組件為特定之軟體。
該第三區段142-3係被顯示為用以儲存有關於諸如一網頁瀏覽器之一第三種軟體的快取資訊。網頁瀏覽器之範例可包括例如Internet Explorer、Firefox、Google Chrome、Safari、Opera等軟體。該第四區段142-4係被顯示為用以儲存有關於諸如一第一使用者應用程式之一第四種軟體的快取資訊,而該第五區段142-5係被顯示為用以儲存有關於諸如一第二使用者應用程式之一第五種軟體的快取資訊。該等第一和第二使用者應用程式之範例可包括任何種類的使用者安裝和/或非販售者應用程式,例如一圖形程式、一電動遊戲、多媒體軟體等等。
該第六區段142-6係被顯示為一通用快取記憶體,任何快取資訊皆可被儲存在其中。該通用快取記憶體可依據一快取演算法運作,該快取演算法係例如最近最少使用(LRU)、最近最常使用(MRU)等等。因此,在此範例中,該等第一到第五區段142-1到142-5係被釘連而該第六區段142-6係維持未被釘連者。舉例而言,任何沒有被釘連至該等第一到第五區段142-1到142-5的快取資訊可被儲存到該
第六區段142-6。此外,萬一該等第一到第五區段142-1到142-5之任何一者被填滿的話,其額外或溢出的快取資訊即使沒有被釘連至該第六區段142-6,亦可被儲存到該第六區段142-6。例如,假如該第一或第二區段142-1或142-2變滿的話,與諸如該作業系統程序之該第一種軟體或諸如該販售者應用程式資訊之該第二種軟體相關聯的快取資訊可被儲存到該第六區段142-6。被釘連至該等區段142-1到142-5之其中一者的該快取資訊在除非該被釘連區段已滿時,是不會被存到該通用快取記憶體或第六區段142-6的,藉此減少該第一非依電性記憶體140那部份的儲存容量被浪費或未被使用的可能性。
雖然圖2之該第一非依電性記憶體140係被顯示為具有六個區段142-1到142-6,然而該第一非依電性記憶體140的實施例可具有比六個更多或者更少的區段。此外,該第一非依電性記憶體140之該等區段的一尺寸和/或數量可取決於該第一非依電性記憶體140的儲存容量。舉例來說,相較於該第一非依電性記憶體140之一較小儲存容量的情況,針對一較大儲存容量可有較大尺寸和/或較多數量的區段。
圖3係一運算裝置300之一範例方塊圖,該運算裝置300包括用以分割和釘連該第一非依電性記憶體140的指令。在圖3之該實施例中,該運算裝置300包括一處理器310、該第一非依電性記憶體140和一機器可讀取儲存媒體320。該機器可讀取儲存媒體320更包括用以分割和釘連該
第一非依電性記憶體140的指令322和324。
該運算裝置300可為,例如,一晶片組、一筆記型電腦、一平板運算裝置、一可攜式讀取裝置、一無線電郵裝置、一行動電話或任何可執行該等指令322和324之其他裝置。在某些實施例中,該運算裝置300可包括或被連接至附加的元件,例如記憶體、感應器、顯示器等等。舉例而言,該運算裝置300可包括一第二非依電性記憶體(圖未示),其類似於圖1所描繪之該第二非依電性記憶體。擇一地,該第二非依電性記憶體可為該機器可讀取儲存媒體320之部份。
該處理器310可為至少一中央處理單元(CPU)、至少一半導體式微處理器、至少一圖形處理單元(GPU)、其他適合擷取和執行被儲存在該機器可讀取儲存媒體320中的指令之硬體裝置或者其等之組合。該處理器310可獲取、解碼並執行指令322和324,以實施一第一非依電性記憶體140之分割和釘連。作為擷取和執行指令之擇一選擇或額外部分地,該處理器310可包括至少一積體電路(IC)、其他控制邏輯、其他電子電路或其等的組合,該組合包括用以執行指令322和324之功能的數個電子組件。
該機器可讀取儲存媒體320可為任何電子、磁性、光學或其他實體儲存裝置,其可包含或儲存可被執行的指令。因此,該機器可讀取儲存媒體320可為,例如,隨機存取記憶體(RAM)、一電子可抹除可規劃唯讀記憶體(EEPROM)、一儲存驅動器、一光碟唯讀記憶體(CD-ROM)
等等。如此,該機器可讀取儲存媒體320可為非暫態者。如詳細描述於下者,機器可讀取儲存媒體320可被編碼有一系列用以分割和釘連一第一非依電性記憶體140之可被執行的指令。
再者,當被一處理器執行時(例如,透過該處理器之一處理元件或多個處理元件),該等指令322和324可致使該處理器去執行程序,例如圖4或5之程序。舉例而言,該等分割指令322可被該處理器310執行來將該第一非依電性記憶體140分割成多數區段。該等釘連指令324可被該處理器310執行來將多種軟體之一第一種軟體釘連至該等多數區段142-1至142-n之一第一區段142-1。該第一被釘連區段儲存與該第一種軟體相關聯之快取資訊。該等釘連指令324亦可被該處理器310執行來將該等多種軟體之一第二種軟體釘連至該等多數區段142-1至142-n之一第二區段142-2。該第二被釘連區段儲存與該第二種軟體相關聯之快取資訊。
該機器可讀取儲存媒體320亦可包括指令(未示),以在假若該第一區段為滿載時,將與該第一種軟體相關聯之資訊儲存到該等多數區段142-1至142-n之一第三區段142-3,並在該第二區段為滿載時,將與該第二種軟體相關聯之資訊儲存到該等多數區段142-1至142-n之該第三區段142-3。該裝置300之一操作將參照圖4和5被較為詳盡的描述。
圖4係用以分割和釘連一第一非依電性記憶體
140的一個方法400之一範例流程圖。雖然該方法400之執行將參照該裝置100被描述於下,然而其他例如該裝置300之合適組件可被利用來執行該方法400。此外,用以執行該方法400之該等組件可分佈在多數裝置(例如,與輸入和輸出裝置相通信之一處理裝置)之中。在某些情節中,多個協調運作來執行該方法400之裝置可被視為一單一裝置。該方法400能以可被執行的指令之形式或以電子電路迴路之形式被實踐,該等指令係被儲存在例如儲存媒體320之一機器可讀取儲存媒體中。
在方塊410中,該裝置100將用以儲存快取資訊之該第一非依電性記憶體140分割成多數區段142-1至142-n。該裝置100最初可基於一販售者規格、一使用者命令和該第一非依電性記憶體140之一尺寸之至少一者,在方塊410設定該等區段142-1至142-n之數量和尺寸。該等區段142-1至142-n之數量和尺寸的至少一者可基於該使用者命令和該等多種軟體之一使用模式中的至少一者,在方塊410動態地改變。
接著,在方塊420,該裝置100將多種軟體之一第一種軟體釘連至該等多數區段142-1至142-n之一第一區段142-1。該第一被釘連區段142-1儲存與該第一種軟體相關聯之快取資訊。如上指明,該裝置100可在方塊420,基於該等多種軟體之一使用模式和一使用者命令之至少一者,動態地將該等多種軟體之一或更多者釘連至該等多數區段142-1至142-n之一者。
譬如,該裝置100可將一第二種軟體釘連至該等多數區段142-1至142-n之一第二區段142-2。在方塊420,該裝置100不能夠釘連該等多數區段142-1至142-n的全部,例如該等多數區段142-1至142-n之一第三區段142-3。再者,在方塊420,該裝置100可在假如該第一區段142-1為滿載時,將與該第一種軟體相關聯之該快取資訊儲存到該第三區段142-3,並在該第二區段142-2為滿載時,將與該第二種軟體相關聯之該快取資訊儲存到該第三區段142-3。
該裝置100亦可在方塊420判定被歸類為該第一種軟體之第一和第二應用程式的一使用率,並基於所判定的使用率,動態地將該等第一和第二應用程式之一者釘連至該第一被釘連區段142-1。在方塊420,假如該第一種軟體係被變更和啟動之至少一者的話,該裝置100會更新該第一被釘連區段142-1。該裝置100至少執行下列一者:自該第一被釘連區段142-1啟動該第一種軟體,以及將針對該第一種軟體之呼叫指引至該第一被釘連區段142-1。
圖5係用以分割和釘連一第一非依電性記憶體140之一方法500的另一範例流程圖。雖然該方法500之執行將參照該裝置100被描述於下,然而其他例如該裝置300之合適組件可被利用來執行該方法500。此外,用以執行該方法500之該等組件可分佈在多數裝置(例如,與輸入和輸出裝置相通信之一處理裝置)之中。在某些情節中,多個協調運作來執行該方法500之裝置可被視為一單一裝置。該方法500能以可被執行的指令之形式或以電子電路迴路之形式
被實踐,該等指令係被儲存在例如儲存媒體320之一機器可讀取儲存媒體中。
圖5之方塊510可與圖4之方塊410類似,而圖5之方塊520可與圖4之方塊420類似。譬如,在方塊510,該裝置100將用以儲存快取資訊之該第一非依電性記憶體140分割成多數區段142-1至142-n。接著,在方塊520,該裝置100將多種軟體之一第一種軟體釘連至該等多數區段142-1至142-n之一第一區段142-1。該第一被釘連區段142-1儲存與該第一種軟體相關聯之快取資訊。在方塊530,假如下列情形之至少一者發生的話,該裝置100個別地清除該等多數區段142-1至142-n之一或更多者:該裝置140進入一降低動能狀態和一使用者選擇多數區段142-1至142-n之一或更多者要被清除。舉例而言,該裝置100之清除模組可接收來自該使用者之一命令,以立即清除該等多數區段142-1至142-n之一第一區段142-1和/或來自該裝置100之該作業系統之一命令,以在該裝置100進入該降低動能狀態之前清除該第一區段142-1。
然而,假如該第一非依電性記憶體140包括一快閃記憶體或SSD記憶體的話,該第一非依電性記憶體140只能以不對應到該等多數區段142-1至142-n之定址結構的區塊為單位被清除。舉例而言,清除該等區塊之一可能只會清除該第一區段142-1的部份和/或清除該等多數區段142-1至142-n之第二區段142-2的部份。為了確保只有該第一區段142-1被清除,該清除模組可與該第一非依電性記憶
體140之一快閃控制器(未示)通信。
該快閃控制器可保有一快閃檔案系統,其係被使用來提供用以儲存、擷取和更新資料之程序,以及管理該第一非依電性記憶體140之可用空間。舉例而言,由於該等區塊可能需要在被寫入前被明確地清除,因此該快閃控制器可在該裝置100閒置時清除未被使用的區塊,以節省時間。此外,該快閃控制器可將寫入動作均勻地分配在整個第一非依電性記憶體140上,以降低或防止耗損均衡,其係發生在該等區塊之一者被重複地複寫而耗損時。
該清除模組可與該快閃控制器通信,以判定該等多數區段142-1至142-n的映射和該第一非依電性記憶體140的區塊之間的相互關係。而且,該清除模組可與該快閃控制器通信,以保留該等多數區段142-1至142-n之尚未被清除的快取資訊。舉例而言,假如清除該第一區段142-1也會清除到該第二區段142-2之至少一部分,例如假如該等第一和第二區段142-1和142-2共享同一區塊的部份,那麼該清除模組可與該快閃控制器通信,以首先將在該將被清除的區塊中之該第二區段142-2的快取資訊儲存至另外一個位置,例如至另一個記憶體區塊。擇一地,在該將被清除的區塊中之該第三區段142-3的快取資訊可被儲存至另外一個記憶體,例如該儲存媒體320或第二非依電性記憶體。接著,該清除模組可與該快閃控制器通信,以藉由將儲存該第一區段142-1之快取資訊的一或更多區塊清除,來清除該第一區段142-1。而後,該清除模組可指示該快閃控制器去將該第
三區段142-3的快取資訊寫回去,取決於該第三區段142-3的快取資訊原本被儲存在哪裡。
再者,在方塊530,該清除模組可與該作業系統通信,以將該裝置100進入該降低動能狀態的時間點延遲至該一或更多區段142-1至142-n的清除已完成之後。然而,如果在該裝置100進入該降低動能狀態之前,該等多數區段142-1至142-n之該一或更多者尚未清除完成的話,在該裝置100回復到諸如一電力開啟狀態之一高動能狀態時,該清除模組將會持續清除該等多數區段142-1至142-n之該一或更多者。此外,正在被清除之該等多數區段142-1至142-n之該一或更多者,直到該等多數區段142-1至142-n之該一或更多者被清除完成之前,無法用來儲存快取資訊。雖然實施例將上述程序描述為關於清除,實施例係不被限制於此。舉例而言,該裝置100亦可進行類似的程序,來針對該等區段142-1至142-n的至少一者作複寫和/或加密/解密。
依據前述,實施例提供一種方法和/或裝置,其用以分割和釘連儲存快取資訊之一第一非依電性記憶體。舉例而言,一第一種軟體的快取資訊可被釘連至該等多數區段之一第一區段。因此,在實施例中,該第一種軟體可為立即反應型或初期較為有反應型,即使是該第一種軟體之一第一次存取,或即使在該第一種軟體之多次存取之間有一第二種軟體係大量地被使用。
100‧‧‧裝置
110‧‧‧處理器
120‧‧‧分割模組
130‧‧‧釘連模組
140‧‧‧第一非依電性記憶體
142-1‧‧‧第一區段
142-n‧‧‧第n區段
Claims (12)
- 一種用以分割快取記憶體的方法,包含:將用以儲存快取資訊之一第一非依電性記憶體劃分為多數區段;和將多種軟體中之一第一種軟體釘連至該等多數區段之一第一區段,其中,在該第一種軟體被存取前,被釘連之該第一區段即儲存與該第一種軟體相關聯之快取資訊的至少部分;且其中與該第一種軟體相關聯之該快取資訊係包括用以發動該第一種軟體的程式碼,且被釘連之該第一區段在該第一種軟體被初次發動之前即儲存用以發動該第一種軟體的程式碼。
- 如申請專利範圍第1項之方法,其中:該釘連步驟將該等多種軟體之一第二種軟體釘連至該等多數區段之一第二區段,以及在該第二種軟體被存取前,被釘連之該第二區段儲存與該第二種軟體相關聯之快取資訊的至少部分。
- 如申請專利範圍第1項之方法,其中:該快取資訊包括與該第一種軟體相關的以下至少一者:檔案或邏輯區塊位址(LBA)的程式碼,及資料。
- 如申請專利範圍第3項之方法,其中:該程式碼包括原始碼及執行期碼其中至少一者,而該資料包括元資料及使用者資料其中至少一者。
- 如申請專利範圍第1項之方法,其中:與該第一種軟體相關聯的該快取資訊的一更新版本被推送至被釘連之該第一區段,以取代其先前版本。
- 如申請專利範圍第1~5項中任一項之方法,其中:該軟體係一應用程式種類和與一作業系統(OS)相關之一程序種類的至少一者,該應用程式係一網頁瀏覽器、一使用者應用程式和一販售者應用程式之至少一者,以及該程序係一啟動、冬眠、關閉和休眠程序之至少一者。
- 如申請專利範圍第1~5項中任一項之方法,其中:該釘連步驟不會釘連該等多數區段之一第三區段,及該釘連步驟在所述被釘連之區段為滿載時,將該快取資訊儲存到該第三區段。
- 如申請專利範圍第1~5項中任一項之方法,其中:該劃分步驟首先基於一販售者規格、一使用者命令和該第一非依電性記憶體的一大小之至少一者,設定該等多數區段的數量 和大小,該劃分步驟基於該使用者命令和該等多種軟體之一使用模式的至少一者,動態地改變該等多數區段之數量和大小之至少一者。
- 如申請專利範圍第1~5項中任一項之方法,其中,該釘連步驟基於該等多種軟體之一使用模式和一使用者命令之至少一者,動態地將該等多種軟體之一者釘連至該等多數區段之一者。
- 如申請專利範圍第1~5項之方法,其中,該釘連步驟判定被歸類為該第一種軟體之第一和第二應用程式的一使用率,以及該釘連步驟基於該所判定的使用率動態地將該等第一和第二應用程式之一者釘連至被釘連之該第一區段。
- 一種儲存指令之非暫態電腦可讀取儲存媒體,當該等指令被一裝置之一處理器執行,使該處理器執行:將用以儲存快取資訊之一第一非依電性記憶體分割成多數區段;以及將多種軟體中之一第一種軟體釘連至該等多數區段之一第一區段,其中,在該第一種軟體被存取前,被釘連之該第一區段即儲存與該 第一種軟體相關聯之快取資訊的至少部分;且其中與該第一種軟體相關聯之該快取資訊係包括用以發動該第一種軟體的程式碼,且被釘連之該第一區段在該第一種軟體被初次發動之前即儲存用以發動該第一種軟體的程式碼。
- 一種具有分割模組的裝置,包含:一第一非依電性記憶體,用以儲存快取資訊;該分割模組,用以將該第一非依電性記憶體劃分為多數區段;以及一釘連模組,用以將多種軟體中之一第一種軟體釘連至該等多數區段之一第一區段,其中:在該第一種軟體被存取前,被釘連之該第一區段即儲存與該第一種軟體相關聯之快取資訊的至少部分;且其中與該第一種軟體相關聯之該快取資訊係包括用以發動該第一種軟體的程式碼,且被釘連之該第一區段在該第一種軟體被初次發動之前即儲存用以發動該第一種軟體的程式碼。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/057913 WO2013062542A1 (en) | 2011-10-26 | 2011-10-26 | Segmented caches |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201546712A TW201546712A (zh) | 2015-12-16 |
TWI574203B true TWI574203B (zh) | 2017-03-11 |
Family
ID=48168213
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104116810A TWI574203B (zh) | 2011-10-26 | 2012-10-26 | 用以分割快取記憶體的方法及相關儲存媒體與裝置 |
TW101139719A TWI498811B (zh) | 2011-10-26 | 2012-10-26 | 分段式快取記憶體 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101139719A TWI498811B (zh) | 2011-10-26 | 2012-10-26 | 分段式快取記憶體 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9697115B2 (zh) |
EP (1) | EP2771795B1 (zh) |
JP (1) | JP2014534520A (zh) |
KR (1) | KR101842321B1 (zh) |
CN (1) | CN103999062A (zh) |
BR (1) | BR112014009920B1 (zh) |
IN (1) | IN2014CN02958A (zh) |
TW (2) | TWI574203B (zh) |
WO (1) | WO2013062542A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698826B1 (en) | 2012-01-06 | 2020-06-30 | Seagate Technology Llc | Smart file location |
US9268692B1 (en) * | 2012-04-05 | 2016-02-23 | Seagate Technology Llc | User selectable caching |
US9542324B1 (en) * | 2012-04-05 | 2017-01-10 | Seagate Technology Llc | File associated pinning |
US10185501B2 (en) * | 2015-09-25 | 2019-01-22 | Intel Corporation | Method and apparatus for pinning memory pages in a multi-level system memory |
US11165751B2 (en) * | 2017-02-16 | 2021-11-02 | Emerald Cactus Ventures, Inc. | System and method for establishing simultaneous encrypted virtual private networks from a single computing device |
US11122013B2 (en) * | 2017-02-16 | 2021-09-14 | Emerald Cactus Ventures, Inc. | System and method for encrypting data interactions delineated by zones |
US11165825B2 (en) * | 2017-02-16 | 2021-11-02 | Emerald Cactus Ventures, Inc. | System and method for creating encrypted virtual private network hotspot |
US20180336131A1 (en) * | 2017-05-22 | 2018-11-22 | Dell Products L.P. | Optimizing Memory/Caching Relative to Application Profile |
TWI649652B (zh) * | 2017-12-29 | 2019-02-01 | 國科美國研究實驗室 | Fast and safe data storage device and method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213525A (zh) * | 2005-06-30 | 2008-07-02 | 英特尔公司 | 任务上下文高速缓存替换的方法、装置及系统 |
US20080244183A1 (en) * | 2005-02-15 | 2008-10-02 | Atushi Ishikawa | Storage system |
TW201015331A (en) * | 2008-07-01 | 2010-04-16 | Ibm | Dynamic segment sparing and repair in a memory system |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0216654A (ja) | 1988-07-05 | 1990-01-19 | Hitachi Ltd | キャッシュメモリ制御方法 |
EP0389151A3 (en) * | 1989-03-22 | 1992-06-03 | International Business Machines Corporation | System and method for partitioned cache memory management |
JPH0511933A (ja) | 1991-07-08 | 1993-01-22 | Kawasaki Steel Corp | ハードデイスクエミユレータ及びその固定キヤツシユエリア割付方法 |
EP0475639A3 (en) * | 1990-08-31 | 1992-06-03 | Kawasaki Steel Corporation | Hard disk emulator |
JPH06282488A (ja) | 1993-03-25 | 1994-10-07 | Mitsubishi Electric Corp | キャッシュ記憶装置 |
JP3750163B2 (ja) | 1995-10-16 | 2006-03-01 | 株式会社日立製作所 | キャッシュディスク制御 |
JPH10154101A (ja) * | 1996-11-26 | 1998-06-09 | Toshiba Corp | データ記憶システム及び同システムに適用するキャッシュ制御方法 |
JPH10333984A (ja) | 1997-05-30 | 1998-12-18 | Matsushita Electric Ind Co Ltd | 記録再生装置 |
US20020112116A1 (en) * | 2000-11-17 | 2002-08-15 | Nelson Mark Edward | Methods, systems, and computer program products for storing data in collections of tagged data pieces |
US7089371B2 (en) | 2002-02-12 | 2006-08-08 | Ip-First, Llc | Microprocessor apparatus and method for prefetch, allocation, and initialization of a block of cache lines from memory |
JP4095840B2 (ja) | 2002-06-25 | 2008-06-04 | 株式会社日立製作所 | キャッシュメモリ管理方法 |
JP2004118305A (ja) | 2002-09-24 | 2004-04-15 | Sharp Corp | キャッシュメモリ制御装置 |
KR100970933B1 (ko) | 2003-07-26 | 2010-07-20 | 엘지전자 주식회사 | 오퍼레이팅 시스템의 고속 부팅장치 및 방법 |
US7620773B2 (en) | 2005-04-15 | 2009-11-17 | Microsoft Corporation | In-line non volatile memory disk read cache and write buffer |
KR100755702B1 (ko) | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법 |
US20080005462A1 (en) | 2006-06-30 | 2008-01-03 | Mosaid Technologies Incorporated | Method of configuring non-volatile memory for a hybrid disk drive |
KR101128234B1 (ko) | 2006-08-23 | 2012-03-23 | 엘지전자 주식회사 | 메모리 접근 제어 장치 및 방법 |
US7554855B2 (en) | 2006-12-20 | 2009-06-30 | Mosaid Technologies Incorporated | Hybrid solid-state memory system having volatile and non-volatile memory |
JP2008250718A (ja) | 2007-03-30 | 2008-10-16 | Toshiba Corp | 不揮発性キャッシュメモリを用いた記憶装置とその制御方法 |
US7890691B2 (en) | 2007-09-28 | 2011-02-15 | Intel Corporation | Memory cache sharing in hybrid hard disk |
WO2009100149A1 (en) * | 2008-02-10 | 2009-08-13 | Rambus, Inc. | Segmentation of flash memory for partial volatile storage |
US8214596B2 (en) * | 2008-09-30 | 2012-07-03 | Intel Corporation | Apparatus and method for segmented cache utilization |
US8407398B2 (en) | 2008-10-01 | 2013-03-26 | Lenovo (Singapore) Pte. Ltd. | Cache mapping for solid state drives |
US20100088459A1 (en) | 2008-10-06 | 2010-04-08 | Siamak Arya | Improved Hybrid Drive |
KR20140040870A (ko) | 2009-07-07 | 2014-04-04 | 엘에스아이 코포레이션 | 계층화된 비휘발성 스토리지를 위한 시스템 및 방법 |
-
2011
- 2011-10-26 EP EP11874821.9A patent/EP2771795B1/en not_active Not-in-force
- 2011-10-26 US US14/353,862 patent/US9697115B2/en active Active
- 2011-10-26 CN CN201180075893.0A patent/CN103999062A/zh active Pending
- 2011-10-26 IN IN2958CHN2014 patent/IN2014CN02958A/en unknown
- 2011-10-26 JP JP2014538763A patent/JP2014534520A/ja active Pending
- 2011-10-26 WO PCT/US2011/057913 patent/WO2013062542A1/en active Application Filing
- 2011-10-26 BR BR112014009920-0A patent/BR112014009920B1/pt not_active IP Right Cessation
- 2011-10-26 KR KR1020147011104A patent/KR101842321B1/ko active IP Right Grant
-
2012
- 2012-10-26 TW TW104116810A patent/TWI574203B/zh not_active IP Right Cessation
- 2012-10-26 TW TW101139719A patent/TWI498811B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244183A1 (en) * | 2005-02-15 | 2008-10-02 | Atushi Ishikawa | Storage system |
CN100442250C (zh) * | 2005-02-15 | 2008-12-10 | 株式会社日立制作所 | 存储系统 |
CN101213525A (zh) * | 2005-06-30 | 2008-07-02 | 英特尔公司 | 任务上下文高速缓存替换的方法、装置及系统 |
TW201015331A (en) * | 2008-07-01 | 2010-04-16 | Ibm | Dynamic segment sparing and repair in a memory system |
Also Published As
Publication number | Publication date |
---|---|
EP2771795A1 (en) | 2014-09-03 |
EP2771795B1 (en) | 2016-06-01 |
EP2771795A4 (en) | 2015-08-05 |
TWI498811B (zh) | 2015-09-01 |
BR112014009920B1 (pt) | 2021-06-15 |
BR112014009920A2 (pt) | 2017-04-25 |
KR20140091532A (ko) | 2014-07-21 |
WO2013062542A8 (en) | 2014-07-03 |
IN2014CN02958A (zh) | 2015-07-03 |
WO2013062542A1 (en) | 2013-05-02 |
TW201329858A (zh) | 2013-07-16 |
CN103999062A (zh) | 2014-08-20 |
KR101842321B1 (ko) | 2018-03-26 |
US20140297937A1 (en) | 2014-10-02 |
TW201546712A (zh) | 2015-12-16 |
JP2014534520A (ja) | 2014-12-18 |
US9697115B2 (en) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI574203B (zh) | 用以分割快取記憶體的方法及相關儲存媒體與裝置 | |
US11372472B2 (en) | System on chip for reducing wake-up time, method of operating same, and computer system including same | |
TWI515660B (zh) | 韌體變量更新方法 | |
JP5860543B2 (ja) | ブートデータのロード | |
KR101583002B1 (ko) | 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법 | |
JP6399916B2 (ja) | 情報処理装置およびその制御方法 | |
TWI486768B (zh) | 檔案系統預提取的方法與電子裝置以及啟動方法 | |
JP2019050023A (ja) | 装置、方法およびコンピュータ可読記憶媒体 | |
US10635337B2 (en) | Dynamic configuration of compressed virtual memory | |
JP2007219581A (ja) | メモリコントローラおよびこれを搭載する電子機器 | |
TWI546661B (zh) | 使用狀態資訊回復系統之技術 | |
US20060294356A1 (en) | Apparatus and method of an executable-in-place flash device | |
KR20080057688A (ko) | 비휘발성 메모리를 이용한 운영체계 부팅 방법 | |
KR100994723B1 (ko) | 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체 | |
US20200133562A1 (en) | Information processing device, controlling method and program | |
US20150317181A1 (en) | Operating system switching method | |
JP6080492B2 (ja) | 情報処理装置、起動方法およびプログラム | |
US9785448B2 (en) | System suspending method, system resuming method and computer system using the same | |
Ryu et al. | Fast Application Launch on Personal {Computing/Communication} Devices | |
TW201322129A (zh) | 電子裝置與其作業系統切換方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |